|
@ -413,10 +413,18 @@ public class YsDeviceService {
|
|
|
return result;
|
|
|
}
|
|
|
tmp.sort(Comparator.comparing(obj -> Long.parseLong(((LinkedHashMap) obj).get("startTime").toString())));
|
|
|
LinkedHashMap mergeTmpirst = null;
|
|
|
LinkedHashMap mergeTmp = null;
|
|
|
for (int i=0;i<tmp.size();i++){
|
|
|
LinkedHashMap mapTmp = tmp.getObject(i,LinkedHashMap.class);
|
|
|
Iterator<Object> arrIterator = tmp.iterator();
|
|
|
while (arrIterator.hasNext()) {
|
|
|
LinkedHashMap mapTmp = (LinkedHashMap) arrIterator.next();
|
|
|
Long startTimeStr = Long.parseLong(mapTmp.get("startTime").toString()) ;
|
|
|
long current = System.currentTimeMillis();
|
|
|
long toDayZero = current/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();
|
|
|
if (toDayZero-startTimeStr>0){//去除开始时间不为当天是时间段
|
|
|
arrIterator.remove();
|
|
|
continue;
|
|
|
}
|
|
|
Long endTimeStr = Long.parseLong(mapTmp.get("endTime").toString()) ;
|
|
|
String startTimeDate = DateUtil.dateToStrLong(new Date(startTimeStr));
|
|
|
String endTimeDate = DateUtil.dateToStrLong(new Date(endTimeStr));
|
|
@ -436,11 +444,10 @@ public class YsDeviceService {
|
|
|
}
|
|
|
if (startTimeStr==Long.parseLong(mergeTmp.get("endTime").toString())){//时间区间相连
|
|
|
startTimeStr = Long.parseLong(mergeTmp.get("startTime").toString()) ;
|
|
|
Long videoLongTmp = Long.parseLong(mergeTmp.get("videoLong").toString());
|
|
|
videoLong = (endTimeStr-startTimeStr)/1000;
|
|
|
mergeTmp.put("endTime",mapTmp.get("endTime"));
|
|
|
mergeTmp.put("endTimeDate",endTimeDate);
|
|
|
mergeTmp.put("videoLong",videoLong+videoLongTmp);
|
|
|
mergeTmp.put("videoLong",videoLong);
|
|
|
}else{
|
|
|
timeTmp.add(mergeTmp);
|
|
|
mergeTmp = new LinkedHashMap();
|
|
@ -454,7 +461,7 @@ public class YsDeviceService {
|
|
|
mergeTmp.put("channelNo",mapTmp.get("channelNo"));
|
|
|
mergeTmp.put("videoLong",videoLong);
|
|
|
}
|
|
|
if (i==tmp.size()-1){
|
|
|
if (!arrIterator.hasNext()){
|
|
|
timeTmp.add(mergeTmp);
|
|
|
}
|
|
|
}
|