Commit ec35e7ad authored by zhouleilei's avatar zhouleilei

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

parent 948eb1fd
......@@ -183,20 +183,25 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossLightsPO.setType(2);
}
}
CrossSchemePO crossSchemePO = addNewScheme(crossId);
//黃闪方案
CrossSchemePO crossSchemePO = addNewScheme(crossId,85);
//关灯方案
CrossSchemePO OffLampSchemePO = addNewScheme(crossId,84);
crossSchemeList.add(crossSchemePO);
crossSchemeList.add(OffLampSchemePO);
phaseLightsVO.setCrossSchemeList(crossSchemeList);
phaseLightsVO.setCrossPhaseList(crossPhaseList);
return phaseLightsVO;
}
//初始化一个黃闪方案
private CrossSchemePO addNewScheme(String crossId){
private CrossSchemePO addNewScheme(String crossId,int schemeNo){
CrossSchemePO crossSchemePO = new CrossSchemePO();
//方案号
int schemeNo = 85;
crossSchemePO.setSchemeNo(schemeNo + "");
crossSchemePO.setName("方案" + schemeNo);
if (schemeNo == 85){
crossSchemePO.setName("黃闪方案" + schemeNo);
}else if (schemeNo == 84){
crossSchemePO.setName("关灯方案" + schemeNo);
}
crossSchemePO.setCrossId(crossId);
crossSchemePO.setCycle(0);
//协调相位id先默认给1
......@@ -444,7 +449,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
if (schemeNo == 85) {
//黃闪
crossPhasePO.setControlMode(7);
} else {
}else if (schemeNo == 84) {
crossPhasePO.setControlMode(5);
}else {
crossPhasePO.setControlMode(1);
}
crossPhasePO.setPhaseTime(stageTime);
......@@ -510,9 +517,6 @@ public class StaticInfoServiceImpl implements StaticInfoService {
String turn = readUtf8Line.substring(3);
Integer wjLightsDir = HiseseDirEnum.getWjLightsDir(Integer.parseInt(dir, 2));
Integer wjLightsTurn = HisenseTurnEnum.getWjLightsTurn(Integer.parseInt(turn, 2));
if (wjLightsTurn == 9){
System.out.println("左只有");
}
Integer type = HisenseTurnEnum.getType(Integer.parseInt(turn, 2));
log.error("readUtf8Line = {},dir={},turn={},wjLightsDir={},wjLightsTurn={}",readUtf8Line,dir,turn,wjLightsDir,wjLightsTurn);
if (wjLightsDir == 0 && wjLightsTurn == 0){
......@@ -683,6 +687,16 @@ public class StaticInfoServiceImpl implements StaticInfoService {
LambdaQueryWrapper<VNtcipTimeBaseScheduleView> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(VNtcipTimeBaseScheduleView::getCIntsID, code);
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());
if (!CollectionUtils.isEmpty(vNtcipTimeBaseScheduleViews)) {
......@@ -719,7 +733,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchedulesPOWeek.setWeek(0);
crossSchedulesPOWeek.setMonths(monthsStr);
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);
crossSchedulesPOWeek.setSpecialDate(parse);
crossSchedulesPOWeek.setPlanId(hisensePlanId);
......@@ -728,6 +744,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
}
}
}else {
if (StringUtils.isNotBlank(weekStr)) {
String[] weekSplit = weekStr.split(",");
......@@ -879,11 +897,15 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) {
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())|| "250".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
if ("255".equals(coordinationStatus.getCoordPatternStatus())){
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
}else{
crossSchemeRings.setPattern("251");
}
return crossSchemeRings;
}
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