Commit 0d9a77a9 authored by hanbing's avatar hanbing

统一前后端转向对应规则

parent b129c32b
...@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; ...@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
public class LaneListElement { public class LaneListElement {
@ApiModelProperty(value = "车道ID(路口ID_方向_车道类型_序号)", required = true) @ApiModelProperty(value = "车道ID(路口ID_方向_车道类型_序号)", required = true)
private String id; private String id;
@ApiModelProperty(value = "0无方向 箭头 1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转", required = true) @ApiModelProperty(value = "车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", required = true)
private Integer direction; private Integer direction;
@ApiModelProperty(value = "车道代码", required = true) @ApiModelProperty(value = "车道代码", required = true)
private String name; private String name;
......
...@@ -100,7 +100,7 @@ public class SaveSchemeConfigDTO { ...@@ -100,7 +100,7 @@ public class SaveSchemeConfigDTO {
@Data @Data
public static class LaneListElement { public static class LaneListElement {
@ApiModelProperty(value = "车道转向:0无方向 箭头 1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转", required = true) @ApiModelProperty(value = "车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", required = true)
private Integer direction; private Integer direction;
@ApiModelProperty(value = "车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐", required = true) @ApiModelProperty(value = "车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐", required = true)
private Integer laneType; private Integer laneType;
......
...@@ -39,8 +39,7 @@ public class LaneInfoPO { ...@@ -39,8 +39,7 @@ public class LaneInfoPO {
/** /**
* 车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头 * 车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头
*/ */
@ApiModelProperty(value = "车道转向:0未知;1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转", notes = "") @ApiModelProperty(value = "车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", notes = "")
// 后端数据库对应关系:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头
private Integer turn; private Integer turn;
/** /**
* 车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐 * 车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐
......
package net.wanji.web.service.scheme.impl; package net.wanji.web.service.scheme.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import net.wanji.web.common.enums.CrossTurnEnum;
import net.wanji.web.common.enums.LightsAddressEnum; import net.wanji.web.common.enums.LightsAddressEnum;
import net.wanji.web.common.exception.LightLaneConflictException; import net.wanji.web.common.exception.LightLaneConflictException;
import net.wanji.web.dto.CrossIdDTO; import net.wanji.web.dto.CrossIdDTO;
...@@ -410,7 +409,7 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -410,7 +409,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
String laneId = laneInfoPO.getId(); String laneId = laneInfoPO.getId();
laneListElement.setId(laneId); laneListElement.setId(laneId);
Integer turn = laneInfoPO.getTurn(); Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn)); laneListElement.setDirection(turn);
laneListElement.setLaneType(laneInfoPO.getCategory()); laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElement.setName(laneInfoPO.getCode()); laneListElement.setName(laneInfoPO.getCode());
// 根据laneId获取灯组代码 // 根据laneId获取灯组代码
...@@ -488,7 +487,7 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -488,7 +487,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
laneInfoPO.setSort(sort); laneInfoPO.setSort(sort);
laneInfoPO.setDir(dir); laneInfoPO.setDir(dir);
Integer direction = laneListElement.getDirection(); Integer direction = laneListElement.getDirection();
laneInfoPO.setTurn(CrossTurnEnum.getBackByFront(direction)); laneInfoPO.setTurn(direction);
laneInfoPO.setCategory(laneListElement.getLaneType()); laneInfoPO.setCategory(laneListElement.getLaneType());
laneInfoPO.setCrossId(crossId); laneInfoPO.setCrossId(crossId);
laneInfoPOListForInsert.add(laneInfoPO); laneInfoPOListForInsert.add(laneInfoPO);
...@@ -510,7 +509,7 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -510,7 +509,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
for (LaneInfoPO laneInfoPO : laneInfoPOList) { for (LaneInfoPO laneInfoPO : laneInfoPOList) {
LaneListElement laneListElement = new LaneListElement(); LaneListElement laneListElement = new LaneListElement();
Integer turn = laneInfoPO.getTurn(); Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn)); laneListElement.setDirection(turn);
laneListElement.setName(laneInfoPO.getCode()); laneListElement.setName(laneInfoPO.getCode());
laneListElement.setLaneType(laneInfoPO.getCategory()); laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElements.add(laneListElement); laneListElements.add(laneListElement);
......
package net.wanji.web.service.scheme.impl; package net.wanji.web.service.scheme.impl;
import net.wanji.web.common.constant.ControlModeConst; import net.wanji.web.common.constant.ControlModeConst;
import net.wanji.web.common.enums.CrossTurnEnum;
import net.wanji.web.common.exception.PhaseNoNotUniqueException; import net.wanji.web.common.exception.PhaseNoNotUniqueException;
import net.wanji.web.dto.CrossIdDTO; import net.wanji.web.dto.CrossIdDTO;
import net.wanji.web.dto.LaneIdDTO; import net.wanji.web.dto.LaneIdDTO;
import net.wanji.web.dto.LightIdDTO; import net.wanji.web.dto.LightIdDTO;
import net.wanji.web.dto.SaveSchemeConfigDTO; import net.wanji.web.dto.SaveSchemeConfigDTO;
import net.wanji.web.mapper.scheme.*; import net.wanji.web.mapper.scheme.CrossAccompanyPhaseMapper;
import net.wanji.web.po.scheme.*; import net.wanji.web.mapper.scheme.CrossLaneLightsMapper;
import net.wanji.web.mapper.scheme.CrossLightsMapper;
import net.wanji.web.mapper.scheme.CrossPhaseLightsMapper;
import net.wanji.web.mapper.scheme.CrossPhaseMapper;
import net.wanji.web.mapper.scheme.CrossSchemeMapper;
import net.wanji.web.mapper.scheme.LaneInfoMapper;
import net.wanji.web.po.scheme.CrossAccompanyPhasePO;
import net.wanji.web.po.scheme.CrossLaneLightsPO;
import net.wanji.web.po.scheme.CrossLightsPO;
import net.wanji.web.po.scheme.CrossPhaseLightsPO;
import net.wanji.web.po.scheme.CrossPhasePO;
import net.wanji.web.po.scheme.CrossSchemePO;
import net.wanji.web.po.scheme.LaneInfoPO;
import net.wanji.web.service.scheme.SchemeConfigService; import net.wanji.web.service.scheme.SchemeConfigService;
import net.wanji.web.vo.scheme.LaneIdsVO; import net.wanji.web.vo.scheme.LaneIdsVO;
import net.wanji.web.vo.scheme.LightIdVO; import net.wanji.web.vo.scheme.LightIdVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -78,11 +97,6 @@ public class SchemeConfigServiceImpl implements SchemeConfigService { ...@@ -78,11 +97,6 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
.map(CrossLaneLightsPO::getLaneId) .map(CrossLaneLightsPO::getLaneId)
.collect(Collectors.toList()); .collect(Collectors.toList());
List<LaneInfoPO> laneInfoPOList = laneInfoMapper.selectByLaneIds(laneIds); List<LaneInfoPO> laneInfoPOList = laneInfoMapper.selectByLaneIds(laneIds);
for (LaneInfoPO laneInfoPO : laneInfoPOList) {
Integer backEndTurn = laneInfoPO.getTurn();
Integer frontEndTurn = CrossTurnEnum.getFrontByBack(backEndTurn);
laneInfoPO.setTurn(frontEndTurn);
}
laneIdsVO.setLanes(laneInfoPOList); laneIdsVO.setLanes(laneInfoPOList);
return laneIdsVO; return laneIdsVO;
......
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