Commit 2e71927b authored by hanbing's avatar hanbing

[update] 信号优化首页,子区详情-相位时差图

parent feca1273
...@@ -60,6 +60,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -60,6 +60,7 @@ public class TrendServiceImpl implements TrendService {
private final CrossSchedulesPlanMapper crossSchedulesPlanMapper; private final CrossSchedulesPlanMapper crossSchedulesPlanMapper;
private final BaseCrossSectionMapper baseCrossSectionMapper; private final BaseCrossSectionMapper baseCrossSectionMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper; private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper baseCrossPhaseMapper;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
...@@ -68,7 +69,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -68,7 +69,7 @@ public class TrendServiceImpl implements TrendService {
CrossTurnDataRealtimeMapper crossTurnDataRealtimeMapper, CrossTurnDataRealtimeMapper crossTurnDataRealtimeMapper,
CrossDirDataHistMapper crossDirDataHistMapper, EventAlarmMapper eventAlarmMapper, CrossDirDataHistMapper crossDirDataHistMapper, EventAlarmMapper eventAlarmMapper,
RidInfoMapper ridInfoMapper, BaseCrossDirInfoMapper baseCrossDirInfoMapper, RidInfoMapper ridInfoMapper, BaseCrossDirInfoMapper baseCrossDirInfoMapper,
CrossSchemeOptLogMapper crossSchemeOptLogMapper, GreenwaveCrossMapper greenwaveCrossMapper, CrossDirDataRealtimeMapper crossDirDataRealtimeMapper, GreenwaveHistMapper greenwaveHistMapper, GreenwaveRealtimeMapper greenwaveRealtimeMapper, SceneStrategyIdeaMapper strategyIdeaMapper, StrategyMapper strategyMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper, CrossSchedulesPlanMapper crossSchedulesPlanMapper, BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchemeMapper crossSchemeMapper, BaseCrossSchemeMapper baseCrossSchemeMapper) { CrossSchemeOptLogMapper crossSchemeOptLogMapper, GreenwaveCrossMapper greenwaveCrossMapper, CrossDirDataRealtimeMapper crossDirDataRealtimeMapper, GreenwaveHistMapper greenwaveHistMapper, GreenwaveRealtimeMapper greenwaveRealtimeMapper, SceneStrategyIdeaMapper strategyIdeaMapper, StrategyMapper strategyMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper, CrossSchedulesPlanMapper crossSchedulesPlanMapper, BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchemeMapper crossSchemeMapper, BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper) {
this.greenwaveInfoMapper = greenwaveInfoMapper; this.greenwaveInfoMapper = greenwaveInfoMapper;
this.baseCrossInfoMapper = baseCrossInfoMapper; this.baseCrossInfoMapper = baseCrossInfoMapper;
this.crossDataRealtimeMapper = crossDataRealtimeMapper; this.crossDataRealtimeMapper = crossDataRealtimeMapper;
...@@ -87,6 +88,7 @@ public class TrendServiceImpl implements TrendService { ...@@ -87,6 +88,7 @@ public class TrendServiceImpl implements TrendService {
this.crossSchedulesPlanMapper = crossSchedulesPlanMapper; this.crossSchedulesPlanMapper = crossSchedulesPlanMapper;
this.baseCrossSectionMapper = baseCrossSectionMapper; this.baseCrossSectionMapper = baseCrossSectionMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper; this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossPhaseMapper = baseCrossPhaseMapper;
} }
@Override @Override
...@@ -413,8 +415,8 @@ public class TrendServiceImpl implements TrendService { ...@@ -413,8 +415,8 @@ public class TrendServiceImpl implements TrendService {
Integer currentSchemeId = findCurrentScheme(baseCrossSectionPOList, todayDate); Integer currentSchemeId = findCurrentScheme(baseCrossSectionPOList, todayDate);
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectById(currentSchemeId); BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectById(currentSchemeId);
greenwaveCross.setOffset(baseCrossSchemePO.getOffset()); greenwaveCross.setOffset(baseCrossSchemePO.getOffset());
// 构造相位时差图
List<GreenwaveDetailVO.GreenwavePhase> greenwavePhaseList = getGreenwavePhaseList(); List<GreenwaveDetailVO.GreenwavePhase> greenwavePhaseList = getGreenwavePhaseList(baseCrossSchemePO);
greenwaveCross.setGreenwavePhaseList(greenwavePhaseList); greenwaveCross.setGreenwavePhaseList(greenwavePhaseList);
res.add(greenwaveCross); res.add(greenwaveCross);
...@@ -422,9 +424,37 @@ public class TrendServiceImpl implements TrendService { ...@@ -422,9 +424,37 @@ public class TrendServiceImpl implements TrendService {
return res; return res;
} }
private List<GreenwaveDetailVO.GreenwavePhase> getGreenwavePhaseList() { private List<GreenwaveDetailVO.GreenwavePhase> getGreenwavePhaseList(BaseCrossSchemePO baseCrossSchemePO) {
List<GreenwaveDetailVO.GreenwavePhase> res = new ArrayList<>(); List<GreenwaveDetailVO.GreenwavePhase> res = new ArrayList<>();
Integer schemeId = baseCrossSchemePO.getId();
String crossId = baseCrossSchemePO.getCrossId();
Integer offset = baseCrossSchemePO.getOffset();
Integer coordPhaseId = baseCrossSchemePO.getCoordPhase();
// 获取方案相位并按相位序排序
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeId(crossId, schemeId);
// 减相位差,构造结果集
int size = crossPhasePOList.size();
for (int i = 0; i < size; i++) {
CrossPhasePO crossPhasePO = crossPhasePOList.get(i);
GreenwaveDetailVO.GreenwavePhase greenwavePhase = new GreenwaveDetailVO.GreenwavePhase();
greenwavePhase.setSort(i + 1);
greenwavePhase.setPhaseNo(crossPhasePO.getPhaseNo());
greenwavePhase.setSeconds(crossPhasePO.getPhaseTime() - offset);
Integer phaseId = crossPhasePO.getId();
greenwavePhase.setIsCoordinate(ObjectUtil.equals(phaseId, coordPhaseId) ? 1 : 0);
res.add(greenwavePhase);
}
// 添加最后一段相位
GreenwaveDetailVO.GreenwavePhase greenwavePhase = new GreenwaveDetailVO.GreenwavePhase();
CrossPhasePO crossPhasePO = crossPhasePOList.get(0);
greenwavePhase.setSort(size + 1);
greenwavePhase.setPhaseNo(crossPhasePO.getPhaseNo());
greenwavePhase.setSeconds(offset);
Integer phaseId = crossPhasePO.getId();
greenwavePhase.setIsCoordinate(ObjectUtil.equals(phaseId, coordPhaseId) ? 1 : 0);
res.add(greenwavePhase);
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