上一个版本遗漏提交
This commit is contained in:
@@ -367,10 +367,10 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
//下一个被比较数据
|
//下一个被比较数据
|
||||||
int index = i + 1;
|
int index = i + 1;
|
||||||
WlRecord next = data.get(index);
|
WlRecord next = data.get(index);
|
||||||
//判断下一个数据时间范围是不是在当前时间范围内(判断是否有修改的必要)
|
//判断下一个数据时间范围是不是在当前已添加集合项时间范围内(判断是否有修改的必要)
|
||||||
if((current.getStartTime().compareTo(next.getStartTime())<0 || current.getStartTime().compareTo(next.getStartTime())==0)
|
if((getStartOrEndTimeByList(rs,1).compareTo(next.getStartTime())<0 || getStartOrEndTimeByList(rs,1).compareTo(next.getStartTime())==0)
|
||||||
&& (current.getEndTime().compareTo(next.getEndTime())>0 || current.getEndTime().compareTo(next.getEndTime())==0)){
|
&& (getStartOrEndTimeByList(rs,2).compareTo(next.getEndTime())>0 || getStartOrEndTimeByList(rs,2).compareTo(next.getEndTime())==0)){
|
||||||
//如果当前节点把下一个节点吃掉了 那么此节点将不变继续作为当前比较的左主数据 参加下一轮比较
|
//如果当前集合项时间范围把下一个节点吃掉了 那么此节点将不变继续作为当前比较的左主数据 参加下一轮比较
|
||||||
tempRecord = current;
|
tempRecord = current;
|
||||||
continue;
|
continue;
|
||||||
}else if(current.getEndTime().compareTo(next.getStartTime())<0){
|
}else if(current.getEndTime().compareTo(next.getStartTime())<0){
|
||||||
@@ -389,6 +389,7 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
//时间范围度最大依次覆盖
|
//时间范围度最大依次覆盖
|
||||||
//此处逻辑暂定 默认按照上面最左原则
|
//此处逻辑暂定 默认按照上面最左原则
|
||||||
}
|
}
|
||||||
|
rs = rs.stream().sorted(Comparator.comparing(WlRecord::getStartTime)).collect(Collectors.toList());
|
||||||
log.info("覆盖后新数据:");
|
log.info("覆盖后新数据:");
|
||||||
for(WlRecord wlRecord : rs){
|
for(WlRecord wlRecord : rs){
|
||||||
log.info("id:{} , startTime:{} , endTime:{}",wlRecord.getId(),wlRecord.getStartTime().format(DateTimeFormatter.ofPattern(DataParam.timeFormat)),wlRecord.getEndTime().format(DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
log.info("id:{} , startTime:{} , endTime:{}",wlRecord.getId(),wlRecord.getStartTime().format(DateTimeFormatter.ofPattern(DataParam.timeFormat)),wlRecord.getEndTime().format(DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
||||||
@@ -396,6 +397,12 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取集合中最开始时间或最结束时间
|
||||||
|
private static LocalDateTime getStartOrEndTimeByList(List<WlRecord> rs,int type){
|
||||||
|
rs = rs.stream().sorted(Comparator.comparing(type == 1?WlRecord::getStartTime:WlRecord::getEndTime)).collect(Collectors.toList());
|
||||||
|
return type == 1?rs.get(0).getStartTime():rs.get(rs.size()-1).getEndTime();
|
||||||
|
}
|
||||||
|
|
||||||
private void formatQueryParamList(CommonStatisticalQueryParam commonStatisticalQueryParam){
|
private void formatQueryParamList(CommonStatisticalQueryParam commonStatisticalQueryParam){
|
||||||
List<CommonStatisticalQueryParam> list = new ArrayList<>();
|
List<CommonStatisticalQueryParam> list = new ArrayList<>();
|
||||||
if(commonStatisticalQueryParam.getList() != null && commonStatisticalQueryParam.getList().size() > 0){
|
if(commonStatisticalQueryParam.getList() != null && commonStatisticalQueryParam.getList().size() > 0){
|
||||||
|
|||||||
Reference in New Issue
Block a user