Commit 5d0b2c62 authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents e1feeee3 2fc0f812
...@@ -645,14 +645,14 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -645,14 +645,14 @@ public class PlanSendServiceImpl implements PlanSendService {
List<CrossSchemeInfoPO> crossSchemeInfoPOS = baseCrossSchemeMapper.selectSchemeInfoByCrossIdAndSchemeId(crossIdAndTimeDTO.getCrossId(), schemeId); List<CrossSchemeInfoPO> crossSchemeInfoPOS = baseCrossSchemeMapper.selectSchemeInfoByCrossIdAndSchemeId(crossIdAndTimeDTO.getCrossId(), schemeId);
if (ObjectUtil.isNotEmpty(crossSchemeInfoPOS)) { if (ObjectUtil.isNotEmpty(crossSchemeInfoPOS)) {
//根据相位号分组 //根据相位号分组
Map<String, List<CrossSchemeInfoPO>> collect = crossSchemeInfoPOS.stream().collect(Collectors.groupingBy(CrossSchemeInfoPO::getPhaseNo)); LinkedHashMap<String, List<CrossSchemeInfoPO>> collect = crossSchemeInfoPOS.stream().collect(Collectors.groupingBy(CrossSchemeInfoPO::getPhaseNo, LinkedHashMap::new, Collectors.toList()));
Set<String> set = collect.keySet(); Set<String> set = collect.keySet();
for (String s : set) { for (String s : set) {
List<CrossSchemeInfoPO> infoPOS = collect.get(s); List<CrossSchemeInfoPO> infoPOS = collect.get(s);
CrossSchemeInfoPO crossSchemeInfoPO = infoPOS.get(0); CrossSchemeInfoPO crossSchemeInfoPO = infoPOS.get(0);
SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement(); SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement();
phaseListElement.setPhaseId(Integer.valueOf(crossSchemeInfoPO.getPhaseId())); phaseListElement.setPhaseId(Integer.valueOf(crossSchemeInfoPO.getPhaseId()));
phaseListElement.setPhaseNo(crossSchemeInfoPO.getPhaseTime()); phaseListElement.setPhaseNo(crossSchemeInfoPO.getPhaseNo());
phaseListElement.setGreenTime(Integer.valueOf(crossSchemeInfoPO.getGreenTime())); phaseListElement.setGreenTime(Integer.valueOf(crossSchemeInfoPO.getGreenTime()));
phaseListElement.setYellowTime(Integer.valueOf(crossSchemeInfoPO.getYellowTime())); phaseListElement.setYellowTime(Integer.valueOf(crossSchemeInfoPO.getYellowTime()));
phaseListElement.setRedTime(Integer.valueOf(crossSchemeInfoPO.getRedTime())); phaseListElement.setRedTime(Integer.valueOf(crossSchemeInfoPO.getRedTime()));
...@@ -702,22 +702,22 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -702,22 +702,22 @@ public class PlanSendServiceImpl implements PlanSendService {
List<CrossSchemeStageOptLogPO> crossSchedulesPOList = mapper.convertValue(optView.getContent(), new TypeReference<List<CrossSchemeStageOptLogPO>>() { List<CrossSchemeStageOptLogPO> crossSchedulesPOList = mapper.convertValue(optView.getContent(), new TypeReference<List<CrossSchemeStageOptLogPO>>() {
}); });
if (ObjectUtils.isNotEmpty(crossSchedulesPOList)) { if (ObjectUtils.isNotEmpty(crossSchedulesPOList)) {
optPhaseList.addAll(oriPhaseList); for (int i = 0; i < crossSchedulesPOList.size(); i++) {
for (int i = 0; i < optPhaseList.size(); i++) { if (i == oriPhaseList.size()){
if (i == crossSchedulesPOList.size()){
break; break;
} }
CrossSchemeStageOptLogPO optLogPO = crossSchedulesPOList.get(i); CrossSchemeStageOptLogPO optLogPO = crossSchedulesPOList.get(i);
SaveSchemeConfigDTO.PhaseListElement optPhase = optPhaseList.get(i); SaveSchemeConfigDTO.PhaseListElement phaseListElement = oriPhaseList.get(i);
optPhase.setMinGreenTime(0); SaveSchemeConfigDTO.PhaseListElement optPhase = new SaveSchemeConfigDTO.PhaseListElement();
optPhase.setMaxGreenTime(0); BeanUtils.copyProperties(phaseListElement,optPhase);
optPhase.setGreenTime(optLogPO.getPhaseTime()); Integer yellowTime = phaseListElement.getYellowTime();
optPhase.setGreenFlashTime(0); Integer redTime = phaseListElement.getRedTime();
optPhase.setYellowFlashTime(0); //相位时间
optPhase.setRedFlashTime(0); Integer phaseTime = optLogPO.getPhaseTime();
optPhase.setYellowTime(0); //绿灯时间
optPhase.setRedTime(0); int greenTime = phaseTime - yellowTime - redTime;
optPhase.setYellowFlash(0); optPhase.setGreenTime(greenTime);
optPhaseList.add(optPhase);
} }
} }
} }
......
...@@ -90,9 +90,11 @@ public class GreenwaveInducesHistController { ...@@ -90,9 +90,11 @@ public class GreenwaveInducesHistController {
greenwaveInducesDTO.setWkt(x.getWkt()); greenwaveInducesDTO.setWkt(x.getWkt());
AtomicReference<Integer> equipCount = new AtomicReference<>(0); AtomicReference<Integer> equipCount = new AtomicReference<>(0);
List<GreenwaveDirDTO> dirList = new ArrayList<>(); List<GreenwaveDirDTO> dirList = new ArrayList<>();
greenwaveInducesList.stream().filter(t -> Objects.nonNull(t.getGreenId()) && t.getGreenId().equals(x.getId())).collect(Collectors.groupingBy(GreenwaveInduces::getDir)).entrySet().forEach(k -> {
LambdaQueryWrapper<GreenwaveInducesHist> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<GreenwaveInducesHist> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(GreenwaveInducesHist::getGreenId, x.getId()); queryWrapper.eq(GreenwaveInducesHist::getGreenId, x.getId());
List<GreenwaveInducesHist> newGreenwaveInducesHistList= greenwaveInducesHistService.list(queryWrapper); queryWrapper.eq(GreenwaveInducesHist::getDir, k.getKey());
List<GreenwaveInducesHist> newGreenwaveInducesHistList = greenwaveInducesHistService.list(queryWrapper);
newGreenwaveInducesHistList.stream().forEach(o -> { newGreenwaveInducesHistList.stream().forEach(o -> {
GreenwaveDirDTO greenwaveDirDTO = new GreenwaveDirDTO(); GreenwaveDirDTO greenwaveDirDTO = new GreenwaveDirDTO();
greenwaveDirDTO.setDir(o.getDir()); greenwaveDirDTO.setDir(o.getDir());
...@@ -139,7 +141,7 @@ public class GreenwaveInducesHistController { ...@@ -139,7 +141,7 @@ public class GreenwaveInducesHistController {
equipCount.updateAndGet(v -> v + induceDTOList.size()); equipCount.updateAndGet(v -> v + induceDTOList.size());
dirList.add(greenwaveDirDTO); dirList.add(greenwaveDirDTO);
}); });
// }); });
greenwaveInducesDTO.setGreenwaveDirList(dirList); greenwaveInducesDTO.setGreenwaveDirList(dirList);
greenwaveInducesDTO.setEquipCount(equipCount.get()); greenwaveInducesDTO.setEquipCount(equipCount.get());
greenwaveInfoList.add(greenwaveInducesDTO); greenwaveInfoList.add(greenwaveInducesDTO);
...@@ -186,12 +188,12 @@ public class GreenwaveInducesHistController { ...@@ -186,12 +188,12 @@ public class GreenwaveInducesHistController {
greenwaveInducesDTO.setStatus(x.getStatus()); greenwaveInducesDTO.setStatus(x.getStatus());
AtomicReference<Integer> equipCount = new AtomicReference<>(0); AtomicReference<Integer> equipCount = new AtomicReference<>(0);
List<GreenwaveDirDTO> dirList = new ArrayList<>(); List<GreenwaveDirDTO> dirList = new ArrayList<>();
greenwaveInducesHistList.stream().filter(t->Objects.nonNull(t.getGreenId())&& t.getGreenId().equals(x.getId())).collect(Collectors.groupingBy(GreenwaveInducesHist::getDir)).entrySet().forEach(k->{ greenwaveInducesList.stream().filter(t -> Objects.nonNull(t.getGreenId()) && t.getGreenId().equals(x.getId())).collect(Collectors.groupingBy(GreenwaveInduces::getDir)).entrySet().forEach(k -> {
// greenwaveInducesList.stream().collect(Collectors.toMap(p -> p.getGreenId() + "_" + p.getDir(), p -> p, (existing, replacement) -> (existing.getGreenId() + "_" + existing.getDir()).equals(replacement.getGreenId() + "_" + replacement.getDir()) ? existing : replacement)).values().stream().distinct().collect(Collectors.toList()).stream().forEach(p -> { // greenwaveInducesList.stream().collect(Collectors.toMap(p -> p.getGreenId() + "_" + p.getDir(), p -> p, (existing, replacement) -> (existing.getGreenId() + "_" + existing.getDir()).equals(replacement.getGreenId() + "_" + replacement.getDir()) ? existing : replacement)).values().stream().distinct().collect(Collectors.toList()).stream().forEach(p -> {
LambdaQueryWrapper<GreenwaveInducesHist> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<GreenwaveInducesHist> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(GreenwaveInducesHist::getGreenId, x.getId()); queryWrapper.eq(GreenwaveInducesHist::getGreenId, x.getId());
queryWrapper.eq(GreenwaveInducesHist::getDir,k.getKey()); queryWrapper.eq(GreenwaveInducesHist::getDir, k.getKey());
List<GreenwaveInducesHist> newGreenwaveInducesHistList= greenwaveInducesHistService.list(queryWrapper); List<GreenwaveInducesHist> newGreenwaveInducesHistList = greenwaveInducesHistService.list(queryWrapper);
newGreenwaveInducesHistList.stream().forEach(o -> { newGreenwaveInducesHistList.stream().forEach(o -> {
// greenwaveInducesHistList.stream().filter(o -> Objects.isNull(o.getGreenId()) && Objects.equals(o.getGreenId(),x.getId())).forEach(o -> { // greenwaveInducesHistList.stream().filter(o -> Objects.isNull(o.getGreenId()) && Objects.equals(o.getGreenId(),x.getId())).forEach(o -> {
GreenwaveDirDTO greenwaveDirDTO = new GreenwaveDirDTO(); GreenwaveDirDTO greenwaveDirDTO = new GreenwaveDirDTO();
......
...@@ -18,6 +18,7 @@ import net.wanji.databus.bo.CrossIdBO; ...@@ -18,6 +18,7 @@ import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dao.entity.*; import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.mapper.*; import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dto.CrossSchemeRingsDTO; import net.wanji.databus.dto.CrossSchemeRingsDTO;
import net.wanji.databus.dto.QueryByCrossIdAndTimeDTO;
import net.wanji.databus.po.*; import net.wanji.databus.po.*;
import net.wanji.databus.vo.SchemeOptSendVO; import net.wanji.databus.vo.SchemeOptSendVO;
import net.wanji.databus.vo.SchemeSendVO; import net.wanji.databus.vo.SchemeSendVO;
...@@ -40,7 +41,6 @@ import org.springframework.stereotype.Service; ...@@ -40,7 +41,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -234,34 +234,37 @@ public class DiagnoServiceImpl implements DiagnoService { ...@@ -234,34 +234,37 @@ public class DiagnoServiceImpl implements DiagnoService {
@Override @Override
public List<SchemeOptVO.PhaseOptTime> schemeComparison(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) { public List<SchemeOptVO.PhaseOptTime> schemeComparison(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) {
String crossId = crossIdAndSchemeIdDTO.getCrossId(); String crossId = crossIdAndSchemeIdDTO.getCrossId();
Integer schemeId = crossIdAndSchemeIdDTO.getSchemeId();
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>(); List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>();
CrossSchemeRingsDTO crossSchemeRingsDTO = new CrossSchemeRingsDTO(); QueryByCrossIdAndTimeDTO queryByCrossIdAndTimeDTO = new QueryByCrossIdAndTimeDTO();
crossSchemeRingsDTO.setCrossId(crossId); queryByCrossIdAndTimeDTO.setCrossId(crossId);
crossSchemeRingsDTO.setPattern(String.valueOf(schemeId)); queryByCrossIdAndTimeDTO.setDatetime(new Date());
//查询路口当前方案
//查询当前路口运行的方案 JsonViewObject jsonViewObjectScheme = utcFeignClients.selectSchemeByParams(queryByCrossIdAndTimeDTO);
LocalDate now = LocalDate.now(); Integer jsonViewObjectSchemeCode = jsonViewObjectScheme.getCode();
int week = now.getDayOfWeek().getValue(); if (jsonViewObjectSchemeCode != 200){
if (week == 7) { log.info("未查询到当前路口号,crossId:{}",crossId);
//表中周日用0表示 return phaseOptTimeList;
week = 0;
} }
//通过路口号和方案号查询方案id ObjectMapper mapper1 = JacksonUtils.getInstance();
CrossNowSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndWeek(crossId,week); BaseCrossSchemePO baseCrossSchemePO = mapper1.convertValue(jsonViewObjectScheme.getContent(), new TypeReference<BaseCrossSchemePO>() {
});
if (ObjectUtils.isEmpty(baseCrossSchemePO)){ if (ObjectUtils.isEmpty(baseCrossSchemePO)){
return phaseOptTimeList; return phaseOptTimeList;
} }
Integer schemeNo = baseCrossSchemePO.getSchemeId(); Integer schemeNo = Integer.valueOf(baseCrossSchemePO.getSchemeNo());
if (ObjectUtil.isEmpty(schemeNo)){ if (ObjectUtil.isEmpty(schemeNo) || schemeNo == 85){
log.info("当前路口为黃闪,crossId:{}",crossId); log.info("当前路口为黃闪,crossId:{}",crossId);
return phaseOptTimeList; return phaseOptTimeList;
} }
schemeNo = (schemeNo+2)/3; List<CrossPhasePO> phasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo);
List<CrossPhasePO> phasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeId(crossId, schemeNo);
if (ObjectUtils.isEmpty(phasePOList) || ObjectUtils.isEmpty(schemeNo)) { if (ObjectUtils.isEmpty(phasePOList) || ObjectUtils.isEmpty(schemeNo)) {
return phaseOptTimeList; return phaseOptTimeList;
} }
CrossSchemeRingsDTO crossSchemeRingsDTO = new CrossSchemeRingsDTO();
crossSchemeRingsDTO.setCrossId(crossId);
crossSchemeRingsDTO.setPattern(String.valueOf(schemeNo));
JsonViewObject jsonViewObject = utcFeignClients.schemeOptLog(crossSchemeRingsDTO); JsonViewObject jsonViewObject = utcFeignClients.schemeOptLog(crossSchemeRingsDTO);
Integer code = jsonViewObject.getCode(); Integer code = jsonViewObject.getCode();
ObjectMapper mapper = JacksonUtils.getInstance(); ObjectMapper mapper = JacksonUtils.getInstance();
...@@ -282,7 +285,7 @@ public class DiagnoServiceImpl implements DiagnoService { ...@@ -282,7 +285,7 @@ public class DiagnoServiceImpl implements DiagnoService {
} else { } else {
for (CrossPhasePO crossPhasePO : phasePOList) { for (CrossPhasePO crossPhasePO : phasePOList) {
SchemeOptVO.PhaseOptTime phaseOptTime = new SchemeOptVO.PhaseOptTime(); SchemeOptVO.PhaseOptTime phaseOptTime = new SchemeOptVO.PhaseOptTime();
phaseOptTime.setPhaseNo(crossPhasePO.getPhaseNo()); phaseOptTime.setPhaseNo(String.valueOf(crossPhasePO.getSort()));
Integer oriPhaseTime = crossPhasePO.getPhaseTime(); Integer oriPhaseTime = crossPhasePO.getPhaseTime();
phaseOptTime.setOriGreenTime(oriPhaseTime); phaseOptTime.setOriGreenTime(oriPhaseTime);
List<CrossSchemeStageOptLogPO> list = crossSchedulesPOList.stream().filter(x -> x.getPhaseNo().equals(String.valueOf(crossPhasePO.getSort()))).collect(Collectors.toList()); List<CrossSchemeStageOptLogPO> list = crossSchedulesPOList.stream().filter(x -> x.getPhaseNo().equals(String.valueOf(crossPhasePO.getSort()))).collect(Collectors.toList());
...@@ -293,8 +296,7 @@ public class DiagnoServiceImpl implements DiagnoService { ...@@ -293,8 +296,7 @@ public class DiagnoServiceImpl implements DiagnoService {
CrossSchemeStageOptLogPO optLogPO = list.get(0); CrossSchemeStageOptLogPO optLogPO = list.get(0);
Integer optPhaseTime = optLogPO.getPhaseTime(); Integer optPhaseTime = optLogPO.getPhaseTime();
phaseOptTime.setOptGreenTime(optPhaseTime); phaseOptTime.setOptGreenTime(optPhaseTime);
//两个时间的绝对值 int optTime = oriPhaseTime - optPhaseTime;
int optTime = Math.abs(oriPhaseTime - optPhaseTime);
phaseOptTime.setOptTime(optTime); phaseOptTime.setOptTime(optTime);
} }
phaseOptTimeList.add(phaseOptTime); phaseOptTimeList.add(phaseOptTime);
......
...@@ -99,7 +99,9 @@ public class InduceSendServiceImpl implements InduceSendService { ...@@ -99,7 +99,9 @@ public class InduceSendServiceImpl implements InduceSendService {
byte[] imageBytes = induceTemplate.getFileContent(); byte[] imageBytes = induceTemplate.getFileContent();
if (imageBytes != null || imageBytes.length > 0) { if (imageBytes != null || imageBytes.length > 0) {
// 将字节数组转换为字节对象 // 将字节数组转换为字节对象
BufferedImage image = ImageIO.read(new ByteArrayInputStream(imageBytes)); BufferedImage image =null;
try {
image = ImageIO.read(new ByteArrayInputStream(imageBytes));
// 修改图像中文字 // 修改图像中文字
//addTextToImage(image, param.getContents(), induceTemplate.getTextX(), induceTemplate.getTextY(), induceTemplate.getTextSize(), induceTemplate.getTextSign()); //addTextToImage(image, param.getContents(), induceTemplate.getTextX(), induceTemplate.getTextY(), induceTemplate.getTextSize(), induceTemplate.getTextSign());
// 定义文字区域四个角的坐标 // 定义文字区域四个角的坐标
...@@ -113,8 +115,11 @@ public class InduceSendServiceImpl implements InduceSendService { ...@@ -113,8 +115,11 @@ public class InduceSendServiceImpl implements InduceSendService {
int bottomRightX = Integer.parseInt(bottomRight[0]); int bottomRightX = Integer.parseInt(bottomRight[0]);
int bottomRightY = Integer.parseInt(bottomRight[1]); int bottomRightY = Integer.parseInt(bottomRight[1]);
// 图片生成操作 // 图片生成操作
boolean upDown=param.getContents()[0].contains("▲") || param.getContents()[0].contains("▼"); boolean upDown = param.getContents()[0].contains("▲") || param.getContents()[0].contains("▼");
createImageWithText(induceTemplate, image, param.getContents(), induceTemplate.getTextSign(), upDown,topLeftX, topLeftY, bottomRightX, bottomRightY); createImageWithText(induceTemplate, image, param.getContents(), induceTemplate.getTextSign(), upDown, topLeftX, topLeftY, bottomRightX, bottomRightY);
}catch (Exception ex){
log.error(ex.getMessage());
}
// 测试阶段保存图片到本地 // 测试阶段保存图片到本地
// ImageIO.write(image, "bmp", new File("D:\\tmp\\" + induceTemplate.getFileName())); // ImageIO.write(image, "bmp", new File("D:\\tmp\\" + induceTemplate.getFileName()));
// 上传文件至ftp // 上传文件至ftp
...@@ -170,9 +175,9 @@ public class InduceSendServiceImpl implements InduceSendService { ...@@ -170,9 +175,9 @@ public class InduceSendServiceImpl implements InduceSendService {
induceHist.setGreenId(param.getGreenId()); induceHist.setGreenId(param.getGreenId());
induceHistService.save(induceHist); induceHistService.save(induceHist);
//保存诱导状态信息 //保存诱导状态信息
if(Objects.nonNull(greenwaveinduces)) { if(Objects.nonNull(greenwaveinduces) && param.getFlg()==1) {
greenwaveinduces.setInducesCount(Objects.isNull(greenwaveinduces.getInducesCount()) ? 0 : greenwaveinduces.getInducesCount() + 1); greenwaveinduces.setInducesCount(Objects.isNull(greenwaveinduces.getInducesCount()) ? 0 : greenwaveinduces.getInducesCount() + ((param.getFlg()==1)?1:0));
greenwaveinduces.setStatus(1); greenwaveinduces.setStatus(param.getFlg()==1?1:0);
greenwaveInducesService.saveOrUpdate(greenwaveinduces); greenwaveInducesService.saveOrUpdate(greenwaveinduces);
} }
} }
......
...@@ -95,7 +95,7 @@ public class InducesMonitorTask { ...@@ -95,7 +95,7 @@ public class InducesMonitorTask {
* #绿波调度计划扫描周期 * #绿波调度计划扫描周期
* 5 分钟 300000 * 5 分钟 300000
*/ */
@Scheduled(fixedRate = 30000) @Scheduled(fixedRate = 300000)
public void refresh() throws Exception { public void refresh() throws Exception {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
AtomicLong synCount = new AtomicLong(); AtomicLong synCount = new AtomicLong();
...@@ -192,6 +192,16 @@ public class InducesMonitorTask { ...@@ -192,6 +192,16 @@ public class InducesMonitorTask {
greenwaveInducesHist.setControlOptTimes(greenOptHistEntity.getControlTime() + "|" + DateUtil.format(DateUtil.addSecond(greenOptHistEntity.getControlTime(), greenOptHistEntity.getControlDuration()), Constants.DATE_FORMAT.E_DATE_FORMAT_SECOND));//执行时段 greenwaveInducesHist.setControlOptTimes(greenOptHistEntity.getControlTime() + "|" + DateUtil.format(DateUtil.addSecond(greenOptHistEntity.getControlTime(), greenOptHistEntity.getControlDuration()), Constants.DATE_FORMAT.E_DATE_FORMAT_SECOND));//执行时段
} }
greenwaveInducesHist.setType(greenOptHistEntity.getType());// 执行策略 greenwaveInducesHist.setType(greenOptHistEntity.getType());// 执行策略
String upDown="";
// 计算绿波速度变化趋势
if(Objects.nonNull(greenwaveInducesHist.getMinSpeed()) && Objects.nonNull(greenwaveInducesHist.getMaxSpeed()) && Objects.nonNull(greenOptHistEntity.getMinSpeed()) && Objects.nonNull(greenOptHistEntity.getMaxSpeed())) {
if (greenwaveInducesHist.getMinSpeed() > greenOptHistEntity.getMinSpeed() || greenwaveInducesHist.getMaxSpeed() > greenOptHistEntity.getMaxSpeed()) {
upDown = "▼ ";
}
if (greenwaveInducesHist.getMinSpeed() < greenOptHistEntity.getMinSpeed() || greenwaveInducesHist.getMaxSpeed() < greenOptHistEntity.getMaxSpeed()) {
upDown = "▲ ";
}
}
greenwaveInducesHist.setMinSpeed(greenOptHistEntity.getMinSpeed()); greenwaveInducesHist.setMinSpeed(greenOptHistEntity.getMinSpeed());
greenwaveInducesHist.setMaxSpeed(greenOptHistEntity.getMaxSpeed()); greenwaveInducesHist.setMaxSpeed(greenOptHistEntity.getMaxSpeed());
// greenwaveInducesHist.setDir(greenOptHistEntity.getDirType()); // greenwaveInducesHist.setDir(greenOptHistEntity.getDirType());
...@@ -208,7 +218,8 @@ public class InducesMonitorTask { ...@@ -208,7 +218,8 @@ public class InducesMonitorTask {
MessageParam messageParam = new MessageParam(); MessageParam messageParam = new MessageParam();
messageParam.setFlg(1); messageParam.setFlg(1);
messageParam.setGreenId(greenwaveInfoPO.getId()); messageParam.setGreenId(greenwaveInfoPO.getId());
messageParam.setContents(new String[]{(Objects.nonNull(greenOptHistEntity.getMinSpeed())?greenOptHistEntity.getMinSpeed().intValue()+"-":"")+(Objects.nonNull(greenOptHistEntity.getMaxSpeed())?greenOptHistEntity.getMaxSpeed().intValue():"")+"km/h"});
messageParam.setContents(new String[]{(upDown+(Objects.nonNull(greenOptHistEntity.getMinSpeed())?greenOptHistEntity.getMinSpeed().intValue()+"-":"")+(Objects.nonNull(greenOptHistEntity.getMaxSpeed())?greenOptHistEntity.getMaxSpeed().intValue():""))+"km/h"});
messageParam.setType("TFMH"); messageParam.setType("TFMH");
try { try {
if(greenwaveInducesHist.getStatus()==0||greenwaveInducesHist.getModifyTime().before(greenOptHistEntity.getCreateTime())) { if(greenwaveInducesHist.getStatus()==0||greenwaveInducesHist.getModifyTime().before(greenOptHistEntity.getCreateTime())) {
......
...@@ -41,6 +41,9 @@ public interface BaseCrossPhaseMapper { ...@@ -41,6 +41,9 @@ public interface BaseCrossPhaseMapper {
List<CrossPhasePO> selectByCrossIdAndSchemeId(@Param("crossId") String crossId, List<CrossPhasePO> selectByCrossIdAndSchemeId(@Param("crossId") String crossId,
@Param("schemeId") Integer schemeId); @Param("schemeId") Integer schemeId);
List<CrossPhasePO> selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
@Param("schemeNo") Integer schemeNo);
void update(CrossPhasePO crossPhasePO); void update(CrossPhasePO crossPhasePO);
void insertBatch(List<CrossPhasePO> crossPhaseList); void insertBatch(List<CrossPhasePO> crossPhaseList);
......
...@@ -172,4 +172,18 @@ ...@@ -172,4 +172,18 @@
order by sort order by sort
</select> </select>
<select id="selectByCrossIdAndSchemeNo" resultMap="BaseResultMap">
SELECT
phase.id,phase.phase_no,phase.NAME,phase.sort,phase.cross_id,phase.plan_id,phase.ring_no,phase.group_no,phase.phase_type,phase.control_mode,phase.phase_time,phase.green_time,phase.green_flash_time,phase.yellow_flash_time,phase.red_flash_time,phase.ped_flash_time,phase.yellow_time,phase.red_time,phase.min_green_time,phase.max_green_time,phase.gmt_create,phase.gmt_modified
FROM
t_base_cross_phase phase
LEFT JOIN t_base_cross_scheme scheme ON phase.cross_id = scheme.cross_id
AND phase.plan_id = scheme.id
WHERE
phase.cross_id = #{crossId}
AND scheme.scheme_no = #{schemeNo}
ORDER BY
sort
</select>
</mapper> </mapper>
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