Commit 3d9fdd71 authored by zhouleilei's avatar zhouleilei

渠化配置/灯组设置、车道配置列表 新增roadName值

parent 8f3c9f20
...@@ -9,6 +9,8 @@ import java.util.List; ...@@ -9,6 +9,8 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class DirListElement { public class DirListElement {
@ApiModelProperty(value = "路段名称", required = true)
private String roadName;
@ApiModelProperty(value = "车道进口方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北", required = true) @ApiModelProperty(value = "车道进口方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北", required = true)
private Integer dir; private Integer dir;
@ApiModelProperty(value = "交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知", required = true) @ApiModelProperty(value = "交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知", required = true)
......
package net.wanji.web.mapper.base;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.web.po.base.BaseRidInfo;
/**
* <p>
* 路段基础信息
* </p>
*
* @Author fengyi
* @Date 2024-11-14
*/
public interface BaseRidInfoMapper extends BaseMapper<BaseRidInfo> {
}
package net.wanji.web.po.base;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* <p>
* 路段基础信息
* </p>
*
* @Author fengyi
* @Date 2024-11-14
*/
@Data
@ApiModel(value="BaseRidInfo对象", description="路段基础信息")
@TableName("t_base_rid_info")
public class BaseRidInfo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "路段名称")
private String name;
@ApiModelProperty(value = "道路编号")
private String roadId;
@ApiModelProperty(value = "道路名称")
private String roadName;
@ApiModelProperty(value = "道路方向编号")
private String roadDirId;
@ApiModelProperty(value = "开始路口编号")
private String startCrossId;
@ApiModelProperty(value = "结束路口编号")
private String endCrossId;
@ApiModelProperty(value = "驶出方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北")
private Integer outDir;
@ApiModelProperty(value = "驶入方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北")
private Integer inDir;
@ApiModelProperty(value = "驶出角度,正北顺时针0~359")
private Double startAngle;
@ApiModelProperty(value = "驶入角度,正北顺时针0~359")
private Double endAngle;
@ApiModelProperty(value = "行驶方向:0上行;1下行")
private Integer direction;
@ApiModelProperty(value = "顺序号:路段在道路方向的顺序号")
private Integer sort;
@ApiModelProperty(value = "路段走向:1 南向北;2 西向东;3 北向南;4 东向西;5 内环;6 外环;99 其他(参见路段走向字典)")
private Integer trend;
@ApiModelProperty(value = "道路等级: 41000 高速公路; 42000 国道; 43000 城市快速路; 44000 城市主干道; 45000 城市次干道; 47000 城市普通道路; 51000 省道; 52000 县道; 53000 乡道; 54000 县乡村内部道路; 49 小路(参见道路等级字典)")
private Integer level;
@ApiModelProperty(value = "行政区划代码,跨区数据会以逗号分开")
private String areaCode;
@ApiModelProperty(value = "路段长度(米)")
private Double length;
@ApiModelProperty(value = "路段宽度(米)")
private Double width;
@ApiModelProperty(value = "是否单行线:0否;1是;99其他")
private Integer isOneway;
@ApiModelProperty(value = "路段类型:1路段;3匝道;4隧道;5桥梁;6高架;99其他")
private Integer type;
@ApiModelProperty(value = "主辅标志:1主路;2辅路;99其他 (参见主辅标志字典)")
private Integer mainFlag;
@ApiModelProperty(value = "空间对象")
private String wkt;
@ApiModelProperty(value = "信控路段编号")
private String scId;
@ApiModelProperty(value = "信控路段名称")
private String scName;
@ApiModelProperty(value = "信控路段序号")
private Integer scSort;
@ApiModelProperty(value = "创建时间")
private Date gmtCreate;
@ApiModelProperty(value = "修改时间")
private Date gmtModified;
}
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import net.wanji.common.enums.LightsAddressEnum; import net.wanji.common.enums.LightsAddressEnum;
import net.wanji.databus.bo.CrossIdBO; import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dao.mapper.BaseCrossLaneLightsMapper; import net.wanji.databus.dao.mapper.BaseCrossLaneLightsMapper;
...@@ -16,8 +17,10 @@ import net.wanji.web.dto.DirListElement; ...@@ -16,8 +17,10 @@ import net.wanji.web.dto.DirListElement;
import net.wanji.web.dto.LaneListElement; import net.wanji.web.dto.LaneListElement;
import net.wanji.web.dto.LedConfigListElement; import net.wanji.web.dto.LedConfigListElement;
import net.wanji.web.dto.SaveLaneInfoDTO; import net.wanji.web.dto.SaveLaneInfoDTO;
import net.wanji.web.mapper.base.BaseRidInfoMapper;
import net.wanji.web.mapper.scheme.CrossDirInfoMapper; import net.wanji.web.mapper.scheme.CrossDirInfoMapper;
import net.wanji.web.mapper.scheme.LaneSegmentMapper; import net.wanji.web.mapper.scheme.LaneSegmentMapper;
import net.wanji.web.po.base.BaseRidInfo;
import net.wanji.web.po.scheme.CrossDirInfoPO; import net.wanji.web.po.scheme.CrossDirInfoPO;
import net.wanji.web.service.scheme.CrossConfigService; import net.wanji.web.service.scheme.CrossConfigService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -39,6 +42,7 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -39,6 +42,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper; private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
private final LaneSegmentMapper laneSegmentMapper; private final LaneSegmentMapper laneSegmentMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper; private final BaseCrossLightsMapper baseCrossLightsMapper;
private final BaseRidInfoMapper baseRidInfoMapper;
// 机动车灯数据库类型与前端类型对应关系 // 机动车灯数据库类型与前端类型对应关系
private static final Map<Integer, Integer> MOTOR_VEH_MAP = new HashMap<>(5); private static final Map<Integer, Integer> MOTOR_VEH_MAP = new HashMap<>(5);
...@@ -64,13 +68,15 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -64,13 +68,15 @@ public class CrossConfigServiceImpl implements CrossConfigService {
public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper, public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper,
BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper, BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper,
BaseCrossLightsMapper baseCrossLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper,
BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper) { BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper,
BaseRidInfoMapper baseRidInfoMapper) {
this.crossDirInfoMapper = crossDirInfoMapper; this.crossDirInfoMapper = crossDirInfoMapper;
this.laneInfoMapper = laneInfoMapper; this.laneInfoMapper = laneInfoMapper;
this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper; this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper;
this.laneSegmentMapper = laneSegmentMapper; this.laneSegmentMapper = laneSegmentMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper; this.baseCrossLightsMapper = baseCrossLightsMapper;
this.baseCrossPhaseLightsMapper = baseCrossPhaseLightsMapper; this.baseCrossPhaseLightsMapper = baseCrossPhaseLightsMapper;
this.baseRidInfoMapper = baseRidInfoMapper;
} }
@Override @Override
...@@ -368,10 +374,15 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -368,10 +374,15 @@ public class CrossConfigServiceImpl implements CrossConfigService {
List<LaneInfoPO> laneInfoPOList = laneInfoMapper.selectBycrossId(crossId); List<LaneInfoPO> laneInfoPOList = laneInfoMapper.selectBycrossId(crossId);
Map<Integer, List<LaneInfoPO>> collect = laneInfoPOList.stream() Map<Integer, List<LaneInfoPO>> collect = laneInfoPOList.stream()
.collect(Collectors.groupingBy(LaneInfoPO::getDir)); .collect(Collectors.groupingBy(LaneInfoPO::getDir));
QueryWrapper<BaseRidInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("end_cross_id", crossId);
List<BaseRidInfo> ridList = baseRidInfoMapper.selectList(queryWrapper);
Map<Integer, String> roadNameMap = ridList.stream().collect(Collectors.toMap(o->o.getInDir(),o->o.getName()));
for (Map.Entry<Integer, List<LaneInfoPO>> entry : collect.entrySet()) { for (Map.Entry<Integer, List<LaneInfoPO>> entry : collect.entrySet()) {
Integer key = entry.getKey(); Integer key = entry.getKey();
DirListElement dirListElement = new DirListElement(); DirListElement dirListElement = new DirListElement();
dirListElement.setDir(key); dirListElement.setDir(key);
dirListElement.setRoadName(roadNameMap.get(key));
// 获取是否有行人道 // 获取是否有行人道
CrossDirInfoPO crossDirInfoPO = crossDirInfoMapper.selectByCrossIdAndDirType(crossId, key); CrossDirInfoPO crossDirInfoPO = crossDirInfoMapper.selectByCrossIdAndDirType(crossId, key);
Integer isPedestrian = 0; Integer isPedestrian = 0;
......
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