Commit a6572460 authored by duanruiming's avatar duanruiming

[update] 神思基础路网查询

parent 2c776dab
package net.wanji.web.controller.base;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dao.entity.GreenwaveCrossPO;
import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.po.CrossBaseLaneInfoPO;
import net.wanji.databus.po.CrossTurnInfoPO;
import net.wanji.web.service.BaseInfoService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.ws.rs.core.MediaType;
import java.util.List;
/**
* @author duanruiming
* @date 2024/11/13 20:30
*/
@Api(value = "CrossBaseInfoController", description = "路网基础信息")
@RequestMapping("/baseInfo")
@RestController
public class CrossBaseInfoController {
@Resource
private BaseInfoService baseInfoService;
@ApiOperation(value = "路口信息查询", notes = "路口信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/crossInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject crossInfoList() {
List<BaseCrossInfoPO> baseCrossInfoPOS = baseInfoService.crossInfoList();
return JsonViewObject.newInstance().success(baseCrossInfoPOS);
}
@ApiOperation(value = "车道信息查询", notes = "车道信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/laneInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject laneInfoList() {
List<CrossBaseLaneInfoPO> crossBaseLaneInfoPOS = baseInfoService.laneInfoList();
return JsonViewObject.newInstance().success(crossBaseLaneInfoPOS);
}
@ApiOperation(value = "路段信息查询", notes = "路段信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/ridInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject ridInfoList() {
List<RidInfoEntity> ridInfoEntities = baseInfoService.ridInfoList();
return JsonViewObject.newInstance().success(ridInfoEntities);
}
@ApiOperation(value = "转向信息查询", notes = "车道信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/turnInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject turnInfoList() {
List<CrossTurnInfoPO> crossTurnInfoPOS = baseInfoService.turnInfoList();
return JsonViewObject.newInstance().success(crossTurnInfoPOS);
}
@ApiOperation(value = "绿波基础信息查询", notes = "绿波基础信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/greenInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject greenInfoList() {
List<GreenwaveInfoPO> greenwaveInfoPOS = baseInfoService.greenInfoList();
return JsonViewObject.newInstance().success(greenwaveInfoPOS);
}
@ApiOperation(value = "绿波关联路口信息查询", notes = "绿波关联路口信息查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@GetMapping(value = "/greenCrossInfoList")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = JsonViewObject.class),
})
public JsonViewObject greenCrossInfoList() {
List<GreenwaveCrossPO> greenwaveCrossPOS = baseInfoService.greenCrossInfoList();
return JsonViewObject.newInstance().success(greenwaveCrossPOS);
}
}
package net.wanji.web.service;
import net.wanji.databus.dao.entity.GreenwaveCrossPO;
import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.po.CrossBaseLaneInfoPO;
import net.wanji.databus.po.CrossTurnInfoPO;
import java.util.List;
/**
* @author duanruiming
* @date 2024/11/13 20:33
*/
public interface BaseInfoService {
List<BaseCrossInfoPO> crossInfoList();
List<CrossBaseLaneInfoPO> laneInfoList();
List<RidInfoEntity> ridInfoList();
List<CrossTurnInfoPO> turnInfoList();
List<GreenwaveInfoPO> greenInfoList();
List<GreenwaveCrossPO> greenCrossInfoList();
}
package net.wanji.web.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import net.wanji.databus.dao.entity.GreenwaveCrossPO;
import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.po.CrossBaseLaneInfoPO;
import net.wanji.databus.po.CrossTurnInfoPO;
import net.wanji.web.service.BaseInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author duanruiming
* @date 2024/11/13 20:33
*/
@Service
public class BaseInfoServiceImpl implements BaseInfoService {
@Resource
private RidInfoMapper ridInfoMapper;
@Resource
private BaseCrossInfoMapper baseCrossInfoMapper;
@Resource
private CrossBaseLaneInfoMapper crossBaseLaneInfoMapper;
@Resource
private BaseCrossTurnInfoMapper baseCrossTurnInfoMapper;
@Resource
private GreenwaveInfoMapper greenwaveInfoMapper;
@Resource
private GreenwaveCrossMapper greenwaveCrossMapper;
@Override
public List<BaseCrossInfoPO> crossInfoList() {
List<BaseCrossInfoPO> list = baseCrossInfoMapper.selectAll();
return list;
}
@Override
public List<CrossBaseLaneInfoPO> laneInfoList() {
LambdaQueryWrapper<CrossBaseLaneInfoPO> queryWrapper = new LambdaQueryWrapper<>();
List<CrossBaseLaneInfoPO> crossBaseLaneInfoPOS = crossBaseLaneInfoMapper.selectList(queryWrapper);
return crossBaseLaneInfoPOS;
}
@Override
public List<RidInfoEntity> ridInfoList() {
List<RidInfoEntity> ridInfoEntities = ridInfoMapper.selectAll();
return ridInfoEntities;
}
@Override
public List<CrossTurnInfoPO> turnInfoList() {
List<CrossTurnInfoPO> crossTurnInfoPOS = baseCrossTurnInfoMapper.selectAll();
return crossTurnInfoPOS;
}
@Override
public List<GreenwaveInfoPO> greenInfoList() {
List<GreenwaveInfoPO> greenwaveInfoPOS = greenwaveInfoMapper.selectAll();
return greenwaveInfoPOS;
}
@Override
public List<GreenwaveCrossPO> greenCrossInfoList() {
List<GreenwaveCrossPO> greenwaveCrossPOS = greenwaveCrossMapper.selectAll();
return greenwaveCrossPOS;
}
}
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 cn.hutool.core.util.ObjectUtil;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.common.enums.LightsAddressEnum; import net.wanji.common.enums.LightsAddressEnum;
import net.wanji.databus.dao.mapper.*; import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dao.mapper.BaseCrossLaneLightsMapper;
import net.wanji.databus.dao.mapper.BaseCrossLightsMapper;
import net.wanji.databus.dao.mapper.BaseCrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.po.BaseCrossLightsPO; import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossLaneLightsPO; import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.LaneInfoPO; import net.wanji.databus.po.LaneInfoPO;
import net.wanji.web.common.enums.CrossLisghtsLaneDirEnum; import net.wanji.web.common.enums.CrossLisghtsLaneDirEnum;
import net.wanji.web.common.exception.LightLaneConflictException; import net.wanji.web.common.exception.LightLaneConflictException;
import net.wanji.web.common.exception.RidInfoException;
import net.wanji.web.dto.DirListElement; 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;
...@@ -461,12 +462,13 @@ public class CrossConfigServiceImpl implements CrossConfigService { ...@@ -461,12 +462,13 @@ public class CrossConfigServiceImpl implements CrossConfigService {
String sortStr = "1" + (i + 1); String sortStr = "1" + (i + 1);
int sort = Integer.parseInt(sortStr); int sort = Integer.parseInt(sortStr);
// 上一个路口ID // 上一个路口ID
String preId = laneInfoMapper.selectPreId(crossId, dir); String preId = "13N8J0B5P10";
if (ObjectUtil.isEmpty(preId)) { //String preId = laneInfoMapper.selectPreId(crossId, dir);
throw new RidInfoException("基础路网中无上一路口数据"); //if (ObjectUtil.isEmpty(preId)) {
} // throw new RidInfoException("基础路网中无上一路口数据");
// 0 主路;900 进口道渠化序号。信控车道类型都是进口车道 //}
laneInfoPO.setId(preId + crossId + 0 + 900 + sort); // 主路;900 进口道渠化序号。信控车道类型都是进口车道
laneInfoPO.setId(dir + crossId + 0 + 900 + sort);
laneInfoPO.setCode(laneListElement.getName()); laneInfoPO.setCode(laneListElement.getName());
laneInfoPO.setSort(sort); laneInfoPO.setSort(sort);
laneInfoPO.setDir(dir); laneInfoPO.setDir(dir);
......
...@@ -12,4 +12,6 @@ public interface BaseCrossTurnInfoMapper { ...@@ -12,4 +12,6 @@ public interface BaseCrossTurnInfoMapper {
List<String> selectLaneIds(String crossId, Integer dirCode, Integer intTurnCode); List<String> selectLaneIds(String crossId, Integer dirCode, Integer intTurnCode);
List<CrossTurnInfoPO> selectAll();
} }
...@@ -18,4 +18,9 @@ ...@@ -18,4 +18,9 @@
where cross_id = #{crossId} and dir = #{dirCode} and turn = #{intTurnCode} where cross_id = #{crossId} and dir = #{dirCode} and turn = #{intTurnCode}
</select> </select>
<select id="selectAll" resultType="net.wanji.databus.po.CrossTurnInfoPO">
select <include refid="baseColumnList"></include>
from t_base_cross_turn_info
</select>
</mapper> </mapper>
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