Commit 46973373 authored by hanbing's avatar hanbing

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

parent cc41a27c
...@@ -2,12 +2,16 @@ package net.wanji.web.controller; ...@@ -2,12 +2,16 @@ 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 io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import net.wanji.feign.pojo.result.JsonViewObject; 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.CrossIdDTO;
import net.wanji.web.dto.CrossIdAndPhaseIdDTO;
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.PlanSendServiceImpl;
import net.wanji.web.vo.PhaseListByTimeVO;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@SuppressWarnings("all") @SuppressWarnings("all")
public class PlanSendController { public class PlanSendController {
private final SchemeSendServiceImpl schemeSendService; private final PlanSendServiceImpl planSendService;
public PlanSendController(SchemeSendServiceImpl schemeSendService) { public PlanSendController(PlanSendServiceImpl planSendService) {
this.schemeSendService = schemeSendService; this.planSendService = planSendService;
} }
@ApiOperation(value = "方案下发", notes = "时间表下发") @ApiOperation(value = "方案下发", notes = "时间表下发")
@PostMapping("/scheduleSend") @PostMapping("/scheduleSend")
public JsonViewObject timeTableSend(@RequestBody ScheduleIdDTO scheduleIdDTO) { public JsonViewObject timeTableSend(@RequestBody ScheduleIdDTO scheduleIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.scheduleSend(scheduleIdDTO); JsonViewObject jsonViewObject = planSendService.scheduleSend(scheduleIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "强制方案", notes = "强制方案") @ApiOperation(value = "强制方案", notes = "强制方案")
@PostMapping("/schemeSend") @PostMapping("/schemeSend")
public JsonViewObject schemeSend(@RequestBody SchemeIdDTO schemeIdDTO) { public JsonViewObject schemeSend(@RequestBody SchemeIdDTO schemeIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.schemeSend(schemeIdDTO); JsonViewObject jsonViewObject = planSendService.schemeSend(schemeIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-步进", notes = "模式切换-中心控制-步进") @ApiOperation(value = "模式切换-中心控制-步进", notes = "模式切换-中心控制-步进")
@PostMapping("/nextStep") @PostMapping("/nextStep")
public JsonViewObject nextStep(@RequestBody CrossIdDTO crossIdDTO) { public JsonViewObject nextStep(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.nextStep(crossIdDTO); JsonViewObject jsonViewObject = planSendService.nextStep(crossIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-相位锁定", notes = "模式切换-中心控制-相位锁定") @ApiOperation(value = "模式切换-中心控制-相位锁定", notes = "模式切换-中心控制-相位锁定")
@PostMapping("/lockPhase") @PostMapping("/lockPhase")
public JsonViewObject lockPhase(@RequestBody CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO) { public JsonViewObject lockPhase(@RequestBody CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO) {
JsonViewObject jsonViewObject = schemeSendService.lockPhase(crossIdAndPhaseIdDTO); JsonViewObject jsonViewObject = planSendService.lockPhase(crossIdAndPhaseIdsDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-全红控制", notes = "模式切换-中心控制-全红控制") @ApiOperation(value = "模式切换-中心控制-全红控制", notes = "模式切换-中心控制-全红控制")
@PostMapping("/allRedControl") @PostMapping("/allRedControl")
public JsonViewObject allRedControl(@RequestBody CrossIdDTO crossIdDTO) { public JsonViewObject allRedControl(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.allRedControl(crossIdDTO); JsonViewObject jsonViewObject = planSendService.allRedControl(crossIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-黄闪控制", notes = "模式切换-中心控制-黄闪控制") @ApiOperation(value = "模式切换-中心控制-黄闪控制", notes = "模式切换-中心控制-黄闪控制")
@PostMapping("/yellowLightControl") @PostMapping("/yellowLightControl")
public JsonViewObject yellowLightControl(@RequestBody CrossIdDTO crossIdDTO) { public JsonViewObject yellowLightControl(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.yellowLightControl(crossIdDTO); JsonViewObject jsonViewObject = planSendService.yellowLightControl(crossIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "模式切换-中心控制-恢复", notes = "模式切换-中心控制-恢复") @ApiOperation(value = "模式切换-中心控制-恢复", notes = "模式切换-中心控制-恢复")
@PostMapping("/restore") @PostMapping("/restore")
public JsonViewObject restore(@RequestBody CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO) { public JsonViewObject restore(@RequestBody CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO) {
JsonViewObject jsonViewObject = schemeSendService.restore(crossIdAndPhaseIdDTO); JsonViewObject jsonViewObject = planSendService.restore(crossIdAndPhaseIdsDTO);
return jsonViewObject; return jsonViewObject;
} }
@ApiOperation(value = "信号机方案同步", notes = "信号机方案同步") @ApiOperation(value = "信号机方案同步", notes = "信号机方案同步")
@PostMapping("/syncScheme") @PostMapping("/syncScheme")
public JsonViewObject syncScheme(@RequestBody CrossIdDTO crossIdDTO) { public JsonViewObject syncScheme(@RequestBody CrossIdDTO crossIdDTO) {
JsonViewObject jsonViewObject = schemeSendService.syncScheme(crossIdDTO); JsonViewObject jsonViewObject = planSendService.syncScheme(crossIdDTO);
return jsonViewObject; 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; ...@@ -3,6 +3,8 @@ package net.wanji.web.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 方案下发-模式切换-中心控制-相位锁定输入参数 * 方案下发-模式切换-中心控制-相位锁定输入参数
* *
...@@ -10,9 +12,9 @@ import lombok.Data; ...@@ -10,9 +12,9 @@ import lombok.Data;
* @date 2022/12/20 10:17 * @date 2022/12/20 10:17
*/ */
@Data @Data
public class CrossIdAndPhaseIdDTO { public class CrossIdAndPhaseIdsDTO {
@ApiModelProperty(value = "路口ID,如:c7e7b1f352dd4acab4a60088eb391cca", required = true) @ApiModelProperty(value = "路口ID,如:c7e7b1f352dd4acab4a60088eb391cca", required = true)
private String crossId; private String crossId;
@ApiModelProperty(value = "相位ID", required = true) @ApiModelProperty(value = "相位ID列表", required = true)
private Integer phaseId; 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; package net.wanji.web.service;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.dto.CrossIdAndTimeDTO;
import net.wanji.web.dto.CrossIdDTO; 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.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO; import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.vo.PhaseListByTimeVO;
/** /**
* @author Kent HAN * @author Kent HAN
* @date 2022/11/3 16:14 * @date 2022/11/3 16:14
*/ */
public interface SchemeSendService { public interface PlanSendService {
JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO); JsonViewObject scheduleSend(ScheduleIdDTO scheduleIdDTO);
JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO); JsonViewObject schemeSend(SchemeIdDTO schemeIdDTO);
JsonViewObject nextStep(CrossIdDTO crossIdDTO); JsonViewObject nextStep(CrossIdDTO crossIdDTO);
JsonViewObject lockPhase(CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO); JsonViewObject lockPhase(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO);
JsonViewObject allRedControl(CrossIdDTO crossIdDTO); JsonViewObject allRedControl(CrossIdDTO crossIdDTO);
JsonViewObject yellowLightControl(CrossIdDTO crossIdDTO); JsonViewObject yellowLightControl(CrossIdDTO crossIdDTO);
JsonViewObject restore(CrossIdAndPhaseIdDTO crossIdAndPhaseIdDTO); JsonViewObject restore(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO);
JsonViewObject syncScheme(CrossIdDTO crossIdDTO); 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