Commit ec35e7ad authored by zhouleilei's avatar zhouleilei

1、新增关灯模式;2-调度优化-关联时段,过滤无用调用;3-调度优化-处理多月多日数据

parent 948eb1fd
...@@ -183,20 +183,25 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -183,20 +183,25 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossLightsPO.setType(2); crossLightsPO.setType(2);
} }
} }
//黃闪方案
CrossSchemePO crossSchemePO = addNewScheme(crossId); CrossSchemePO crossSchemePO = addNewScheme(crossId,85);
//关灯方案
CrossSchemePO OffLampSchemePO = addNewScheme(crossId,84);
crossSchemeList.add(crossSchemePO); crossSchemeList.add(crossSchemePO);
crossSchemeList.add(OffLampSchemePO);
phaseLightsVO.setCrossSchemeList(crossSchemeList); phaseLightsVO.setCrossSchemeList(crossSchemeList);
phaseLightsVO.setCrossPhaseList(crossPhaseList); phaseLightsVO.setCrossPhaseList(crossPhaseList);
return phaseLightsVO; return phaseLightsVO;
} }
//初始化一个黃闪方案 //初始化一个黃闪方案
private CrossSchemePO addNewScheme(String crossId){ private CrossSchemePO addNewScheme(String crossId,int schemeNo){
CrossSchemePO crossSchemePO = new CrossSchemePO(); CrossSchemePO crossSchemePO = new CrossSchemePO();
//方案号
int schemeNo = 85;
crossSchemePO.setSchemeNo(schemeNo + ""); crossSchemePO.setSchemeNo(schemeNo + "");
crossSchemePO.setName("方案" + schemeNo); if (schemeNo == 85){
crossSchemePO.setName("黃闪方案" + schemeNo);
}else if (schemeNo == 84){
crossSchemePO.setName("关灯方案" + schemeNo);
}
crossSchemePO.setCrossId(crossId); crossSchemePO.setCrossId(crossId);
crossSchemePO.setCycle(0); crossSchemePO.setCycle(0);
//协调相位id先默认给1 //协调相位id先默认给1
...@@ -444,7 +449,9 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -444,7 +449,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
if (schemeNo == 85) { if (schemeNo == 85) {
//黃闪 //黃闪
crossPhasePO.setControlMode(7); crossPhasePO.setControlMode(7);
} else { }else if (schemeNo == 84) {
crossPhasePO.setControlMode(5);
}else {
crossPhasePO.setControlMode(1); crossPhasePO.setControlMode(1);
} }
crossPhasePO.setPhaseTime(stageTime); crossPhasePO.setPhaseTime(stageTime);
...@@ -510,9 +517,6 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -510,9 +517,6 @@ public class StaticInfoServiceImpl implements StaticInfoService {
String turn = readUtf8Line.substring(3); String turn = readUtf8Line.substring(3);
Integer wjLightsDir = HiseseDirEnum.getWjLightsDir(Integer.parseInt(dir, 2)); Integer wjLightsDir = HiseseDirEnum.getWjLightsDir(Integer.parseInt(dir, 2));
Integer wjLightsTurn = HisenseTurnEnum.getWjLightsTurn(Integer.parseInt(turn, 2)); Integer wjLightsTurn = HisenseTurnEnum.getWjLightsTurn(Integer.parseInt(turn, 2));
if (wjLightsTurn == 9){
System.out.println("左只有");
}
Integer type = HisenseTurnEnum.getType(Integer.parseInt(turn, 2)); Integer type = HisenseTurnEnum.getType(Integer.parseInt(turn, 2));
log.error("readUtf8Line = {},dir={},turn={},wjLightsDir={},wjLightsTurn={}",readUtf8Line,dir,turn,wjLightsDir,wjLightsTurn); log.error("readUtf8Line = {},dir={},turn={},wjLightsDir={},wjLightsTurn={}",readUtf8Line,dir,turn,wjLightsDir,wjLightsTurn);
if (wjLightsDir == 0 && wjLightsTurn == 0){ if (wjLightsDir == 0 && wjLightsTurn == 0){
...@@ -683,6 +687,16 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -683,6 +687,16 @@ public class StaticInfoServiceImpl implements StaticInfoService {
LambdaQueryWrapper<VNtcipTimeBaseScheduleView> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<VNtcipTimeBaseScheduleView> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(VNtcipTimeBaseScheduleView::getCIntsID, code); queryWrapper.eq(VNtcipTimeBaseScheduleView::getCIntsID, code);
List<VNtcipTimeBaseScheduleView> vNtcipTimeBaseScheduleViews = vNtcipTimeBaseScheduleMapper.selectList(queryWrapper); List<VNtcipTimeBaseScheduleView> vNtcipTimeBaseScheduleViews = vNtcipTimeBaseScheduleMapper.selectList(queryWrapper);
//查询时段数据
List<VNtcipTimeBaseDayplanDTO> vNtcipTimeBaseDayplanDTOS = vNtcipTimeBaseDayplanMapper.listByCrossIdAndDayPlanId(code, -1);
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(vNtcipTimeBaseDayplanDTOS)){
Map<Integer, List<VNtcipTimeBaseDayplanDTO>> collect = vNtcipTimeBaseDayplanDTOS.stream().collect(Collectors.groupingBy(VNtcipTimeBaseDayplanDTO::getNDayPlanNumber));
Set<Integer> keySet = collect.keySet();
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(vNtcipTimeBaseScheduleViews)){
vNtcipTimeBaseScheduleViews = vNtcipTimeBaseScheduleViews.stream().filter(x -> keySet.contains(x.getNTimeBaseScheduleDayPlan())).collect(Collectors.toList());
}
}
int year = DateUtil.getYear(new Date()); int year = DateUtil.getYear(new Date());
if (!CollectionUtils.isEmpty(vNtcipTimeBaseScheduleViews)) { if (!CollectionUtils.isEmpty(vNtcipTimeBaseScheduleViews)) {
...@@ -719,7 +733,9 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -719,7 +733,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchedulesPOWeek.setWeek(0); crossSchedulesPOWeek.setWeek(0);
crossSchedulesPOWeek.setMonths(monthsStr); crossSchedulesPOWeek.setMonths(monthsStr);
crossSchedulesPOWeek.setDays(daysStr); crossSchedulesPOWeek.setDays(daysStr);
String date = year + "-" + monthsStr + "-" + day; String[] split = monthsStr.split(",");
for (String s : split) {
String date = year + "-" + s + "-" + day;
Date parse = DateUtil.parse(date, Constants.DATE_FORMAT.E_DATE_FORMAT_DAY); Date parse = DateUtil.parse(date, Constants.DATE_FORMAT.E_DATE_FORMAT_DAY);
crossSchedulesPOWeek.setSpecialDate(parse); crossSchedulesPOWeek.setSpecialDate(parse);
crossSchedulesPOWeek.setPlanId(hisensePlanId); crossSchedulesPOWeek.setPlanId(hisensePlanId);
...@@ -728,6 +744,8 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -728,6 +744,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
} }
}
}else { }else {
if (StringUtils.isNotBlank(weekStr)) { if (StringUtils.isNotBlank(weekStr)) {
String[] weekSplit = weekStr.split(","); String[] weekSplit = weekStr.split(",");
...@@ -879,11 +897,15 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -879,11 +897,15 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//获取方案号失败 //获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId()); log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null; return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) { } else if ("255".equals(coordinationStatus.getCoordPatternStatus())|| "250".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪 //黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings(); CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId()); crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
if ("255".equals(coordinationStatus.getCoordPatternStatus())){
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus()); crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
}else{
crossSchemeRings.setPattern("251");
}
return crossSchemeRings; return crossSchemeRings;
} }
messageContent.addElement(HttpConstants.PATTERN).setText(coordinationStatus.getCoordPatternStatus()); messageContent.addElement(HttpConstants.PATTERN).setText(coordinationStatus.getCoordPatternStatus());
......
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