Sfoglia il codice sorgente

轨迹回放时间轴显示船舶

konghl 4 anni fa
parent
commit
0f893e9871

+ 0 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/LocationManagementController.java

@ -1,18 +1,14 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import java.util.HashMap;
4 3
import java.util.Map;
5 4
6 5
import org.springframework.beans.factory.annotation.Autowired;
7 6
import org.springframework.stereotype.Controller;
8
import org.springframework.web.bind.annotation.RequestBody;
9 7
import org.springframework.web.bind.annotation.RequestMapping;
10 8
import org.springframework.web.bind.annotation.ResponseBody;
11 9
12 10
import com.ai.abc.api.model.CommonResponse;
13 11
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
14
import com.ai.bss.location.rescue.util.DateUtil;
15
import com.ai.bss.location.rescue.util.EbcConstant;
16 12
17 13
/**
18 14
 * 人员定位管理

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

@ -234,9 +234,9 @@ public class LocationManagementServiceImpl implements LocationManagementService
234 234
			EbcEntityPosition ebcEntityPosition = new EbcEntityPosition();
235 235
			ComponentReflectionUtils.copyAttributeFromParent(entityPosition, ebcEntityPosition);
236 236
237
			// 获取人员状态:如果为救援人员,则显示为正常人员
238 237
			String maxStatus = getEntityPositionStatus(entityPosition);
239
			maxStatus = EntityPosition.TAG_TYPE_RESCUE.equals(maxStatus) ? EntityPosition.TAG_TYPE_NORMAL : maxStatus;
238
			// 获取人员状态:如果为救援人员,则显示为正常人员
239
			//maxStatus = EntityPosition.TAG_TYPE_RESCUE.equals(maxStatus) ? EntityPosition.TAG_TYPE_NORMAL : maxStatus;
240 240
			ebcEntityPosition.setLocationStatus(maxStatus);
241 241
242 242
			ebcEntityPosition.setCharValueSet(null);

+ 10 - 8
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/TrackManagementServiceImpl.java

@ -222,9 +222,10 @@ public class TrackManagementServiceImpl implements TrackManagementService {
222 222
		String endTime = requestMap.get("endTime").toString();
223 223
224 224
		List<Map<String, Object>> list = response.getData().getData();
225
		List<String> fixToolTypeIds = getFixToolTypeIds();
225
		//List<String> fixToolTypeIds = getFixToolTypeIds();
226 226
227
		if (CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(fixToolTypeIds)) {
227
		//if (CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(fixToolTypeIds)) {
228
		if (CollectionUtils.isEmpty(list)) {
228 229
			Map<String, Object> wharfAreaMap = getWharfAreaMap(startTime, endTime);
229 230
			wharfAreaMap.put("proportion", 100);
230 231
			areaList.add(wharfAreaMap);
@ -233,27 +234,28 @@ public class TrackManagementServiceImpl implements TrackManagementService {
233 234
234 235
		int orderNum = 0;
235 236
		int maxDurationTime = 0;
236
		for (int i = list.size() - 1; i > -1; i--) {
237
		int listSize = list.size() - 1;
238
		for (int i=listSize ; i > -1; i--) {
237 239
			Map<String, Object> areaMap = new HashMap<String, Object>();
238 240
239 241
			String inTime = DateUtil.formatObjectToDate(list.get(i).get("inTime"));
240 242
			String outTime = DateUtil.formatObjectToDate(list.get(i).get("outTime"));
241 243
242
			if (orderNum == 0 && DateUtil.compareDate(inTime, startTime) > 0) {
244
			if (i == listSize && DateUtil.compareDate(inTime, startTime) > 0) {
243 245
				Map<String, Object> wharfAreaMap = getWharfAreaMap(startTime, inTime);
244 246
				maxDurationTime = (int) wharfAreaMap.get("durationTime");
245 247
				areaList.add(wharfAreaMap);
246 248
				orderNum++;
247
			} else if (orderNum == 0) {
249
			} else if (i == listSize) {
248 250
				inTime = startTime;
249 251
			} else {
250 252
				inTime = inTime == null ? outTime : inTime;
251 253
			}
252 254
253
			if (!fixToolTypeIds.contains(String.valueOf(list.get(i).get("businessType")))) {
254
				// 进入船上等可移动的设备中
255
			// 判断是否进入可移动的设备(船)
256
			/*if (!fixToolTypeIds.contains(String.valueOf(list.get(i).get("businessType")))) {
255 257
				continue;
256
			}
258
			}*/
257 259
258 260
			areaMap.put("orderNum", orderNum);
259 261
			areaMap.put("inTime", inTime);