浏览代码

实时救援问题修改

konghl 4 年之前
父节点
当前提交
04ada0e6f8

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

7
7
8
import javax.servlet.http.HttpServletRequest;
8
import javax.servlet.http.HttpServletRequest;
9
9
10
import org.apache.commons.lang.StringUtils;
10
import com.ailk.org.apache.commons.lang3.StringUtils;
11
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Controller;
12
import org.springframework.stereotype.Controller;
13
import org.springframework.web.bind.annotation.RequestBody;
13
import org.springframework.web.bind.annotation.RequestBody;

+ 1 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/WorkEmployeeController.java

124
     */
124
     */
125
    @ResponseBody
125
    @ResponseBody
126
    @RequestMapping("/queryEmployeeBindDeviceList")
126
    @RequestMapping("/queryEmployeeBindDeviceList")
127
    public CommonResponse<List<EmployeeTerminalRelaDto>> queryEmployeeBindDeviceList() {
127
    public CommonResponse<List<Map<String, Object>>> queryEmployeeBindDeviceList() {
128
        return userManageService.queryEmployeeBindDeviceList();
128
        return userManageService.queryEmployeeBindDeviceList();
129
    }
129
    }
130
130

+ 14 - 8
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java

85
			JSONObject alarmJsonObj=JSONObject.parseObject(responseMap.get("charValueSet").toString());
85
			JSONObject alarmJsonObj=JSONObject.parseObject(responseMap.get("charValueSet").toString());
86
			
86
			
87
			alarmMap.put("workTaskId",responseMap.get("workTaskId"));
87
			alarmMap.put("workTaskId",responseMap.get("workTaskId"));
88
			alarmMap.put("terminalId",responseMap.get("terminalId"));
88
			long alarmTimeLong=Long.valueOf(alarmJsonObj.getString("alarmTime"));
89
			long alarmTimeLong=Long.valueOf(alarmJsonObj.getString("alarmTime"));
89
			alarmMap.put("alarmTime",DateUtil.formatDate(alarmTimeLong));
90
			alarmMap.put("alarmTime",DateUtil.formatDate(alarmTimeLong));
90
			alarmMap.put("terminalId",responseMap.get("terminalId"));
91
			alarmMap.put("durationTime",DateUtil.getDifferenceString(alarmTimeLong,System.currentTimeMillis()));
91
			
92
			
92
			//alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
93
			//alarmMap.put("businessType", alarmJsonObj.getString("businessType"));
93
			String businessType=alarmJsonObj.getString("businessType");
94
			String businessType=alarmJsonObj.getString("businessType");
99
				}
100
				}
100
			}
101
			}
101
			
102
			
103
			//EntityPosition aaa=(EntityPosition)responseMap.get("rescueTargetEntityPosition");
102
			alarmMap.put("rescueTargetEntityPosition",responseMap.get("rescueTargetEntityPosition"));
104
			alarmMap.put("rescueTargetEntityPosition",responseMap.get("rescueTargetEntityPosition"));
103
			if (responseMap.get("rescueEntityPosition")==null) {
104
				alarmMap.put("rescueEntityPosition",null);
105
			
106
			if (responseMap.get("rescueWorkEmployeeRoleId")==null) {
105
				alarmMap.put("isAssignAlarm",EbcConstant.IS_ASSIGN_RESCUER_FALSE);
107
				alarmMap.put("isAssignAlarm",EbcConstant.IS_ASSIGN_RESCUER_FALSE);
106
			}else {
108
			}else {
107
				alarmMap.put("rescueEntityPosition",responseMap.get("rescueEntityPosition"));
109
				alarmMap.put("rescueEntityPosition",responseMap.get("rescueEntityPosition"));
152
	@Override
154
	@Override
153
	public CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception {
155
	public CommonResponse<EntityPosition> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception {
154
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
156
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
157
		CommonResponse<WorkTaskRescue> response=rescueCommand.assignRescueEmployee(commonRequest);
155
		
158
		
156
		List<EntityPosition> list = entityPositionRepository.findByEntityId(workTaskRescue.getWorkTaskId());
157
		if (!CollectionUtils.isEmpty(list)) {
158
			return CommonResponse.ok(list.get(0));
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
			}
159
		}else {
166
		}else {
160
			return CommonResponse.ok(null);
167
			return CommonResponse.fail("505", "指派失败");
161
		}
168
		}
162
		
163
	}
169
	}
164
170
165
	/**
171
	/**

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

38
	@Override
38
	@Override
39
	public CommonResponse<ResourceTool> modifyEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest)
39
	public CommonResponse<ResourceTool> modifyEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest)
40
			throws Exception {
40
			throws Exception {
41
		return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
41
		return resourceToolCommand.modifyWorkTool(resourceToolCommonRequest);
42
	}
42
	}
43
43
44
	@Override
44
	@Override

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

33
	@Value("${seaMap.centre.latitude:31.560302}")
33
	@Value("${seaMap.centre.latitude:31.560302}")
34
	private String latitude;
34
	private String latitude;
35
35
36
	@Value("${seaMap.scale:11}")
36
	@Value("${seaMap.scale:8}")
37
	private String scale;
37
	private String scale;
38
38
39
	@Override
39
	@Override

+ 59 - 31
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/LocationManagementServiceImpl.java

18
import com.ai.bss.location.rescue.model.EbcEntityPosition;
18
import com.ai.bss.location.rescue.model.EbcEntityPosition;
19
import com.ai.bss.location.rescue.model.EbcMapArea;
19
import com.ai.bss.location.rescue.model.EbcMapArea;
20
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
20
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
21
import com.ai.bss.location.rescue.service.task.LocationMirrorTask;
22
import com.ai.bss.position.model.EntityPosition;
21
import com.ai.bss.position.model.EntityPosition;
23
import com.ai.bss.position.model.MapArea;
22
import com.ai.bss.position.model.MapArea;
24
import com.ai.bss.position.model.MapAreaBusinessType;
23
import com.ai.bss.position.model.MapAreaBusinessType;
27
import com.ai.bss.position.service.api.outparam.LoadMapViewParam;
26
import com.ai.bss.position.service.api.outparam.LoadMapViewParam;
28
import com.ai.bss.work.tool.model.ResourceToolType;
27
import com.ai.bss.work.tool.model.ResourceToolType;
29
import com.ai.bss.work.tool.service.api.ResourceToolQuery;
28
import com.ai.bss.work.tool.service.api.ResourceToolQuery;
29
import com.ailk.org.apache.commons.lang3.StringUtils;
30
import com.alibaba.fastjson.JSON;
30
import com.alibaba.fastjson.JSON;
31
import com.alibaba.fastjson.JSONObject;
31
import com.alibaba.fastjson.JSONObject;
32
import com.github.pagehelper.util.StringUtil;
33
import org.springframework.util.StringUtils;
34
32
35
@Service
33
@Service
36
public class LocationManagementServiceImpl implements LocationManagementService {
34
public class LocationManagementServiceImpl implements LocationManagementService {
45
	@Autowired
43
	@Autowired
46
	private ResourceToolQuery resourceToolQuery;
44
	private ResourceToolQuery resourceToolQuery;
47
45
48
	@Autowired
49
	private LocationMirrorTask locationMirrorTask;
50
51
	/**
46
	/**
52
	 * 初始化人员定位详细数据
47
	 * 初始化人员定位详细数据
53
	 *
48
	 *
64
			resultMap.put("aggregatedMapAreaList",
59
			resultMap.put("aggregatedMapAreaList",
65
					getMapAreaAllStatus(commonResponse.getData().getAggregatedMapAreaList()));
60
					getMapAreaAllStatus(commonResponse.getData().getAggregatedMapAreaList()));
66
			resultMap.put("unaggregatedEntityPositionList",
61
			resultMap.put("unaggregatedEntityPositionList",
67
					getEmployeeAllStatus(commonResponse.getData().getUnaggregatedEntityPositionList(), null));
62
					getEmployeeAllStatus(commonResponse.getData().getUnaggregatedEntityPositionList()));
68
		} else {
63
		} else {
69
			resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
64
			resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
70
			resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
65
			resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
184
			EbcMapArea ebcMapArea = new EbcMapArea();
179
			EbcMapArea ebcMapArea = new EbcMapArea();
185
			ComponentReflectionUtils.copyAttributeFromParent(mapArea, ebcMapArea);
180
			ComponentReflectionUtils.copyAttributeFromParent(mapArea, ebcMapArea);
186
181
187
			if (!StringUtils.isEmpty(mapArea.getBusinessType())) {
188
				for (MapAreaBusinessType areaType : mapAreaTypeList) {
189
					if (areaType.getMapAreaBusinessType().equals(mapArea.getBusinessType())) {
190
						ebcMapArea.setAreaColor(areaType.getColor());
182
			boolean isAreaFlag=false;
183
			
184
			if (StringUtils.isNotEmpty(mapArea.getCoreEntityId())) {
185
				for (ResourceToolType toolType : toolTypeList) {
186
					if (toolType.getResourceToolType().equals(mapArea.getCoreEntityType())) {
187
						ebcMapArea.setToolIconUrl(toolType.getIconUrl());
188
						isAreaFlag=true;
191
						break;
189
						break;
192
					}
190
					}
193
				}
191
				}
194
			} else if (!StringUtils.isEmpty(mapArea.getCoreEntityId())) {
195
				for (ResourceToolType toolType : toolTypeList) {
196
					if (toolType.getResourceToolType().equals(mapArea.getCoreEntityId())) {
197
						ebcMapArea.setToolIconUrl(toolType.getIconUrl());
192
			}
193
			
194
			if (!isAreaFlag||StringUtils.isNotEmpty(mapArea.getBusinessType())) {
195
				for (MapAreaBusinessType areaType : mapAreaTypeList) {
196
					if (areaType.getMapAreaBusinessType().equals(mapArea.getBusinessType())) {
197
						ebcMapArea.setAreaColor(areaType.getColor());
198
						isAreaFlag=true;
198
						break;
199
						break;
199
					}
200
					}
200
				}
201
				}
201
			}
202
			}
202
203
			String locationStatus = EntityPosition.TAG_TYPE_NORMAL;
204
			List<EbcEntityPosition> ebcEntityPositionList = getEmployeeAllStatus(mapArea.getEntityPositionList(),
205
					locationStatus);
206
			ebcMapArea.setEmployeeCount(ebcEntityPositionList.size());
207
			ebcMapArea.setLocationStatus(locationStatus);
208
			ebcMapArea.setEbcEntityPositionList(ebcEntityPositionList);
209
			ebcMapArea.setEntityPositionList(new ArrayList<EntityPosition>());
210
			ebcMapArea.setMapAreaShape(null);
211
212
			ebcMapAreaList.add(ebcMapArea);
203
			
204
			if (isAreaFlag) {
205
				Map<String, Object> ebcEntityPositionMap = getEmployeeAllStatus(mapArea.getEntityPositionList(),
206
						mapArea.getBusinessType());
207
				
208
				List<EbcEntityPosition> ebcEntityPositionList=(List<EbcEntityPosition>) ebcEntityPositionMap.get("ebcEntityPositionList");
209
				ebcMapArea.setEbcEntityPositionList(ebcEntityPositionList);
210
				ebcMapArea.setEmployeeCount(ebcEntityPositionList.size());
211
				ebcMapArea.setLocationStatus((String)ebcEntityPositionMap.get("locationStatus"));
212
				ebcMapArea.setEntityPositionList(new ArrayList<EntityPosition>());
213
				ebcMapArea.setMapAreaShape(null);
214
215
				ebcMapAreaList.add(ebcMapArea);
216
			}
213
		}
217
		}
214
218
215
		return ebcMapAreaList;
219
		return ebcMapAreaList;
219
	 * 获取人员的状态
223
	 * 获取人员的状态
220
	 *
224
	 *
221
	 * @param EntityPositionList
225
	 * @param EntityPositionList
226
	 * @param mapAreaType
222
	 * @return
227
	 * @return
223
	 * @throws Exception
228
	 * @throws Exception
224
	 */
229
	 */
225
	@Override
230
	@Override
226
	public List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String locationStatus)
231
	public List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList) throws Exception {
232
		Map<String, Object> resultMap=getEmployeeAllStatus(EntityPositionList, null);
233
		return (List<EbcEntityPosition>) resultMap.get("ebcEntityPositionList");
234
	}
235
	
236
	private Map<String, Object> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String mapAreaType)
227
			throws Exception {
237
			throws Exception {
238
		Map<String, Object> resultMap=new HashMap<String, Object>();
239
		String locationStatus=EntityPosition.TAG_TYPE_NORMAL;
228
		List<EbcEntityPosition> ebcEntityPositionList = new ArrayList<EbcEntityPosition>();
240
		List<EbcEntityPosition> ebcEntityPositionList = new ArrayList<EbcEntityPosition>();
229
		if (CollectionUtils.isEmpty(EntityPositionList))
230
			return ebcEntityPositionList;
241
		
242
		//TODO 需判断不显示围栏(如考勤区、作业区)聚焦人员的信息
243
		//if (CollectionUtils.isEmpty(EntityPositionList)||"ATT".equals(mapAreaType)||"WOR".equals(mapAreaType)) {
244
		if (CollectionUtils.isEmpty(EntityPositionList)) {
245
			resultMap.put("ebcEntityPositionList", ebcEntityPositionList);
246
			resultMap.put("locationStatus", null);
247
			return resultMap;
248
		}
231
249
250
		List<String> entityPositionList=new ArrayList<String>();
232
		for (EntityPosition entityPosition : EntityPositionList) {
251
		for (EntityPosition entityPosition : EntityPositionList) {
252
			if (entityPositionList.contains(entityPosition.getEntityId())) {
253
				continue;
254
			}
255
			
233
			EbcEntityPosition ebcEntityPosition = new EbcEntityPosition();
256
			EbcEntityPosition ebcEntityPosition = new EbcEntityPosition();
234
			ComponentReflectionUtils.copyAttributeFromParent(entityPosition, ebcEntityPosition);
257
			ComponentReflectionUtils.copyAttributeFromParent(entityPosition, ebcEntityPosition);
235
258
240
			if (locationStatus != null) {
263
			if (locationStatus != null) {
241
				locationStatus = locationStatus.compareTo(maxStatus) > 0 ? locationStatus : maxStatus;
264
				locationStatus = locationStatus.compareTo(maxStatus) > 0 ? locationStatus : maxStatus;
242
			}
265
			}
266
			
267
			entityPositionList.add(entityPosition.getEntityId());
243
		}
268
		}
244
245
		return ebcEntityPositionList;
269
		
270
		resultMap.put("ebcEntityPositionList", ebcEntityPositionList);
271
		resultMap.put("locationStatus", locationStatus);
272
		
273
		return resultMap;
246
	}
274
	}
247
275
248
	/**
276
	/**

+ 8 - 6
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/WorkEmployeeServiceImpl.java

99
    }
99
    }
100
100
101
    @Override
101
    @Override
102
    public CommonResponse<List<EmployeeTerminalRelaDto>> queryEmployeeBindDeviceList() {
103
        String entityId = "0000"; //TODO 组织id
104
        //根据组织编码查询该组织下绑定了终端的人员信息, 组织编码为空查询所有人员
105
        CommonRequest<String> param = CommonRequest.<String>builder().data(entityId).build();
106
107
        return employeeTerminalRelaQuery.queryIndividualDevRelaByOrgCode(param);
102
    public CommonResponse<List<Map<String, Object>>> queryEmployeeBindDeviceList() {
103
    	//根据组织编码查询该组织下绑定了终端的人员信息, 组织编码为空查询所有人员
104
        //String entityId = "0000"; //TODO 组织id
105
        //CommonRequest<String> param = CommonRequest.<String>builder().data(entityId).build();
106
107
    	CommonResponse<List<Map<String, Object>>> respones = employeeTerminalRelaQuery.findAllEmployeeTerminalRelaWithDistinct(CommonRequest.<Void>builder().build());
108
    	
109
        return respones;
108
    }
110
    }
109
}
111
}

+ 1 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/LocationManagementService.java

58
	 * @return
58
	 * @return
59
	 * @throws Exception
59
	 * @throws Exception
60
	 */
60
	 */
61
	List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String locationStatus)
61
	List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList)
62
			throws Exception;
62
			throws Exception;
63
63
64
	/**
64
	/**

+ 1 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/WorkEmployeeService.java

56
	 * 获取已绑定终端的人员列表
56
	 * 获取已绑定终端的人员列表
57
	 * @return
57
	 * @return
58
	 */
58
	 */
59
	CommonResponse<List<EmployeeTerminalRelaDto>> queryEmployeeBindDeviceList();
59
	CommonResponse<List<Map<String, Object>>> queryEmployeeBindDeviceList();
60
}
60
}

+ 2 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/AlarmMirrorTask.java

49
			resultMap.put("longitude", alarmJsonObj.getString("longitude"));
49
			resultMap.put("longitude", alarmJsonObj.getString("longitude"));
50
			resultMap.put("latitude", alarmJsonObj.getString("latitude"));
50
			resultMap.put("latitude", alarmJsonObj.getString("latitude"));
51
			resultMap.put("alarmTime", DateUtil.formatDate(Long.valueOf(alarmJsonObj.getString("alarmTime"))));
51
			resultMap.put("alarmTime", DateUtil.formatDate(Long.valueOf(alarmJsonObj.getString("alarmTime"))));
52
52
			
53
			//resultMap.put("businessType", alarmInfJsonObj.getString("businessType"));
53
			//resultMap.put("businessType", alarmInfJsonObj.getString("businessType"));
54
			String businessType=alarmJsonObj.getString("businessType");
54
			String businessType=alarmJsonObj.getString("businessType");
55
			CharacteristicSpec characteristicSpec = characteristicSpecService
55
			CharacteristicSpec characteristicSpec = characteristicSpecService
59
					if (characteristicSpecValue.getCode().equals(businessType)) {
59
					if (characteristicSpecValue.getCode().equals(businessType)) {
60
						resultMap.put("businessType", characteristicSpecValue.getCode());
60
						resultMap.put("businessType", characteristicSpecValue.getCode());
61
						resultMap.put("businessTypeZH", characteristicSpecValue.getValue());
61
						resultMap.put("businessTypeZH", characteristicSpecValue.getValue());
62
						break;
62
					}
63
					}
63
					break;
64
				}
64
				}
65
			}
65
			}
66
			
66
			

+ 2 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/LocationMirrorTask.java

41
				resultMap.put("aggregatedMapAreaList", locationManagementService
41
				resultMap.put("aggregatedMapAreaList", locationManagementService
42
						.getMapAreaAllStatus(commonRequest.getData().getAggregatedMapAreaList()));
42
						.getMapAreaAllStatus(commonRequest.getData().getAggregatedMapAreaList()));
43
				resultMap.put("unaggregatedEntityPositionList", locationManagementService
43
				resultMap.put("unaggregatedEntityPositionList", locationManagementService
44
						.getEmployeeAllStatus(commonRequest.getData().getUnaggregatedEntityPositionList(), null));
44
						.getEmployeeAllStatus(commonRequest.getData().getUnaggregatedEntityPositionList()));
45
			} else {
45
			} else {
46
				resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
46
				resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
47
				resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
47
				resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
48
			}
48
			}
49
49
50
			resultMap.put("currentEntityPosition", commonRequest.getData().getCurrentEntityPosition());
50
			resultMap.put("currentEntityPosition",commonRequest.getData().getCurrentEntityPosition());
51
			resultMap.put("countMap", locationManagementService.loadEmployeeStatusCount());
51
			resultMap.put("countMap", locationManagementService.loadEmployeeStatusCount());
52
52
53
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));
53
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));

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

12
#\u6d77\u56fe\u663e\u793a\u6bd4\u4f8b\u5c3a
12
#\u6d77\u56fe\u663e\u793a\u6bd4\u4f8b\u5c3a
13
# 5-->300km,6-->200km,7-->100km,8-->50km,9-->20km,10-->10km,11-->5km
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
14
# 12-->2km,13-->1km,14-->500m,15-->300m,16-->200m,17-->100m,18-->50m
15
seaMap.scale=11
15
seaMap.scale=8