瀏覽代碼

修改单人轨迹时间抽

konghl 4 年之前
父節點
當前提交
569b70605d

+ 22 - 20
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/TrackManagementServiceImpl.java

@ -102,7 +102,7 @@ public class TrackManagementServiceImpl implements TrackManagementService {
102 102
					BigDecimal.ROUND_HALF_DOWN);
103 103
			traceMap.put("playDurationTime", proportionBigDecimal.intValue());
104 104
105
			if (toolRecordList==null||toolRecordList.size()<2) {
105
			if (toolRecordList == null || toolRecordList.size() < 2) {
106 106
				traceMap.put("toolIndex", 0);
107 107
			} else {
108 108
				do {
@ -225,12 +225,9 @@ public class TrackManagementServiceImpl implements TrackManagementService {
225 225
		List<String> fixToolTypeIds = getFixToolTypeIds();
226 226
227 227
		if (CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(fixToolTypeIds)) {
228
			Map<String, Object> map = getWharfAreaMap(startTime);
229
			int diffMinute = DateUtil.getDifferenceMinute(startTime, endTime);
230
			map.put("durationTime", diffMinute < 1 ? 1 : diffMinute);
231
			map.put("proportion", 100);
232
			areaList.add(map);
233
228
			Map<String, Object> wharfAreaMap = getWharfAreaMap(startTime, endTime);
229
			wharfAreaMap.put("proportion", 100);
230
			areaList.add(wharfAreaMap);
234 231
			return areaList;
235 232
		}
236 233
@ -239,25 +236,23 @@ public class TrackManagementServiceImpl implements TrackManagementService {
239 236
		for (int i = list.size() - 1; i > -1; i--) {
240 237
			Map<String, Object> areaMap = new HashMap<String, Object>();
241 238
242
			if (!fixToolTypeIds.contains(String.valueOf(list.get(i).get("businessType")))) {
243
				// 进入船上等可移动的设备中
244
				continue;
245
			}
246
247 239
			String inTime = DateUtil.formatObjectToDate(list.get(i).get("inTime"));
248 240
			String outTime = DateUtil.formatObjectToDate(list.get(i).get("outTime"));
249
			inTime = inTime == null ? outTime : inTime;
250 241
251 242
			if (orderNum == 0 && DateUtil.compareDate(inTime, startTime) > 0) {
252
				Map<String, Object> wharfAreaMap = getWharfAreaMap(startTime);
253
				int diffMinute = DateUtil.getDifferenceMinute(startTime, inTime);
254
				maxDurationTime = diffMinute;
255
				wharfAreaMap.put("durationTime", diffMinute);
243
				Map<String, Object> wharfAreaMap = getWharfAreaMap(startTime, inTime);
244
				maxDurationTime = (int) wharfAreaMap.get("durationTime");
256 245
				areaList.add(wharfAreaMap);
257 246
				orderNum++;
258
259 247
			} else if (orderNum == 0) {
260 248
				inTime = startTime;
249
			} else {
250
				inTime = inTime == null ? outTime : inTime;
251
			}
252
253
			if (!fixToolTypeIds.contains(String.valueOf(list.get(i).get("businessType")))) {
254
				// 进入船上等可移动的设备中
255
				continue;
261 256
			}
262 257
263 258
			areaMap.put("orderNum", orderNum);
@ -312,14 +307,21 @@ public class TrackManagementServiceImpl implements TrackManagementService {
312 307
313 308
	/**
314 309
	 * 获取第一个为码头的围栏信息
315
	 * @param startTime
310
	 * @param startTime 进入码头的时间
311
	 * @param outTime 离开码头的时间
316 312
	 * @return
313
	 * @throws Exception 
317 314
	 */
318
	private Map<String, Object> getWharfAreaMap(String startTime) {
315
	private Map<String, Object> getWharfAreaMap(String startTime, String outTime) throws Exception {
319 316
		Map<String, Object> areaMap = new HashMap<String, Object>();
320 317
		areaMap.put("orderNum", 0);
321 318
		areaMap.put("inTime", startTime);
319
		areaMap.put("outTime", outTime);
322 320
		areaMap.put("areaName", "码头");
321
322
		int diffMinute = DateUtil.getDifferenceMinute(startTime, outTime);
323
		areaMap.put("durationTime", diffMinute < 1 ? 1 : diffMinute);
324
323 325
		return areaMap;
324 326
	}
325 327
}