|
@ -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
|
}
|