Commit 0d9a77a9 authored by hanbing's avatar hanbing

统一前后端转向对应规则

parent b129c32b
......@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
public class LaneListElement {
@ApiModelProperty(value = "车道ID(路口ID_方向_车道类型_序号)", required = true)
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;
@ApiModelProperty(value = "车道代码", required = true)
private String name;
......
......@@ -100,7 +100,7 @@ public class SaveSchemeConfigDTO {
@Data
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;
@ApiModelProperty(value = "车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐", required = true)
private Integer laneType;
......
......@@ -39,8 +39,7 @@ public class LaneInfoPO {
/**
* 车道转向: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 = "")
// 后端数据库对应关系: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直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", notes = "")
private Integer turn;
/**
* 车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐
......
package net.wanji.web.service.scheme.impl;
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.exception.LightLaneConflictException;
import net.wanji.web.dto.CrossIdDTO;
......@@ -410,7 +409,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
String laneId = laneInfoPO.getId();
laneListElement.setId(laneId);
Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn));
laneListElement.setDirection(turn);
laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElement.setName(laneInfoPO.getCode());
// 根据laneId获取灯组代码
......@@ -488,7 +487,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
laneInfoPO.setSort(sort);
laneInfoPO.setDir(dir);
Integer direction = laneListElement.getDirection();
laneInfoPO.setTurn(CrossTurnEnum.getBackByFront(direction));
laneInfoPO.setTurn(direction);
laneInfoPO.setCategory(laneListElement.getLaneType());
laneInfoPO.setCrossId(crossId);
laneInfoPOListForInsert.add(laneInfoPO);
......@@ -510,7 +509,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
for (LaneInfoPO laneInfoPO : laneInfoPOList) {
LaneListElement laneListElement = new LaneListElement();
Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn));
laneListElement.setDirection(turn);
laneListElement.setName(laneInfoPO.getCode());
laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElements.add(laneListElement);
......
package net.wanji.web.service.scheme.impl;
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.dto.CrossIdDTO;
import net.wanji.web.dto.LaneIdDTO;
import net.wanji.web.dto.LightIdDTO;
import net.wanji.web.dto.SaveSchemeConfigDTO;
import net.wanji.web.mapper.scheme.*;
import net.wanji.web.po.scheme.*;
import net.wanji.web.mapper.scheme.CrossAccompanyPhaseMapper;
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.vo.scheme.LaneIdsVO;
import net.wanji.web.vo.scheme.LightIdVO;
import org.springframework.stereotype.Service;
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;
/**
......@@ -78,11 +97,6 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
.map(CrossLaneLightsPO::getLaneId)
.collect(Collectors.toList());
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);
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