瀏覽代碼

人员定位问题修改

konghl 4 年之前
父節點
當前提交
bebb2b89fe

+ 2 - 0
location-rescue-service/pom.xml

@ -155,6 +155,7 @@
155 155
        </dependency>
156 156
    </dependencies>
157 157
158
    <!--
158 159
    <repositories>
159 160
        <repository>
160 161
            <id>mgpd</id>
@ -176,5 +177,6 @@
176 177
            </snapshots>
177 178
        </pluginRepository>
178 179
    </pluginRepositories>
180
    -->
179 181
180 182
</project>

+ 163 - 141
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/AlarmManagementController.java

@ -25,6 +25,7 @@ import com.ai.bss.work.task.model.common.WorkTask;
25 25
26 26
/**
27 27
 * 报警救援管理
28
 *
28 29
 * @author konghl@asiainfo.com
29 30
 * 2020-11-13
30 31
 */
@ -32,146 +33,167 @@ import com.ai.bss.work.task.model.common.WorkTask;
32 33
@RequestMapping("/alarmManagement")
33 34
public class AlarmManagementController {
34 35
35
	@Autowired
36
	AlarmManagementService alarmManagementService;
37
38
	/**
39
	 * 初始化实时报警数据
40
	 * @return
41
	 * @throws Exception
42
	 */
43
	@ResponseBody
44
	@RequestMapping("/loadAlarmDetails")
45
	public CommonResponse<List<Map<String,Object>>> loadAlarmDetails() throws Exception {
46
		return alarmManagementService.loadAlarmDetails();
47
	}
48
49
	/**
50
	 * 查询地图标记和设备信息
51
	 * @param request
52
	 * @return
53
	 * @throws Exception
54
	 */
55
	@ResponseBody
56
	@RequestMapping("/loadMapAreaTool")
57
	public CommonResponse<Map<String, Object>> loadMapAreaTool(HttpServletRequest request) throws Exception {
58
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
59
		// TODO 组织ID 权限控制
60
		// JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
61
		// dataMap.put("entityId", userInfo.get("USER_ORG_ID").toString());
62
		// dataMap.put("workOrgId", userInfo.get("USER_ORG_ID").toString());
63
		dataMap.put("entityId", "1");
64
		dataMap.put("workOrgId", "0000");
65
		dataMap.put("isAllowBindTerminal", EbcConstant.TOOL_BIND_REJECT);
66
		return alarmManagementService.loadMapAreaTool(dataMap);
67
	}
68
69
	/**
70
	 * 指派救援
71
	 *
72
	 * @param params
73
	 * @return
74
	 * @throws Exception
75
	 */
76
	@ResponseBody
77
	@RequestMapping("/assignRescuer")
78
	public CommonResponse<EntityPosition> assignRescuer(@RequestBody Map<String, String> params,
79
			HttpServletRequest request) throws Exception {
80
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))
81
				|| StringUtils.isEmpty(params.get("rescuersId"))) {
82
			return CommonResponse.fail("500", "指派失败");
83
		}
84
85
		WorkTaskRescue workTaskRescue = new WorkTaskRescue();
86
		workTaskRescue.setWorkTaskId(params.get("workTaskId"));
87
		workTaskRescue.setRescueWorkEmployeeRoleId(params.get("rescuersId"));
88
		workTaskRescue.setAssignTime(new Date());
89
		// TODO 获取当前登录者
90
		// JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
91
		// Object user_id = userInfo.get("ID");
92
		// workTaskRescue.setAssignWorkEmployeeRoleId(user_id);
93
		workTaskRescue.setAssignWorkEmployeeRoleId("2"); // 管理员
94
95
		return alarmManagementService.assignRescuer(workTaskRescue);
96
	}
97
98
	/**
99
	 * 关闭救援
100
	 *
101
	 * @param params
102
	 * @return
103
	 * @throws Exception
104
	 */
105
	@ResponseBody
106
	@RequestMapping("/closeRescue")
107
	public CommonResponse<WorkTaskRescue> closeRescue(@RequestBody Map<String, String> params) throws Exception {
108
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
109
			return CommonResponse.fail("500", "关闭失败");
110
		}
111
112
		WorkTaskRescue workTaskRescue = new WorkTaskRescue();
113
		workTaskRescue.setWorkTaskId(params.get("workTaskId"));
114
		workTaskRescue.setCloseTime(new Date());
115
116
		return alarmManagementService.closeRescue(workTaskRescue, params.get("isAssignAlarm"));
117
	}
118
119
	/**
120
	 *  分页查询历史报警
121
	 * @param request
122
	 * @return
123
	 * @throws Exception
124
	 */
125
	@ResponseBody
126
	@RequestMapping("/queryPageCloseAlarmTask")
127
	public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(
128
			@RequestBody CommonRequest<Map<String, String>> request) throws Exception {
129
		// 当前页数
130
		int pageNumber = request.getPageNumber() < 1 ? 1 : request.getPageNumber();
131
		// 每页条数
132
		int pageSize = request.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : request.getPageSize();
133
134
		Map<String, Object> dataMap = new HashMap<String, Object>();
135
		dataMap.put("status", WorkTask.END_STATUS);
136
		if (request != null && request.getData() != null) {
137
			dataMap.put("businessType", request.getData().get("businessType"));
138
			dataMap.put("startTime", request.getData().get("startTime"));
139
			dataMap.put("endTime", request.getData().get("endTime"));
140
		}
141
142
		return alarmManagementService.queryPageCloseAlarmTask(dataMap, pageNumber, pageSize);
143
	}
144
145
	/**
146
	 * 获取报警类型下拉列表
147
	 * @return
148
	 * @throws Exception
149
	 */
150
	@ResponseBody
151
	@RequestMapping("/queryAlarmTypeList")
152
	public CommonResponse<List<Map<String, String>>> queryAlarmTypeList() throws Exception {
153
		List<Map<String, String>> resultList = alarmManagementService.queryAlarmTypeList();
154
155
		return CommonResponse.ok(resultList);
156
	}
157
158
	/**
159
	 * 删除历史报警
160
	 *
161
	* @param params
162
	* @return
163
	* @throws Exception
164
	*/
165
	@ResponseBody
166
	@RequestMapping("/deleteCloseAlarm")
167
	public  CommonResponse<WorkTaskRescue> deleteCloseAlarm(@RequestBody Map<String, String> params) throws Exception {
168
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
169
			return CommonResponse.fail("500", "删除失败");
170
		}
171
172
		WorkTaskRescue workTaskRescue = new WorkTaskRescue();
36
    @Autowired
37
    AlarmManagementService alarmManagementService;
38
39
    /**
40
     * 初始化实时报警数据
41
     *
42
     * @return
43
     * @throws Exception
44
     */
45
    @ResponseBody
46
    @RequestMapping("/loadAlarmDetails")
47
    public CommonResponse<List<Map<String, Object>>> loadAlarmDetails() throws Exception {
48
        return alarmManagementService.loadAlarmDetails();
49
    }
50
51
    /**
52
     * 查询地图标记和设备信息
53
     *
54
     * @param request
55
     * @return
56
     * @throws Exception
57
     */
58
    @ResponseBody
59
    @RequestMapping("/loadMapAreaTool")
60
    public CommonResponse<Map<String, Object>> loadMapAreaTool(HttpServletRequest request) throws Exception {
61
        HashMap<String, Object> dataMap = new HashMap<String, Object>();
62
        // TODO 组织ID 权限控制
63
        // JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
64
        // dataMap.put("entityId", userInfo.get("USER_ORG_ID").toString());
65
        // dataMap.put("workOrgId", userInfo.get("USER_ORG_ID").toString());
66
        dataMap.put("entityId", "1");
67
        dataMap.put("workOrgId", "0000");
68
        dataMap.put("isAllowBindTerminal", EbcConstant.TOOL_BIND_REJECT);
69
        return alarmManagementService.loadMapAreaTool(dataMap);
70
    }
71
72
    /**
73
     * 指派救援
74
     *
75
     * @param params
76
     * @return
77
     * @throws Exception
78
     */
79
    @ResponseBody
80
    @RequestMapping("/assignRescuer")
81
    public CommonResponse<EntityPosition> assignRescuer(@RequestBody Map<String, String> params,
82
                                                        HttpServletRequest request) throws Exception {
83
        if (params == null || StringUtils.isEmpty(params.get("workTaskId"))
84
                || StringUtils.isEmpty(params.get("rescuersId"))) {
85
            return CommonResponse.fail("500", "指派失败");
86
        }
87
88
        WorkTaskRescue workTaskRescue = new WorkTaskRescue();
173 89
        workTaskRescue.setWorkTaskId(params.get("workTaskId"));
174
		
175
		return alarmManagementService.deleteCloseAlarm(workTaskRescue);
176
	}
90
        workTaskRescue.setRescueWorkEmployeeRoleId(params.get("rescuersId"));
91
        workTaskRescue.setAssignTime(new Date());
92
        // TODO 获取当前登录者
93
        // JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
94
        // Object user_id = userInfo.get("ID");
95
        // workTaskRescue.setAssignWorkEmployeeRoleId(user_id);
96
        workTaskRescue.setAssignWorkEmployeeRoleId("2"); // 管理员
97
98
        return alarmManagementService.assignRescuer(workTaskRescue);
99
    }
100
101
    /**
102
     * 关闭救援
103
     *
104
     * @param params
105
     * @return
106
     * @throws Exception
107
     */
108
    @ResponseBody
109
    @RequestMapping("/closeRescue")
110
    public CommonResponse<WorkTaskRescue> closeRescue(@RequestBody Map<String, String> params) throws Exception {
111
        if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
112
            return CommonResponse.fail("500", "关闭失败");
113
        }
114
115
        WorkTaskRescue workTaskRescue = new WorkTaskRescue();
116
        workTaskRescue.setWorkTaskId(params.get("workTaskId"));
117
        workTaskRescue.setCloseTime(new Date());
118
119
        return alarmManagementService.closeRescue(workTaskRescue, params.get("isAssignAlarm"));
120
    }
121
122
    /**
123
     * 分页查询历史报警
124
     *
125
     * @param request
126
     * @return
127
     * @throws Exception
128
     */
129
    @ResponseBody
130
    @RequestMapping("/queryPageCloseAlarmTask")
131
    public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(
132
            @RequestBody CommonRequest<Map<String, String>> request) throws Exception {
133
        // 当前页数
134
        int pageNumber = request.getPageNumber() < 1 ? 1 : request.getPageNumber();
135
        // 每页条数
136
        int pageSize = request.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : request.getPageSize();
137
138
        Map<String, Object> dataMap = new HashMap<String, Object>();
139
        dataMap.put("status", WorkTask.END_STATUS);
140
        if (request != null && request.getData() != null) {
141
            dataMap.put("businessType", request.getData().get("businessType"));
142
            dataMap.put("startTime", request.getData().get("startTime"));
143
            dataMap.put("endTime", request.getData().get("endTime"));
144
        }
145
146
        return alarmManagementService.queryPageCloseAlarmTask(dataMap, pageNumber, pageSize);
147
    }
148
149
    /**
150
     * 获取报警类型下拉列表
151
     *
152
     * @return
153
     * @throws Exception
154
     */
155
    @ResponseBody
156
    @RequestMapping("/queryAlarmTypeList")
157
    public CommonResponse<List<Map<String, String>>> queryAlarmTypeList() throws Exception {
158
        List<Map<String, String>> resultList = alarmManagementService.queryAlarmTypeList();
159
160
        return CommonResponse.ok(resultList);
161
    }
162
163
    /**
164
     * 删除历史报警
165
     *
166
     * @param params
167
     * @return
168
     * @throws Exception
169
     */
170
    @ResponseBody
171
    @RequestMapping("/deleteCloseAlarm")
172
    public CommonResponse<WorkTaskRescue> deleteCloseAlarm(@RequestBody Map<String, String> params) throws Exception {
173
        if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
174
            return CommonResponse.fail("500", "删除失败");
175
        }
176
177
        WorkTaskRescue workTaskRescue = new WorkTaskRescue();
178
        workTaskRescue.setWorkTaskId(params.get("workTaskId"));
179
180
        return alarmManagementService.deleteCloseAlarm(workTaskRescue);
181
    }
182
183
    /**
184
     * 历史报警回放
185
     *
186
     * @param params
187
     * @return
188
     * @throws Exception
189
     */
190
    @ResponseBody
191
    @RequestMapping("/queryAlarmWorkTaskTrace")
192
    public CommonResponse<Map<String, Object>> queryAlarmWorkTaskTrace(@RequestBody Map<String, String> params) throws Exception {
193
        if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
194
            return CommonResponse.fail("500", "获取轨迹失败");
195
        }
196
197
        return alarmManagementService.queryAlarmWorkTaskTrace(params.get("workTaskId"));
198
    }
177 199
}

+ 3 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/GisParamController.java

@ -4,6 +4,7 @@ package com.ai.bss.location.rescue.controller;
4 4
import java.util.HashMap;
5 5
import java.util.Map;
6 6
7
import com.ai.abc.api.model.CommonResponse;
7 8
import org.springframework.beans.factory.annotation.Autowired;
8 9
import org.springframework.stereotype.Controller;
9 10
import org.springframework.web.bind.annotation.RequestMapping;
@ -31,10 +32,8 @@ public class GisParamController {
31 32
	 */
32 33
	@ResponseBody
33 34
	@RequestMapping("/seaMapParam")
34
	public Map<String,Object> getSeaMapParam() throws Exception {
35
	public CommonResponse<Map<String,Object>> getSeaMapParam() throws Exception {
35 36
		Map<String, Object> GisTokenMap = gisParamService.getSeaMapParam();
36
		Map<String,Object> result = new HashMap<String,Object>();
37
		result.put("result", GisTokenMap);
38
		return result;
37
		return CommonResponse.ok(GisTokenMap);
39 38
	}
40 39
}

+ 261 - 252
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java

@ -35,257 +35,266 @@ import com.alibaba.fastjson.JSONObject;
35 35
36 36
@Service
37 37
public class AlarmManagementServiceImpl implements AlarmManagementService {
38
	Logger logger = LoggerFactory.getLogger(AlarmManagementServiceImpl.class);
39
40
	@Autowired
41
	private RescueCommand rescueCommand;
42
43
	@Autowired
44
	private RescueQueryService rescueQueryService;
45
	
46
	@Autowired
47
	private EntityPositionRepository entityPositionRepository;
48
49
	@Autowired
50
	private MapAreaTagQuery mapAreaTagQuery;
51
52
	@Autowired
53
	private MapAreaQuery mapAreaQuery;
54
55
	@Autowired
56
	private ResourceToolQuery resourceToolQuery;
57
58
	@Autowired
59
	private CharacteristicSpecService characteristicSpecService;
60
61
	/**
62
	 * 初始化实时报警数据
63
	 *
64
	 * @return
65
	 * @throws Exception
66
	 */
67
	@Override
68
	public CommonResponse<List<Map<String,Object>>> loadAlarmDetails() throws Exception {
69
		Map<String, Object> param = new HashMap<String, Object>();
70
		param.put("notStatus", WorkTask.END_STATUS);
71
		CommonRequest<Map<String, Object>> request =new CommonRequest(param);
72
		CommonResponse<List<Map<String,Object>>> response = rescueQueryService.queryWorkTaskRescue(request);
73
		
74
		if (CollectionUtils.isEmpty(response.getData())) {
75
			return CommonResponse.ok(new ArrayList<Map<String,Object>>());
76
		}
77
		
78
		CharacteristicSpec characteristicSpec = characteristicSpecService
79
				.findBusinessSpecByCharSpecCode(EbcConstant.BUSINESS_SPEC_MAP_AREA_TYPE);
80
		
81
		List<Map<String, Object>> alarmTaskList=new ArrayList<Map<String,Object>>();
82
		
83
		for (Map<String, Object> responseMap : response.getData()) {
84
			Map<String, Object> alarmMap=new HashMap<String, Object>();
85
			JSONObject alarmJsonObj=JSONObject.parseObject(responseMap.get("charValueSet").toString());
86
			
87
			alarmMap.put("workTaskId",responseMap.get("workTaskId"));
88
			alarmMap.put("terminalId",responseMap.get("terminalId"));
89
			long alarmTimeLong=Long.valueOf(alarmJsonObj.getString("alarmTime"));
90
			alarmMap.put("alarmTime",DateUtil.formatDate(alarmTimeLong));
91
			alarmMap.put("durationTime",DateUtil.getDifferenceString(alarmTimeLong,System.currentTimeMillis()));
92
			
93
			//alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
94
			String businessType=alarmJsonObj.getString("businessType");
95
			for (CharacteristicSpecValue characteristicSpecValue : characteristicSpec.getCharacteristicSpecValues()) {
96
				if (characteristicSpecValue.getCode().equals(businessType)) {
97
					alarmMap.put("businessType", characteristicSpecValue.getCode());
98
					alarmMap.put("businessTypeZH", characteristicSpecValue.getValue());
99
					break;
100
				}
101
			}
102
			
103
			//EntityPosition aaa=(EntityPosition)responseMap.get("rescueTargetEntityPosition");
104
			alarmMap.put("rescueTargetEntityPosition",responseMap.get("rescueTargetEntityPosition"));
105
			
106
			if (responseMap.get("rescueWorkEmployeeRoleId")==null) {
107
				alarmMap.put("isAssignAlarm",EbcConstant.IS_ASSIGN_RESCUER_FALSE);
108
			}else {
109
				alarmMap.put("rescueEntityPosition",responseMap.get("rescueEntityPosition"));
110
				alarmMap.put("isAssignAlarm",EbcConstant.IS_ASSIGN_RESCUER_TRUE);
111
			}
112
			
113
			alarmTaskList.add(alarmMap);
114
		}
115
		
116
		return CommonResponse.ok(alarmTaskList);
117
	}
118
119
	/**
120
	 * 查询地图标记和设备信息
121
	 * @param dataMap
122
	 * @return
123
	 */
124
	@Override
125
	public CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception {
126
		Map<String, Object> resultMap = new HashMap<String, Object>();
127
128
		List<MapAreaBusinessType> mapAreaTypeList = mapAreaQuery.queryAllMapAreaBusinessType(new CommonRequest(null))
129
				.getData();
130
		List<ResourceToolType> toolTypeList = resourceToolQuery.loadAllResourceToolType(new CommonRequest(null))
131
				.getData();
132
133
		List<Map<String, Object>> mapAreaList = mapAreaTagQuery
134
				.queryAllMapAreaByConditions(new CommonRequest<Map<String, Object>>(dataMap)).getData();
135
		List<Map<String, Object>> toolList = resourceToolQuery
136
				.queryWorkToolByOrgAndBindFlag(new CommonRequest<HashMap<String, Object>>(dataMap)).getData().getData();
137
138
		resultMap.put("mapAreaTypeList", mapAreaTypeList);
139
		resultMap.put("toolTypeList", toolTypeList);
140
141
		resultMap.put("mapAreaList", mapAreaList);
142
		resultMap.put("toolList", toolList);
143
144
		return CommonResponse.ok(resultMap);
145
	}
146
147
	/**
148
	 * 指派救援
149
	 * 
150
	 * @param workTaskRescue
151
	 * @return
152
	 * @throws Exception
153
	 */
154
	@Override
155
	public CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception {
156
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
157
		CommonResponse<WorkTaskRescue> response=rescueCommand.assignRescueEmployee(commonRequest);
158
		
159
		if (response.isSuccess()) {
160
			List<EntityPosition> list = entityPositionRepository.findByEntityId(workTaskRescue.getRescueWorkEmployeeRoleId());
161
			if (!CollectionUtils.isEmpty(list)) {
162
				return CommonResponse.ok(list.get(0));
163
			}else {
164
				return CommonResponse.ok(null);
165
			}
166
		}else {
167
			return CommonResponse.fail("505", "指派失败");
168
		}
169
	}
170
171
	/**
172
	 * 关闭救援
173
	 * 
174
	 * @param workTaskRescue
175
	 * @return
176
	 * @throws Exception
177
	 */
178
	@Override
179
	public CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm)
180
			throws Exception {
181
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
182
		if (EbcConstant.IS_ASSIGN_RESCUER_TRUE.equals(isFalseAlarm)) {
183
			return rescueCommand.closeTask(commonRequest);
184
		} else {
185
			return rescueCommand.falseAlarm(commonRequest);
186
		}
187
	}
188
189
	/**
190
	 *  分页查询历史报警数据
191
	 *  
192
	 * @param dataMap
193
	 * @param pageNumber
194
	 * @param pageSize
195
	 * @return
196
	 * @throws Exception
197
	 */
198
	@Override
199
	public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber, int pageSize)
200
			throws Exception {
201
		CommonRequest<Map<String, Object>> request = new CommonRequest<Map<String, Object>>(dataMap,pageNumber, pageSize);
202
		CommonResponse<PageBean<Map<String, Object>>> response = rescueQueryService.queryHisWorkTaskRescue(request);
203
		
204
		if (CollectionUtils.isEmpty(response.getData().getData())) {
205
			return response;
206
		}
207
		
208
		List<Map<String, Object>> alarmTaskList=new ArrayList<Map<String,Object>>();
209
		
210
		for (Map<String, Object> responseMap : response.getData().getData()) {
211
			Map<String, Object> alarmMap=new HashMap<String, Object>();
212
			JSONObject alarmJsonObj=JSONObject.parseObject(responseMap.get("charValueSet").toString());
213
			
214
			alarmMap.put("workTaskId",responseMap.get("workTaskId"));
215
			alarmMap.put("terminalId",responseMap.get("terminalId"));
216
			alarmMap.put("longitude",alarmJsonObj.getString("longitude"));
217
			alarmMap.put("latitude",alarmJsonObj.getString("latitude"));
218
			alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
219
			alarmMap.put("targetUserId",responseMap.get("targetEmployeeRoleId"));
220
			alarmMap.put("targetUserName",responseMap.get("targetEmployeeRoleName"));
221
			long alarmTimeLong=Long.valueOf(alarmJsonObj.getString("alarmTime"));
222
			alarmMap.put("alarmTime",DateUtil.formatDate(alarmTimeLong));
223
			
224
			if (responseMap.get("rescueWorkEmployeeRoleId")!=null) {
225
				alarmMap.put("rescueUserId",responseMap.get("rescueWorkEmployeeRoleId"));
226
				alarmMap.put("rescueUserName",responseMap.get("rescueWorkEmployeeRoleName"));
227
				if (responseMap.get("rescueCloseTime")!=null) {
228
					long rescueTimeLong=DateUtil.convertDate(responseMap.get("rescueCloseTime").toString()).getTime();
229
					alarmMap.put("rescueTime",responseMap.get("rescueCloseTime").toString());
230
					alarmMap.put("durationTime",DateUtil.getDifferenceString(alarmTimeLong, rescueTimeLong));
231
				}else {
232
					alarmMap.put("rescueTime","-");
233
					alarmMap.put("durationTime","-");
234
				}
235
				alarmMap.put("isFalseAlarm",EbcConstant.IS_ASSIGN_RESCUER_TRUE);
236
				
237
			}else {
238
				alarmMap.put("rescueUserId",null);
239
				alarmMap.put("rescueUserName","-");
240
				alarmMap.put("rescueTime","-");
241
				alarmMap.put("durationTime","-");
242
				alarmMap.put("isFalseAlarm",EbcConstant.IS_ASSIGN_RESCUER_FALSE);
243
			}
244
			
245
			alarmTaskList.add(alarmMap);
246
		}
247
		
248
		response.getData().setData(alarmTaskList);
249
250
		return response;
251
	}
252
253
	/**
254
	 *  获取报警类型下拉列表
255
	 * @return
256
	 * @throws Exception
257
	 */
258
	@Override
259
	public List<Map<String, String>> queryAlarmTypeList() throws Exception {
260
		CharacteristicSpec characteristicSpec = characteristicSpecService
261
				.findBusinessSpecByCharSpecCode(EbcConstant.BUSINESS_SPEC_MAP_AREA_TYPE);
262
263
		if (characteristicSpec == null||CollectionUtils.isEmpty(characteristicSpec.getCharacteristicSpecValues())) {
264
			return new ArrayList<Map<String, String>>();
265
		}
266
267
		List<Map<String, String>> resultList = new ArrayList<Map<String, String>>();
268
		for (CharacteristicSpecValue characteristicSpecValue : characteristicSpec.getCharacteristicSpecValues()) {
269
			Map<String, String> map = new HashMap<String, String>();
270
			map.put("alarmTypeId", characteristicSpecValue.getCode());
271
			map.put("alarmTypeName", characteristicSpecValue.getValue());
272
			resultList.add(map);
273
		}
274
275
		return resultList;
276
	}
277
278
	/**
279
	 * 删除历史报警
280
	 * 
281
	* @param workTaskRescue
282
	* @return
283
	* @throws Exception
284
	*/
285
	@Override
286
	public CommonResponse<WorkTaskRescue> deleteCloseAlarm(WorkTaskRescue workTaskRescue) throws Exception {
287
		CommonRequest<WorkTaskRescue> commonRequest=new CommonRequest(workTaskRescue);
288
		return rescueCommand.deleteTask(commonRequest);
289
	}
38
    Logger logger = LoggerFactory.getLogger(AlarmManagementServiceImpl.class);
290 39
40
    @Autowired
41
    private RescueCommand rescueCommand;
42
43
    @Autowired
44
    private RescueQueryService rescueQueryService;
45
46
    @Autowired
47
    private EntityPositionRepository entityPositionRepository;
48
49
    @Autowired
50
    private MapAreaTagQuery mapAreaTagQuery;
51
52
    @Autowired
53
    private MapAreaQuery mapAreaQuery;
54
55
    @Autowired
56
    private ResourceToolQuery resourceToolQuery;
57
58
    @Autowired
59
    private CharacteristicSpecService characteristicSpecService;
60
61
    /**
62
     * 初始化实时报警数据
63
     *
64
     * @return
65
     * @throws Exception
66
     */
67
    @Override
68
    public CommonResponse<List<Map<String, Object>>> loadAlarmDetails() throws Exception {
69
        Map<String, Object> param = new HashMap<String, Object>();
70
        param.put("notStatus", WorkTask.END_STATUS);
71
        CommonRequest<Map<String, Object>> request = new CommonRequest(param);
72
        CommonResponse<List<Map<String, Object>>> response = rescueQueryService.queryWorkTaskRescue(request);
73
74
        if (CollectionUtils.isEmpty(response.getData())) {
75
            return CommonResponse.ok(new ArrayList<Map<String, Object>>());
76
        }
77
78
        CharacteristicSpec characteristicSpec = characteristicSpecService
79
                .findBusinessSpecByCharSpecCode(EbcConstant.BUSINESS_SPEC_MAP_AREA_TYPE);
80
81
        List<Map<String, Object>> alarmTaskList = new ArrayList<Map<String, Object>>();
82
83
        for (Map<String, Object> responseMap : response.getData()) {
84
            Map<String, Object> alarmMap = new HashMap<String, Object>();
85
            JSONObject alarmJsonObj = JSONObject.parseObject(responseMap.get("charValueSet").toString());
86
87
            alarmMap.put("workTaskId", responseMap.get("workTaskId"));
88
            alarmMap.put("terminalId", responseMap.get("terminalId"));
89
            long alarmTimeLong = Long.valueOf(alarmJsonObj.getString("alarmTime"));
90
            alarmMap.put("alarmTime", DateUtil.formatDate(alarmTimeLong));
91
            alarmMap.put("durationTime", DateUtil.getDifferenceString(alarmTimeLong, System.currentTimeMillis()));
92
            alarmMap.put("targetEmployeeRoleId", responseMap.get("targetEmployeeRoleId"));
93
            alarmMap.put("rescueWorkEmployeeRoleId", responseMap.get("rescueWorkEmployeeRoleId"));
94
95
            //alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
96
            String businessType = alarmJsonObj.getString("businessType");
97
            for (CharacteristicSpecValue characteristicSpecValue : characteristicSpec.getCharacteristicSpecValues()) {
98
                if (characteristicSpecValue.getCode().equals(businessType)) {
99
                    alarmMap.put("businessType", characteristicSpecValue.getCode());
100
                    alarmMap.put("businessTypeZH", characteristicSpecValue.getValue());
101
                    break;
102
                }
103
            }
104
105
            //EntityPosition aaa=(EntityPosition)responseMap.get("rescueTargetEntityPosition");
106
            alarmMap.put("rescueTargetEntityPosition", responseMap.get("rescueTargetEntityPosition"));
107
108
            if (responseMap.get("rescueWorkEmployeeRoleId") == null) {
109
                alarmMap.put("isAssignAlarm", EbcConstant.IS_ASSIGN_RESCUER_FALSE);
110
            } else {
111
                alarmMap.put("rescueEntityPosition", responseMap.get("rescueEntityPosition"));
112
                alarmMap.put("isAssignAlarm", EbcConstant.IS_ASSIGN_RESCUER_TRUE);
113
            }
114
115
            alarmTaskList.add(alarmMap);
116
        }
117
118
        return CommonResponse.ok(alarmTaskList);
119
    }
120
121
    /**
122
     * 查询地图标记和设备信息
123
     *
124
     * @param dataMap
125
     * @return
126
     */
127
    @Override
128
    public CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception {
129
        Map<String, Object> resultMap = new HashMap<String, Object>();
130
131
        List<MapAreaBusinessType> mapAreaTypeList = mapAreaQuery.queryAllMapAreaBusinessType(new CommonRequest(null))
132
                .getData();
133
        List<ResourceToolType> toolTypeList = resourceToolQuery.loadAllResourceToolType(new CommonRequest(null))
134
                .getData();
135
136
        List<Map<String, Object>> mapAreaList = mapAreaTagQuery
137
                .queryAllMapAreaByConditions(new CommonRequest<Map<String, Object>>(dataMap)).getData();
138
        List<Map<String, Object>> toolList = resourceToolQuery
139
                .queryWorkToolByOrgAndBindFlag(new CommonRequest<HashMap<String, Object>>(dataMap)).getData().getData();
140
141
        resultMap.put("mapAreaTypeList", mapAreaTypeList);
142
        resultMap.put("toolTypeList", toolTypeList);
143
144
        resultMap.put("mapAreaList", mapAreaList);
145
        resultMap.put("toolList", toolList);
146
147
        return CommonResponse.ok(resultMap);
148
    }
149
150
    /**
151
     * 指派救援
152
     *
153
     * @param workTaskRescue
154
     * @return
155
     * @throws Exception
156
     */
157
    @Override
158
    public CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception {
159
        CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
160
        CommonResponse<WorkTaskRescue> response = rescueCommand.assignRescueEmployee(commonRequest);
161
162
        if (response.isSuccess()) {
163
            List<EntityPosition> list = entityPositionRepository.findByEntityId(workTaskRescue.getRescueWorkEmployeeRoleId());
164
            if (!CollectionUtils.isEmpty(list)) {
165
                return CommonResponse.ok(list.get(0));
166
            } else {
167
                return CommonResponse.ok(null);
168
            }
169
        } else {
170
            return CommonResponse.fail("505", "指派失败");
171
        }
172
    }
173
174
    /**
175
     * 关闭救援
176
     *
177
     * @param workTaskRescue
178
     * @return
179
     * @throws Exception
180
     */
181
    @Override
182
    public CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm)
183
            throws Exception {
184
        CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
185
        if (EbcConstant.IS_ASSIGN_RESCUER_TRUE.equals(isFalseAlarm)) {
186
            return rescueCommand.closeTask(commonRequest);
187
        } else {
188
            return rescueCommand.falseAlarm(commonRequest);
189
        }
190
    }
191
192
    /**
193
     * 分页查询历史报警数据
194
     *
195
     * @param dataMap
196
     * @param pageNumber
197
     * @param pageSize
198
     * @return
199
     * @throws Exception
200
     */
201
    @Override
202
    public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber, int pageSize)
203
            throws Exception {
204
        CommonRequest<Map<String, Object>> request = new CommonRequest<Map<String, Object>>(dataMap, pageNumber, pageSize);
205
        CommonResponse<PageBean<Map<String, Object>>> response = rescueQueryService.queryHisWorkTaskRescue(request);
206
207
        if (CollectionUtils.isEmpty(response.getData().getData())) {
208
            return response;
209
        }
210
211
        List<Map<String, Object>> alarmTaskList = new ArrayList<Map<String, Object>>();
212
213
        for (Map<String, Object> responseMap : response.getData().getData()) {
214
            Map<String, Object> alarmMap = new HashMap<String, Object>();
215
            JSONObject alarmJsonObj = JSONObject.parseObject(responseMap.get("charValueSet").toString());
216
217
            alarmMap.put("workTaskId", responseMap.get("workTaskId"));
218
            alarmMap.put("terminalId", responseMap.get("terminalId"));
219
            alarmMap.put("longitude", alarmJsonObj.getString("longitude"));
220
            alarmMap.put("latitude", alarmJsonObj.getString("latitude"));
221
            alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
222
            alarmMap.put("targetUserId", responseMap.get("targetEmployeeRoleId"));
223
            alarmMap.put("targetUserName", responseMap.get("targetEmployeeRoleName"));
224
            long alarmTimeLong = Long.valueOf(alarmJsonObj.getString("alarmTime"));
225
            alarmMap.put("alarmTime", DateUtil.formatDate(alarmTimeLong));
226
227
            if (responseMap.get("rescueWorkEmployeeRoleId") != null) {
228
                alarmMap.put("rescueUserId", responseMap.get("rescueWorkEmployeeRoleId"));
229
                alarmMap.put("rescueUserName", responseMap.get("rescueWorkEmployeeRoleName"));
230
                if (responseMap.get("rescueCloseTime") != null) {
231
                    long rescueTimeLong = DateUtil.convertDate(responseMap.get("rescueCloseTime").toString()).getTime();
232
                    alarmMap.put("rescueTime", responseMap.get("rescueCloseTime").toString());
233
                    alarmMap.put("durationTime", DateUtil.getDifferenceString(alarmTimeLong, rescueTimeLong));
234
                } else {
235
                    alarmMap.put("rescueTime", "-");
236
                    alarmMap.put("durationTime", "-");
237
                }
238
                alarmMap.put("isFalseAlarm", EbcConstant.IS_ASSIGN_RESCUER_TRUE);
239
240
            } else {
241
                alarmMap.put("rescueUserId", null);
242
                alarmMap.put("rescueUserName", "-");
243
                alarmMap.put("rescueTime", "-");
244
                alarmMap.put("durationTime", "-");
245
                alarmMap.put("isFalseAlarm", EbcConstant.IS_ASSIGN_RESCUER_FALSE);
246
            }
247
248
            alarmTaskList.add(alarmMap);
249
        }
250
251
        response.getData().setData(alarmTaskList);
252
253
        return response;
254
    }
255
256
    /**
257
     * 获取报警类型下拉列表
258
     *
259
     * @return
260
     * @throws Exception
261
     */
262
    @Override
263
    public List<Map<String, String>> queryAlarmTypeList() throws Exception {
264
        CharacteristicSpec characteristicSpec = characteristicSpecService
265
                .findBusinessSpecByCharSpecCode(EbcConstant.BUSINESS_SPEC_MAP_AREA_TYPE);
266
267
        if (characteristicSpec == null || CollectionUtils.isEmpty(characteristicSpec.getCharacteristicSpecValues())) {
268
            return new ArrayList<Map<String, String>>();
269
        }
270
271
        List<Map<String, String>> resultList = new ArrayList<Map<String, String>>();
272
        for (CharacteristicSpecValue characteristicSpecValue : characteristicSpec.getCharacteristicSpecValues()) {
273
            Map<String, String> map = new HashMap<String, String>();
274
            map.put("alarmTypeId", characteristicSpecValue.getCode());
275
            map.put("alarmTypeName", characteristicSpecValue.getValue());
276
            resultList.add(map);
277
        }
278
279
        return resultList;
280
    }
281
282
    /**
283
     * 删除历史报警
284
     *
285
     * @param workTaskRescue
286
     * @return
287
     * @throws Exception
288
     */
289
    @Override
290
    public CommonResponse<WorkTaskRescue> deleteCloseAlarm(WorkTaskRescue workTaskRescue) throws Exception {
291
        CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest(workTaskRescue);
292
        return rescueCommand.deleteTask(commonRequest);
293
    }
294
295
    @Override
296
    public CommonResponse<Map<String, Object>> queryAlarmWorkTaskTrace(String workTaskId) throws Exception {
297
        CommonRequest<String> request = new CommonRequest(workTaskId);
298
        return rescueQueryService.queryWorkTaskRescuePositionTrace(request);
299
    }
291 300
}

+ 1 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/EquipmentManageServiceImpl.java

@ -38,7 +38,7 @@ public class EquipmentManageServiceImpl<EquipmentManageDao> implements Equipment
38 38
	@Override
39 39
	public CommonResponse<ResourceTool> modifyEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest)
40 40
			throws Exception {
41
		return resourceToolCommand.modifyWorkTool(resourceToolCommonRequest);
41
		return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
42 42
	}
43 43
44 44
	@Override

+ 4 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/LocationManagementServiceImpl.java

@ -223,7 +223,6 @@ public class LocationManagementServiceImpl implements LocationManagementService
223 223
	 * 获取人员的状态
224 224
	 *
225 225
	 * @param EntityPositionList
226
	 * @param mapAreaType
227 226
	 * @return
228 227
	 * @throws Exception
229 228
	 */
@ -253,6 +252,10 @@ public class LocationManagementServiceImpl implements LocationManagementService
253 252
				continue;
254 253
			}
255 254
			
255
			if (!"WOR".equals(entityPosition.getEntityType())) {
256
				continue;
257
			}
258
			
256 259
			EbcEntityPosition ebcEntityPosition = new EbcEntityPosition();
257 260
			ComponentReflectionUtils.copyAttributeFromParent(entityPosition, ebcEntityPosition);
258 261

+ 68 - 56
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/AlarmManagementService.java

@ -11,70 +11,82 @@ import com.ai.bss.work.rescue.model.WorkTaskRescue;
11 11
12 12
/**
13 13
 * 报警救援管理
14
 *
14 15
 * @author konghl@asiainfo.com
15 16
 * 2020-11-13
16 17
 */
17 18
public interface AlarmManagementService {
18 19
19
	/**
20
	 * 初始化实时报警数据
21
	 * @return
22
	 * @throws Exception
23
	 */
24
	CommonResponse<List<Map<String,Object>>> loadAlarmDetails() throws Exception;
20
    /**
21
     * 初始化实时报警数据
22
     *
23
     * @return
24
     * @throws Exception
25
     */
26
    CommonResponse<List<Map<String, Object>>> loadAlarmDetails() throws Exception;
25 27
26
	/**
27
	 * 查询地图标记和设备信息
28
	 * @param dataMap
29
	 * @return
30
	 */
31
	CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception ;
32
	
33
	/**
34
	 * 指派救援
35
	 * 
36
	 * @param workTaskRescue
37
	 * @return
38
	 * @throws Exception
39
	 */
40
	CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception;
28
    /**
29
     * 查询地图标记和设备信息
30
     *
31
     * @param dataMap
32
     * @return
33
     */
34
    CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception;
41 35
42
	/**
43
	 * 关闭救援
44
	 * 
45
	 * @param workTaskRescue
46
	 * @param isFalseAlarm
47
	 * @return
48
	 * @throws Exception
49
	 */
50
	CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm) throws Exception;
36
    /**
37
     * 指派救援
38
     *
39
     * @param workTaskRescue
40
     * @return
41
     * @throws Exception
42
     */
43
    CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception;
51 44
52
	/**
53
	 *  分页查询历史报警
54
	 *  
55
	 * @param dataMap
56
	 * @param pageNumber
57
	 * @param pageSize
58
	 * @return
59
	 * @throws Exception
60
	 */
61
	CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber,
62
			int pageSize) throws Exception;
45
    /**
46
     * 关闭救援
47
     *
48
     * @param workTaskRescue
49
     * @param isFalseAlarm
50
     * @return
51
     * @throws Exception
52
     */
53
    CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm) throws Exception;
63 54
64
	/**
65
	 *  获取报警类型下拉列表
66
	 * @return
67
	 * @throws Exception
68
	 */
69
	List<Map<String,String>> queryAlarmTypeList() throws Exception;
70
	
71
	/**
72
	 * 删除历史报警
73
	 * 
74
	* @param workTaskRescue
75
	* @return
76
	* @throws Exception
77
	*/
78
	 CommonResponse<WorkTaskRescue> deleteCloseAlarm(WorkTaskRescue workTaskRescue) throws Exception;
55
    /**
56
     * 分页查询历史报警
57
     *
58
     * @param dataMap
59
     * @param pageNumber
60
     * @param pageSize
61
     * @return
62
     * @throws Exception
63
     */
64
    CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber,
65
                                                                          int pageSize) throws Exception;
79 66
67
    /**
68
     * 获取报警类型下拉列表
69
     *
70
     * @return
71
     * @throws Exception
72
     */
73
    List<Map<String, String>> queryAlarmTypeList() throws Exception;
74
75
    /**
76
     * 删除历史报警
77
     *
78
     * @param workTaskRescue
79
     * @return
80
     * @throws Exception
81
     */
82
    CommonResponse<WorkTaskRescue> deleteCloseAlarm(WorkTaskRescue workTaskRescue) throws Exception;
83
84
    /**
85
     * 历史报警回放
86
     *
87
     * @param workTaskId
88
     * @return
89
     * @throws Exception
90
     */
91
    CommonResponse<Map<String, Object>> queryAlarmWorkTaskTrace(String workTaskId) throws Exception;
80 92
}

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

@ -19,8 +19,11 @@ spring.main.allow-bean-definition-overriding=true
19 19
20 20
#kafka
21 21
kafka.bootstrap-servers=47.105.160.21:9090
22
kafka.topic.deviceLocation=Topic_IoT_DeviceLocation
23
kafka.topic.alarm=Topic_IoT_IndividualAlarm
22
#kafka.bootstrap-servers=10.19.90.34:2182
23
#kafka.topic.deviceLocation=Topic_IoT_DeviceLocation
24
#kafka.topic.alarm=Topic_IoT_IndividualAlarm
25
kafka.topic.deviceLocation=DeviceLocationA
26
kafka.topic.alarm=IndividualAlarmA
24 27
kafka.producer.batch-size=16785
25 28
kafka.producer.retries=1
26 29
kafka.producer.buffer-memory=33554432