37
	boolean deleteRescueLog(Map<String,Object> params) throws Exception;
40 38
41 39
	/**
42 40
	 * 获取当前终端最新定位信息
43 41
	 * @param params
44 42
	 * @return
45 43
	 */
46
	List<Map<String, Map<String, String>>> queryCurrentRescueLocationInfo(JMap params) throws Exception;
44
	List<Map<String, Map<String, String>>> queryCurrentRescueLocationInfo(Map<String,Object> params) throws Exception;
47 45
48 46
	/**
49 47
	 * 获取救援者的下拉列表
@ -53,7 +51,7 @@ public interface RescueService {
53 51
	 * @return
54 52
	 * @throws Exception
55 53
	 */
56
	List<Map<String, Object>> queryListRescuerInfo(JMap params, int pageNum, int pageSize) throws Exception;
54
	List<Map<String, Object>> queryListRescuerInfo(Map<String,Object> params, int pageNum, int pageSize) throws Exception;
57 55
	
58 56
	/**
59 57
	 * 救援回放
@ -62,5 +60,5 @@ public interface RescueService {
62 60
	 * @param pageSize
63 61
	 * @return
64 62
	 */
65
	JMap queryOneRescuePlayback(JMap params, int pageNum, int pageSize);
63
	Map<String,Object> queryOneRescuePlayback(Map<String,Object> params, int pageNum, int pageSize);
66 64
}

+ 3 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/TrackAnalysisService.java

@ -1,10 +1,11 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import com.ai.ipu.data.JMap;
3
import java.util.Map;
4
4 5
import com.github.pagehelper.PageInfo;
5 6
6 7
public interface TrackAnalysisService {
7 8
8
    PageInfo queryTrackAnalysisInfo(JMap params, int pageNum, int pageSize) throws Exception;
9
    PageInfo queryTrackAnalysisInfo(Map<String,Object> params, int pageNum, int pageSize) throws Exception;
9 10
10 11
}

+ 3 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/TrackService.java

@ -1,10 +1,11 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import com.ai.ipu.data.JMap;
3
import java.util.Map;
4
4 5
import com.github.pagehelper.PageInfo;
5 6
6 7
public interface TrackService {
7 8
8
    PageInfo queryTrackInfo(JMap params) throws Exception;
9
    PageInfo queryTrackInfo(Map<String,Object> params) throws Exception;
9 10
10 11
}

+ 8 - 6
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/UserManageService.java

@ -1,15 +1,17 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import com.ai.ipu.data.JMap;
4
import com.github.pagehelper.PageInfo;
3
import java.util.Map;
4
5
import com.ai.bss.components.common.model.PageBean;
6
import com.ai.bss.user.dto.UserDto;
5 7
6 8
public interface UserManageService {
7 9
8
    PageInfo queryUserInfo(JMap params) throws Exception;
10
    PageBean<UserDto> queryUserInfo(Map<String,Object> params) throws Exception;
9 11
10
    int modifyUserInfo(JMap params) throws Exception;
12
    int modifyUserInfo(Map<String,Object> params) throws Exception;
11 13
12
    int addUserInfo(JMap params) throws Exception;
14
    int addUserInfo(Map<String,Object> params) throws Exception;
13 15
14
    boolean deleteUserXyInfo(JMap params) throws Exception;
16
    boolean deleteUserXyInfo(Map<String,Object> params) throws Exception;
15 17
}

+ 21 - 17
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/iotdata/ManageIotInAreaData.java

@ -1,31 +1,35 @@
1 1
package com.ai.bss.location.rescue.service.iotdata;
2 2
3 3
4
import java.text.ParseException;
5
import java.text.SimpleDateFormat;
6
import java.util.ArrayList;
7
import java.util.HashMap;
8
import java.util.Iterator;
9
import java.util.List;
10
import java.util.Map;
11
12
import org.slf4j.Logger;
13
import org.slf4j.LoggerFactory;
14
import org.springframework.beans.factory.annotation.Autowired;
15
import org.springframework.stereotype.Component;
16
4 17
import com.ai.bss.location.rescue.dao.interfaces.AreaInOutRecordDao;
5 18
import com.ai.bss.location.rescue.util.DateUtil;
6 19
import com.ai.bss.location.rescue.util.EbcConstant;
7 20
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
8
import com.ai.ipu.basic.log.ILogger;
9
import com.ai.ipu.basic.log.IpuLoggerFactory;
10
import com.ai.ipu.data.JMap;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Component;
13
14
import java.text.ParseException;
15
import java.text.SimpleDateFormat;
16
import java.util.*;
17 21
18 22
@Component
19 23
public class ManageIotInAreaData {
20
	private static final ILogger logger = IpuLoggerFactory.createLogger(ManageIotInAreaData.class);
24
	private static final Logger logger = LoggerFactory.getLogger(ManageIotInAreaData.class);
21 25
22 26
	@Autowired
23 27
	AreaInOutRecordDao areaInOutRecordDao;
24 28
25
	public boolean executeReceiveIotData(JMap params, List<Map<String, Object>> currentAreaInfoList) throws Exception {
29
	public boolean executeReceiveIotData(Map<String,Object> params, List<Map<String, Object>> currentAreaInfoList) throws Exception {
26 30
		// 查询人员之前所在围栏信息
27 31
		List<Map<String, Object>> beforeAreaMapList = areaInOutRecordDao
28
				.getBeforeInAreaInfo(params.getString("deviceId"), null);
32
				.getBeforeInAreaInfo(String.valueOf(params.get("deviceId")), null);
29 33
30 34
		// 新进入的围栏
31 35
		List<Map<String, String>> inAreaList = new ArrayList<Map<String, String>>();
@ -76,7 +80,7 @@ public class ManageIotInAreaData {
76 80
		return true;
77 81
	}
78 82
79
	private void sendMirrorData(JMap params, List<Map<String, Object>> currentAreaInfoList) throws ParseException {
83
	private void sendMirrorData(Map<String,Object> params, List<Map<String, Object>> currentAreaInfoList) throws Exception {
80 84
81 85
		int maxMapTagGrade = 0; // 围栏优先级(电子围栏5>定点3>考勤1、作业1)
82 86
		long minInAreaLong = System.currentTimeMillis();// 进入围栏最早的时间戳
@ -128,7 +132,7 @@ public class ManageIotInAreaData {
128 132
		} else if (maxMapTagGrade == 3) {
129 133
			// 进入定点(限时),需计算是否超时
130 134
			int fixedLong = DateUtil.getDifferenceMinute(String.valueOf(sendDataAreaInfo.get("inAreaDate")),
131
					params.getString("newDate"));
135
					String.valueOf(params.get("newDate")));
132 136
133 137
			if (fixedLong > 0) {
134 138
				// 围栏要求定点时间
@ -151,7 +155,7 @@ public class ManageIotInAreaData {
151 155
		MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, params);
152 156
	}
153 157
154
	private boolean saveOutAreaRecord(JMap params, List<Map<String, Object>> outAreaList) throws Exception {
158
	private boolean saveOutAreaRecord(Map<String,Object> params, List<Map<String, Object>> outAreaList) throws Exception {
155 159
		boolean result = true;
156 160
		// 记录离开围栏时间
157 161
		if (!outAreaList.isEmpty()) {
@ -160,13 +164,13 @@ public class ManageIotInAreaData {
160 164
				outAreaIdList.add(String.valueOf(beforeAreaMap.get("RECORD_ID")));
161 165
			}
162 166
163
			result = areaInOutRecordDao.updateSameOutTimeAreaOutRecord(params.getString("newDate"), outAreaIdList);
167
			result = areaInOutRecordDao.updateSameOutTimeAreaOutRecord(String.valueOf(params.get("newDate")), outAreaIdList);
164 168
		}
165 169
166 170
		return result;
167 171
	}
168 172
169
	private boolean saveInAreaRecord(JMap params, List<Map<String, String>> inAreaList) throws Exception {
173
	private boolean saveInAreaRecord(Map<String,Object> params, List<Map<String, String>> inAreaList) throws Exception {
170 174
		boolean result = true;
171 175
172 176
		// 记录进入围栏日志

+ 17 - 17
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/iotdata/ManageIotNewAlarmData.java

@ -1,23 +1,23 @@
1 1
package com.ai.bss.location.rescue.service.iotdata;
2 2
3 3
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.stereotype.Component;
12
4 13
import com.ai.bss.location.rescue.dao.interfaces.MapTagManageDao;
5 14
import com.ai.bss.location.rescue.dao.interfaces.RescueDao;
6 15
import com.ai.bss.location.rescue.util.EbcConstant;
7 16
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
8
import com.ai.ipu.basic.log.ILogger;
9
import com.ai.ipu.basic.log.IpuLoggerFactory;
10
import com.ai.ipu.data.JMap;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Component;
13
14
import java.util.HashMap;
15
import java.util.List;
16
import java.util.Map;
17 17
18 18
@Component
19 19
public class ManageIotNewAlarmData {
20
	private static final ILogger logger = IpuLoggerFactory.createLogger(ManageIotNewAlarmData.class);
20
	private static final Logger logger = LoggerFactory.getLogger(ManageIotNewAlarmData.class);
21 21
22 22
	@Autowired
23 23
	RescueDao rescueDao;
@ -25,7 +25,7 @@ public class ManageIotNewAlarmData {
25 25
	@Autowired
26 26
	MapTagManageDao mapTagManageDao;
27 27
28
	public boolean executeReceiveIotData(JMap params, Map<String, Object> bindInfoMap) throws Exception {
28
	public boolean executeReceiveIotData(Map<String,Object> params, Map<String, Object> bindInfoMap) throws Exception {
29 29
		logger.debug("新增报警信息");
30 30
31 31
		// 保存报警数据
@ -37,9 +37,9 @@ public class ManageIotNewAlarmData {
37 37
		return true;
38 38
	}
39 39
40
	private void sendMirrorData(JMap params, String logId) {
40
	private void sendMirrorData(Map<String,Object> params, String logId) {
41 41
		// 报警类型
42
		switch (params.getInt("alarmType")) {
42
		switch (Integer.parseInt(String.valueOf(params.get("alarmType")))) {
43 43
		case EbcConstant.alarm_type_autosos_beidou:
44 44
			// 自动报警
45 45
			params.put("locationStatus", EbcConstant.location_status_autosos);// 定位状态
@ -59,7 +59,7 @@ public class ManageIotNewAlarmData {
59 59
			logger.error("告警消息的内容错误");
60 60
		}
61 61
62
		params.put("alarmDate", params.getString("newDate"));// 求救时间
62
		params.put("alarmDate", String.valueOf(params.get("newDate")));// 求救时间
63 63
		params.put("alarmLong", "0");// 求救时长
64 64
65 65
		// 未指派救援人员
@ -71,7 +71,7 @@ public class ManageIotNewAlarmData {
71 71
		MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, params);
72 72
	}
73 73
74
	private String saveAlarmData(JMap params, Map<String, Object> deviceAndUser) throws Exception {
74
	private String saveAlarmData(Map<String,Object> params, Map<String, Object> deviceAndUser) throws Exception {
75 75
		Map<String, Object> dataMap = new HashMap<String, Object>();
76 76
		dataMap.put("callerId", deviceAndUser.get("CODE")); // 报警人员标识
77 77
		dataMap.put("deviceId", params.get("deviceId")); // 终端标识
@ -85,8 +85,8 @@ public class ManageIotNewAlarmData {
85 85
		dataMap.put("lastLocationDate", params.get("newDate")); // 最后定位时间
86 86
87 87
		// 获取当前所在围栏列表
88
		List<Map<String, Object>> currentAreaInfoList = mapTagManageDao.getInAreaInfo(params.getString("longitude"),
89
				params.getString("latitude"));
88
		List<Map<String, Object>> currentAreaInfoList = mapTagManageDao.getInAreaInfo(String.valueOf(params.get("longitude")),
89
				String.valueOf(params.get("latitude")));
90 90
91 91
		// 报警位置
92 92
		if (currentAreaInfoList == null || currentAreaInfoList.isEmpty()) {

+ 21 - 21
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/iotdata/ManageIotNoCloseAlarmData.java

@ -1,46 +1,46 @@
1 1
package com.ai.bss.location.rescue.service.iotdata;
2 2
3
import com.ai.bss.location.rescue.dao.interfaces.RescueDao;
4
import com.ai.bss.location.rescue.util.DateUtil;
5
import com.ai.bss.location.rescue.util.EbcConstant;
6
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
7
import com.ai.ipu.basic.log.ILogger;
8
import com.ai.ipu.basic.log.IpuLoggerFactory;
9
import com.ai.ipu.data.JMap;
10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.stereotype.Component;
12
13 3
import java.text.ParseException;
14 4
import java.util.HashMap;
15 5
import java.util.List;
16 6
import java.util.Map;
17 7
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.stereotype.Component;
12
13
import com.ai.bss.location.rescue.dao.interfaces.RescueDao;
14
import com.ai.bss.location.rescue.util.DateUtil;
15
import com.ai.bss.location.rescue.util.EbcConstant;
16
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
17
18 18
@Component
19 19
public class ManageIotNoCloseAlarmData {
20
	private static final ILogger logger = IpuLoggerFactory.createLogger(ManageIotNoCloseAlarmData.class);
20
	private static final Logger logger = LoggerFactory.getLogger(ManageIotNoCloseAlarmData.class);
21 21
22 22
	@Autowired
23 23
	RescueDao rescueDao;
24 24
25
	public boolean executeReceiveIotData(JMap params) throws Exception {
25
	public boolean executeReceiveIotData(Map<String,Object> params) throws Exception {
26 26
		// 查询是否为未被救援的人员
27
		List<Map<String, Object>> alarmList = rescueDao.queryNoCloseRescueLog(params.getString("deviceId"));
27
		List<Map<String, Object>> alarmList = rescueDao.queryNoCloseRescueLog(String.valueOf(params.get("deviceId")));
28 28
29 29
		if (alarmList == null || alarmList.isEmpty()) {
30 30
			return false;
31 31
		}
32 32
33 33
		//判断是救援者还是求救者
34
		if (params.getString("userCode").equals(String.valueOf(alarmList.get(0).get("RESCUER_CODE")))) {
34
		if (String.valueOf(params.get("userCode")).equals(String.valueOf(alarmList.get(0).get("RESCUER_CODE")))) {
35 35
			//救援者
36
			logger.info("定位信息为救援人员: " + params.getString("userName"));
36
			logger.info("定位信息为救援人员: " + String.valueOf(params.get("userName")));
37 37
			
38 38
			// 推送镜屏
39 39
			sendRescuerMirrorData(params, alarmList.get(0));
40 40
			
41 41
		}else {
42 42
			//求救者
43
			logger.info("定位信息为已求救的人员: " + params.getString("userName"));
43
			logger.info("定位信息为已求救的人员: " + String.valueOf(params.get("userName")));
44 44
			
45 45
			// 推送镜屏
46 46
			sendAlarmMirrorData(params, alarmList.get(0));
@ -58,7 +58,7 @@ public class ManageIotNoCloseAlarmData {
58 58
	 * @param alarmMap
59 59
	 * @throws ParseException
60 60
	 */
61
	private void sendRescuerMirrorData(JMap params, Map<String, Object> alarmMap) throws ParseException {
61
	private void sendRescuerMirrorData(Map<String,Object> params, Map<String, Object> alarmMap) throws ParseException {
62 62
		params.put("locationStatus", EbcConstant.location_status_rescuer);// 定位状态
63 63
		params.put("alarmDeviceId", String.valueOf(alarmMap.get("DEVICE_ID"))); //求救者的设备ID
64 64
		
@ -70,15 +70,15 @@ public class ManageIotNoCloseAlarmData {
70 70
	 * 推送求救者的镜屏信息
71 71
	 * @param params
72 72
	 * @param alarmMap
73
	 * @throws ParseException
73
	 * @throws Exception 
74 74
	 */
75
	private void sendAlarmMirrorData(JMap params, Map<String, Object> alarmMap) throws ParseException {
75
	private void sendAlarmMirrorData(Map<String,Object> params, Map<String, Object> alarmMap) throws Exception {
76 76
		// 求救时间
77 77
		String alarmDate = String.valueOf(alarmMap.get("CALLER_DATE"));
78 78
		params.put("alarmDate", DateUtil.formatStrDate(alarmDate));
79 79
80 80
		// 计算求救时长
81
		params.put("alarmLong", DateUtil.getDifferenceMinute(alarmDate, params.getString("newDate")));
81
		params.put("alarmLong", DateUtil.getDifferenceMinute(alarmDate, String.valueOf(params.get("newDate"))));
82 82
83 83
		// 报警类型
84 84
		String alarmType = String.valueOf(alarmMap.get("ALARM_TYPE"));
@ -104,7 +104,7 @@ public class ManageIotNoCloseAlarmData {
104 104
		MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, params);
105 105
	}
106 106
107
	private boolean updateLastLocationRecord(JMap params, Map<String, Object> alarmMap) throws Exception {
107
	private boolean updateLastLocationRecord(Map<String,Object> params, Map<String, Object> alarmMap) throws Exception {
108 108
		Map<String, Object> dataMap = new HashMap<String, Object>();
109 109
		dataMap.put("LOG_ID", alarmMap.get("LOG_ID")); // 日志ID
110 110
		dataMap.put("LAST_LOCATION_DATE", params.get("newDate")); // 最后定位时间

+ 15 - 16
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/iotdata/ManageIotNoInAreaData.java

@ -1,33 +1,32 @@
1 1
package com.ai.bss.location.rescue.service.iotdata;
2 2
3
import com.ai.bss.location.rescue.dao.interfaces.AreaInOutRecordDao;
3
import java.util.ArrayList;
4
import java.util.List;
5
import java.util.Map;
4 6
5
import com.ai.bss.location.rescue.util.EbcConstant;
6
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
7
import com.ai.ipu.basic.log.ILogger;
8
import com.ai.ipu.basic.log.IpuLoggerFactory;
9
import com.ai.ipu.data.JMap;
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
10 9
import org.springframework.beans.factory.annotation.Autowired;
11 10
import org.springframework.stereotype.Component;
12 11
13
import java.util.ArrayList;
14
import java.util.List;
15
import java.util.Map;
12
import com.ai.bss.location.rescue.dao.interfaces.AreaInOutRecordDao;
13
import com.ai.bss.location.rescue.util.EbcConstant;
14
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
16 15
17 16
@Component
18 17
public class ManageIotNoInAreaData {
19
	private static final ILogger logger = IpuLoggerFactory.createLogger(ManageIotNoInAreaData.class);
18
	private static final Logger logger = LoggerFactory.getLogger(ManageIotNoInAreaData.class);
20 19
21 20
	@Autowired
22 21
	AreaInOutRecordDao areaInOutRecordDao;
23
24
	public boolean executeReceiveIotData(JMap params) throws Exception {
22
	
23
	public boolean executeReceiveIotData(Map<String,Object> params) throws Exception {
25 24
		// 推送镜屏数据
26 25
		sendMirrorData(params);
27 26
28 27
		// 查询人员之前所在围栏信息
29 28
		List<Map<String, Object>> beforeAreaMapList = areaInOutRecordDao
30
				.getBeforeInAreaInfo(params.getString("deviceId"), null);
29
				.getBeforeInAreaInfo(String.valueOf(params.get("deviceId")), null);
31 30
32 31
		if (beforeAreaMapList == null || beforeAreaMapList.isEmpty()) {
33 32
			logger.info("定位信息没有进入围栏");
@ -42,20 +41,20 @@ public class ManageIotNoInAreaData {
42 41
		return true;
43 42
	}
44 43
45
	private void sendMirrorData(JMap params) {
44
	private void sendMirrorData(Map<String,Object> params) {
46 45
		params.put("locationStatus", EbcConstant.location_status_normal);// 定位状态
47 46
48 47
		MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, params);
49 48
	}
50 49
51
	private boolean updateOutAreaRecord(JMap params, List<Map<String, Object>> beforeAreaMapList) throws Exception {
50
	private boolean updateOutAreaRecord(Map<String,Object> params, List<Map<String, Object>> beforeAreaMapList) throws Exception {
52 51
		List<String> recordIdList = new ArrayList<String>();
53 52
		for (Map<String, Object> beforeAreaMap : beforeAreaMapList) {
54 53
			recordIdList.add(String.valueOf(beforeAreaMap.get("RECORD_ID")));
55 54
		}
56 55
57 56
		// 记录离开围栏时间
58
		return areaInOutRecordDao.updateSameOutTimeAreaOutRecord(params.getString("newDate"), recordIdList);
57
		return areaInOutRecordDao.updateSameOutTimeAreaOutRecord(String.valueOf(params.get("newDate")), recordIdList);
59 58
	}
60 59
61 60
}

+ 10 - 10
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/iotdata/ManageIotToolData.java

@ -1,25 +1,25 @@
1 1
package com.ai.bss.location.rescue.service.iotdata;
2 2
3 3
4
import com.ai.bss.location.rescue.dao.interfaces.DeviceManageDao;
5
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
6
import com.ai.ipu.basic.log.ILogger;
7
import com.ai.ipu.basic.log.IpuLoggerFactory;
8
import com.ai.ipu.data.JMap;
4
import java.util.Map;
5
6
import org.slf4j.Logger;
7
import org.slf4j.LoggerFactory;
9 8
import org.springframework.beans.factory.annotation.Autowired;
10 9
import org.springframework.stereotype.Component;
11 10
12
import java.util.Map;
11
import com.ai.bss.location.rescue.dao.interfaces.DeviceManageDao;
12
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
13 13
14 14
@Component
15 15
public class ManageIotToolData {
16
	private static final ILogger logger = IpuLoggerFactory.createLogger(ManageIotToolData.class);
16
	private static final Logger logger = LoggerFactory.getLogger(ManageIotToolData.class);
17 17
18 18
	@Autowired
19 19
	DeviceManageDao deviceManageDao;
20 20
21
	public boolean executeReceiveIotData(JMap params) throws Exception {
22
		Map<String, Object> bindInfoMap = deviceManageDao.queryOneBindShip(params.getString("deviceId"), null);
21
	public boolean executeReceiveIotData(Map<String,Object> params) throws Exception {
22
		Map<String, Object> bindInfoMap = deviceManageDao.queryOneBindShip(String.valueOf(params.get("deviceId")), null);
23 23
24 24
		if (bindInfoMap == null) {
25 25
			// 设备未绑定
@ -35,7 +35,7 @@ public class ManageIotToolData {
35 35
		return true;
36 36
	}
37 37
38
	private void sendMirrorData(JMap params, Map<String, Object> bindInfoMap) {
38
	private void sendMirrorData(Map<String,Object> params, Map<String, Object> bindInfoMap) {
39 39
		params.put("shipName", bindInfoMap.get("NAME"));
40 40
		params.put("shipCode", bindInfoMap.get("CODE"));
41 41

+ 117 - 35
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/DateUtil.java

@ -1,13 +1,13 @@
1 1
package com.ai.bss.location.rescue.util;
2 2
3
import com.ai.ipu.common.date.TimeUtil;
4
5 3
import java.math.BigDecimal;
6 4
import java.text.ParseException;
7 5
import java.text.SimpleDateFormat;
8 6
import java.util.Calendar;
9 7
import java.util.Date;
10 8
9
import org.apache.commons.lang3.time.DateFormatUtils;
10
11 11
/**
12 12
 * 时间工具类
13 13
 * @author konghl@asiainfo.com
@ -37,9 +37,9 @@ public class DateUtil {
37 37
	 * @param dateStr
38 38
	 * @param amount
39 39
	 * @return yyyy-MM-dd HH:mm:ss
40
	 * @throws ParseException 
40
	 * @throws Exception 
41 41
	 */
42
	public static String dateAddYear(String dateStr, int amount) throws ParseException {
42
	public static String dateAddYear(String dateStr, int amount) throws Exception {
43 43
		return dateAdd(dateStr, Calendar.YEAR, amount, NORM_DATETIME_PATTERN);
44 44
	}
45 45
@ -48,9 +48,9 @@ public class DateUtil {
48 48
	 * @param dateStr
49 49
	 * @param amount
50 50
	 * @return yyyy-MM-dd HH:mm:ss
51
	 * @throws ParseException 
51
	 * @throws Exception 
52 52
	 */
53
	public static String dateAddMonth(String dateStr, int amount) throws ParseException {
53
	public static String dateAddMonth(String dateStr, int amount) throws Exception {
54 54
		return dateAdd(dateStr, Calendar.MONTH, amount, NORM_DATETIME_PATTERN);
55 55
	}
56 56
@ -59,9 +59,9 @@ public class DateUtil {
59 59
	 * @param dateStr
60 60
	 * @param amount
61 61
	 * @return yyyy-MM-dd HH:mm:ss
62
	 * @throws ParseException 
62
	 * @throws Exception 
63 63
	 */
64
	public static String dateAddDay(String dateStr, int amount) throws ParseException {
64
	public static String dateAddDay(String dateStr, int amount) throws Exception {
65 65
		return dateAdd(dateStr, Calendar.DATE, amount, NORM_DATETIME_PATTERN);
66 66
	}
67 67
@ -70,9 +70,9 @@ public class DateUtil {
70 70
	 * @param dateStr
71 71
	 * @param amount
72 72
	 * @return yyyy-MM-dd HH:mm:ss
73
	 * @throws ParseException 
73
	 * @throws Exception 
74 74
	 */
75
	public static String dateAddHour(String dateStr, int amount) throws ParseException {
75
	public static String dateAddHour(String dateStr, int amount) throws Exception {
76 76
		return dateAdd(dateStr, Calendar.HOUR, amount, NORM_DATETIME_PATTERN);
77 77
	}
78 78
@ -81,9 +81,9 @@ public class DateUtil {
81 81
	 * @param dateStr
82 82
	 * @param amount
83 83
	 * @return yyyy-MM-dd HH:mm:ss
84
	 * @throws ParseException 
84
	 * @throws Exception 
85 85
	 */
86
	public static String dateAddMinute(String dateStr, int amount) throws ParseException {
86
	public static String dateAddMinute(String dateStr, int amount) throws Exception {
87 87
		return dateAdd(dateStr, Calendar.MINUTE, amount, NORM_DATETIME_PATTERN);
88 88
	}
89 89
@ -92,9 +92,9 @@ public class DateUtil {
92 92
	 * @param dateStr
93 93
	 * @param amount
94 94
	 * @return yyyy-MM-dd HH:mm:ss
95
	 * @throws ParseException 
95
	 * @throws Exception 
96 96
	 */
97
	public static String dateAddSecond(String dateStr, int amount) throws ParseException {
97
	public static String dateAddSecond(String dateStr, int amount) throws Exception {
98 98
		return dateAdd(dateStr, Calendar.SECOND, amount, NORM_DATETIME_PATTERN);
99 99
	}
100 100
@ -105,9 +105,9 @@ public class DateUtil {
105 105
	 * @param amount 间隔长度
106 106
	 * @param pattern 返回日期格式
107 107
	 * @return
108
	 * @throws ParseException 
108
	 * @throws Exception 
109 109
	 */
110
	public static String dateAdd(String dateStr, int field, int amount, String pattern) throws ParseException {
110
	public static String dateAdd(String dateStr, int field, int amount, String pattern) throws Exception {
111 111
		Date date = convertDate(dateStr);
112 112
		Date newDate = dateAdd(date, field, amount);
113 113
		return formatDate(newDate, pattern);
@ -132,9 +132,9 @@ public class DateUtil {
132 132
	 * @param field Calendar中的时间类型
133 133
	 * @param amount 间隔长度
134 134
	 * @return
135
	 * @throws ParseException 
135
	 * @throws Exception 
136 136
	 */
137
	public static Date dateAdd(String dateStr, int field, int amount) throws ParseException {
137
	public static Date dateAdd(String dateStr, int field, int amount) throws Exception {
138 138
		Date date = convertDate(dateStr);
139 139
		return dateAdd(date, field, amount);
140 140
	}
@ -158,9 +158,9 @@ public class DateUtil {
158 158
	 * @param dateStr0
159 159
	 * @param dateStr1
160 160
	 * @return dateStr0<dateStr1 ? -1 : (dateStr0==dateStr1 ? 0 : 1)
161
	 * @throws ParseException 
161
	 * @throws Exception 
162 162
	 */
163
	public static int compareDate(String dateStr0, String dateStr1) throws ParseException {
163
	public static int compareDate(String dateStr0, String dateStr1) throws Exception {
164 164
		if (dateStr0 == null || "".equals(dateStr0)) {
165 165
			if (dateStr1 == null || "".equals(dateStr1)) {
166 166
				return 0;
@ -183,9 +183,9 @@ public class DateUtil {
183 183
	 * 格式化字符串时间
184 184
	 * @param date
185 185
	 * @return yyyy-MM-dd HH:mm:ss
186
	 * @throws ParseException 
186
	 * @throws Exception 
187 187
	 */
188
	public static String formatStrDate(String dateStr) throws ParseException {
188
	public static String formatStrDate(String dateStr) throws Exception {
189 189
		Date date = convertDate(dateStr);
190 190
		return formatDate(date, DateUtil.NORM_DATETIME_PATTERN);
191 191
	}
@ -218,31 +218,31 @@ public class DateUtil {
218 218
	 * 字符串转时间
219 219
	 * @param dateStr
220 220
	 * @return
221
	 * @throws ParseException 
221
	 * @throws Exception 
222 222
	 */
223
	public static Date convertDate(String dateStr) throws ParseException {
223
	public static Date convertDate(String dateStr) throws Exception {
224 224
		if (dateStr == null || "".equals(dateStr)) {
225 225
			return null;
226 226
		}
227 227
228
		String pattern = TimeUtil.getTimestampFormat(dateStr);
228
		String pattern = getTimestampFormat(dateStr);
229 229
		return convertDate(dateStr, pattern);
230 230
	}
231 231
232 232
	/**
233 233
	 * 字符串转时间
234 234
	 * @param dateStr
235
	 * @param pattern
235
	 * @param pattern 时间格式
236 236
	 * @return
237
	 * @throws ParseException 
237
	 * @throws Exception 
238 238
	 */
239
	public static Date convertDate(String dateStr, String pattern) throws ParseException {
239
	public static Date convertDate(String dateStr, String pattern) throws Exception {
240 240
		if (dateStr == null || "".equals(dateStr)) {
241 241
			return null;
242 242
		}
243 243
244 244
		if (pattern == null || "".equals(pattern)) {
245
			pattern = TimeUtil.getTimestampFormat(dateStr);
245
			pattern = getTimestampFormat(dateStr);
246 246
		}
247 247
248 248
		SimpleDateFormat formatter = new SimpleDateFormat(pattern);
@ -275,9 +275,9 @@ public class DateUtil {
275 275
	 * @param beginDateStr
276 276
	 * @param endDateStr
277 277
	 * @return 
278
	 * @throws ParseException
278
	 * @throws Exception 
279 279
	 */
280
	public static long getDifferenceMillisecond(String beginDateStr, String endDateStr) throws ParseException {
280
	public static long getDifferenceMillisecond(String beginDateStr, String endDateStr) throws Exception {
281 281
		Date beginDate = convertDate(beginDateStr);
282 282
		Date endDate = convertDate(endDateStr);
283 283
		return getDifferenceMillisecond(beginDate, endDate);
@ -288,9 +288,9 @@ public class DateUtil {
288 288
	 * @param beginDate
289 289
	 * @param endDate
290 290
	 * @return
291
	 * @throws ParseException 
291
	 * @throws Exception 
292 292
	 */
293
	public static int getDifferenceMinute(String beginDateStr, String endDateStr) throws ParseException {
293
	public static int getDifferenceMinute(String beginDateStr, String endDateStr) throws Exception {
294 294
		long diffMillisecond = getDifferenceMillisecond(beginDateStr, endDateStr);
295 295
		if (diffMillisecond > 0) {
296 296
			BigDecimal diffMillisecondBigDecimal = new BigDecimal(diffMillisecond);
@ -309,9 +309,9 @@ public class DateUtil {
309 309
	 * @param beginDateStr
310 310
	 * @param endDateStr
311 311
	 * @return
312
	 * @throws ParseException
312
	 * @throws Exception 
313 313
	 */
314
	public static String getDifferenceString(String beginDateStr, String endDateStr) throws ParseException {
314
	public static String getDifferenceString(String beginDateStr, String endDateStr) throws Exception {
315 315
		long diffMillisecond = getDifferenceMillisecond(beginDateStr, endDateStr);
316 316
317 317
		if (diffMillisecond <= 60000) {
@ -341,4 +341,86 @@ public class DateUtil {
341 341
342 342
		return diffStr.toString();
343 343
	}
344
345
	/**
346
	 * 获取系统时间
347
	 * @param pattern 时间格式
348
	 * @return
349
	 * @throws Exception
350
	 */
351
	public static String getSysDate(String pattern) throws Exception {
352
		return DateFormatUtils.format(System.currentTimeMillis(), pattern);
353
	}
354
355
	/**
356
	 * 获取系统日期
357
	 * @return yyyy-MM-dd
358
	 * @throws Exception
359
	 */
360
	public static String getSysDate() throws Exception {
361
		return getSysDate(NORM_DATE_PATTERN);
362
	}
363
364
	/**
365
	 * 获取系统日期时间
366
	 * @return yyyy-MM-dd HH:mm:ss
367
	 * @throws Exception
368
	 */
369
	public static final String getSysTime() throws Exception {
370
		return getSysDate(NORM_DATETIME_PATTERN);
371
	}
372
373
	/**
374
	 * 根据字符串时间获取对应的时间格式
375
	 * @param value
376
	 * @return
377
	 * @throws Exception
378
	 */
379
	@SuppressWarnings("unused")
380
	public static final String getTimestampFormat(String value) throws Exception {
381
		String format = null;
382
		switch (value.length()) {
383
		case 4:
384
			format = "yyyy";
385
			break;
386
		case 6:
387
			format = "yyyyMM";
388
			break;
389
		case 7:
390
			format = "yyyy-MM";
391
			break;
392
		case 8:
393
			format = "yyyyMMdd";
394
			break;
395
		case 10:
396
			format = "yyyy-MM-dd";
397
			break;
398
		case 13:
399
			format = "yyyy-MM-dd HH";
400
			break;
401
		case 14:
402
			format = "yyyyMMddHHmmss";
403
			break;
404
		case 15:
405
			format = "yyyyMMddHHmmssS";
406
			break;
407
		case 16:
408
			format = "yyyy-MM-dd HH:mm";
409
			break;
410
		case 19:
411
			format = "yyyy-MM-dd HH:mm:ss";
412
			break;
413
		case 21:
414
			format = "yyyy-MM-dd HH:mm:ss.S";
415
			break;
416
		default:
417
			throw new NullPointerException();
418
		}
419
420
		if (format == null) {
421
			new Exception("无法解析正确的日期格式[" + value + "]");
422
		}
423
		return format;
424
	}
425
344 426
}

+ 17 - 12
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/HttpServiceUtil.java

@ -1,8 +1,18 @@
1 1
package com.ai.bss.location.rescue.util;
2 2
3
import com.ailk.common.BaseException;
4
import com.alibaba.fastjson.JSONObject;
5
import lombok.extern.slf4j.Slf4j;
3
import java.io.BufferedReader;
4
import java.io.IOException;
5
import java.io.InputStream;
6
import java.io.InputStreamReader;
7
import java.io.UnsupportedEncodingException;
8
import java.net.HttpURLConnection;
9
import java.net.URL;
10
import java.net.URLEncoder;
11
import java.nio.charset.Charset;
12
import java.util.Iterator;
13
import java.util.Map;
14
import java.util.Set;
15
6 16
import org.apache.http.HttpEntity;
7 17
import org.apache.http.HttpStatus;
8 18
import org.apache.http.client.ClientProtocolException;
@ -21,14 +31,9 @@ import org.apache.http.util.EntityUtils;
21 31
import org.slf4j.Logger;
22 32
import org.slf4j.LoggerFactory;
23 33
24
import java.io.*;
25
import java.net.HttpURLConnection;
26
import java.net.URL;
27
import java.net.URLEncoder;
28
import java.nio.charset.Charset;
29
import java.util.Iterator;
30
import java.util.Map;
31
import java.util.Set;
34
import com.alibaba.fastjson.JSONObject;
35
36
import lombok.extern.slf4j.Slf4j;
32 37
33 38
/**
34 39
 * http服务请求工具类
@ -129,7 +134,7 @@ public class HttpServiceUtil {
129 134
	}
130 135
131 136
	public static String sendPostRequest(String url, Map<String, String> map, String encoding, int ebossConnectTimeout,
132
			int ebossServiceTimeout) throws BaseException {
137
			int ebossServiceTimeout) {
133 138
		CloseableHttpClient httpClient = HttpClients.createDefault();
134 139
		HttpPost httpPost = new HttpPost(url);
135 140
		String body = "";

+ 2 - 5
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/MirrorSendDateUtil.java

@ -1,9 +1,6 @@
1 1
package com.ai.bss.location.rescue.util;
2 2
3
import com.ai.ipu.basic.log.ILogger;
4
import com.ai.ipu.basic.log.IpuLoggerFactory;
5
import com.ai.ipu.data.JMap;
6
3
import java.util.Map;
7 4
8 5
/**
9 6
 * 镜屏推送消息
@ -18,7 +15,7 @@ public class MirrorSendDateUtil {
18 15
	// 船舶定位topic
19 16
	public static final String topic_ship = "ship";
20 17
21
	public static void sendData(String topic, JMap params) {
18
	public static void sendData(String topic, Map<String,Object> params) {
22 19
/*		String msg = JSON.toJSONString(params);
23 20
		logger.debug("推送镜屏数据: topic="+topic+" , data=" + msg);
24 21
		

+ 10 - 8
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/NorthboundInterfaceUtil.java

@ -1,11 +1,5 @@
1 1
package com.ai.bss.location.rescue.util;
2 2
3
import com.ai.ipu.basic.log.ILogger;
4
import com.ai.ipu.basic.log.IpuLoggerFactory;
5
import com.alibaba.fastjson.JSON;
6
import org.springframework.beans.factory.annotation.Value;
7
import org.springframework.stereotype.Component;
8
9 3
import java.nio.charset.Charset;
10 4
import java.util.HashMap;
11 5
import java.util.Iterator;
@ -13,6 +7,14 @@ import java.util.Map;
13 7
import java.util.Set;
14 8
import java.util.concurrent.ConcurrentHashMap;
15 9
10
import org.slf4j.Logger;
11
import org.slf4j.LoggerFactory;
12
import org.springframework.beans.factory.annotation.Value;
13
import org.springframework.stereotype.Component;
14
15
import com.ai.bss.location.rescue.controller.MapTagManageController;
16
import com.alibaba.fastjson.JSON;
17
16 18
/**
17 19
 *北向接口统一入口
18 20
 * @date 2010/09/24 23:42
@ -20,8 +22,8 @@ import java.util.concurrent.ConcurrentHashMap;
20 22
@Component
21 23
public class NorthboundInterfaceUtil {
22 24
23
	private static final ILogger logger = IpuLoggerFactory.createLogger(NorthboundInterfaceUtil.class);
24
25
	private static final Logger logger = LoggerFactory.getLogger(MapTagManageController.class);
26
	
25 27
	@Value("${aap.iot.userCode}")
26 28
	private String userCode;
27 29

+ 15 - 0
location-rescue-service/src/main/resources/application-gis.properties

@ -0,0 +1,15 @@
1
#gis\u767b\u5f55\u8d26\u53f7\u548c\u5bc6\u7801
2
aap.gis.userName=EBC_PPRS
3
aap.gis.passwd=ITBS93wMYHosT
4
5
#gis\u7684token\u5730\u5740
6
url.gis.token=http://192.168.74.189:9999/gisIntf/account/gettoken
7
8
#\u6d77\u56fe\u4e2d\u5fc3\u5750\u6807
9
seaMap.centre.longitude=123.396036
10
seaMap.centre.latitude=31.560302
11
12
#\u6d77\u56fe\u663e\u793a\u6bd4\u4f8b\u5c3a
13
# 5-->300km,6-->200km,7-->100km,8-->50km,9-->20km,10-->10km,11-->5km
14
# 12-->2km,13-->1km,14-->500m,15-->300m,16-->200m,17-->100m,18-->50m
15
seaMap.scale=11

+ 11 - 0
location-rescue-service/src/main/resources/application-iot.properties

@ -0,0 +1,11 @@
1
#\u5317\u5411\u767b\u5f55\u8d26\u53f7\u548c\u5bc6\u7801
2
aap.iot.userCode=IOT_ADMIN
3
aap.iot.passWord=123456
4
5
#iot\u7684\u5317\u5411\u63a5\u53e3\u6ce8\u518c\u5730\u5740
6
#url.iot.login=http://60.205.219.67:8300/sso/login
7
url.iot.login=http://47.105.130.83:8083/sso/login
8
9
#iot\u7684\u5317\u5411\u63a5\u53e3\u7edf\u4e00\u5730\u5740
10
#url.iot.service=http://60.205.219.67:8300/dmp/terminalNorthApi/
11
url.iot.service=http://47.105.130.83:8083/dmp/terminalNorthApi/

+ 8 - 5
location-rescue-service/src/main/resources/application.properties

@ -3,15 +3,15 @@ server.port=8086
3 3
4 4
# DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
5 5
#spring.datasource.url=jdbc:mysql://localhost:3306/cmp
6
spring.datasource.url=jdbc:mysql://10.19.14.28:3306/work_order?useUnicode=true&ampcharacterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
6
spring.datasource.url=jdbc:mysql://10.11.20.120:3306/common_frm?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&verifyServerCertificate=false&useSSL=false&requireSSL=false
7 7
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
8
spring.datasource.username=aibp
9
spring.datasource.password=Aibp@123
8
spring.datasource.username=comon_frm
9
spring.datasource.password=1qaz@WSX
10 10
11 11
# JPA (JpaBaseConfiguration, HibernateJpaAutoConfiguration)
12 12
#spring.jpa.database=default
13 13
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
14
spring.jpa.hibernate.ddl-auto=update
14
spring.jpa.hibernate.ddl-auto=none
15 15
spring.jpa.show-sql=true
16 16
spring.jpa.properties.hibernate.format_sql=true
17 17
spring.jpa.properties.hibernate.generate_statistics=false
@ -23,4 +23,7 @@ spring.main.allow-bean-definition-overriding=true
23 23
24 24
# LOGGING
25 25
logging.level.com.ai=info
26
logging.level.org.springframework.data=info
26
logging.level.org.springframework.data=info
27
28
# \u5f15\u5165gis\u548ciot\u7684\u914d\u7f6e\u6587\u4ef6
29
spring.profiles.active=iot,gis

Merge remote-tracking branch 'origin/master' · e477401879 - Nuosi Git Service
Browse Source

Merge remote-tracking branch 'origin/master'

wangdong6 4 years ago
parent
commit
e477401879

+ 14 - 0
security-protection-service/src/main/java/com/ai/bss/security/protection/controller/AttendanceReportController.java

@ -6,6 +6,8 @@ import com.ai.bss.components.common.model.PageBean;
6 6
import com.ai.bss.security.protection.model.AttendanceReport;
7 7
import com.ai.bss.security.protection.service.interfaces.AttendanceReportService;
8 8
import com.ai.bss.security.protection.utils.EbcConstant;
9
10
import org.apache.commons.lang.StringUtils;
9 11
import org.slf4j.Logger;
10 12
import org.slf4j.LoggerFactory;
11 13
import org.springframework.beans.factory.annotation.Autowired;
@ -47,6 +49,10 @@ public class AttendanceReportController {
47 49
		// 每页条数
48 50
		int pageSize = attendanceReport.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : attendanceReport.getPageSize();
49 51
52
		if (StringUtils.isEmpty(attendanceReport.getWorkDay())) {
53
			return CommonResponse.fail("503", "查询时间不能为空");
54
		}
55
		
50 56
		Map<String, Object> params = new HashMap<>();
51 57
		params.put("workDay",attendanceReport.getWorkDay());
52 58
		params.put("orgId",attendanceReport.getOrgId());
@ -79,6 +85,14 @@ public class AttendanceReportController {
79 85
		// 每页条数
80 86
		int pageSize = attendanceReport.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : attendanceReport.getPageSize();
81 87
88
		if (StringUtils.isEmpty(attendanceReport.getMonth())) {
89
			return CommonResponse.fail("503", "查询时间不能为空");
90
		}
91
		
92
		if (StringUtils.isEmpty(attendanceReport.getOrgId())) {
93
			return CommonResponse.fail("504", "查询部门不能为空");
94
		}
95
		
82 96
		Map<String, Object> params = new HashMap<>();
83 97
		params.put("month",attendanceReport.getMonth());
84 98
		params.put("orgId",attendanceReport.getOrgId());

+ 244 - 13
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/AttendanceReportServiceImpl.java

@ -10,14 +10,12 @@ import com.ai.bss.security.protection.utils.EbcConstant;
10 10
import com.ai.bss.worker.service.api.AttendanceStatusQuery;
11 11
import org.springframework.beans.factory.annotation.Autowired;
12 12
import org.springframework.stereotype.Service;
13
import org.springframework.util.CollectionUtils;
13 14
14 15
import java.text.ParseException;
15 16
import java.text.SimpleDateFormat;
16
17
import java.util.Date;
18
import java.util.HashMap;
19
import java.util.List;
20
import java.util.Map;
17
import java.util.ArrayList;
18
import java.util.*;
21 19
22 20
/**
23 21
 * @Auther: 王超
@ -42,6 +40,15 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
42 40
        CommonResponse<PageBean<Map<String,Object>>>  attendanceReport = null;
43 41
        try {
44 42
            attendanceReport = attendanceStatusQuery.queryMonthlyAttendanceReport((new CommonRequest<>(params,pageNumber,pageSize)));
43
            
44
            if (!attendanceReport.isSuccess()) {
45
            	return attendanceReport;
46
			}
47
            
48
            if (attendanceReport.getData()==null||CollectionUtils.isEmpty(attendanceReport.getData().getData())) {
49
				return CommonResponse.ok(new PageBean<Map<String,Object>>(new ArrayList<Map<String,Object>>(), pageSize, pageNumber, 1, 1));
50
			}
51
            
45 52
            List<Map<String, Object>> dailyAttendanceList = attendanceReport.getData().getData();
46 53
            if(dailyAttendanceList != null && dailyAttendanceList.size() != 0){
47 54
                Map<String, Object> dailyAttendanceMap = dailyAttendanceList.get(0);
@ -116,6 +123,15 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
116 123
        CommonResponse<List<Map<String, Object>>> attendanceReportResponse =  null;
117 124
        try {
118 125
            attendanceReportResponse = attendanceStatusQuery.queryAttendanceDetailReport(new CommonRequest<>(params,1,10));
126
            
127
            if (!attendanceReportResponse.isSuccess()) {
128
            	return attendanceReportResponse;
129
			}
130
            
131
            if (CollectionUtils.isEmpty(attendanceReportResponse.getData())) {
132
				return CommonResponse.ok(null);
133
			}
134
            
119 135
            List<Map<String, Object>> attendanceReportList = attendanceReportResponse.getData();
120 136
121 137
            attendanceReportList.forEach((dailyAttendance)->{
@ -129,7 +145,110 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
129 145
                    }
130 146
                });
131 147
132
                String[] attendanceStatusArray = new String[2];
148
                //存放考勤状态
149
                ArrayList<Object> attendanceStatusList = new ArrayList<>();
150
                //判断是否是外勤
151
                if (dailyAttendance.get("goToWorkExceptionStatus")!=null&& "FIE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
152
                    attendanceStatusList.add("上午外勤");
153
                }
154
                if (dailyAttendance.get("goOffWorkExceptionStatus")!=null&&"FIE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
155
                    attendanceStatusList.add("下午外勤");
156
                }
157
                //判断是否是加班
158
                if (dailyAttendance.get("goToWorkExceptionStatus")!=null&& "OVE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
159
                    attendanceStatusList.add("上午加班");
160
                }
161
                if (dailyAttendance.get("goOffWorkExceptionStatus")!=null&&"OVE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
162
                    attendanceStatusList.add("下午加班");
163
                }
164
165
                //如果都正常有外勤显示外勤,没外勤显示正常,不属于异常考勤
166
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
167
                    if(!(null!=attendanceStatusList&&attendanceStatusList.size()>0)){
168
                        attendanceStatusList.add("正常");
169
                    }
170
                    dailyAttendance.put("isAbnormal",false);
171
                }
172
                //如果上午正常,下午非正常 则显示下午的
173
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&!"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
174
                    if("迟到".equals(dailyAttendance.get("goOffWorkStatus"))){
175
                        attendanceStatusList.add("迟到"+dailyAttendance.get("goOffWorkTime") +"分");
176
                    }
177
                    if("早退".equals(dailyAttendance.get("goOffWorkStatus"))){
178
                        attendanceStatusList.add("早退"+dailyAttendance.get("goOffWorkTime") +"分");
179
                    }
180
                    if("旷工".equals(dailyAttendance.get("goOffWorkStatus"))){
181
                        attendanceStatusList.add("旷工"+dailyAttendance.get("goToWorkTime") +"天");
182
                    }
183
                    if("倒休".equals(dailyAttendance.get("goOffWorkStatus"))||"事假".equals(dailyAttendance.get("goOffWorkStatus"))||"年假".equals(dailyAttendance.get("goOffWorkStatus"))||"放假".equals(dailyAttendance.get("goOffWorkStatus"))||"病假".equals(dailyAttendance.get("goOffWorkStatus"))){
184
                        attendanceStatusList.add(dailyAttendance.get("goOffWorkStatus"));
185
                        dailyAttendance.put("isAbnormal",false);
186
                    }else{
187
                        dailyAttendance.put("isAbnormal",true);
188
                    }
189
                }
190
                //如果上午非正常,下午正常 则显示上午的
191
                if(!"正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
192
                    if("迟到".equals(dailyAttendance.get("goToWorkStatus"))){
193
                        attendanceStatusList.add("迟到"+dailyAttendance.get("goToWorkTime") +"分");
194
                    }
195
                    if("早退".equals(dailyAttendance.get("goToWorkStatus"))){
196
                        attendanceStatusList.add("早退"+dailyAttendance.get("goToWorkTime") +"分");
197
                    }
198
                    if("旷工".equals(dailyAttendance.get("goToWorkStatus"))){
199
                        attendanceStatusList.add("旷工"+dailyAttendance.get("goToWorkTime") +"天");
200
                    }
201
                    if("倒休".equals(dailyAttendance.get("goToWorkStatus"))||"事假".equals(dailyAttendance.get("goToWorkStatus"))||"年假".equals(dailyAttendance.get("goToWorkStatus"))||"放假".equals(dailyAttendance.get("goToWorkStatus"))||"病假".equals(dailyAttendance.get("goToWorkStatus"))){
202
                        attendanceStatusList.add(dailyAttendance.get("goToWorkStatus"));
203
                        dailyAttendance.put("isAbnormal",false);
204
                    }else{
205
                        dailyAttendance.put("isAbnormal",true);
206
                    }
207
                }
208
                //如果上午非正常,下午非正常
209
                if(!"正常".equals(dailyAttendance.get("goToWorkStatus"))&&!"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
210
                    //如果上下午状态相等且是放假 倒休 事假 年假 病假 放假 显示一种状态 非异常考勤
211
                    if(dailyAttendance.get("goToWorkStatus").equals(dailyAttendance.get("goOffWorkStatus"))&&("倒休".equals(dailyAttendance.get("goToWorkStatus"))||"事假".equals(dailyAttendance.get("goToWorkStatus"))||"年假".equals(dailyAttendance.get("goToWorkStatus"))||"放假".equals(dailyAttendance.get("goToWorkStatus"))||"病假".equals(dailyAttendance.get("goToWorkStatus")))){
212
                        attendanceStatusList.add(dailyAttendance.get("goToWorkStatus"));
213
                        dailyAttendance.put("isAbnormal",false);
214
                    }
215
                    //如果上下午状态相等且是旷工 显示一种状态 异常考勤
216
                    else if(dailyAttendance.get("goToWorkStatus").equals(dailyAttendance.get("goOffWorkStatus"))&&"旷工".equals(dailyAttendance.get("goToWorkStatus"))){
217
                        attendanceStatusList.add("旷工1天");
218
                        dailyAttendance.put("isAbnormal",true);
219
                    }else{
220
                        //显示俩种状态
221
                        String[] attendanceStatusArray = new String[2];
222
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
223
                        attendanceStatusArray[1]= (String) dailyAttendance.get("goOffWorkStatus");
224
                        dailyAttendance.put("isAbnormal",false);
225
226
                        if("迟到".equals(dailyAttendance.get("goToWorkStatus"))){
227
                            attendanceStatusArray[0]="迟到"+dailyAttendance.get("goToWorkTime") +"分";
228
                            dailyAttendance.put("isAbnormal",true);
229
                        }
230
                        if("早退".equals(dailyAttendance.get("goOffWorkStatus"))){
231
                            attendanceStatusArray[1]="早退"+dailyAttendance.get("goOffWorkTime") +"分";
232
                            dailyAttendance.put("isAbnormal",true);
233
                        }
234
                        if("旷工".equals(dailyAttendance.get("goToWorkStatus"))){
235
                            attendanceStatusArray[0]="旷工"+dailyAttendance.get("goToWorkTime") +"天";
236
                            dailyAttendance.put("isAbnormal",true);
237
                        }
238
                        if("旷工".equals(dailyAttendance.get("goOffWorkStatus"))){
239
                            attendanceStatusArray[0]="旷工"+dailyAttendance.get("goOffWorkTime") +"天";
240
                            dailyAttendance.put("isAbnormal",true);
241
                        }
242
                        if("未打卡".equals(dailyAttendance.get("goToWorkStatus"))||"未打卡".equals(dailyAttendance.get("goOffWorkStatus"))){
243
                            dailyAttendance.put("isAbnormal",true);
244
                        }
245
                        attendanceStatusList.add(attendanceStatusArray[0]);
246
                        attendanceStatusList.add(attendanceStatusArray[1]);
247
                    }
248
                    dailyAttendance.put("descr",attendanceStatusList);
249
                }
250
251
              /*  String[] attendanceStatusArray = new String[2];
133 252
                dailyAttendance.put("date",dailyAttendance.get("workDay"));
134 253
                dailyAttendance.put("isAbnormal",true);
135 254
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
@ -166,9 +285,9 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
166 285
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
167 286
                    }
168 287
                    dailyAttendance.put("descr",attendanceStatusArray);
169
                }
288
                }*/
170 289
            });
171
            List<Map<String, Object>> dataList = attendanceReportResponse.getData();
290
          /*  List<Map<String, Object>> dataList = attendanceReportResponse.getData();
172 291
            dataList.forEach((data)->{
173 292
                String[] attendanceStatus = (String[]) data.get("descr");
174 293
                if(null!=attendanceStatus&&attendanceStatus.length>0){
@ -178,7 +297,7 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
178 297
                        data.put("descr",attendanceStatusArray);
179 298
                    }
180 299
                }
181
            });
300
            });*/
182 301
183 302
            HashMap<String, Object> attendanceReportMap = new HashMap<>();
184 303
            attendanceReportMap.put("userId",params.get("id"));
@ -209,6 +328,15 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
209 328
        CommonResponse<PageBean<Map<String,Object>>>  attendanceReport = null;
210 329
        try {
211 330
            attendanceReport = attendanceStatusQuery.queryDailyAttendanceReport((new CommonRequest<>(params,pageNumber,pageSize)));
331
            
332
            if (!attendanceReport.isSuccess()) {
333
            	return attendanceReport;
334
			}
335
            
336
            if (attendanceReport.getData()==null||CollectionUtils.isEmpty(attendanceReport.getData().getData())) {
337
				return CommonResponse.ok(new PageBean<Map<String,Object>>(new ArrayList<Map<String,Object>>(), pageSize, pageNumber, 1, 1));
338
			}
339
            
212 340
            List<Map<String, Object>> dailyAttendanceList = attendanceReport.getData().getData();
213 341
            dailyAttendanceList.forEach((dailyAttendance)->{
214 342
                mainjobpositionList.forEach((mainjobposition)->{
@ -225,8 +353,111 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
225 353
                        dailyAttendance.put("goOffWorkStatus", clockingStatus.getValue());
226 354
                    }
227 355
                });
356
                //存放考勤状态
357
                ArrayList<Object> attendanceStatusList = new ArrayList<>();
358
                //判断是否是外勤
359
                if (dailyAttendance.get("goToWorkExceptionStatus")!=null&& "FIE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
360
                    attendanceStatusList.add("上午外勤");
361
                }
362
                if (dailyAttendance.get("goOffWorkExceptionStatus")!=null&&"FIE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
363
                    attendanceStatusList.add("下午外勤");
364
                }
365
                //判断是否是加班
366
                if (dailyAttendance.get("goToWorkExceptionStatus")!=null&& "OVE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
367
                    attendanceStatusList.add("上午加班");
368
                }
369
                if (dailyAttendance.get("goOffWorkExceptionStatus")!=null&&"OVE".equals(dailyAttendance.get("goToWorkExceptionStatus") )) {
370
                    attendanceStatusList.add("下午加班");
371
                }
228 372
229
                String[] attendanceStatusArray = new String[2];
373
                //如果都正常有外勤显示外勤,没外勤显示正常,不属于异常考勤
374
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
375
                    if(!(null!=attendanceStatusList&&attendanceStatusList.size()>0)){
376
                        attendanceStatusList.add("正常");
377
                    }
378
                    dailyAttendance.put("isAbnormal",false);
379
                }
380
                //如果上午正常,下午非正常 则显示下午的
381
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&!"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
382
                    if("迟到".equals(dailyAttendance.get("goOffWorkStatus"))){
383
                        attendanceStatusList.add("迟到"+dailyAttendance.get("goOffWorkTime") +"分");
384
                    }
385
                    if("早退".equals(dailyAttendance.get("goOffWorkStatus"))){
386
                        attendanceStatusList.add("早退"+dailyAttendance.get("goOffWorkTime") +"分");
387
                    }
388
                    if("旷工".equals(dailyAttendance.get("goOffWorkStatus"))){
389
                        attendanceStatusList.add("旷工"+dailyAttendance.get("goToWorkTime") +"天");
390
                    }
391
                    if("倒休".equals(dailyAttendance.get("goOffWorkStatus"))||"事假".equals(dailyAttendance.get("goOffWorkStatus"))||"年假".equals(dailyAttendance.get("goOffWorkStatus"))||"放假".equals(dailyAttendance.get("goOffWorkStatus"))||"病假".equals(dailyAttendance.get("goOffWorkStatus"))){
392
                        attendanceStatusList.add(dailyAttendance.get("goOffWorkStatus"));
393
                        dailyAttendance.put("isAbnormal",false);
394
                    }else{
395
                        dailyAttendance.put("isAbnormal",true);
396
                    }
397
                }
398
                //如果上午非正常,下午正常 则显示上午的
399
                if(!"正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
400
                    if("迟到".equals(dailyAttendance.get("goToWorkStatus"))){
401
                        attendanceStatusList.add("迟到"+dailyAttendance.get("goToWorkTime") +"分");
402
                    }
403
                    if("早退".equals(dailyAttendance.get("goToWorkStatus"))){
404
                        attendanceStatusList.add("早退"+dailyAttendance.get("goToWorkTime") +"分");
405
                    }
406
                    if("旷工".equals(dailyAttendance.get("goToWorkStatus"))){
407
                        attendanceStatusList.add("旷工"+dailyAttendance.get("goToWorkTime") +"天");
408
                    }
409
                    if("倒休".equals(dailyAttendance.get("goToWorkStatus"))||"事假".equals(dailyAttendance.get("goToWorkStatus"))||"年假".equals(dailyAttendance.get("goToWorkStatus"))||"放假".equals(dailyAttendance.get("goToWorkStatus"))||"病假".equals(dailyAttendance.get("goToWorkStatus"))){
410
                        attendanceStatusList.add(dailyAttendance.get("goToWorkStatus"));
411
                        dailyAttendance.put("isAbnormal",false);
412
                    }else{
413
                        dailyAttendance.put("isAbnormal",true);
414
                    }
415
                }
416
                //如果上午非正常,下午非正常
417
                if(!"正常".equals(dailyAttendance.get("goToWorkStatus"))&&!"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
418
                    //如果上下午状态相等且是放假 倒休 事假 年假 病假 放假 显示一种状态 非异常考勤
419
                    if(dailyAttendance.get("goToWorkStatus").equals(dailyAttendance.get("goOffWorkStatus"))&&("倒休".equals(dailyAttendance.get("goToWorkStatus"))||"事假".equals(dailyAttendance.get("goToWorkStatus"))||"年假".equals(dailyAttendance.get("goToWorkStatus"))||"放假".equals(dailyAttendance.get("goToWorkStatus"))||"病假".equals(dailyAttendance.get("goToWorkStatus")))){
420
                        attendanceStatusList.add(dailyAttendance.get("goToWorkStatus"));
421
                        dailyAttendance.put("isAbnormal",false);
422
                    }
423
                    //如果上下午状态相等且是旷工 显示一种状态 异常考勤
424
                    else if(dailyAttendance.get("goToWorkStatus").equals(dailyAttendance.get("goOffWorkStatus"))&&"旷工".equals(dailyAttendance.get("goToWorkStatus"))){
425
                        attendanceStatusList.add("旷工1天");
426
                        dailyAttendance.put("isAbnormal",true);
427
                    }else{
428
                        //显示俩种状态
429
                        String[] attendanceStatusArray = new String[2];
430
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
431
                        attendanceStatusArray[1]= (String) dailyAttendance.get("goOffWorkStatus");
432
                        dailyAttendance.put("isAbnormal",false);
433
434
                        if("迟到".equals(dailyAttendance.get("goToWorkStatus"))){
435
                            attendanceStatusArray[0]="迟到"+dailyAttendance.get("goToWorkTime") +"分";
436
                            dailyAttendance.put("isAbnormal",true);
437
                        }
438
                        if("早退".equals(dailyAttendance.get("goOffWorkStatus"))){
439
                            attendanceStatusArray[1]="早退"+dailyAttendance.get("goOffWorkTime") +"分";
440
                            dailyAttendance.put("isAbnormal",true);
441
                        }
442
                        if("旷工".equals(dailyAttendance.get("goToWorkStatus"))){
443
                            attendanceStatusArray[0]="旷工"+dailyAttendance.get("goToWorkTime") +"天";
444
                            dailyAttendance.put("isAbnormal",true);
445
                        }
446
                        if("旷工".equals(dailyAttendance.get("goOffWorkStatus"))){
447
                            attendanceStatusArray[0]="旷工"+dailyAttendance.get("goOffWorkTime") +"天";
448
                            dailyAttendance.put("isAbnormal",true);
449
                        }
450
                        if("未打卡".equals(dailyAttendance.get("goToWorkStatus"))||"未打卡".equals(dailyAttendance.get("goOffWorkStatus"))){
451
                            dailyAttendance.put("isAbnormal",true);
452
                        }
453
                        attendanceStatusList.add(attendanceStatusArray[0]);
454
                        attendanceStatusList.add(attendanceStatusArray[1]);
455
                    }
456
                    dailyAttendance.put("descr",attendanceStatusList);
457
                }
458
459
460
               /* String[] attendanceStatusArray = new String[2];
230 461
231 462
                if("正常".equals(dailyAttendance.get("goToWorkStatus"))&&"正常".equals(dailyAttendance.get("goOffWorkStatus"))){
232 463
                    //上下班都正常
@ -263,12 +494,12 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
263 494
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
264 495
                    }
265 496
                    dailyAttendance.put("descr",attendanceStatusArray);
266
                }
497
                }*/
267 498
            });
268 499
        } catch (ParseException e) {
269 500
            e.printStackTrace();
270 501
        }
271
        List<Map<String, Object>> dataList = attendanceReport.getData().getData();
502
       /* List<Map<String, Object>> dataList = attendanceReport.getData().getData();
272 503
        dataList.forEach((data)->{
273 504
            String[] attendanceStatus = (String[]) data.get("attendanceStatus");
274 505
            if(null!=attendanceStatus&&attendanceStatus.length>0){
@ -278,7 +509,7 @@ public class AttendanceReportServiceImpl implements AttendanceReportService {
278 509
                    data.put("attendanceStatus",attendanceStatusArray);
279 510
                }
280 511
            }
281
        });
512
        });*/
282 513
        return attendanceReport;
283 514
    }
284 515
}

+ 53 - 40
security-protection-service/src/main/java/com/ai/bss/security/protection/service/task/AiResultRecordKafkaTask.java

@ -5,7 +5,6 @@ import java.util.Map;
5 5
6 6
import org.apache.commons.lang.StringUtils;
7 7
import org.apache.kafka.clients.consumer.ConsumerRecord;
8
import org.junit.Assert;
9 8
import org.springframework.beans.factory.annotation.Autowired;
10 9
import org.springframework.kafka.annotation.KafkaListener;
11 10
import org.springframework.kafka.support.Acknowledgment;
@ -41,13 +40,12 @@ public class AiResultRecordKafkaTask {
41 40
42 41
	@Autowired
43 42
	private ResourceToolManageService resourceToolManageService;
44
	
43
45 44
	@Autowired
46 45
	private MonitorSceneQuery monitorSceneQuery;
47
	
46
48 47
	@Autowired
49 48
	private AiAlarmManageService aiAlarmManageService;
50
	
51 49
52 50
	@KafkaListener(containerFactory = "kafkaBatchListener6", topics = "${kafka.topic.aitask:topic_ai_task}", groupId = "ai_group")
53 51
	public void AiResultRecordListener(ConsumerRecord<String, String> records, Acknowledgment ack) throws Throwable {
@ -58,65 +56,80 @@ public class AiResultRecordKafkaTask {
58 56
			log.info("已接AI任务执行结果消息,消息为:" + message);
59 57
60 58
			JSONObject messageJson = JSONObject.parseObject(message);
61
			String resourceToolCod=messageJson.getString("resourceToolCode");
62
			String aiIdenModel=messageJson.getString("aiIdenModel");
63
			String idenResultType=messageJson.getString("idenResultType");
64
			
65
			//查询相关数据
59
			String resourceToolCod = messageJson.getString("resourceToolCode");
60
			String aiIdenModel = messageJson.getString("aiIdenModel");
61
			String idenResultType = messageJson.getString("idenResultType");
62
63
			// 查询相关数据
66 64
			Map<String, Object> resourceToolMap = resourceToolManageService.queryResourceToolByCode(resourceToolCod);
67 65
			if (resourceToolMap == null) {
68 66
				log.error("AI任务执行结果的设备CODE不存在:  resourceToolCode=" + messageJson.getString("resourceToolCode"));
69 67
				throw new NullPointerException("resourceToolCode not exist");
70 68
			}
71
			
72
			String resourceToolId=String.valueOf(resourceToolMap.get("resourceToolId"));
73
			
74
			CommonResponse<List<Map<String, Object>>> sceneTerminalRelResponse =monitorSceneQuery.selectSceneTerminalRel(new CommonRequest<Long>(Long.valueOf(resourceToolId)));
75
			if (sceneTerminalRelResponse == null||CollectionUtils.isEmpty(sceneTerminalRelResponse.getData())) {
69
70
			String resourceToolId = String.valueOf(resourceToolMap.get("resourceToolId"));
71
72
			CommonResponse<List<Map<String, Object>>> sceneTerminalRelResponse = monitorSceneQuery
73
					.selectSceneTerminalRel(new CommonRequest<Long>(Long.valueOf(resourceToolId)));
74
			if (sceneTerminalRelResponse == null || CollectionUtils.isEmpty(sceneTerminalRelResponse.getData())) {
76 75
				log.error("AI任务执行结果的关联场景不存在:  resourceToolId=" + resourceToolId);
77 76
				throw new NullPointerException("sceneTerminalRel not exist");
78 77
			}
79
			Map<String,Object> sceneTerminalRelMap=sceneTerminalRelResponse.getData().get(0);
80
			
81
			CommonResponse<List<Map<String, Object>>> aiTaskResponse = aiAlarmManageService.queryAiTaskByDevice(resourceToolId, aiIdenModel);
82
			if (aiTaskResponse == null||CollectionUtils.isEmpty(aiTaskResponse.getData())) {
83
				log.error("AI任务执行结果的任务不存在:  resourceToolId=" + resourceToolId+", aiIdenModel="+aiIdenModel);
78
			Map<String, Object> sceneTerminalRelMap = sceneTerminalRelResponse.getData().get(0);
79
80
			CommonResponse<List<Map<String, Object>>> aiTaskResponse = aiAlarmManageService
81
					.queryAiTaskByDevice(resourceToolId, aiIdenModel);
82
			if (aiTaskResponse == null || CollectionUtils.isEmpty(aiTaskResponse.getData())) {
83
				log.error("AI任务执行结果的任务不存在:  resourceToolId=" + resourceToolId + ", aiIdenModel=" + aiIdenModel);
84 84
				throw new NullPointerException("aiTask not exist");
85 85
			}
86
			Map<String, Object> aiTaskMap=aiTaskResponse.getData().get(0);
87
			
88
			//封装数据
86
			Map<String, Object> aiTaskMap = aiTaskResponse.getData().get(0);
87
88
			// 封装数据
89 89
			AiIdenLog aiIdenLog = JSON.parseObject(message, new TypeReference<AiIdenLog>() {
90 90
			});
91 91
			aiIdenLog.setResourceToolId(resourceToolId);
92
			aiIdenLog.setResourceToolName(StringUtils.defaultIfBlank(String.valueOf(resourceToolMap.get("resourceToolName")),""));
93
			aiIdenLog.setMonitorSceneId(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("monitorSceneId")),""));
94
			aiIdenLog.setMonitorSceneName(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("monitorSceneName")),""));
95
			//aiIdenLog.setEffectType(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("effectType")),EbcConstant.TERMINAL_EFFECT_TYPE_OTH));
96
			aiIdenLog.setTerminalPosition(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("place")),""));
97
			aiIdenLog.setOrganizationId(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("orgId")),""));
98
			aiIdenLog.setAiTaskId(aiTaskMap.get("aiTaskId")==null?0L:Long.valueOf(String.valueOf(aiTaskMap.get("aiTaskId"))));
99
			
100
			//TODO 人员信息暂时默认
92
			aiIdenLog.setResourceToolName(
93
					StringUtils.defaultIfBlank(String.valueOf(resourceToolMap.get("resourceToolName")), ""));
94
			aiIdenLog.setMonitorSceneId(
95
					StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("monitorSceneId")), ""));
96
			aiIdenLog.setMonitorSceneName(
97
					StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("monitorSceneName")), ""));
98
			// aiIdenLog.setEffectType(StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("effectType")),EbcConstant.TERMINAL_EFFECT_TYPE_OTH));
99
			aiIdenLog.setTerminalPosition(
100
					StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("place")), ""));
101
			aiIdenLog.setOrganizationId(
102
					StringUtils.defaultIfBlank(String.valueOf(sceneTerminalRelMap.get("orgId")), ""));
103
			aiIdenLog.setAiTaskId(
104
					aiTaskMap.get("aiTaskId") == null ? 0L : Long.valueOf(String.valueOf(aiTaskMap.get("aiTaskId"))));
105
106
			// TODO 人员信息暂时默认
101 107
			aiIdenLog.setRelateEmployeeRoleId("201613310867");
102 108
			aiIdenLog.setRelateEmployeeRoleName("王浩");
103 109
104
			//执行操作
105
			CommonRequest<AiIdenLog> aiIdenLogRequest=new CommonRequest<AiIdenLog>(aiIdenLog);
106
			
110
			// 执行操作
111
			CommonRequest<AiIdenLog> aiIdenLogRequest = new CommonRequest<AiIdenLog>(aiIdenLog);
112
107 113
			CommonResponse<AiIdenLog> runningResult = aiTaskCommand.createAiIdenLog(aiIdenLogRequest);
108
			log.debug("aiTaskResult runningResult: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
109
			Assert.assertTrue(runningResult.isSuccess());
110
			
114
			log.debug("AI任务执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
115
116
			if (!runningResult.isSuccess()) {
117
				log.error("AI任务执行结果异常: " + runningResult.getFail().getMessage());
118
				return;
119
			}
120
111 121
			if (!EbcConstant.AI_IDENTIFY_RESULT_NORMAL.equals(idenResultType)) {
112 122
				CommonResponse runningResult1 = aiTaskCommand.aiIdenLogTriggerEvent(aiIdenLogRequest);
113
				
123
114 124
				log.debug("AI任务非正常情况的执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult1, true));
115
				Assert.assertTrue(runningResult1.isSuccess());
125
				if (!runningResult.isSuccess()) {
126
					log.error("AI任务非正常情况的执行结果异常: " + runningResult.getFail().getMessage());
127
					return;
128
				}
116 129
			}
117 130
118 131
		} catch (Exception e) {
119
			log.error("kafka消费异常" + e.getMessage(), e);
132
			log.error("AI任务执行结果消费异常" + e.getMessage(), e);
120 133
		} finally {
121 134
			ack.acknowledge();// 手动提交偏移量
122 135
		}

+ 8 - 5
security-protection-service/src/main/java/com/ai/bss/security/protection/service/task/AiVideoKafkaTask.java

@ -3,7 +3,6 @@ package com.ai.bss.security.protection.service.task;
3 3
import java.util.Map;
4 4
5 5
import org.apache.kafka.clients.consumer.ConsumerRecord;
6
import org.junit.Assert;
7 6
import org.springframework.beans.factory.annotation.Autowired;
8 7
import org.springframework.kafka.annotation.KafkaListener;
9 8
import org.springframework.kafka.support.Acknowledgment;
@ -47,19 +46,23 @@ public class AiVideoKafkaTask {
47 46
			Map<String, Object> resourceToolMap = resourceToolManageService
48 47
					.queryResourceToolByCode(messageJson.getString("resourceToolCode"));
49 48
50
			if (resourceToolMap==null) {
49
			if (resourceToolMap == null) {
51 50
				log.error("AI监控视频日志的设备CODE不存在: " + messageJson.getString("resourceToolCode"));
52 51
				throw new NullPointerException("resourceToolCode not exist");
53 52
			}
54
			
53
55 54
			MonitorVideoLog monitorVideoLog = JSON.parseObject(message, new TypeReference<MonitorVideoLog>() {
56 55
			});
57 56
			monitorVideoLog.setResourceToolId(String.valueOf(resourceToolMap.get("resourceToolId")));
58 57
59 58
			CommonResponse<MonitorVideoLog> runningResult = monitorVideoLogManageService
60 59
					.createMonitorVideoLog(monitorVideoLog);
61
			log.debug("kafka aivideo runningResult: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
62
			Assert.assertTrue(runningResult.isSuccess());
60
			log.debug("AI监控视频日志执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
61
62
			if (!runningResult.isSuccess()) {
63
				log.error("AI监控视频日志执行结果异常: " + runningResult.getFail().getMessage());
64
				return;
65
			}
63 66
64 67
		} catch (Exception e) {
65 68
			log.error("AI监控视频日志消息的kafka消费异常: " + e.getMessage(), e);

+ 2 - 0
security-protection-service/src/main/resources/application.properties

@ -29,6 +29,8 @@ spring.main.allow-bean-definition-overriding=true
29 29
kafka.bootstrap-servers=10.19.90.34:9090
30 30
kafka.topic.aitask=topic_ai_task
31 31
kafka.topic.aivideo=topic_ai_video
32
#kafka.topic.aitask=topicTaskTest
33
#kafka.topic.aivideo=topicVideoTest
32 34
kafka.producer.batch-size=16785
33 35
kafka.producer.retries=1
34 36
kafka.producer.buffer-memory=33554432