Commit 75f5593f authored by hanbing's avatar hanbing

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

parent d72b8a5d
...@@ -36,6 +36,7 @@ import java.math.RoundingMode; ...@@ -36,6 +36,7 @@ import java.math.RoundingMode;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
...@@ -1167,6 +1168,18 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1167,6 +1168,18 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
String boEndDayStr = dayFormat.format(endDate); String boEndDayStr = dayFormat.format(endDate);
List<CrossDirDataHistPOExt> crossDirDataHistPOList = crossDirDataHistMapper.selectExtByTimeSection( List<CrossDirDataHistPOExt> crossDirDataHistPOList = crossDirDataHistMapper.selectExtByTimeSection(
boStartDayStr, boEndDayStr, startHourMinute, endHourMinute); 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 = List<BaseCrossDirInfoPO> baseCrossDirInfoPOList =
baseCrossDirInfoMapper.selectByInOutType(CrossInOutEnum.IN.getCode()); baseCrossDirInfoMapper.selectByInOutType(CrossInOutEnum.IN.getCode());
...@@ -1226,13 +1239,13 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService { ...@@ -1226,13 +1239,13 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
dirCode2 = convertDirCode(dirStr2, crossId, dirCode2); dirCode2 = convertDirCode(dirStr2, crossId, dirCode2);
coordDirCodeList.add(dirCode2); coordDirCodeList.add(dirCode2);
} }
mainlineCrossEvaluateVO.setCoordValue(calcCoordValue(coordDirCodeList, crossId, crossDirDataHistPOList)); mainlineCrossEvaluateVO.setCoordValue(calcCoordValue(coordDirCodeList, crossId, filteredList));
fillNonCoordValue(mainlineCrossEvaluateVO, coordDirCodeList, crossId, crossDirDataHistPOList, fillNonCoordValue(mainlineCrossEvaluateVO, coordDirCodeList, crossId, filteredList,
baseCrossDirInfoPOList); baseCrossDirInfoPOList);
mainlineCrossEvaluateVO.setDirElementList(buildDirElementList( mainlineCrossEvaluateVO.setDirElementList(buildDirElementList(
crossId, metricName, baseCrossDirInfoPOList, crossDirDataHistPOList, crossEmptyPhaseList)); crossId, metricName, baseCrossDirInfoPOList, filteredList, crossEmptyPhaseList));
mainlineCrossEvaluateVO.setCrossEvaluateList(buildCrossEvaluateList( mainlineCrossEvaluateVO.setCrossEvaluateList(buildCrossEvaluateList(
crossId, baseCrossDirInfoPOList, crossDirDataHistPOList)); crossId, baseCrossDirInfoPOList, filteredList));
res.add(mainlineCrossEvaluateVO); res.add(mainlineCrossEvaluateVO);
} }
return res; 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