Commit 71bdf70e authored by hanbing's avatar hanbing

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

parent df9e8e10
......@@ -3,6 +3,8 @@ package net.wanji.web.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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.SchemeIdDTO;
import net.wanji.web.service.impl.SchemeSendServiceImpl;
......@@ -12,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author duanruiming
* @author hanbing
* @date 2023/01/04 16:10
*/
@Api(value = "PlanSendController", description = "方案下发")
......@@ -39,4 +41,18 @@ public class PlanSendController {
JsonViewObject jsonViewObject = schemeSendService.schemeSend(schemeIdDTO);
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 {
@ApiOperation(value = "锁定控制-相位锁定/解锁", notes = "锁定控制-相位锁定/解锁")
@PostMapping(value = "/lockControl")
public JsonViewObject lockControl(@RequestBody @Validated ControlCommandVO commandVO) {
JsonViewObject jsonViewObject = utcFeignClients.lockControl(commandVO);
public JsonViewObject lockControl(@RequestBody @Validated LockControlVO lockControlVO) {
JsonViewObject jsonViewObject = utcFeignClients.lockControl(lockControlVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常");
}
controlHistMapper.insertOne(commandVO.getCrossCode(), 4);
controlHistMapper.insertOne(lockControlVO.getCrossCode(), 4);
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 {
@Data
public static class PhaseListElement {
@ApiModelProperty(value = "相位ID", required = true)
private Integer phaseId;
@ApiModelProperty(value = "相位号", required = true)
private String phaseNo;
@ApiModelProperty(value = "相位类型 1实相位 2虚相位 3伴随相位", required = true)
......
package net.wanji.web.service;
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.SchemeIdDTO;
......@@ -12,4 +14,8 @@ public interface SchemeSendService {
JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO);
JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO);
JsonViewObject nextStep(CrossIdDTO crossIdDTO);
JsonViewObject lockPhase(LockPhaseDTO lockPhaseDTO);
}
package net.wanji.web.service.impl;
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.SchemeSendVO;
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.SchemeIdDTO;
import net.wanji.web.mapper.scheme.CrossPhaseMapper;
......@@ -81,6 +84,27 @@ public class SchemeSendServiceImpl implements SchemeSendService {
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) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId);
......
......@@ -264,6 +264,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByGroupNo(crossId, schemeId, ringNo, groupNumber);
for (CrossPhasePO crossPhasePO : crossPhasePOList) {
SaveSchemeConfigDTO.PhaseListElement phaseListElement = new SaveSchemeConfigDTO.PhaseListElement();
phaseListElement.setPhaseId(crossPhasePO.getId());
String phaseNo = crossPhasePO.getPhaseNo();
phaseListElement.setPhaseNo(phaseNo);
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