Commit b8805bed authored by hanbing's avatar hanbing

更新路口转向类型

parent 65a55283
package net.wanji.web.common.enums;
import lombok.AllArgsConstructor;
/**
* @author Kent HAN
* @date 2023/1/29 9:35
*/
@AllArgsConstructor
public enum CrossTurnEnum {
UNKNOWN(0, 0, "未知"),
STRAIGHT(1, 2, "直行"),
LEFT(2, 1, "左转"),
RIGHT(3, 3, "右转"),
U_TURN(4, 4, "掉头"),
STRAIGHT_LEFT(5, 5, "直左"),
STRAIGHT_RIGHT(6, 6, "直右"),
LEFT_U_TURN(7, 9, "左转掉头"),
LEFT_STRAIGHT_U_TURN(8, 12, "左直掉头"),
LEFT_STRAIGHT_RIGHT(9, 7, "左直右"),
LEFT_RIGHT(10, 8, "左右");
public final int frontCode;
public final int backCode;
public final String msg;
public int getFrontCode() {
return frontCode;
}
public int getBackCode() {
return backCode;
}
public String getMsg() {
return msg;
}
public static Integer getBackByFront(Integer frontCode) {
for (CrossTurnEnum value : CrossTurnEnum.values()) {
if (value.getFrontCode() == frontCode) {
return value.getBackCode();
}
}
return null;
}
public static Integer getFrontByBack(Integer backCode) {
for (CrossTurnEnum value : CrossTurnEnum.values()) {
if (value.getBackCode() == backCode) {
return value.getFrontCode();
}
}
return null;
}
}
...@@ -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:左右转 11:左弯 12:右弯", required = true) @ApiModelProperty(value = "0无方向 箭头 1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转", required = true)
private Integer direction; private Integer direction;
@ApiModelProperty(value = "车道代码", required = true) @ApiModelProperty(value = "车道代码", required = true)
private String name; private String name;
......
...@@ -96,7 +96,7 @@ public class SaveSchemeConfigDTO { ...@@ -96,7 +96,7 @@ public class SaveSchemeConfigDTO {
@Data @Data
public static class LaneListElement { public static class LaneListElement {
@ApiModelProperty(value = "车道转向:1左转;2直行;3右转;4掉头;5左直;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", required = true) @ApiModelProperty(value = "车道转向:0无方向 箭头 1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转", 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;
......
...@@ -35,9 +35,9 @@ public class LaneInfoPO { ...@@ -35,9 +35,9 @@ public class LaneInfoPO {
@ApiModelProperty(name = "车道方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北", notes = "") @ApiModelProperty(name = "车道方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北", notes = "")
private Integer dir; private Integer dir;
/** /**
* 车道转向: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(name = "0无方向 车道转向:1左转;2直行;3右转;4掉头;5左直;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头; ", notes = "") @ApiModelProperty(name = "车道转向:0未知;1左转;2直行;3右转;4掉头;5直左;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头", notes = "")
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 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;
...@@ -393,7 +394,8 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -393,7 +394,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
LaneListElement laneListElement = new LaneListElement(); LaneListElement laneListElement = new LaneListElement();
String laneId = laneInfoPO.getId(); String laneId = laneInfoPO.getId();
laneListElement.setId(laneId); laneListElement.setId(laneId);
laneListElement.setDirection(laneInfoPO.getTurn()); Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn));
laneListElement.setLaneType(laneInfoPO.getCategory()); laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElement.setName(laneInfoPO.getCode()); laneListElement.setName(laneInfoPO.getCode());
// 根据laneId获取灯组代码 // 根据laneId获取灯组代码
...@@ -457,7 +459,8 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -457,7 +459,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
laneInfoPO.setCode(name); laneInfoPO.setCode(name);
laneInfoPO.setSort(sort); laneInfoPO.setSort(sort);
laneInfoPO.setDir(dir); laneInfoPO.setDir(dir);
laneInfoPO.setTurn(laneListElement.getDirection()); Integer direction = laneListElement.getDirection();
laneInfoPO.setTurn(CrossTurnEnum.getBackByFront(direction));
laneInfoPO.setCategory(laneListElement.getLaneType()); laneInfoPO.setCategory(laneListElement.getLaneType());
laneInfoPO.setCrossId(crossId); laneInfoPO.setCrossId(crossId);
laneInfoPOListForInsert.add(laneInfoPO); laneInfoPOListForInsert.add(laneInfoPO);
...@@ -478,7 +481,8 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -478,7 +481,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
List<LaneListElement> laneListElements = new ArrayList<>(); List<LaneListElement> laneListElements = new ArrayList<>();
for (LaneInfoPO laneInfoPO : laneInfoPOList) { for (LaneInfoPO laneInfoPO : laneInfoPOList) {
LaneListElement laneListElement = new LaneListElement(); LaneListElement laneListElement = new LaneListElement();
laneListElement.setDirection(laneInfoPO.getTurn()); Integer turn = laneInfoPO.getTurn();
laneListElement.setDirection(CrossTurnEnum.getFrontByBack(turn));
laneListElement.setName(laneInfoPO.getCode()); laneListElement.setName(laneInfoPO.getCode());
laneListElement.setLaneType(laneInfoPO.getCategory()); laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElements.add(laneListElement); laneListElements.add(laneListElement);
......
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