Commit cbf99bc6 authored by duanruiming's avatar duanruiming

[update] 优化持久层

parent 82fafd8c
package net.wanji.web.mapper.scheme;
import net.wanji.web.po.scheme.CrossPhasePO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -12,7 +12,7 @@ import java.util.List;
* @date : 2023-1-3
*/
@Repository
public interface CrossPhaseMapper {
public interface BaseCrossPhaseMapper {
Integer selectIdByCrossIdAndCoordPhaseNo(@Param("crossId") String crossId,
@Param("schemeId") Integer schemeId,
......
package net.wanji.web.mapper.scheme;
import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.web.po.scheme.CrossPlanPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -14,7 +14,7 @@ import java.util.List;
* @date 2023/1/28 13:16
*/
@Repository
public interface CrossPlanMapper {
public interface BaseCrossPlanMapper {
void insertOne(CrossPlanPO crossPlanPO);
......
......@@ -13,7 +13,7 @@ import java.util.List;
* @date 2023/1/28 13:16
*/
@Repository
public interface CrossSchedulesMapper {
public interface BaseCrossSchedulesMapper {
void deleteByCrossId(@Param("crossId") String crossId);
......
package net.wanji.web.mapper.scheme;
import net.wanji.web.po.scheme.CrossSchemePO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -13,7 +13,7 @@ import java.util.Set;
* @date : 2023-1-3
*/
@Repository
public interface CrossSchemeMapper {
public interface BaseCrossSchemeMapper {
void deleteByCrossId(@Param("crossId") String crossId);
......
package net.wanji.web.mapper.scheme;
import net.wanji.web.po.scheme.CrossSectionPO;
import net.wanji.databus.dao.entity.CrossSectionPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -13,7 +13,7 @@ import java.util.List;
* @date 2023/1/28 13:16
*/
@Repository
public interface CrossSectionMapper {
public interface BaseCrossSectionMapper {
void insertOne(CrossSectionPO crossSectionPO);
......
package net.wanji.web.mapper.scheme;
import net.wanji.web.po.scheme.CrossPhaseLightsPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.List;
/**
* 相位灯组关系;(t_base_cross_phase_lights)表数据库访问层
* @author : hanbing
* @date : 2023-1-3
*/
@Repository
public interface CrossPhaseLightsMapper {
void deleteByCrossId(@Param("crossId") String crossId);
void insertBatch(@Param("entities") Collection<CrossPhaseLightsPO> entities);
List<CrossPhaseLightsPO> selectByPhaseId(@Param("phaseId") Integer phaseId);
List<CrossPhaseLightsPO> selectByLightsId(@Param("lightsId") Integer lightsId);
void updateLightsId(@Param("oldId") Integer oldId, @Param("newId") Integer newId);
Integer selectIdByThreeIds(Integer lightsId, Integer phaseId, String crossId);
void insertOne(CrossPhaseLightsPO crossPhaseLightsPO);
List<CrossPhaseLightsPO> listCrossPhaseLightsPO(@Param("entity") CrossPhaseLightsPO entity);
}
package net.wanji.web.po.scheme;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2023/1/3 9:51
*/
@Data
public class CrossPhaseLightsPO {
/** 主键 */
@ApiModelProperty(name = "主键",notes = "")
private Integer id ;
/** 灯组ID */
@ApiModelProperty(name = "灯组ID",notes = "")
private Integer lightsId = 0 ;
/** 相位ID */
@ApiModelProperty(name = "相位ID",notes = "")
private Integer phaseId ;
/** 路口ID */
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
package net.wanji.web.po.scheme;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 计划基础信息;(t_base_cross_plan)表
*
* @author Kent HAN
* @date 2022/12/28 17:45
*/
@Data
public class CrossPlanPO {
/** 计划ID */
@ApiModelProperty(name = "计划ID",notes = "")
private Integer id ;
/** 计划号 */
@ApiModelProperty(name = "计划号",notes = "")
private String planNo ;
/** 计划名称 */
@ApiModelProperty(name = "计划名称",notes = "")
private String name ;
/** 路口ID */
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
\ No newline at end of file
package net.wanji.web.po.scheme;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 时段基础信息;(t_base_cross_section)表
*
* @author Kent HAN
* @date 2022/12/28 17:45
*/
@Data
public class CrossSectionPO {
/** 时段ID */
@ApiModelProperty(name = "时段ID",notes = "")
private Integer id ;
/** 时段号 */
@ApiModelProperty(name = "时段号",notes = "")
private String sectionNo ;
/** 开始时间 */
@ApiModelProperty(name = "开始时间",notes = "")
private String startTime ;
/** 结束时间 */
@ApiModelProperty(name = "结束时间",notes = "")
private String endTime ;
/** 路口ID */
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId ;
/** 计划ID */
@ApiModelProperty(name = "计划ID",notes = "")
private Integer planId ;
/** 控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9 */
@ApiModelProperty(name = "控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9",notes = "")
private Integer controlMode ;
/** 方案ID */
@ApiModelProperty(name = "方案ID",notes = "")
private Integer schemeId ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
\ No newline at end of file
......@@ -2,7 +2,7 @@ package net.wanji.web.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.TBaseCrossInfo;
import net.wanji.databus.vo.CrossInfoVO;
......@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
public class CrossInfoService {
@Autowired
private CrossInfoMapper crossInfoMapper;
private BaseCrossInfoMapper baseCrossInfoMapper;
@Autowired
private TBaseAreaInfoMapper areaInfoMapper;
......@@ -49,8 +49,8 @@ public class CrossInfoService {
*/
public JsonViewObject selectAll(CrossInfoVO crossInfoVO) {
PageResultPO<CrossInfoPO> page = new PageResultPO<>();
Integer count = crossInfoMapper.countSelectAll(crossInfoVO);
List<CrossInfoPO> list = crossInfoMapper.selectAll(crossInfoVO);
Integer count = baseCrossInfoMapper.countSelectAll(crossInfoVO);
List<CrossInfoPO> list = baseCrossInfoMapper.selectAll(crossInfoVO);
page.setPageNum(crossInfoVO.getPageNum());
page.setPageSize(crossInfoVO.getPageSize());
page.setTotal(count);
......@@ -66,14 +66,14 @@ public class CrossInfoService {
public JsonViewObject addOne(BaseCrossInfoVO crossInfoPO) {
JsonViewObject jsonViewObject = JsonViewObject.newInstance().success();
if (StringUtils.isNoneBlank(crossInfoPO.getId())) {
TBaseCrossInfo tBaseCrossInfo = crossInfoMapper.selectByPrimaryKey(crossInfoPO.getId());
TBaseCrossInfo tBaseCrossInfo = baseCrossInfoMapper.selectByPrimaryKey(crossInfoPO.getId());
if (Objects.nonNull(tBaseCrossInfo)) {
return jsonViewObject.fail("路口编号重复,请重新设置!");
}
}
TBaseCrossInfo record = getBaseCrossInfo(crossInfoPO);
record.setGmtCreate(new Date());
int insert = crossInfoMapper.insertSelective(record);
int insert = baseCrossInfoMapper.insertSelective(record);
if (insert > 0) {
return jsonViewObject.success("添加成功");
}
......@@ -94,7 +94,7 @@ public class CrossInfoService {
record.setIsSend(0);
}
record.setGmtModified(new Date());
int update = crossInfoMapper.updateByPrimaryKeySelective(record);
int update = baseCrossInfoMapper.updateByPrimaryKeySelective(record);
if (update > 0) {
return JsonViewObject.newInstance().success("修改成功");
}
......@@ -153,7 +153,7 @@ public class CrossInfoService {
* @param ids id集合
*/
public JsonViewObject delete(List<String> ids) {
crossInfoMapper.deleteBatchIds(ids);
baseCrossInfoMapper.deleteBatchIds(ids);
return JsonViewObject.newInstance().success("删除成功");
}
......
......@@ -7,14 +7,18 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.mapper.BaseCrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossLaneLightsMapper;
import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.po.CrossLightsPO;
import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.CrossPlanMapper;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.vo.*;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.dto.*;
import net.wanji.web.mapper.scheme.*;
import net.wanji.web.po.scheme.*;
import net.wanji.web.po.scheme.CrossSchedulesPO;
import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import net.wanji.web.service.FeignProxyService;
import net.wanji.web.service.PlanSendService;
import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl;
......@@ -40,15 +44,15 @@ public class PlanSendServiceImpl implements PlanSendService {
private final FeignProxyService feignProxyService;
private final CrossSchedulesPlanMapper crossSchedulesPlanMapper;
private final CrossPlanMapper crossPlanMapper;
private final CrossSchemeMapper crossSchemeMapper;
private final CrossPhaseMapper crossPhaseMapper;
private final CrossLightsMapper crossLightsMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper baseCrossPhaseMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final RunningPlanServiceImpl runningPlanServiceImpl;
private final SchemeConfigServiceImpl schemeConfigServiceImpl;
private final CrossSchedulesMapper crossSchedulesMapper;
private final BaseCrossSchedulesMapper baseCrossSchedulesMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final CrossSectionMapper crossSectionMapper;
private final BaseCrossSectionMapper baseCrossSectionMapper;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat hourMinuteSdf = new SimpleDateFormat("HH:mm");
......@@ -57,23 +61,23 @@ public class PlanSendServiceImpl implements PlanSendService {
public PlanSendServiceImpl(@Qualifier("net.wanji.feign.service.UtcFeignClients") UtcFeignClients utcFeignClients,
CrossSchedulesPlanMapper crossSchedulesPlanMapper, CrossPlanMapper crossPlanMapper,
CrossSchemeMapper crossSchemeMapper, CrossPhaseMapper crossPhaseMapper,
CrossLightsMapper crossLightsMapper, CrossPhaseLightsMapper crossPhaseLightsMapper,
BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper,
BaseCrossLightsMapper baseCrossLightsMapper, CrossPhaseLightsMapper crossPhaseLightsMapper,
RunningPlanServiceImpl runningPlanServiceImpl, SchemeConfigServiceImpl schemeConfigServiceImpl,
CrossSchedulesMapper crossSchedulesMapper, CrossLaneLightsMapper crossLaneLightsMapper,
CrossSectionMapper crossSectionMapper, FeignProxyService feignProxyService) {
BaseCrossSchedulesMapper baseCrossSchedulesMapper, CrossLaneLightsMapper crossLaneLightsMapper,
BaseCrossSectionMapper baseCrossSectionMapper, FeignProxyService feignProxyService) {
this.utcFeignClients = utcFeignClients;
this.crossSchedulesPlanMapper = crossSchedulesPlanMapper;
this.crossPlanMapper = crossPlanMapper;
this.crossSchemeMapper = crossSchemeMapper;
this.crossPhaseMapper = crossPhaseMapper;
this.crossLightsMapper = crossLightsMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossPhaseMapper = baseCrossPhaseMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.runningPlanServiceImpl = runningPlanServiceImpl;
this.schemeConfigServiceImpl = schemeConfigServiceImpl;
this.crossSchedulesMapper = crossSchedulesMapper;
this.baseCrossSchedulesMapper = baseCrossSchedulesMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.crossSectionMapper = crossSectionMapper;
this.baseCrossSectionMapper = baseCrossSectionMapper;
this.feignProxyService = feignProxyService;
}
......@@ -102,13 +106,13 @@ public class PlanSendServiceImpl implements PlanSendService {
CrossPhasePO crossPhasePO = new CrossPhasePO();
crossPhasePO.setCrossId(crossId);
crossPhasePO.setPlanId(schemeId);
List<CrossPhasePO> crossPhasePOS = crossPhaseMapper.listCrossPhasePO(crossPhasePO);
List<CrossPhasePO> crossPhasePOS = baseCrossPhaseMapper.listCrossPhasePO(crossPhasePO);
CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO();
crossPhaseLightsPO.setCrossId(crossId);
List<CrossPhaseLightsPO> crossPhaseLightsPOS = crossPhaseLightsMapper.listCrossPhaseLightsPO(crossPhaseLightsPO);
CrossLightsPO crossLightsPO = new CrossLightsPO();
List<CrossPhaseLightsPO> crossPhaseLightsPOS = crossPhaseLightsMapper.selectByEntity(crossPhaseLightsPO);
BaseCrossLightsPO crossLightsPO = new BaseCrossLightsPO();
crossLightsPO.setCrossId(crossId);
List<CrossLightsPO> crossLightsPOS = crossLightsMapper.listCrossLightsPO(crossLightsPO);
List<BaseCrossLightsPO> crossLightsPOS = baseCrossLightsMapper.listCrossLightsPO(crossLightsPO);
for (CrossPhasePO phasePO : crossPhasePOS) {
PhaseTimingSendVO.Phase phase = new PhaseTimingSendVO.Phase();
phase.setPhaseNo(Integer.valueOf(phasePO.getPhaseNo()));
......@@ -124,7 +128,7 @@ public class PlanSendServiceImpl implements PlanSendService {
for (CrossPhaseLightsPO phaseLightsPO : crossPhaseLightsPOS) {
if (Objects.equals(id, phaseLightsPO.getPhaseId())) {
Integer lightsId = phaseLightsPO.getLightsId();
for (CrossLightsPO lightsPO : crossLightsPOS) {
for (BaseCrossLightsPO lightsPO : crossLightsPOS) {
if (Objects.equals(lightsId, lightsPO.getId())) {
PhaseTimingSendVO.Phase.Lane lane = new PhaseTimingSendVO.Phase.Lane();
// lane.setLaneNo(Integer.valueOf(lightsPO.getLightsNo()));
......@@ -166,8 +170,8 @@ public class PlanSendServiceImpl implements PlanSendService {
}
// 更新时间表状态为已执行
crossSchedulesMapper.resetStatus(crossId);
crossSchedulesMapper.updateStatus(scheduleId);
baseCrossSchedulesMapper.resetStatus(crossId);
baseCrossSchedulesMapper.updateStatus(scheduleId);
return jsonViewObject.success();
}
......@@ -180,11 +184,11 @@ public class PlanSendServiceImpl implements PlanSendService {
CrossSectionPO crossSectionPO = new CrossSectionPO();
crossSectionPO.setCrossId(crossId);
crossSectionPO.setPlanId(planId);
List<CrossSectionPO> crossSectionPOS = crossSectionMapper.listCrossSectionPO(crossSectionPO);
List<CrossSectionPO> crossSectionPOS = baseCrossSectionMapper.listCrossSectionPO(crossSectionPO);
List<PlanSendVO.Plan.Section> sectionList = new ArrayList<>(crossSectionPOS.size());
for (CrossSectionPO sectionPO : crossSectionPOS) {
Integer schemeId = sectionPO.getSchemeId();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId);
Integer schemeId = sectionPO.getScemeId();
CrossSchemePO crossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
String patternNo = crossSchemePO.getSchemeNo();
PlanSendVO.Plan.Section section = new PlanSendVO.Plan.Section();
section.setSectionNo(sectionPO.getSectionNo());
......@@ -236,8 +240,8 @@ public class PlanSendServiceImpl implements PlanSendService {
// 更新方案表状态为已执行
crossSchemeMapper.resetStatus(crossId);
crossSchemeMapper.updateStatus(schemeId);
baseCrossSchemeMapper.resetStatus(crossId);
baseCrossSchemeMapper.updateStatus(schemeId);
return jsonViewObject.success();
}
......@@ -262,7 +266,7 @@ public class PlanSendServiceImpl implements PlanSendService {
List<Integer> phaseIds = crossIdAndPhaseIdsDTO.getPhaseIds();
List<Integer> phaseList = new ArrayList<>();
for (Integer phaseId : phaseIds) {
CrossPhasePO crossPhasePO = crossPhaseMapper.selectById(phaseId);
CrossPhasePO crossPhasePO = baseCrossPhaseMapper.selectById(phaseId);
String phaseNo = crossPhasePO.getPhaseNo();
phaseList.add(Integer.parseInt(phaseNo));
}
......@@ -317,7 +321,7 @@ public class PlanSendServiceImpl implements PlanSendService {
lockControlVO.setDuration(0); // 长期
List<Integer> phaseList = new ArrayList<>();
for (Integer phaseId : phaseIds) {
CrossPhasePO crossPhasePO = crossPhaseMapper.selectById(phaseId);
CrossPhasePO crossPhasePO = baseCrossPhaseMapper.selectById(phaseId);
String phaseNo = crossPhasePO.getPhaseNo();
phaseList.add(Integer.parseInt(phaseNo));
}
......@@ -367,11 +371,11 @@ public class PlanSendServiceImpl implements PlanSendService {
return jsonViewObject.fail("信号机方案对象转换结果为空,未更新数据库");
}
List<CrossSchemePO> crossSchemeList = schemePhaseLightsVO.getCrossSchemeList();
crossSchemeMapper.deleteByCrossId(crossId);
baseCrossSchemeMapper.deleteByCrossId(crossId);
// 保存旧方案ID
List<Integer> oldSchemeIds = crossSchemeList.stream().map(CrossSchemePO::getId).collect(Collectors.toList());
// 保存新方案ID
crossSchemeMapper.insertBatch(crossSchemeList);
baseCrossSchemeMapper.insertBatch(crossSchemeList);
List<Integer> newSchemeIds = crossSchemeList.stream().map(CrossSchemePO::getId).collect(Collectors.toList());
// 生成新旧方案ID映射
Map<Integer, Integer> oldNewSchemeId = new HashMap<>();
......@@ -380,21 +384,21 @@ public class PlanSendServiceImpl implements PlanSendService {
}
List<CrossPhasePO> crossPhaseList = schemePhaseLightsVO.getCrossPhaseList();
crossPhaseMapper.deleteByCrossId(crossId);
baseCrossPhaseMapper.deleteByCrossId(crossId);
// 更新方案ID
for (CrossPhasePO crossPhasePO : crossPhaseList) {
crossPhasePO.setPlanId(oldNewSchemeId.get(crossPhasePO.getPlanId()));
}
crossPhaseMapper.insertBatch(crossPhaseList);
baseCrossPhaseMapper.insertBatch(crossPhaseList);
List<CrossLightsPO> crossLightsList = schemePhaseLightsVO.getCrossLightsList();
List<BaseCrossLightsPO> crossLightsList = schemePhaseLightsVO.getCrossLightsList();
// 清理数据库
crossLightsMapper.deleteByCrossId(crossId);
baseCrossLightsMapper.deleteByCrossId(crossId);
// 灯组号去重
TreeSet<CrossLightsPO> crossLightsSet = distinctLightsNo(crossLightsList);
TreeSet<BaseCrossLightsPO> crossLightsSet = distinctLightsNo(crossLightsList);
// 修改灯组数据内容
changeLightsType(crossLightsSet);
crossLightsMapper.insertBatch(crossLightsSet);
baseCrossLightsMapper.insertBatch(crossLightsSet);
crossPhaseLightsMapper.deleteByCrossId(crossId);
crossLaneLightsMapper.deleteByCrossId(crossId);
......@@ -402,14 +406,14 @@ public class PlanSendServiceImpl implements PlanSendService {
return jsonViewObject.success();
}
private TreeSet<CrossLightsPO> distinctLightsNo(List<CrossLightsPO> crossLightsList) {
TreeSet<CrossLightsPO> crossLightsSet = crossLightsList.stream()
.collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(CrossLightsPO::getLightsNo))));
private TreeSet<BaseCrossLightsPO> distinctLightsNo(List<BaseCrossLightsPO> crossLightsList) {
TreeSet<BaseCrossLightsPO> crossLightsSet = crossLightsList.stream()
.collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(BaseCrossLightsPO::getLightsNo))));
return crossLightsSet;
}
private static void changeLightsType(Set<CrossLightsPO> crossLightsSet) {
for (CrossLightsPO crossLightsPO : crossLightsSet) {
private static void changeLightsType(Set<BaseCrossLightsPO> crossLightsSet) {
for (BaseCrossLightsPO crossLightsPO : crossLightsSet) {
Integer type = crossLightsPO.getType();
if (type == 2) {
crossLightsPO.setType(1);
......@@ -554,7 +558,7 @@ public class PlanSendServiceImpl implements PlanSendService {
private List<SchemeSendVO.Pattern> buildPatternList(String crossId, Integer schemeId) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId);
CrossSchemePO crossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
SchemeSendVO.Pattern pattern = new SchemeSendVO.Pattern();
pattern.setPatternNo(crossSchemePO.getSchemeNo());
pattern.setPatternName(crossSchemePO.getName());
......@@ -572,7 +576,7 @@ public class PlanSendServiceImpl implements PlanSendService {
private List<SchemeSendVO.Pattern.Ring> buildRings(String crossId, Integer schemeId) {
List<SchemeSendVO.Pattern.Ring> rings = new ArrayList<>();
// 根据路口ID和方案ID查询相位集合,根据ringNo分组,特殊控制ringNo为0
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByCrossIdAndSchemeId(crossId, schemeId);
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeId(crossId, schemeId);
Map<Integer, List<CrossPhasePO>> collectMap = crossPhasePOList.stream()
.collect(Collectors.groupingBy(CrossPhasePO::getRingNo));
for (Map.Entry<Integer, List<CrossPhasePO>> entry : collectMap.entrySet()) {
......@@ -635,7 +639,7 @@ public class PlanSendServiceImpl implements PlanSendService {
}
schedule.setWeeks(weeks);
schedule.setSpecialDays(specialDays);
CrossSchedulesPO crossSchedulesPO = crossSchedulesMapper.selectById(scheduleId);
CrossSchedulesPO crossSchedulesPO = baseCrossSchedulesMapper.selectById(scheduleId);
schedule.setScheduleNo(crossSchedulesPO.getScheduleNo());
schedules.add(schedule);
return schedules;
......
......@@ -11,7 +11,7 @@ import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.common.utils.tool.BeanMapUtils;
import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.TBaseCrossInfo;
import net.wanji.databus.vo.*;
......@@ -60,7 +60,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
private final GreenwaveRealtimeMapper greenwaveRealtimeMapper;
private final AllDeviceStatusMapper allDeviceStatusMapper;
private final GreenwaveCrossMapper greenwaveCrossMapper;
private final CrossInfoMapper tBaseCrossInfoMapper;
private final BaseCrossInfoMapper tBaseBaseCrossInfoMapper;
private final TBaseAreaInfoMapper tBaseAreaInfoMapper;
private final TBaseAreaCrossMapper tBaseAreaCrossMapper;
private final TDeviceStatusLogMapper tDeviceStatusLogMapper;
......@@ -149,7 +149,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
CrossAlarmOutVO crossAlarmOutVO = new CrossAlarmOutVO();
// 根据路口ID获取路口名称
String crossId = crossAlarmPO.getCrossId();
TBaseCrossInfo tBaseCrossInfo = tBaseCrossInfoMapper.selectByPrimaryKey(crossId);
TBaseCrossInfo tBaseCrossInfo = tBaseBaseCrossInfoMapper.selectByPrimaryKey(crossId);
crossAlarmOutVO.setCrossName(tBaseCrossInfo.getName());
// 从例如POINT(116.29959807 39.95929275)中获取经纬度
String location = tBaseCrossInfo.getLocation();
......@@ -398,13 +398,13 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
@Override
public List<CrossDeviceStatusInfoOutVO> crossDeviceStatusInfo() {
List<CrossDeviceStatusInfoOutVO> results = tBaseCrossInfoMapper.listCrossDeviceStatusInfo();
List<CrossDeviceStatusInfoOutVO> results = tBaseBaseCrossInfoMapper.listCrossDeviceStatusInfo();
return results;
}
@Override
public CrossInfoPO selectCrossInfoById(String signalId) {
return tBaseCrossInfoMapper.selectById(signalId);
return tBaseBaseCrossInfoMapper.selectById(signalId);
}
@Override
......@@ -427,7 +427,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
List<TBaseAreaCross> tBaseAreaCrosses = tBaseAreaCrossMapper.selectList(crossQuery);
// 查询路口信息
List<TBaseCrossInfo> tBaseCrossInfos = tBaseCrossInfoMapper.selectList(new LambdaQueryWrapper<>());
List<TBaseCrossInfo> tBaseCrossInfos = tBaseBaseCrossInfoMapper.selectList(new LambdaQueryWrapper<>());
// 将路口和辖区转化为辖区实体
getJurisdictionAreaTreeVO(resultList, tBaseAreaInfos, tBaseAreaCrosses, tBaseCrossInfos);
......@@ -531,7 +531,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
Map<Integer, List<TBaseAreaCross>> areaIdMap = entityList.stream().collect(Collectors.groupingBy(TBaseAreaCross::getAreaId));
// 路口编号获取路口名称和经纬度
List<TBaseCrossInfo> tBaseCrossInfos = tBaseCrossInfoMapper.selectList(new LambdaQueryWrapper<>());
List<TBaseCrossInfo> tBaseCrossInfos = tBaseBaseCrossInfoMapper.selectList(new LambdaQueryWrapper<>());
Map<String, String> crossIdNameMap = tBaseCrossInfos.stream().collect(Collectors.toMap(TBaseCrossInfo::getId, TBaseCrossInfo::getName));
Map<String, String> crossIdLocationMap = tBaseCrossInfos.stream().collect(Collectors.toMap(TBaseCrossInfo::getId, TBaseCrossInfo::getLocation));
......@@ -639,7 +639,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
List<TCrossControlHist> tCrossControlHists = controlHistMapper.selectRecentList();
LambdaQueryWrapper<TBaseCrossInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TBaseCrossInfo::getIsSignal, "1");
List<TBaseCrossInfo> tBaseCrossInfos = tBaseCrossInfoMapper.selectList(wrapper);
List<TBaseCrossInfo> tBaseCrossInfos = tBaseBaseCrossInfoMapper.selectList(wrapper);
if (!CollectionUtils.isEmpty(tCrossControlHists)) {
if (Objects.nonNull(operationMode)) {
if (operationMode == 1) { //中心优化
......
......@@ -3,7 +3,7 @@ package net.wanji.web.service.impl;
import cn.hutool.http.HttpUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.web.common.enums.CrossPhasePlanTurnTypeEnum;
import net.wanji.web.common.enums.CrossDirEnum;
import net.wanji.web.common.enums.SpecialServiceCrossTurnEnum;
......@@ -37,7 +37,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
CustomRidInfoMapper customRidInfoMapper;
@Autowired
CrossInfoMapper tBaseCrossInfoMapper;
BaseCrossInfoMapper tBaseBaseCrossInfoMapper;
@Autowired
CrossDirTurnMapper crossDirTurnMapper;
......@@ -152,7 +152,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
Integer sort = specialServiceCrossPO.getSort();
crossListOutVO.setSort(sort);
crossListOutVO.setStatus(specialServiceCrossPO.getStatus());
TBaseCrossInfo tBaseCrossInfo = tBaseCrossInfoMapper.selectByPrimaryKey(specialServiceCrossPO.getCrossId());
TBaseCrossInfo tBaseCrossInfo = tBaseBaseCrossInfoMapper.selectByPrimaryKey(specialServiceCrossPO.getCrossId());
// 经纬度
String location = tBaseCrossInfo.getLocation();
double[] lonLat = CrossUtil.getLonLat(location);
......
......@@ -4,11 +4,12 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.enums.LightsAddressEnum;
import net.wanji.databus.dao.mapper.BaseCrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossLaneLightsMapper;
import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.CrossLightsPO;
import net.wanji.databus.po.LaneInfoPO;
import net.wanji.web.common.enums.CrossLisghtsLaneDirEnum;
import net.wanji.web.common.exception.LightLaneConflictException;
......@@ -18,7 +19,6 @@ import net.wanji.web.dto.LaneListElement;
import net.wanji.web.dto.LedConfigListElement;
import net.wanji.web.dto.SaveLaneInfoDTO;
import net.wanji.web.mapper.scheme.CrossDirInfoMapper;
import net.wanji.web.mapper.scheme.CrossPhaseLightsMapper;
import net.wanji.web.mapper.scheme.LaneSegmentMapper;
import net.wanji.web.po.scheme.CrossDirInfoPO;
import net.wanji.web.service.scheme.CrossConfigService;
......@@ -38,7 +38,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private final LaneInfoMapper laneInfoMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final LaneSegmentMapper laneSegmentMapper;
private final CrossLightsMapper crossLightsMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
// 机动车灯数据库类型与前端类型对应关系
private static final Map<Integer, Integer> MOTOR_VEH_MAP = new HashMap<>(5);
......@@ -63,13 +63,13 @@ public class CrossConfigServiceImpl implements CrossConfigService {
public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper,
CrossLaneLightsMapper crossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper,
CrossLightsMapper crossLightsMapper,
BaseCrossLightsMapper baseCrossLightsMapper,
CrossPhaseLightsMapper crossPhaseLightsMapper) {
this.crossDirInfoMapper = crossDirInfoMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.laneSegmentMapper = laneSegmentMapper;
this.crossLightsMapper = crossLightsMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
}
......@@ -115,8 +115,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
// 根据路口ID和灯组代码获取灯组ID
String ledNum = laneListElement.getLedNum();
if (ledNum != null) {
CrossLightsPO crossLightsPO = crossLightsMapper.selectByCrossIdAndLedNum(crossId, ledNum);
Integer lightsId = crossLightsPO.getId();
BaseCrossLightsPO baseCrossLightsPO = baseCrossLightsMapper.selectByCrossIdAndLedNum(crossId, ledNum);
Integer lightsId = baseCrossLightsPO.getId();
crossLaneLightsPO.setLightsId(lightsId);
// 用于判断灯组号是否都配置完成
lightCodeSet.remove(ledNum);
......@@ -131,47 +131,47 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private void handleLightsData(SaveLaneInfoDTO saveLaneInfoDTO, List<LedConfigListElement> ledConfigList,
Set<String> lightCodeSet) {
// 保存旧的灯组代码-灯组对象映射关系
Map<String, CrossLightsPO> oldLightsMap = new HashMap<>();
List<CrossLightsPO> oldPOList = crossLightsMapper.selectByCrossId(saveLaneInfoDTO.getCrossId());
Map<String, BaseCrossLightsPO> oldLightsMap = new HashMap<>();
List<BaseCrossLightsPO> oldPOList = baseCrossLightsMapper.selectByCrossId(saveLaneInfoDTO.getCrossId());
if (oldPOList != null) {
for (CrossLightsPO oldPO : oldPOList) {
for (BaseCrossLightsPO oldPO : oldPOList) {
oldLightsMap.put(oldPO.getLightsNo(), oldPO);
}
}
String crossId = saveLaneInfoDTO.getCrossId();
List<CrossLightsPO> crossLightsPOList = new ArrayList<>();
List<BaseCrossLightsPO> baseCrossLightsPOList = new ArrayList<>();
for (LedConfigListElement ledConfigListElement : ledConfigList) {
String lightCode = ledConfigListElement.getCode();
lightCodeSet.add(lightCode);
CrossLightsPO crossLightsPO = new CrossLightsPO();
crossLightsPO.setLightsNo(lightCode);
BaseCrossLightsPO baseCrossLightsPO = new BaseCrossLightsPO();
baseCrossLightsPO.setLightsNo(lightCode);
// 灯组类型
setType(ledConfigListElement, crossLightsPO);
setType(ledConfigListElement, baseCrossLightsPO);
// 灯组放行方向
String address = ledConfigListElement.getAddress();
Integer addressCode = LightsAddressEnum.getCodeByMsg(address);
if (addressCode < 10) { // 非行人灯
// 将放行方向改为灯组方向
Integer lightsDir = CrossLisghtsLaneDirEnum.getLaneDirByLightsDir(addressCode);
crossLightsPO.setDir(lightsDir);
baseCrossLightsPO.setDir(lightsDir);
} else { // 行人灯
String firstDigit = address.toString().substring(0, 1);
crossLightsPO.setDir(Integer.parseInt(firstDigit));
baseCrossLightsPO.setDir(Integer.parseInt(firstDigit));
// 如果是行人灯,则不需要配置车道
lightCodeSet.remove(lightCode);
}
crossLightsPO.setSort(ledConfigListElement.getOrder());
crossLightsPO.setCrossId(crossId);
crossLightsPOList.add(crossLightsPO);
baseCrossLightsPO.setSort(ledConfigListElement.getOrder());
baseCrossLightsPO.setCrossId(crossId);
baseCrossLightsPOList.add(baseCrossLightsPO);
}
crossLightsMapper.deleteByCrossId(crossId);
crossLightsMapper.insertBatch(crossLightsPOList);
baseCrossLightsMapper.deleteByCrossId(crossId);
baseCrossLightsMapper.insertBatch(baseCrossLightsPOList);
// 对比旧的灯组信息,如没有发生变化,则更新灯组-相位关系表中的灯组ID
for (CrossLightsPO newPO : crossLightsPOList) {
for (BaseCrossLightsPO newPO : baseCrossLightsPOList) {
String newNumber = newPO.getLightsNo();
CrossLightsPO oldPO = oldLightsMap.get(newNumber);
BaseCrossLightsPO oldPO = oldLightsMap.get(newNumber);
if (oldPO != null) {
if (checkIsSame(oldPO, newPO)) {
crossPhaseLightsMapper.updateLightsId(oldPO.getId(), newPO.getId());
......@@ -180,61 +180,61 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
}
private boolean checkIsSame(CrossLightsPO oldPO, CrossLightsPO newPO) {
private boolean checkIsSame(BaseCrossLightsPO oldPO, BaseCrossLightsPO newPO) {
return (Objects.equals(oldPO.getDir(), newPO.getDir())
&& Objects.equals(oldPO.getType(), newPO.getType()));
}
private void setType(LedConfigListElement ledConfigListElement, CrossLightsPO crossLightsPO) {
private void setType(LedConfigListElement ledConfigListElement, BaseCrossLightsPO baseCrossLightsPO) {
Integer type = ledConfigListElement.getType();
Integer signalType = ledConfigListElement.getSignalType();
String address = ledConfigListElement.getAddress();
if (type == 1) { // 机动车灯
if (signalType == 1) {
// 圆饼灯
crossLightsPO.setType(1);
baseCrossLightsPO.setType(1);
} else if (signalType == 3) {
// 左转灯
crossLightsPO.setType(2);
baseCrossLightsPO.setType(2);
} else if (signalType == 4) {
// 直行灯
crossLightsPO.setType(3);
baseCrossLightsPO.setType(3);
} else if (signalType == 5) {
// 右转灯
crossLightsPO.setType(4);
baseCrossLightsPO.setType(4);
} else if (signalType == 6) {
// 掉头灯
crossLightsPO.setType(5);
baseCrossLightsPO.setType(5);
}
} else if (type == 2) { // 非机动车灯
if (signalType == 2) {
// 无转向的非机动车灯
crossLightsPO.setType(10);
baseCrossLightsPO.setType(10);
} else if (signalType == 3) {
// 左转非机动车灯
crossLightsPO.setType(11);
baseCrossLightsPO.setType(11);
} else if (signalType == 4) {
// 直行非机动车灯
crossLightsPO.setType(12);
baseCrossLightsPO.setType(12);
} else if (signalType == 5) {
// 右转非机动车灯
crossLightsPO.setType(13);
baseCrossLightsPO.setType(13);
} else if (signalType == 6) {
// 掉头非机动车灯
crossLightsPO.setType(14);
baseCrossLightsPO.setType(14);
}
} else if (type == 3) { // 公交专用
if (signalType == 7) {
crossLightsPO.setType(30);
baseCrossLightsPO.setType(30);
}
} else if (type == 4) { // 行人
Integer addressCode = LightsAddressEnum.getCodeByMsg(address);
if (addressCode >= 10 && addressCode <= 99) { // 两位数为一次过街
crossLightsPO.setType(20);
baseCrossLightsPO.setType(20);
} else if (addressCode >= 100 && addressCode % 10 == 1) { // 三位数为二次过街,个位是1表示出口
crossLightsPO.setType(22);
baseCrossLightsPO.setType(22);
} else if (addressCode >= 100 && addressCode % 10 == 2) { // 三位数为二次过街,个位是2表示进口
crossLightsPO.setType(21);
baseCrossLightsPO.setType(21);
}
}
}
......@@ -308,15 +308,15 @@ public class CrossConfigServiceImpl implements CrossConfigService {
saveLaneInfoDTO.setLedConfigList(new ArrayList<>());
List<LedConfigListElement> ledConfigList = saveLaneInfoDTO.getLedConfigList();
// 获取灯组数据
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossId(crossId);
List<BaseCrossLightsPO> baseCrossLightsPOList = baseCrossLightsMapper.selectByCrossId(crossId);
// 赋值给ledConfigList
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
for (BaseCrossLightsPO baseCrossLightsPO : baseCrossLightsPOList) {
LedConfigListElement ledConfigListElement = new LedConfigListElement();
ledConfigListElement.setId(crossLightsPO.getId());
ledConfigListElement.setOrder(crossLightsPO.getSort());
ledConfigListElement.setCode(crossLightsPO.getLightsNo());
ledConfigListElement.setId(baseCrossLightsPO.getId());
ledConfigListElement.setOrder(baseCrossLightsPO.getSort());
ledConfigListElement.setCode(baseCrossLightsPO.getLightsNo());
// 处理type
Integer type = crossLightsPO.getType();
Integer type = baseCrossLightsPO.getType();
if (type > 0 && type < 10) { // 机动车灯
ledConfigListElement.setType(1);
Integer signalType = MOTOR_VEH_MAP.get(type);
......@@ -333,7 +333,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
ledConfigListElement.setSignalType(7);
}
// 灯组放行方向 转化为灯组方向
Integer dir = crossLightsPO.getDir();
Integer dir = baseCrossLightsPO.getDir();
if (type < 20 || type >= 30) { // 非行人灯
Integer laneDir = CrossLisghtsLaneDirEnum.getLightsDirByLaneDir(dir);
String address = LightsAddressEnum.getMsgByCode(laneDir);
......@@ -397,10 +397,10 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
dirListElement.setLaneList(laneListElementList);
// 构造行人过街数据
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossIdAndDir(crossId, key);
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
Integer type = crossLightsPO.getType();
String lightsNo = crossLightsPO.getLightsNo();
List<BaseCrossLightsPO> baseCrossLightsPOList = baseCrossLightsMapper.selectByCrossIdAndDir(crossId, key);
for (BaseCrossLightsPO baseCrossLightsPO : baseCrossLightsPOList) {
Integer type = baseCrossLightsPO.getType();
String lightsNo = baseCrossLightsPO.getLightsNo();
if (type == 20) { // 一次过街
dirListElement.setPersonCrossType("oneCross");
dirListElement.setOneCross(lightsNo);
......
......@@ -2,17 +2,13 @@ package net.wanji.web.service.scheme.impl;
import cn.hutool.core.collection.CollectionUtil;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.CrossSectionPO;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.web.mapper.scheme.CrossPlanMapper;
import net.wanji.web.mapper.scheme.CrossSchedulesMapper;
import net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper;
import net.wanji.web.mapper.scheme.CrossSchemeMapper;
import net.wanji.web.mapper.scheme.CrossSectionMapper;
import net.wanji.web.po.scheme.CrossPlanPO;
import net.wanji.web.mapper.scheme.*;
import net.wanji.web.po.scheme.CrossSchedulesPO;
import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import net.wanji.web.po.scheme.CrossSchemePO;
import net.wanji.web.po.scheme.CrossSectionPO;
import net.wanji.web.service.scheme.RunningPlanService;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
......@@ -34,19 +30,19 @@ import java.util.stream.Collectors;
public class RunningPlanServiceImpl implements RunningPlanService {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private final CrossPlanMapper crossPlanMapper;
private final CrossSchemeMapper crossSchemeMapper;
private final CrossSectionMapper crossSectionMapper;
private final CrossSchedulesMapper crossSchedulesMapper;
private final BaseCrossPlanMapper BaseCrossPlanMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossSectionMapper baseCrossSectionMapper;
private final BaseCrossSchedulesMapper baseCrossSchedulesMapper;
private final CrossSchedulesPlanMapper crossSchedulesPlanMapper;
public RunningPlanServiceImpl(CrossPlanMapper crossPlanMapper, CrossSchemeMapper crossSchemeMapper,
CrossSectionMapper crossSectionMapper, CrossSchedulesMapper crossSchedulesMapper,
public RunningPlanServiceImpl(BaseCrossPlanMapper BaseCrossPlanMapper, BaseCrossSchemeMapper baseCrossSchemeMapper,
BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper,
CrossSchedulesPlanMapper crossSchedulesPlanMapper) {
this.crossPlanMapper = crossPlanMapper;
this.crossSchemeMapper = crossSchemeMapper;
this.crossSectionMapper = crossSectionMapper;
this.crossSchedulesMapper = crossSchedulesMapper;
this.BaseCrossPlanMapper = BaseCrossPlanMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossSectionMapper = baseCrossSectionMapper;
this.baseCrossSchedulesMapper = baseCrossSchedulesMapper;
this.crossSchedulesPlanMapper = crossSchedulesPlanMapper;
}
......@@ -55,9 +51,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
public void saveRunningPlan(RunningPlanDTO runningPlanDTO) throws ParseException {
String crossId = runningPlanDTO.getCrossId();
// 清空之前计划
crossPlanMapper.deleteByCrossId(crossId);
crossSectionMapper.deleteByCrossId(crossId);
crossSchedulesMapper.deleteByCrossId(crossId);
BaseCrossPlanMapper.deleteByCrossId(crossId);
baseCrossSectionMapper.deleteByCrossId(crossId);
baseCrossSchedulesMapper.deleteByCrossId(crossId);
crossSchedulesPlanMapper.deleteByCrossId(crossId);
// 保存计划数据
saveCrossPlan(runningPlanDTO, crossId);
......@@ -82,7 +78,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.SchedulesPlanListElement> buildSchedulesPlanList(String crossId) {
List<RunningPlanDTO.SchedulesPlanListElement> schedulesPlanList = new ArrayList<>();
List<CrossSchedulesPO> crossSchedulesPOList = crossSchedulesMapper.selectByCrossId(crossId);
List<CrossSchedulesPO> crossSchedulesPOList = baseCrossSchedulesMapper.selectByCrossId(crossId);
for (CrossSchedulesPO crossSchedulesPO : crossSchedulesPOList) {
String scheduleNo = crossSchedulesPO.getScheduleNo();
String name = crossSchedulesPO.getName();
......@@ -103,7 +99,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.ExecListElement> buildExecList(String crossId, String scheduleNo) {
List<RunningPlanDTO.ExecListElement> execList = new ArrayList<>();
// 获取调度ID
CrossSchedulesPO schedulesPO = crossSchedulesMapper.selectByCrossIdAndScheduleNo(crossId, scheduleNo);
CrossSchedulesPO schedulesPO = baseCrossSchedulesMapper.selectByCrossIdAndScheduleNo(crossId, scheduleNo);
Integer schedulesId = schedulesPO.getId();
// 根据路口ID、调度ID和计划ID查询调度计划关系
List<CrossSchedulesPlanPO> crossSchedulesPlanPOList =
......@@ -127,7 +123,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
}
execListElement.setWeek(week);
execListElement.setSpecialDateList(specialDateList);
CrossPlanPO crossPlanPO = crossPlanMapper.selectById(planId);
CrossPlanPO crossPlanPO = BaseCrossPlanMapper.selectById(planId);
execListElement.setPlanName(crossPlanPO.getName());
execList.add(execListElement);
}
......@@ -136,9 +132,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.DailyPlanListElement> buildDailyPlanList(String crossId) {
List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = new ArrayList<>();
dailyPlanList = crossPlanMapper.selectDailyPlanList(crossId);
dailyPlanList = BaseCrossPlanMapper.selectDailyPlanList(crossId);
if (CollectionUtil.isEmpty(dailyPlanList)) {
List<CrossPlanPO> crossPlanPOList = crossPlanMapper.selectByCrossId(crossId);
List<CrossPlanPO> crossPlanPOList = BaseCrossPlanMapper.selectByCrossId(crossId);
if (CollectionUtil.isNotEmpty(crossPlanPOList)) {
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
RunningPlanDTO.DailyPlanListElement dailyPlan = new RunningPlanDTO.DailyPlanListElement();
......@@ -173,14 +169,14 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossSchedulesPO.setName(schedulesPlan.getName());
crossSchedulesPO.setStatus(0); // 新增调度状态为未执行
crossSchedulesPO.setCrossId(crossId);
crossSchedulesMapper.insertOne(crossSchedulesPO);
baseCrossSchedulesMapper.insertOne(crossSchedulesPO);
Integer crossSchedulesId = crossSchedulesPO.getId();
// 遍历执行的日计划列表
List<RunningPlanDTO.ExecListElement> execList = schedulesPlan.getExecList();
for (RunningPlanDTO.ExecListElement execListElement : execList) {
// 根据路口ID和计划名获取计划ID
String planName = execListElement.getPlanName();
CrossPlanPO crossPlanPO = crossPlanMapper.selectByCrossIdAndName(crossId, planName);
CrossPlanPO crossPlanPO = BaseCrossPlanMapper.selectByCrossIdAndName(crossId, planName);
if (crossPlanPO != null) {
Integer planId = crossPlanPO.getId();
// 更新调度计划关系表
......@@ -235,13 +231,13 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossPlanPO.setPlanNo(planNo);
crossPlanPO.setName(dailyPlan.getName());
crossPlanPO.setCrossId(crossId);
crossPlanMapper.insertOne(crossPlanPO);
BaseCrossPlanMapper.insertOne(crossPlanPO);
Integer crossPlanId = crossPlanPO.getId();
List<RunningPlanDTO.TimeListElement> timeList = dailyPlan.getTimeList();
for (RunningPlanDTO.TimeListElement time : timeList) {
// 根据路口ID和方案名获取方案ID
String schemeName = time.getSchemeName();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeName(crossId, schemeName);
CrossSchemePO crossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndSchemeName(crossId, schemeName);
Integer schemeId = crossSchemePO.getId();
// 更新时段表
updateCrossSection(crossId, crossPlanId, schemeId, time);
......@@ -263,7 +259,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossSectionPO.setCrossId(crossId);
crossSectionPO.setPlanId(crossPlanId);
crossSectionPO.setControlMode(1); // todo 暂时只有定周期
crossSectionPO.setSchemeId(schemeId);
crossSectionMapper.insertOne(crossSectionPO);
crossSectionPO.setScemeId(schemeId);
baseCrossSectionMapper.insertOne(crossSectionPO);
}
}
......@@ -3,40 +3,32 @@ package net.wanji.web.service.scheme.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.databus.dao.entity.CrossPhaseLightsPO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.mapper.BaseCrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossLaneLightsMapper;
import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.CrossLightsPO;
import net.wanji.databus.po.LaneInfoPO;
import net.wanji.web.common.constant.ControlModeConst;
import net.wanji.web.common.exception.PhaseNoNotUniqueException;
import net.wanji.web.dto.LaneIdDTO;
import net.wanji.web.dto.LightIdDTO;
import net.wanji.web.dto.SaveSchemeConfigDTO;
import net.wanji.web.mapper.scheme.BaseCrossPhaseMapper;
import net.wanji.web.mapper.scheme.CrossAccompanyPhaseMapper;
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.BaseCrossSchemeMapper;
import net.wanji.web.po.scheme.CrossAccompanyPhasePO;
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.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.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.*;
import java.util.stream.Collectors;
/**
......@@ -45,23 +37,23 @@ import java.util.stream.Collectors;
*/
@Service
public class SchemeConfigServiceImpl implements SchemeConfigService {
private final CrossSchemeMapper crossSchemeMapper;
private final CrossPhaseMapper crossPhaseMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper crossPhaseMapper;
private final LaneInfoMapper laneInfoMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final CrossLightsMapper crossLightsMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private final CrossAccompanyPhaseMapper crossAccompanyPhaseMapper;
public SchemeConfigServiceImpl(CrossSchemeMapper crossSchemeMapper, CrossPhaseMapper crossPhaseMapper,
public SchemeConfigServiceImpl(BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper,
LaneInfoMapper laneInfoMapper, CrossLaneLightsMapper crossLaneLightsMapper,
CrossPhaseLightsMapper crossPhaseLightsMapper, CrossLightsMapper crossLightsMapper, CrossAccompanyPhaseMapper crossAccompanyPhaseMapper) {
this.crossSchemeMapper = crossSchemeMapper;
this.crossPhaseMapper = crossPhaseMapper;
CrossPhaseLightsMapper crossPhaseLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper, CrossAccompanyPhaseMapper crossAccompanyPhaseMapper) {
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.crossPhaseMapper = baseCrossPhaseMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.crossLightsMapper = crossLightsMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossAccompanyPhaseMapper = crossAccompanyPhaseMapper;
}
......@@ -96,7 +88,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
laneIdsVO.setLanes(new ArrayList<>());
// 获取方向
CrossLightsPO crossLightsPO = crossLightsMapper.selectById(lightId);
BaseCrossLightsPO crossLightsPO = baseCrossLightsMapper.selectById(lightId);
Integer dir = crossLightsPO.getDir();
laneIdsVO.setDir(dir);
// 行人灯类型
......@@ -141,7 +133,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
private List<SaveSchemeConfigDTO.PhaseScheme> buildPhaseSchemeList(String crossId) {
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = new ArrayList<>();
List<CrossSchemePO> crossSchemePOList = crossSchemeMapper.selectByCrossId(crossId);
List<CrossSchemePO> crossSchemePOList = baseCrossSchemeMapper.selectByCrossId(crossId);
for (CrossSchemePO crossSchemePO : crossSchemePOList) {
SaveSchemeConfigDTO.PhaseScheme phaseScheme = new SaveSchemeConfigDTO.PhaseScheme();
phaseScheme.setSchemeNo(crossSchemePO.getSchemeNo());
......@@ -160,7 +152,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
phaseScheme.setStatus(crossSchemePO.getStatus());
// 构造环列表
String schemeNo = phaseScheme.getSchemeNo();
Integer schemeId = crossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
Integer schemeId = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
List<SaveSchemeConfigDTO.RingListElement> ringList = buildRingList(crossId, schemeId);
phaseScheme.setRingList(ringList);
// 构造特殊控制列表
......@@ -348,11 +340,13 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
private List<SaveSchemeConfigDTO.DirListElement> buildDirList(String crossId, Integer phaseId) {
List<SaveSchemeConfigDTO.DirListElement> dirList = new ArrayList<>();
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByPhaseId(phaseId);
CrossPhaseLightsPO entity = new CrossPhaseLightsPO();
entity.setPhaseId(phaseId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
Set<Integer> dirSet = new HashSet<>();
for (CrossPhaseLightsPO crossPhaseLightsPO : crossPhaseLightsPOList) {
Integer lightsId = crossPhaseLightsPO.getLightsId();
CrossLightsPO crossLightsPO = crossLightsMapper.selectById(lightsId);
BaseCrossLightsPO crossLightsPO = baseCrossLightsMapper.selectById(lightsId);
if (crossLightsPO != null) {
Integer dir = crossLightsPO.getDir();
dirSet.add(dir);
......@@ -364,8 +358,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
// Integer laneDir = CrossLisghtsLaneDirEnum.getLaneDirByLightsDir(dir);
dirListElement.setDir(dir);
// 是否有行人相位
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossIdAndDir(crossId, dir);
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
List<BaseCrossLightsPO> crossLightsPOList = baseCrossLightsMapper.selectByCrossIdAndDir(crossId, dir);
for (BaseCrossLightsPO crossLightsPO : crossLightsPOList) {
Integer type = crossLightsPO.getType();
if (type >= 20 && type < 30) {
Integer lightsId = crossLightsPO.getId();
......@@ -394,12 +388,14 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
private List<SaveSchemeConfigDTO.LaneListElement> buildLaneList(Integer dir, Integer phaseId) {
List<SaveSchemeConfigDTO.LaneListElement> laneList = new ArrayList<>();
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByPhaseId(phaseId);
CrossPhaseLightsPO entity = new CrossPhaseLightsPO();
entity.setPhaseId(phaseId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
List<Integer> lightsIds = crossPhaseLightsPOList.stream()
.map(CrossPhaseLightsPO::getLightsId)
.collect(Collectors.toList());
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByLightsIdsAndDir(lightsIds, dir);
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
List<BaseCrossLightsPO> crossLightsPOList = baseCrossLightsMapper.selectByLightsIdsAndDir(lightsIds, dir);
for (BaseCrossLightsPO crossLightsPO : crossLightsPOList) {
Integer type = crossLightsPO.getType();
if (type < 20 || type >= 30) { // 非行人灯
Integer lightsId = crossLightsPO.getId();
......@@ -429,8 +425,12 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
}
private boolean hasLightsId(Integer lightsId, Integer phaseId, String crossId) {
Integer id = crossPhaseLightsMapper.selectIdByThreeIds(lightsId, phaseId, crossId);
return !ObjectUtil.isEmpty(id);
CrossPhaseLightsPO entity = new CrossPhaseLightsPO();
entity.setPhaseId(phaseId);
entity.setCrossId(crossId);
entity.setLightsId(lightsId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
return !CollectionUtil.isEmpty(crossPhaseLightsPOList);
}
private void handleRingTime(SaveSchemeConfigDTO saveSchemeConfigDTO) {
......@@ -447,11 +447,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = saveSchemeConfigDTO.getPhaseSchemeList();
for (SaveSchemeConfigDTO.PhaseScheme phaseScheme : phaseSchemeList) {
String schemeNo = phaseScheme.getSchemeNo();
Integer schemeId = crossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
Integer schemeId = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
String coordPhaseNo = phaseScheme.getCoordPhaseNo();
Integer phaseId = crossPhaseMapper.selectIdByCrossIdAndCoordPhaseNo(crossId, schemeId, coordPhaseNo);
if (phaseId != null) {
crossSchemeMapper.updateCoordPhase(crossId, schemeNo, phaseId);
baseCrossSchemeMapper.updateCoordPhase(crossId, schemeNo, phaseId);
}
}
}
......@@ -468,7 +468,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Set<String> phaseNoSet = new HashSet<>();
String schemeNo = phaseScheme.getSchemeNo();
// 获取方案ID
Integer schemeId = crossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
Integer schemeId = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
List<SaveSchemeConfigDTO.RingListElement> ringList = phaseScheme.getRingList();
// 用于维护伴随相位
Map<String, SaveSchemeConfigDTO.PhaseListElement> phaseNoMap = new HashMap<>();
......@@ -649,8 +649,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
// 更新行人相位-灯组关系
Integer hasPersonPhase = dirListElement.getHasPersonPhase();
if (hasPersonPhase == 1) {
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossIdAndDir(crossId, dir);
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
List<BaseCrossLightsPO> crossLightsPOList = baseCrossLightsMapper.selectByCrossIdAndDir(crossId, dir);
for (BaseCrossLightsPO crossLightsPO : crossLightsPOList) {
Integer type = crossLightsPO.getType();
if (type >= 20 && type < 30) { // 行人灯
Integer lightId = crossLightsPO.getId();
......@@ -685,7 +685,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
String crossId = saveSchemeConfigDTO.getCrossId();
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = saveSchemeConfigDTO.getPhaseSchemeList();
// 删除数据库里有,但是DTO里没有的方案ID对应的记录
Set<Integer> existedIds = crossSchemeMapper.selectIdsByCrossId(crossId);
Set<Integer> existedIds = baseCrossSchemeMapper.selectIdsByCrossId(crossId);
if (CollectionUtil.isNotEmpty(existedIds)) {
Set<Integer> dtoIds = phaseSchemeList.stream()
.map(SaveSchemeConfigDTO.PhaseScheme::getSchemeId)
......@@ -693,7 +693,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
if (CollectionUtil.isNotEmpty(dtoIds)) {
existedIds.removeAll(dtoIds);
if (CollectionUtil.isNotEmpty(existedIds)) {
crossSchemeMapper.deleteByIds(existedIds);
baseCrossSchemeMapper.deleteByIds(existedIds);
}
}
}
......@@ -717,11 +717,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Integer schemeId = phaseScheme.getSchemeId();
if (ObjectUtil.isEmpty(schemeId)) {
// 没有方案ID视为新增
crossSchemeMapper.insertOne(crossSchemePO);
baseCrossSchemeMapper.insertOne(crossSchemePO);
} else {
// 有方案ID视为修改
crossSchemePO.setId(schemeId);
crossSchemeMapper.update(crossSchemePO);
baseCrossSchemeMapper.update(crossSchemePO);
}
}
}
......
......@@ -5,7 +5,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.BeanMapUtils;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.vo.SignalStatusVO;
import net.wanji.feign.service.UtcFeignClients;
......@@ -36,7 +36,7 @@ public class SignalStatusTask {
private final TDeviceStatusMapper tDeviceStatusMapper;
private final ControlHistMapper controlHistMapper;
private final TDeviceStatusLogMapper tDeviceStatusLogMapper;
private final CrossInfoMapper crossInfoMapper;
private final BaseCrossInfoMapper baseCrossInfoMapper;
@Scheduled(fixedRate = 1 * 30 * 1000)
@Transactional
......@@ -54,7 +54,7 @@ public class SignalStatusTask {
// 信号机状态信息
List<CrossInfoPO> crossInfoPOList = new ArrayList<>();
if (!CollectionUtils.isEmpty(crossIdList)) {
crossInfoPOList = crossInfoMapper.selectByCrossIds(crossIdList);
crossInfoPOList = baseCrossInfoMapper.selectByCrossIds(crossIdList);
}
List<CrossInfoPO> finalCrossInfoPOList = crossInfoPOList;
content.forEach(signalStatusVO -> {
......
package net.wanji.web.vo;
import lombok.Data;
import net.wanji.databus.po.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.databus.dao.entity.CrossPhaseLightsPO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.po.BaseCrossLightsPO;
import java.util.List;
......@@ -12,6 +12,6 @@ import java.util.List;
public class SchemePhaseLightsVO {
private List<CrossSchemePO> crossSchemeList;
private List<CrossPhasePO> crossPhaseList;
private List<CrossLightsPO> crossLightsList;
private List<BaseCrossLightsPO> crossLightsList;
private List<CrossPhaseLightsPO> crossPhaseLightsPOList;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossPhaseMapper">
<mapper namespace="net.wanji.web.mapper.scheme.BaseCrossPhaseMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossPhasePO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.CrossPhasePO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="phaseNo" column="phase_no"/>
<result property="name" column="name"/>
......@@ -30,7 +30,7 @@
id,phase_no,name,sort,cross_id,plan_id,ring_no,group_no,phase_type,control_mode,phase_time,green_time,green_flash_time,yellow_flash_time,red_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time
</sql>
<select id="listCrossPhasePO" resultMap="BaseResultMap" parameterType="net.wanji.web.po.scheme.CrossPhasePO">
<select id="listCrossPhasePO" resultMap="BaseResultMap" parameterType="net.wanji.databus.dao.entity.CrossPhasePO">
select
<include refid="Base_Column_List"></include>
from t_base_cross_phase
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossPlanMapper">
<mapper namespace="net.wanji.web.mapper.scheme.BaseCrossPlanMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossPlanPO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.CrossPlanPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="planNo" column="plan_no"/>
<result property="name" column="name"/>
......@@ -13,8 +13,9 @@
</resultMap>
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_plan(plan_no,name,cross_id)
values (#{planNo},#{name},#{crossId})
insert into t_base_cross_plan(plan_no, name, cross_id)
values (#{planNo}, #{name}, #{crossId});
</insert>
<delete id="deleteByCrossId">
......@@ -55,14 +56,14 @@
WHERE t1.cross_id = #{crossId}
</select>
<select id="selectById" resultType="net.wanji.web.po.scheme.CrossPlanPO">
<select id="selectById" resultType="net.wanji.databus.dao.entity.CrossPlanPO">
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan
where id = #{planId}
</select>
<select id="selectByCrossId" resultType="net.wanji.web.po.scheme.CrossPlanPO">
<select id="selectByCrossId" resultType="net.wanji.databus.dao.entity.CrossPlanPO">
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossSchedulesMapper">
<mapper namespace="net.wanji.web.mapper.scheme.BaseCrossSchedulesMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossSchedulesPO" id="BaseResultMap">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossSchemeMapper">
<mapper namespace="net.wanji.web.mapper.scheme.BaseCrossSchemeMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossSchemePO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.CrossSchemePO" id="BaseResultMap">
<result property="id" column="id" />
<result property="schemeNo" column="scheme_no"/>
<result property="name" column="name"/>
......@@ -107,7 +107,7 @@
where cross_id = #{crossId} and name = #{schemeName}
</select>
<select id="selectById" resultType="net.wanji.web.po.scheme.CrossSchemePO">
<select id="selectById" resultType="net.wanji.databus.dao.entity.CrossSchemePO">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossSectionMapper">
<mapper namespace="net.wanji.web.mapper.scheme.BaseCrossSectionMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossSectionPO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.CrossSectionPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="sectionNo" column="section_no"/>
<result property="startTime" column="start_time"/>
......@@ -31,7 +31,7 @@
WHERE cross_id = #{crossId}
</delete>
<select id="listCrossSectionPO" parameterType="net.wanji.web.po.scheme.CrossSectionPO" resultMap="BaseResultMap">
<select id="listCrossSectionPO" parameterType="net.wanji.databus.dao.entity.CrossSectionPO" resultMap="BaseResultMap">
select
<include refid="Base_Column_list"/>
from t_base_cross_section
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossPhaseLightsMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossPhaseLightsPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="lightsId" column="lights_id"/>
<result property="phaseId" column="phase_id"/>
<result property="crossId" column="cross_id"/>
<result property="gmtCreate" column="gmt_create"/>
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<sql id="Base_Column_List">
id, lights_id, phase_id, cross_id, gmt_create, gmt_modified
</sql>
<select id="listCrossPhaseLightsPO" resultMap="BaseResultMap" parameterType="net.wanji.web.po.scheme.CrossPhaseLightsPO">
select
<include refid="Base_Column_List"></include>
from t_base_cross_phase_lights
<where>
<if test="entity.crossId != null and entity.crossId != ''">
cross_id = #{entity.crossId}
</if>
<if test="entity.phaseId != null and entity.phaseId != ''">
phase_id = #{entity.phaseId}
</if>
</where>
</select>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_phase_lights(lights_id,phase_id,cross_id)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.lightsId},#{entity.phaseId},#{entity.crossId})
</foreach>
</insert>
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_phase_lights(lights_id,phase_id,cross_id)
values (#{lightsId},#{phaseId},#{crossId})
</insert>
<update id="updateLightsId">
update t_base_cross_phase_lights
set lights_id = #{newId}
where lights_id = #{oldId}
</update>
<delete id="deleteByCrossId">
delete from t_base_cross_phase_lights
where cross_id = #{crossId}
</delete>
<select id="selectByPhaseId" resultMap="BaseResultMap">
select
id,lights_id,phase_id,cross_id,gmt_create,gmt_modified
from t_base_cross_phase_lights
where phase_id = #{phaseId}
</select>
<select id="selectByLightsId" resultMap="BaseResultMap">
select
id,lights_id,phase_id,cross_id,gmt_create,gmt_modified
from t_base_cross_phase_lights
where lights_id = #{lightsId}
</select>
<select id="selectIdByThreeIds" resultType="java.lang.Integer">
SELECT id from t_base_cross_phase_lights
WHERE cross_id = #{crossId} and lights_id = #{lightsId} and phase_id = #{phaseId}
</select>
</mapper>
package net.wanji.web.po.scheme;
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
package net.wanji.web.po.scheme;
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
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