Commit 75f5593f authored by hanbing's avatar hanbing

[update] 微观大数据平台-信干线路口评价曲线图数据异常修复

parent d72b8a5d
......@@ -36,6 +36,7 @@ import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
......@@ -1167,6 +1168,18 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
String boEndDayStr = dayFormat.format(endDate);
List<CrossDirDataHistPOExt> crossDirDataHistPOList = crossDirDataHistMapper.selectExtByTimeSection(
boStartDayStr, boEndDayStr, startHourMinute, endHourMinute);
// 将起始和结束时间解析为LocalTime
LocalTime startTime = LocalTime.parse(startHourMinute, safeHourMinuteFormat);
LocalTime endTime = LocalTime.parse(endHourMinute, safeHourMinuteFormat);
// 过滤列表
List<CrossDirDataHistPOExt> filteredList = crossDirDataHistPOList.stream()
.filter(item -> {
LocalDateTime batchDateTime = LocalDateTime.ofEpochSecond(item.getBatchTime(), 0, ZoneOffset.ofHours(8));
LocalTime batchTime = batchDateTime.toLocalTime();
return (batchTime.equals(startTime) || batchTime.isAfter(startTime)) &&
(batchTime.equals(endTime) || batchTime.isBefore(endTime));
})
.collect(Collectors.toList());
List<BaseCrossDirInfoPO> baseCrossDirInfoPOList =
baseCrossDirInfoMapper.selectByInOutType(CrossInOutEnum.IN.getCode());
......@@ -1226,13 +1239,13 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
dirCode2 = convertDirCode(dirStr2, crossId, dirCode2);
coordDirCodeList.add(dirCode2);
}
mainlineCrossEvaluateVO.setCoordValue(calcCoordValue(coordDirCodeList, crossId, crossDirDataHistPOList));
fillNonCoordValue(mainlineCrossEvaluateVO, coordDirCodeList, crossId, crossDirDataHistPOList,
mainlineCrossEvaluateVO.setCoordValue(calcCoordValue(coordDirCodeList, crossId, filteredList));
fillNonCoordValue(mainlineCrossEvaluateVO, coordDirCodeList, crossId, filteredList,
baseCrossDirInfoPOList);
mainlineCrossEvaluateVO.setDirElementList(buildDirElementList(
crossId, metricName, baseCrossDirInfoPOList, crossDirDataHistPOList, crossEmptyPhaseList));
crossId, metricName, baseCrossDirInfoPOList, filteredList, crossEmptyPhaseList));
mainlineCrossEvaluateVO.setCrossEvaluateList(buildCrossEvaluateList(
crossId, baseCrossDirInfoPOList, crossDirDataHistPOList));
crossId, baseCrossDirInfoPOList, filteredList));
res.add(mainlineCrossEvaluateVO);
}
return res;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment