Commit 194bd99d authored by hanbing's avatar hanbing

Merge remote-tracking branch 'origin/master'

parents 0ed9f9ec 2df5e8bb
...@@ -83,8 +83,8 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -83,8 +83,8 @@ public class PlanSendServiceImpl implements PlanSendService {
* @param crossId * @param crossId
* @return * @return
*/ */
public JsonViewObject phaseLaneSend(String crossId) { public JsonViewObject phaseLaneSend(String crossId, Integer schemeId) {
PhaseTimingSendVO phaseTimingSendVO = buiPhaseTimingSendVO(crossId); PhaseTimingSendVO phaseTimingSendVO = buiPhaseTimingSendVO(crossId, schemeId);
JsonViewObject jsonViewObject = feignProxyService.phaseTimingSend(phaseTimingSendVO); JsonViewObject jsonViewObject = feignProxyService.phaseTimingSend(phaseTimingSendVO);
return jsonViewObject; return jsonViewObject;
} }
...@@ -95,12 +95,13 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -95,12 +95,13 @@ public class PlanSendServiceImpl implements PlanSendService {
* @param crossId * @param crossId
* @return * @return
*/ */
private PhaseTimingSendVO buiPhaseTimingSendVO(String crossId) { private PhaseTimingSendVO buiPhaseTimingSendVO(String crossId, Integer schemeId) {
PhaseTimingSendVO phaseTimingSendVO = new PhaseTimingSendVO(); PhaseTimingSendVO phaseTimingSendVO = new PhaseTimingSendVO();
phaseTimingSendVO.setCrossCode(crossId); phaseTimingSendVO.setCrossCode(crossId);
List<PhaseTimingSendVO.Phase> phaseList = new ArrayList<>(); List<PhaseTimingSendVO.Phase> phaseList = new ArrayList<>();
CrossPhasePO crossPhasePO = new CrossPhasePO(); CrossPhasePO crossPhasePO = new CrossPhasePO();
crossPhasePO.setCrossId(crossId); crossPhasePO.setCrossId(crossId);
crossPhasePO.setPlanId(schemeId);
List<CrossPhasePO> crossPhasePOS = crossPhaseMapper.listCrossPhasePO(crossPhasePO); List<CrossPhasePO> crossPhasePOS = crossPhaseMapper.listCrossPhasePO(crossPhasePO);
CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO(); CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO();
crossPhaseLightsPO.setCrossId(crossId); crossPhaseLightsPO.setCrossId(crossId);
...@@ -163,8 +164,6 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -163,8 +164,6 @@ public class PlanSendServiceImpl implements PlanSendService {
if (Objects.isNull(planSendResult) || planSendResult.getCode() != 200) { if (Objects.isNull(planSendResult) || planSendResult.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-日计划下发UTC服务调用异常"); return jsonViewObject.fail("信号机方案下发-日计划下发UTC服务调用异常");
} }
// 下发车道相位
phaseLaneSend(crossId);
// 更新时间表状态为已执行 // 更新时间表状态为已执行
crossSchedulesMapper.resetStatus(crossId); crossSchedulesMapper.resetStatus(crossId);
...@@ -200,6 +199,9 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -200,6 +199,9 @@ public class PlanSendServiceImpl implements PlanSendService {
schemeIdDTO.setCrossId(crossId); schemeIdDTO.setCrossId(crossId);
schemeIdDTO.setSchemeId(schemeId); schemeIdDTO.setSchemeId(schemeId);
schemeSend(schemeIdDTO); schemeSend(schemeIdDTO);
// 下发车道相位
phaseLaneSend(crossId, schemeId);
} }
PlanSendVO planSendVO = new PlanSendVO(); PlanSendVO planSendVO = new PlanSendVO();
...@@ -221,13 +223,18 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -221,13 +223,18 @@ public class PlanSendServiceImpl implements PlanSendService {
Integer schemeId = schemeIdDTO.getSchemeId(); Integer schemeId = schemeIdDTO.getSchemeId();
List<SchemeSendVO.Pattern> patternList = buildPatternList(crossId, schemeId); List<SchemeSendVO.Pattern> patternList = buildPatternList(crossId, schemeId);
schemeSendVO.setPatternList(patternList); schemeSendVO.setPatternList(patternList);
// 下发车道相位
phaseLaneSend(crossId, schemeId);
// 发送请求 // 发送请求
JsonViewObject jsonViewObject = utcFeignClients.schemeSend(schemeSendVO); JsonViewObject jsonViewObject = utcFeignClients.schemeSend(schemeSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-基础方案下发UTC服务调用异常"); return jsonViewObject.fail("信号机方案下发-基础方案下发UTC服务调用异常");
} }
// 下发车道相位
phaseLaneSend(crossId);
// 更新方案表状态为已执行 // 更新方案表状态为已执行
crossSchemeMapper.resetStatus(crossId); crossSchemeMapper.resetStatus(crossId);
crossSchemeMapper.updateStatus(schemeId); crossSchemeMapper.updateStatus(schemeId);
......
...@@ -53,12 +53,10 @@ ...@@ -53,12 +53,10 @@
<select id="selectRecentList" resultMap="tCrossControlHist"> <select id="selectRecentList" resultMap="tCrossControlHist">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"></include>
from t_cross_control_hist from t_cross_control_hist t1 left join
where start_time in (select max(start_time) (select cross_id crossId, max(start_time) startTime from t_cross_control_hist group by cross_id) t2
from t_cross_control_hist on t1.cross_id = t2.crossId
where cross_id in (select id as cross_id where t1.start_time = t2.startTime
from t_base_cross_info)
group by cross_id);
</select> </select>
</mapper> </mapper>
...@@ -36,7 +36,10 @@ ...@@ -36,7 +36,10 @@
from t_base_cross_phase from t_base_cross_phase
<where> <where>
<if test="entity.crossId != null and entity.crossId !=''"> <if test="entity.crossId != null and entity.crossId !=''">
cross_id = #{entity.crossId} and cross_id = #{entity.crossId}
</if>
<if test="entity.planId != null and entity.planId !=''">
and plan_id = #{entity.planId}
</if> </if>
</where> </where>
</select> </select>
......
...@@ -7,10 +7,10 @@ import java.util.Objects; ...@@ -7,10 +7,10 @@ import java.util.Objects;
* @date 2023/04/03 16:26 * @date 2023/04/03 16:26
*/ */
public enum CrossLightsDirEnum { public enum CrossLightsDirEnum {
ONE(1, 1),// 由南向北 ONE(5, 1),// 灯组放行方向(车道方向) 由南向北
TWO(3, 4), // 由西向东 TWO(7, 4), // 由西向东
THREE(5, 2),// 由北向南 THREE(1, 2),// 由北向南
FOUR(7, 3);// 由东向西 FOUR(3, 3);// 由东向西
private final Integer lightsCode; private final Integer lightsCode;
private final Integer hkLightsCode; private final Integer hkLightsCode;
......
...@@ -38,7 +38,7 @@ public class SignalStatusTask { ...@@ -38,7 +38,7 @@ public class SignalStatusTask {
private HkLightsStatusService hkLightsStatusService; private HkLightsStatusService hkLightsStatusService;
private static Map<String, List<LightsStatusVO>> lightStatusCache = new HashMap<>(); private static Map<String, List<LightsStatusVO>> lightStatusCache = new HashMap<>();
private static Map<String, Integer> runModeTimeMap = new HashMap(); private static final Map<String, Integer> runModeTimeMap = new ConcurrentHashMap<>();
// 运行状态、告警,5分钟一次 // 运行状态、告警,5分钟一次
@Scheduled(fixedRate = 1 * 60 * 1000) @Scheduled(fixedRate = 1 * 60 * 1000)
......
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