Commit 71bdf70e authored by hanbing's avatar hanbing

方案管理-方案下发,步进控制

parent df9e8e10
...@@ -3,6 +3,8 @@ package net.wanji.web.controller; ...@@ -3,6 +3,8 @@ package net.wanji.web.controller;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.LockPhaseDTO;
import net.wanji.web.dto.ScheduleIdDTO; import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO; import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.service.impl.SchemeSendServiceImpl; import net.wanji.web.service.impl.SchemeSendServiceImpl;
...@@ -12,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -12,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/** /**
* @author duanruiming * @author hanbing
* @date 2023/01/04 16:10 * @date 2023/01/04 16:10
*/ */
@Api(value = "PlanSendController", description = "方案下发") @Api(value = "PlanSendController", description = "方案下发")
...@@ -39,4 +41,18 @@ public class PlanSendController { ...@@ -39,4 +41,18 @@ public class PlanSendController {
JsonViewObject jsonViewObject = schemeSendService.schemeSend(schemeIdDTO); JsonViewObject jsonViewObject = schemeSendService.schemeSend(schemeIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-步进", notes = "模式切换-中心控制-步进")
@PostMapping("/nextStep")
public JsonViewObject nextStep(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.nextStep(crossIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-相位锁定", notes = "模式切换-中心控制-相位锁定")
@PostMapping("/lockPhase")
public JsonViewObject lockPhase(@RequestBody LockPhaseDTO lockPhaseDTO) {
JsonViewObject jsonViewObject = schemeSendService.lockPhase(lockPhaseDTO);
return jsonViewObject;
}
} }
...@@ -116,12 +116,12 @@ public class SignalCommandController { ...@@ -116,12 +116,12 @@ public class SignalCommandController {
@ApiOperation(value = "锁定控制-相位锁定/解锁", notes = "锁定控制-相位锁定/解锁") @ApiOperation(value = "锁定控制-相位锁定/解锁", notes = "锁定控制-相位锁定/解锁")
@PostMapping(value = "/lockControl") @PostMapping(value = "/lockControl")
public JsonViewObject lockControl(@RequestBody @Validated ControlCommandVO commandVO) { public JsonViewObject lockControl(@RequestBody @Validated LockControlVO lockControlVO) {
JsonViewObject jsonViewObject = utcFeignClients.lockControl(commandVO); JsonViewObject jsonViewObject = utcFeignClients.lockControl(lockControlVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常"); return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常");
} }
controlHistMapper.insertOne(commandVO.getCrossCode(), 4); controlHistMapper.insertOne(lockControlVO.getCrossCode(), 4);
return jsonViewObject; return jsonViewObject;
} }
......
package net.wanji.web.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 方案下发-模式切换-中心控制-相位锁定输入参数
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
public class LockPhaseDTO {
@ApiModelProperty(value = "路口ID,如:c7e7b1f352dd4acab4a60088eb391cca", required = true)
private String crossId;
@ApiModelProperty(value = "相位ID", required = true)
private String phaseId;
}
...@@ -54,6 +54,8 @@ public class SaveSchemeConfigDTO { ...@@ -54,6 +54,8 @@ public class SaveSchemeConfigDTO {
@Data @Data
public static class PhaseListElement { public static class PhaseListElement {
@ApiModelProperty(value = "相位ID", required = true)
private Integer phaseId;
@ApiModelProperty(value = "相位号", required = true) @ApiModelProperty(value = "相位号", required = true)
private String phaseNo; private String phaseNo;
@ApiModelProperty(value = "相位类型 1实相位 2虚相位 3伴随相位", required = true) @ApiModelProperty(value = "相位类型 1实相位 2虚相位 3伴随相位", required = true)
......
package net.wanji.web.service; package net.wanji.web.service;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.LockPhaseDTO;
import net.wanji.web.dto.ScheduleIdDTO; import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO; import net.wanji.web.dto.SchemeIdDTO;
...@@ -12,4 +14,8 @@ public interface SchemeSendService { ...@@ -12,4 +14,8 @@ public interface SchemeSendService {
JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO); JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO);
JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO); JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO);
JsonViewObject nextStep(CrossIdDTO crossIdDTO);
JsonViewObject lockPhase(LockPhaseDTO lockPhaseDTO);
} }
package net.wanji.web.service.impl; package net.wanji.web.service.impl;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.feign.pojo.vo.LockControlVO;
import net.wanji.feign.pojo.vo.ScheduleSendVO; import net.wanji.feign.pojo.vo.ScheduleSendVO;
import net.wanji.feign.pojo.vo.SchemeSendVO; import net.wanji.feign.pojo.vo.SchemeSendVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.LockPhaseDTO;
import net.wanji.web.dto.ScheduleIdDTO; import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO; import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.mapper.scheme.CrossPhaseMapper; import net.wanji.web.mapper.scheme.CrossPhaseMapper;
...@@ -81,6 +84,27 @@ public class SchemeSendServiceImpl implements SchemeSendService { ...@@ -81,6 +84,27 @@ public class SchemeSendServiceImpl implements SchemeSendService {
return jsonViewObject.success(); return jsonViewObject.success();
} }
@Override
public JsonViewObject nextStep(CrossIdDTO crossIdDTO) {
String crossId = crossIdDTO.getCrossId();
// command 1开始步进,stepNum 0顺序步进
JsonViewObject jsonViewObject = utcFeignClients.stepControl(crossId, 1, 0);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-步进控制UTC服务调用异常");
}
return jsonViewObject.success();
}
@Override
public JsonViewObject lockPhase(LockPhaseDTO lockPhaseDTO) {
LockControlVO lockControlVO = new LockControlVO();
JsonViewObject jsonViewObject = utcFeignClients.lockControl(lockControlVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-锁定控制UTC服务调用异常");
}
return jsonViewObject.success();
}
private List<SchemeSendVO.Pattern> buildPatternList(String crossId, Integer schemeId) { private List<SchemeSendVO.Pattern> buildPatternList(String crossId, Integer schemeId) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>(); List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId); CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId);
......
...@@ -264,6 +264,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService { ...@@ -264,6 +264,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByGroupNo(crossId, schemeId, ringNo, groupNumber); List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByGroupNo(crossId, schemeId, ringNo, groupNumber);
for (CrossPhasePO crossPhasePO : crossPhasePOList) { for (CrossPhasePO crossPhasePO : crossPhasePOList) {
SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement(); SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement();
phaseListElement.setPhaseId(crossPhasePO.getId());
String phaseNo = crossPhasePO.getPhaseNo(); String phaseNo = crossPhasePO.getPhaseNo();
phaseListElement.setPhaseNo(phaseNo); phaseListElement.setPhaseNo(phaseNo);
Integer phaseType = crossPhasePO.getPhaseType(); Integer phaseType = crossPhasePO.getPhaseType();
......
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