Commit 46973373 authored by hanbing's avatar hanbing

方案管理-方案下发,根据当前时间返回相位列表

parent cc41a27c
......@@ -2,12 +2,16 @@ package net.wanji.web.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.dto.CrossIdAndPhaseIdsDTO;
import net.wanji.web.dto.CrossIdAndTimeDTO;
import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.CrossIdAndPhaseIdDTO;
import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.service.impl.SchemeSendServiceImpl;
import net.wanji.web.service.impl.PlanSendServiceImpl;
import net.wanji.web.vo.PhaseListByTimeVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@SuppressWarnings("all")
public class PlanSendController {
private final SchemeSendServiceImpl schemeSendService;
private final PlanSendServiceImpl planSendService;
public PlanSendController(SchemeSendServiceImpl schemeSendService) {
this.schemeSendService = schemeSendService;
public PlanSendController(PlanSendServiceImpl planSendService) {
this.planSendService = planSendService;
}
@ApiOperation(value = "方案下发", notes = "时间表下发")
@PostMapping("/scheduleSend")
public JsonViewObject timeTableSend(@RequestBody ScheduleIdDTO scheduleIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.scheduleSend(scheduleIdDTO);
JsonViewObject jsonViewObject = planSendService.scheduleSend(scheduleIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "强制方案", notes = "强制方案")
@PostMapping("/schemeSend")
public JsonViewObject schemeSend(@RequestBody SchemeIdDTO schemeIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.schemeSend(schemeIdDTO);
JsonViewObject jsonViewObject = planSendService.schemeSend(schemeIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-步进", notes = "模式切换-中心控制-步进")
@PostMapping("/nextStep")
public JsonViewObject nextStep(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.nextStep(crossIdDTO);
JsonViewObject jsonViewObject = planSendService.nextStep(crossIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-相位锁定", notes = "模式切换-中心控制-相位锁定")
@PostMapping("/lockPhase")
public JsonViewObject lockPhase(@RequestBody CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.lockPhase(crossIdAndPhaseIdDTO);
public JsonViewObject lockPhase(@RequestBody CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO) {
JsonViewObject jsonViewObject = planSendService.lockPhase(crossIdAndPhaseIdsDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-全红控制", notes = "模式切换-中心控制-全红控制")
@PostMapping("/allRedControl")
public JsonViewObject allRedControl(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.allRedControl(crossIdDTO);
JsonViewObject jsonViewObject = planSendService.allRedControl(crossIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-黄闪控制", notes = "模式切换-中心控制-黄闪控制")
@PostMapping("/yellowLightControl")
public JsonViewObject yellowLightControl(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.yellowLightControl(crossIdDTO);
JsonViewObject jsonViewObject = planSendService.yellowLightControl(crossIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "模式切换-中心控制-恢复", notes = "模式切换-中心控制-恢复")
@PostMapping("/restore")
public JsonViewObject restore(@RequestBody CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.restore(crossIdAndPhaseIdDTO);
public JsonViewObject restore(@RequestBody CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO) {
JsonViewObject jsonViewObject = planSendService.restore(crossIdAndPhaseIdsDTO);
return jsonViewObject;
}
@ApiOperation(value = "信号机方案同步", notes = "信号机方案同步")
@PostMapping("/syncScheme")
public JsonViewObject syncScheme(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.syncScheme(crossIdDTO);
JsonViewObject jsonViewObject = planSendService.syncScheme(crossIdDTO);
return jsonViewObject;
}
@ApiOperation(value = "根据当前时间返回相位列表", notes = "根据当前时间返回相位列表")
@PostMapping("/phaseListByTime")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = PhaseListByTimeVO.class),
})
public JsonViewObject phaseListByTime(@RequestBody CrossIdAndTimeDTO crossIdAndTimeDTO) {
PhaseListByTimeVO phaseListByTimeVO = planSendService.phaseListByTime(crossIdAndTimeDTO);
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
return jsonViewObject.success(phaseListByTimeVO);
}
}
......@@ -3,6 +3,8 @@ package net.wanji.web.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 方案下发-模式切换-中心控制-相位锁定输入参数
*
......@@ -10,9 +12,9 @@ import lombok.Data;
* @date 2022/12/20 10:17
*/
@Data
public class CrossIdAndPhaseIdDTO {
public class CrossIdAndPhaseIdsDTO {
@ApiModelProperty(value = "路口ID,如:c7e7b1f352dd4acab4a60088eb391cca", required = true)
private String crossId;
@ApiModelProperty(value = "相位ID", required = true)
private Integer phaseId;
@ApiModelProperty(value = "相位ID列表", required = true)
private List<Integer> phaseIds;
}
package net.wanji.web.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
public class CrossIdAndTimeDTO {
@ApiModelProperty(value = "路口ID,如:c7e7b1f352dd4acab4a60088eb391cca", required = true)
private String crossId;
@ApiModelProperty(value = "当前日期时间 yyyy-MM-dd HH:mm:ss", required = true)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Date datetime;
}
package net.wanji.web.service;
import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.dto.CrossIdAndTimeDTO;
import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.CrossIdAndPhaseIdDTO;
import net.wanji.web.dto.CrossIdAndPhaseIdsDTO;
import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.vo.PhaseListByTimeVO;
/**
* @author Kent HAN
* @date 2022/11/3 16:14
*/
public interface SchemeSendService {
public interface PlanSendService {
JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO);
JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO);
JsonViewObject nextStep(CrossIdDTO crossIdDTO);
JsonViewObject lockPhase(CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO);
JsonViewObject lockPhase(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO);
JsonViewObject allRedControl(CrossIdDTO crossIdDTO);
JsonViewObject yellowLightControl(CrossIdDTO crossIdDTO);
JsonViewObject restore(CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO);
JsonViewObject restore(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO);
JsonViewObject syncScheme(CrossIdDTO crossIdDTO);
PhaseListByTimeVO phaseListByTime(CrossIdAndTimeDTO crossIdAndTimeDTO);
}
package net.wanji.web.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.wanji.web.dto.SaveSchemeConfigDTO;
/**
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
@ApiModel(value = "PhaseListByTimeVO", description = "根据时间查询相位列表返回结果")
public class PhaseListByTimeVO {
@ApiModelProperty(value = "开始时间结束时间", required = true)
private String[] startEndTime;
@ApiModelProperty(value = "相位列表", required = true)
private SaveSchemeConfigDTO.PhaseScheme phaseScheme;
}
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