Commit 3b908bf9 authored by hanbing's avatar hanbing

[update] 诊断优化,返回未优化相位

parent 702b03ce
......@@ -22,7 +22,6 @@ import net.wanji.opt.dao.mapper.trend.CrossDataRealtimeMapper;
import net.wanji.opt.dao.mapper.trend.CrossDirDataHistMapper;
import net.wanji.opt.dto.CrossIdAndDirDTO;
import net.wanji.opt.dto.CrossIdAndSchemeIdDTO;
import net.wanji.opt.dto.OptDataExtend;
import net.wanji.opt.dto.SendManualDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO;
......@@ -175,7 +174,7 @@ public class DiagnoServiceImpl implements DiagnoService {
schemeOptVO.setSchemeId(crossSchemePO.getId());
schemeOptVO.setOffset(crossSchemeOptLogPO.getOffset());
// 构造调整时间列表
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = buildPhaseOptTimeList(collect);
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = buildPhaseOptTimeList(collect, schemeId);
schemeOptVO.setPhaseOptTimeList(phaseOptTimeList);
return schemeOptVO;
}
......@@ -324,11 +323,6 @@ public class DiagnoServiceImpl implements DiagnoService {
} catch (IndexOutOfBoundsException e) {
throw new RuntimeException("没有该路口优化日志数据");
}
String dataExtend = crossSchemeOptLogPO.getDataExtend();
OptDataExtend optDataExtend = gson.fromJson(dataExtend, OptDataExtend.class);
optEffectVO.setSceneName(optDataExtend.getSceneName());
optEffectVO.setStrategyName(optDataExtend.getStrategyName());
optEffectVO.setIdeaName(optDataExtend.getIdeaName());
optEffectVO.setOptStartTime(crossSchemeOptLogPO.getStartTime());
Date endTime = crossSchemeOptLogPO.getEndTime();
if (ObjectUtil.isEmpty(endTime)) {
......@@ -434,18 +428,34 @@ public class DiagnoServiceImpl implements DiagnoService {
return 0;
}
private List<SchemeOptVO.PhaseOptTime> buildPhaseOptTimeList(
Collection<CrossSchemeOptLogPO> crossSchemeOptLogPOList) {
Collection<CrossSchemeOptLogPO> crossSchemeOptLogPOList, Integer schemeId) {
// 初始化列表
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>();
initPhaseOptTimeList(schemeId, phaseOptTimeList);
for (CrossSchemeOptLogPO crossSchemeOptLogPO : crossSchemeOptLogPOList) {
for (SchemeOptVO.PhaseOptTime phaseOptTime : phaseOptTimeList) {
String phaseNo1 = crossSchemeOptLogPO.getPhaseNo();
String phaseNo2 = phaseOptTime.getPhaseNo();
if (Objects.equals(phaseNo1, phaseNo2)) {
phaseOptTime.setOriGreenTime(crossSchemeOptLogPO.getOriGreenTime());
phaseOptTime.setOptGreenTime(crossSchemeOptLogPO.getOptGreenTime());
phaseOptTime.setOptTime(crossSchemeOptLogPO.getOptTime());
}
}
}
return phaseOptTimeList;
}
private void initPhaseOptTimeList(Integer schemeId, List<SchemeOptVO.PhaseOptTime> phaseOptTimeList) {
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.listCrossPhase(null, schemeId.toString());
for (CrossPhasePO crossPhasePO : crossPhasePOList) {
SchemeOptVO.PhaseOptTime phaseOptTime = new SchemeOptVO.PhaseOptTime();
phaseOptTime.setPhaseNo(crossSchemeOptLogPO.getPhaseNo());
phaseOptTime.setOriGreenTime(crossSchemeOptLogPO.getOriGreenTime());
phaseOptTime.setOptGreenTime(crossSchemeOptLogPO.getOptGreenTime());
phaseOptTime.setOptTime(crossSchemeOptLogPO.getOptTime());
phaseOptTime.setPhaseNo(crossPhasePO.getPhaseNo());
phaseOptTime.setOriGreenTime(crossPhasePO.getGreenTime());
phaseOptTime.setOptGreenTime(crossPhasePO.getGreenTime());
phaseOptTime.setOptTime(0);
phaseOptTimeList.add(phaseOptTime);
}
return phaseOptTimeList;
}
}
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