Commit 61c864e5 authored by duanruiming's avatar duanruiming

[add] 临时方案下发

parent 2c2e9341
......@@ -14,6 +14,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.service.control.ControlCommandStrategyService;
import net.wanji.utc.vo.SchemePhaseGreenTimeOptVO;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -259,4 +260,17 @@ public class ControlCommandController {
return controlCommandStrategyService.stepControlStrategy(stepingPhaseDTO.getCrossId(),stepingPhaseDTO.getCommand(),stepingPhaseDTO.getStepCount());
}
@AspectLog(description = "方案相位绿灯时间优化下发", operationType = BaseEnum.OperationTypeEnum.UPDATE)
@ApiOperation(value = "方案相位绿灯时间优化下发", notes = "方案相位绿灯时间优化下发")
@PostMapping("/schemePhaseGreenTimeOpt")
public JsonViewObject schemePhaseGreenTimeOpt(@RequestBody @Validated SchemePhaseGreenTimeOptVO vo) throws Exception {
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
try {
jsonViewObject = controlCommandStrategyService.schemePhaseGreenTimeOpt(vo);
} catch (Exception e) {
return JsonViewObject.newInstance().fail("方案相位绿灯时间优化下发失败");
}
return jsonViewObject;
}
}
......@@ -5,6 +5,8 @@ import net.wanji.databus.dto.ExtendPhaseDTO;
import net.wanji.databus.dto.StepingPhaseDTO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.vo.SchemePhaseGreenTimeOptVO;
import java.util.Date;
/**
......@@ -143,4 +145,12 @@ public interface ControlCommandStrategyService {
* @throws Exception
*/
JsonViewObject stepingPhase (StepingPhaseDTO stepingPhaseDTO) throws Exception;
/**
* 方案相位绿灯时间优化
* @param vo
* @return
* @throws Exception
*/
JsonViewObject schemePhaseGreenTimeOpt(SchemePhaseGreenTimeOptVO vo) throws Exception;
}
......@@ -18,6 +18,7 @@ import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.feign.service.common.FeignCommon;
import net.wanji.utc.cache.CrossInfoCache;
import net.wanji.utc.cache.CrossPhaseDirTurnCache;
import net.wanji.utc.cache.CrossSchemePhaseTimeCountCache;
......@@ -30,6 +31,7 @@ import net.wanji.utc.service.control.ControlCommandStrategyService;
import net.wanji.utc.task.SignalCommandSyncTask;
import net.wanji.utc.task.SignalStatusTask;
import net.wanji.utc.util.StringUtils;
import net.wanji.utc.vo.SchemePhaseGreenTimeOptVO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -679,4 +681,17 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}
return jsonViewObject;
}
@Override
public JsonViewObject schemePhaseGreenTimeOpt(SchemePhaseGreenTimeOptVO vo) throws Exception {
String crossId = vo.getCrossId();
Integer schemeId = vo.getSchemeId();
Integer offset = vo.getOffset();
List<SchemePhaseGreenTimeOptVO.PhaseOptTime> phaseOptTimeList = vo.getPhaseOptTimeList();
// 获取方案环图中,将环图中相位转化为阶段中相位对应关系 需要磊磊存数据 t_scheme_ring_phase_mapping_info
// 将阶段中相位加减绿灯时间转化到环相位中
// 下发临时方案
return null;
}
}
package net.wanji.utc.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author duanruiming
* @date 2025/04/18 11:22
*/
@Data
@NoArgsConstructor
@ApiModel(value = "SchemePhaseGreenTimeOptVO", description = "方案相位绿灯时间优化下发请求体")
public class SchemePhaseGreenTimeOptVO {
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId;
@ApiModelProperty(name = "原方案ID",notes = "")
private Integer schemeId;
@ApiModelProperty(value = "优化模式 0-信控调优平台优化")
private Integer optType;
@ApiModelProperty(value = "周期")
private Integer cycle;
@ApiModelProperty(value = "相位差")
private Integer offset;
@ApiModelProperty(value = "调整时间表格")
private List<PhaseOptTime> phaseOptTimeList;
@Data
@NoArgsConstructor
@ApiModel(value = "PhaseOptTime", description = "调整时间表格元素")
public static class PhaseOptTime {
@ApiModelProperty(value = "相位编号")
private String phaseNo;
@ApiModelProperty(value = "原绿灯时长")
private Integer oriGreenTime;
@ApiModelProperty(value = "调整后绿灯时长")
private Integer optGreenTime;
@ApiModelProperty(value = "调整时间")
private Integer optTime;
}
}
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