Commit 3979caa5 authored by wuxiaokai's avatar wuxiaokai

控制指令接口-计划下发

parent 06f3f7be
......@@ -6,11 +6,9 @@ import net.wanji.utc.common.typeenum.BasicEnum;
import net.wanji.utc.mapper.CrossInfoMapper;
import net.wanji.utc.po.CrossInfoPO;
import net.wanji.utc.service.ControlCommandService;
import net.wanji.utc.vo.plansend.PlanSendVO;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
......@@ -35,6 +33,46 @@ public class ControlCommandController {
@Resource
private ControlCommandService hkControlCommandService;
/**
*/
@PostMapping("/schemeSend")
public <T> Result<T> schemeSend(@RequestParam String signalId, @RequestParam Integer command) {
if (mock) return Result.success();
Integer manufacturerId = check(signalId);
if (manufacturerId.equals(BasicEnum.ManufacturerEnum.HK.getCode())) {
return hkControlCommandService.allRedControl(signalId, null, null, command);
} else {
// todo else
return null;
}
}
/**
* 计划下发
*
* @param signalId 信号id
* @param planSendVO 计划下发VO
* @return {@link Result}<{@link T}>
*/
@PostMapping("/planSend")
public <T> Result<T> planSend(@RequestParam String signalId, @RequestBody PlanSendVO planSendVO) {
if (mock) return Result.success();
CrossInfoPO crossInfoPO = crossInfoMapper.selectByCode(signalId);
if (crossInfoPO == null) {
throw new ControlException(BODY_NOT_MATCH.getResultCode(), "参数错误,信号机ID不正确。");
}
planSendVO.setTelesemeId(crossInfoPO.getCode());
planSendVO.setManufacturerAbbr(crossInfoPO.getManufacturerId() + "");
Integer manufacturerId = crossInfoPO.getManufacturerId();
if (manufacturerId.equals(BasicEnum.ManufacturerEnum.HK.getCode())) {
return hkControlCommandService.planSend(planSendVO);
} else {
// todo else
return null;
}
}
/**
* 全红控制
*
......
......@@ -2,6 +2,7 @@ package net.wanji.utc.service;
import net.wanji.utc.common.Result;
import net.wanji.utc.vo.PhaseLock;
import net.wanji.utc.vo.plansend.PlanSendVO;
/**
* 控制指令 service
......@@ -19,7 +20,7 @@ public interface ControlCommandService {
/**
* 计划下发
*/
<T> Result<T> planSend();
<T> Result<T> planSend(PlanSendVO planSendVO);
/**
* 时间表下发
......
......@@ -10,12 +10,12 @@ import net.wanji.utc.common.baseentity.BaseCrossInfo;
import net.wanji.utc.common.constant.Constants;
import net.wanji.utc.common.exception.ControlException;
import net.wanji.utc.common.typeenum.BasicEnum;
import net.wanji.utc.entity.TCrossPhase;
import net.wanji.utc.mapper.CrossPhaseMapper;
import net.wanji.utc.po.CrossPhasePO;
import net.wanji.utc.service.ControlCommandService;
import net.wanji.utc.service.HkGetSignalMethodService;
import net.wanji.utc.vo.PhaseLock;
import net.wanji.utc.vo.plansend.PlanSendVO;
import net.wanji.utc.vo.signal.SignalLightStateVo;
import net.wanji.utc.vo.signal.SignalRingVo;
import org.springframework.stereotype.Service;
......@@ -51,7 +51,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
}
@Override
public <T> Result<T> planSend() {
public <T> Result<T> planSend(PlanSendVO planSendVO) {
return null;
}
......
package net.wanji.utc.vo.plansend;
import lombok.Data;
import net.wanji.utc.common.baseentity.BaseCrossInfo;
import java.util.List;
/**
* 计划下发VO
*
* @author wuxiaokai
* @date 2022/11/21 17:10:43
*/
@Data
public class PlanSendVO extends BaseCrossInfo {
/**
* 星期
*/
private List<Week> weeks;
/**
* 特殊日期
*/
private List<SpecialDay> specialDays;
/**
* 日时段方案数据对象列表
*/
private List<SectionPlan> sectionPlans;
}
package net.wanji.utc.vo.plansend;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author hfx
* @version 1.0
* @Description: [路口时段方案实体]
* Created on 2019/4/22 16:20
*/
@Data
@ApiModel(value = "SectionPlan", description = "路口时段方案实体")
public class SectionPlan {
//时段方案编号
@ApiModelProperty(value = "时段方案编号")
private String sectionPlanId;
//时段方案描述
@ApiModelProperty(value = "时段方案描述")
private String sectionPlanDesc;
//时段数据列表
@ApiModelProperty(value = "时段数据列表")
private List<Timeslice> timeslices;
}
package net.wanji.utc.vo.plansend;
import lombok.Data;
import net.wanji.utc.common.baseentity.BaseCrossInfo;
import java.util.List;
/**
* @author hfx
* @version 1.0
* @Description: [路口时段方案Vo]
* Created on 2019/4/22 16:17
*/
@Data
public class SectionPlanVo extends BaseCrossInfo {
//日时段方案数据对象列表
private List<SectionPlan> sectionPlans;
}
package net.wanji.utc.vo.plansend;
import lombok.Data;
/**
* 特殊日期
*
* @author wuxiaokai
* @date 2022/11/21 17:13:08
*/
@Data
public class SpecialDay {
/**
* 日期 2019-05-01
*/
private String dateStr;
/**
* 时段方案编号
*/
private Integer sectionPlanId;
/**
* 星期
*/
private Integer weekNum;
}
package net.wanji.utc.vo.plansend;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @version 1.0
* @Description: [时段数据实体]
* Created on 2019/4/22 16:22
*/
@Data
@ApiModel(value = "Timeslice", description = "时段数据实体")
public class Timeslice {
//时段编号
@ApiModelProperty(value = "时段编号")
private String timesliceid;
//时段描述
@ApiModelProperty(value = "时段描述")
private String timeslicedesc;
//时段顺序号
@ApiModelProperty(value = "时段顺序号")
private Integer timesliceorderid;
//开始时间,格式 HH:MI:00
@ApiModelProperty(value = "开始时间,格式 HH:MI:00")
private String starttime;
//配时方案编号
@ApiModelProperty(value = "配时方案编号")
private String timeplanid;
}
package net.wanji.utc.vo.plansend;
import lombok.Data;
/**
* @author wuxiaokai
* @date 2022/11/21 17:12:33
*/
@Data
public class Week {
private Integer weekNum;
private Integer sectionPlanId;
}
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