Commit c7aeef29 authored by duanruiming's avatar duanruiming

[update] 优化持久层

parent 11f5d1f9
......@@ -8,7 +8,7 @@ import net.wanji.common.annotation.aspect.AspectLog;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.databus.dto.RunningPlanDTO;
import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......
......@@ -8,16 +8,14 @@ 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.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.CrossPlanMapper;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dto.RunningPlanDTO;
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.CrossSchedulesPO;
import net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPO;
import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import net.wanji.web.service.FeignProxyService;
import net.wanji.web.service.PlanSendService;
......@@ -43,15 +41,15 @@ public class PlanSendServiceImpl implements PlanSendService {
private final UtcFeignClients utcFeignClients;
private final FeignProxyService feignProxyService;
private final CrossSchedulesPlanMapper crossSchedulesPlanMapper;
private final CrossPlanMapper crossPlanMapper;
private final BaseCrossPlanMapper baseCrossPlanMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper baseCrossPhaseMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper;
private final RunningPlanServiceImpl runningPlanServiceImpl;
private final SchemeConfigServiceImpl schemeConfigServiceImpl;
private final BaseCrossSchedulesMapper baseCrossSchedulesMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
private final BaseCrossSectionMapper baseCrossSectionMapper;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
......@@ -60,23 +58,23 @@ public class PlanSendServiceImpl implements PlanSendService {
private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
public PlanSendServiceImpl(@Qualifier("net.wanji.feign.service.UtcFeignClients") UtcFeignClients utcFeignClients,
CrossSchedulesPlanMapper crossSchedulesPlanMapper, CrossPlanMapper crossPlanMapper,
CrossSchedulesPlanMapper crossSchedulesPlanMapper, BaseCrossPlanMapper baseCrossPlanMapper,
BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper,
BaseCrossLightsMapper baseCrossLightsMapper, CrossPhaseLightsMapper crossPhaseLightsMapper,
BaseCrossLightsMapper baseCrossLightsMapper, BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper,
RunningPlanServiceImpl runningPlanServiceImpl, SchemeConfigServiceImpl schemeConfigServiceImpl,
BaseCrossSchedulesMapper baseCrossSchedulesMapper, CrossLaneLightsMapper crossLaneLightsMapper,
BaseCrossSchedulesMapper baseCrossSchedulesMapper, BaseCrossLaneLightsMapper baseCrossLaneLightsMapper,
BaseCrossSectionMapper baseCrossSectionMapper, FeignProxyService feignProxyService) {
this.utcFeignClients = utcFeignClients;
this.crossSchedulesPlanMapper = crossSchedulesPlanMapper;
this.crossPlanMapper = crossPlanMapper;
this.baseCrossPlanMapper = baseCrossPlanMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossPhaseMapper = baseCrossPhaseMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.baseCrossPhaseLightsMapper = baseCrossPhaseLightsMapper;
this.runningPlanServiceImpl = runningPlanServiceImpl;
this.schemeConfigServiceImpl = schemeConfigServiceImpl;
this.baseCrossSchedulesMapper = baseCrossSchedulesMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper;
this.baseCrossSectionMapper = baseCrossSectionMapper;
this.feignProxyService = feignProxyService;
}
......@@ -109,7 +107,7 @@ public class PlanSendServiceImpl implements PlanSendService {
List<CrossPhasePO> crossPhasePOS = baseCrossPhaseMapper.listCrossPhasePO(crossPhasePO);
CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO();
crossPhaseLightsPO.setCrossId(crossId);
List<CrossPhaseLightsPO> crossPhaseLightsPOS = crossPhaseLightsMapper.selectByEntity(crossPhaseLightsPO);
List<CrossPhaseLightsPO> crossPhaseLightsPOS = baseCrossPhaseLightsMapper.listCrossPhaseLightsPO(crossPhaseLightsPO);
BaseCrossLightsPO crossLightsPO = new BaseCrossLightsPO();
crossLightsPO.setCrossId(crossId);
List<BaseCrossLightsPO> crossLightsPOS = baseCrossLightsMapper.listCrossLightsPO(crossLightsPO);
......@@ -179,7 +177,7 @@ public class PlanSendServiceImpl implements PlanSendService {
List<CrossSchedulesPlanPO> crossSchedulesPlanPOList =
crossSchedulesPlanMapper.selectByCrossIdAndSchedulesId(crossId, scheduleId);
Integer planId = crossSchedulesPlanPOList.get(0).getPlanId();
CrossPlanPO crossPlanPO = crossPlanMapper.selectById(planId);
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId);
CrossSectionPO crossSectionPO = new CrossSectionPO();
crossSectionPO.setCrossId(crossId);
......@@ -187,9 +185,9 @@ public class PlanSendServiceImpl implements PlanSendService {
List<CrossSectionPO> crossSectionPOS = baseCrossSectionMapper.listCrossSectionPO(crossSectionPO);
List<PlanSendVO.Plan.Section> sectionList = new ArrayList<>(crossSectionPOS.size());
for (CrossSectionPO sectionPO : crossSectionPOS) {
Integer schemeId = sectionPO.getScemeId();
CrossSchemePO crossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
String patternNo = crossSchemePO.getSchemeNo();
Integer schemeId = sectionPO.getSchemeId();
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
String patternNo = baseCrossSchemePO.getSchemeNo();
PlanSendVO.Plan.Section section = new PlanSendVO.Plan.Section();
section.setSectionNo(sectionPO.getSectionNo());
section.setPatternNo(patternNo);
......@@ -370,13 +368,13 @@ public class PlanSendServiceImpl implements PlanSendService {
if (ObjectUtil.isEmpty(schemePhaseLightsVO)) {
return jsonViewObject.fail("信号机方案对象转换结果为空,未更新数据库");
}
List<CrossSchemePO> crossSchemeList = schemePhaseLightsVO.getCrossSchemeList();
List<BaseCrossSchemePO> crossSchemeList = schemePhaseLightsVO.getCrossSchemeList();
baseCrossSchemeMapper.deleteByCrossId(crossId);
// 保存旧方案ID
List<Integer> oldSchemeIds = crossSchemeList.stream().map(CrossSchemePO::getId).collect(Collectors.toList());
List<Integer> oldSchemeIds = crossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList());
// 保存新方案ID
baseCrossSchemeMapper.insertBatch(crossSchemeList);
List<Integer> newSchemeIds = crossSchemeList.stream().map(CrossSchemePO::getId).collect(Collectors.toList());
List<Integer> newSchemeIds = crossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList());
// 生成新旧方案ID映射
Map<Integer, Integer> oldNewSchemeId = new HashMap<>();
for (int i = 0; i < oldSchemeIds.size(); i++) {
......@@ -400,8 +398,8 @@ public class PlanSendServiceImpl implements PlanSendService {
changeLightsType(crossLightsSet);
baseCrossLightsMapper.insertBatch(crossLightsSet);
crossPhaseLightsMapper.deleteByCrossId(crossId);
crossLaneLightsMapper.deleteByCrossId(crossId);
baseCrossPhaseLightsMapper.deleteByCrossId(crossId);
baseCrossLaneLightsMapper.deleteByCrossId(crossId);
}
return jsonViewObject.success();
}
......@@ -558,13 +556,13 @@ public class PlanSendServiceImpl implements PlanSendService {
private List<SchemeSendVO.Pattern> buildPatternList(String crossId, Integer schemeId) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
CrossSchemePO crossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
SchemeSendVO.Pattern pattern = new SchemeSendVO.Pattern();
pattern.setPatternNo(crossSchemePO.getSchemeNo());
pattern.setPatternName(crossSchemePO.getName());
pattern.setCycle(crossSchemePO.getCycle().toString());
pattern.setCoordPhase(crossSchemePO.getCoordPhase().toString());
pattern.setOffset(crossSchemePO.getOffset().toString());
pattern.setPatternNo(baseCrossSchemePO.getSchemeNo());
pattern.setPatternName(baseCrossSchemePO.getName());
pattern.setCycle(baseCrossSchemePO.getCycle().toString());
pattern.setCoordPhase(baseCrossSchemePO.getCoordPhase().toString());
pattern.setOffset(baseCrossSchemePO.getOffset().toString());
// 构造环列表
List<SchemeSendVO.Pattern.Ring> rings = buildRings(crossId, schemeId);
pattern.setRings(rings);
......@@ -639,8 +637,8 @@ public class PlanSendServiceImpl implements PlanSendService {
}
schedule.setWeeks(weeks);
schedule.setSpecialDays(specialDays);
CrossSchedulesPO crossSchedulesPO = baseCrossSchedulesMapper.selectById(scheduleId);
schedule.setScheduleNo(crossSchedulesPO.getScheduleNo());
BaseCrossSchedulesPO baseCrossSchedulesPO = baseCrossSchedulesMapper.selectById(scheduleId);
schedule.setScheduleNo(baseCrossSchedulesPO.getScheduleNo());
schedules.add(schedule);
return schedules;
}
......@@ -663,7 +661,7 @@ public class PlanSendServiceImpl implements PlanSendService {
}
private String getPlanNo(Integer planId) {
CrossPlanPO crossPlanPO = crossPlanMapper.selectById(planId);
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId);
return crossPlanPO.getPlanNo();
}
}
package net.wanji.web.service.scheme;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.databus.dto.RunningPlanDTO;
import java.text.ParseException;
......
......@@ -4,10 +4,7 @@ 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.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.LaneInfoPO;
......@@ -36,7 +33,7 @@ import java.util.stream.Collectors;
public class CrossConfigServiceImpl implements CrossConfigService {
private final CrossDirInfoMapper crossDirInfoMapper;
private final LaneInfoMapper laneInfoMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
private final LaneSegmentMapper laneSegmentMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
......@@ -59,18 +56,18 @@ public class CrossConfigServiceImpl implements CrossConfigService {
MOTOR_VEH_MAP.put(14, 6);
}
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper;
public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper,
CrossLaneLightsMapper crossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper,
BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper,
BaseCrossLightsMapper baseCrossLightsMapper,
CrossPhaseLightsMapper crossPhaseLightsMapper) {
BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper) {
this.crossDirInfoMapper = crossDirInfoMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper;
this.laneSegmentMapper = laneSegmentMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.baseCrossPhaseLightsMapper = baseCrossPhaseLightsMapper;
}
@Override
......@@ -124,8 +121,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
crossLaneLightsPOList.add(crossLaneLightsPO);
}
}
crossLaneLightsMapper.deleteByCrossId(crossId);
crossLaneLightsMapper.insertBatch(crossLaneLightsPOList);
baseCrossLaneLightsMapper.deleteByCrossId(crossId);
baseCrossLaneLightsMapper.insertBatch(crossLaneLightsPOList);
}
private void handleLightsData(SaveLaneInfoDTO saveLaneInfoDTO, List<LedConfigListElement> ledConfigList,
......@@ -174,7 +171,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
BaseCrossLightsPO oldPO = oldLightsMap.get(newNumber);
if (oldPO != null) {
if (checkIsSame(oldPO, newPO)) {
crossPhaseLightsMapper.updateLightsId(oldPO.getId(), newPO.getId());
baseCrossPhaseLightsMapper.updateLightsId(oldPO.getId(), newPO.getId());
}
}
}
......@@ -285,7 +282,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
List<String> laneIds = getLaneIds(laneInfoPOList);
if (laneIds.size()!=0){
// 删除灯组-车道关系表数据
crossLaneLightsMapper.deleteByLaneIds(laneIds);
baseCrossLaneLightsMapper.deleteByLaneIds(laneIds);
// 删除车道状态表数据
laneSegmentMapper.deleteByLaneIds(laneIds);
}
......@@ -389,7 +386,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElement.setName(laneInfoPO.getCode());
// 根据laneId获取灯组代码
String lightsCode = crossLaneLightsMapper.selectLightsCodeByLaneId(laneId);
String lightsCode = baseCrossLaneLightsMapper.selectLightsCodeByLaneId(laneId);
if (lightsCode != null) {
laneListElement.setLedNum(lightsCode);
}
......
......@@ -2,12 +2,16 @@ 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.BaseCrossSchedulesPO;
import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.CrossSectionPO;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.web.mapper.scheme.*;
import net.wanji.web.po.scheme.CrossSchedulesPO;
import net.wanji.databus.dao.mapper.BaseCrossPlanMapper;
import net.wanji.databus.dao.mapper.BaseCrossSchedulesMapper;
import net.wanji.databus.dao.mapper.BaseCrossSchemeMapper;
import net.wanji.databus.dao.mapper.BaseCrossSectionMapper;
import net.wanji.databus.dto.RunningPlanDTO;
import net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper;
import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import net.wanji.web.service.scheme.RunningPlanService;
import org.jetbrains.annotations.NotNull;
......@@ -30,16 +34,16 @@ import java.util.stream.Collectors;
public class RunningPlanServiceImpl implements RunningPlanService {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private final BaseCrossPlanMapper BaseCrossPlanMapper;
private final BaseCrossPlanMapper baseCrossPlanMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossSectionMapper baseCrossSectionMapper;
private final BaseCrossSchedulesMapper baseCrossSchedulesMapper;
private final CrossSchedulesPlanMapper crossSchedulesPlanMapper;
public RunningPlanServiceImpl(BaseCrossPlanMapper BaseCrossPlanMapper, BaseCrossSchemeMapper baseCrossSchemeMapper,
public RunningPlanServiceImpl(BaseCrossPlanMapper baseCrossPlanMapper, BaseCrossSchemeMapper baseCrossSchemeMapper,
BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper,
CrossSchedulesPlanMapper crossSchedulesPlanMapper) {
this.BaseCrossPlanMapper = BaseCrossPlanMapper;
this.baseCrossPlanMapper = baseCrossPlanMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossSectionMapper = baseCrossSectionMapper;
this.baseCrossSchedulesMapper = baseCrossSchedulesMapper;
......@@ -51,7 +55,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
public void saveRunningPlan(RunningPlanDTO runningPlanDTO) throws ParseException {
String crossId = runningPlanDTO.getCrossId();
// 清空之前计划
BaseCrossPlanMapper.deleteByCrossId(crossId);
baseCrossPlanMapper.deleteByCrossId(crossId);
baseCrossSectionMapper.deleteByCrossId(crossId);
baseCrossSchedulesMapper.deleteByCrossId(crossId);
crossSchedulesPlanMapper.deleteByCrossId(crossId);
......@@ -78,16 +82,16 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.SchedulesPlanListElement> buildSchedulesPlanList(String crossId) {
List<RunningPlanDTO.SchedulesPlanListElement> schedulesPlanList = new ArrayList<>();
List<CrossSchedulesPO> crossSchedulesPOList = baseCrossSchedulesMapper.selectByCrossId(crossId);
for (CrossSchedulesPO crossSchedulesPO : crossSchedulesPOList) {
String scheduleNo = crossSchedulesPO.getScheduleNo();
String name = crossSchedulesPO.getName();
Integer crossSchedulesPOId = crossSchedulesPO.getId();
List<BaseCrossSchedulesPO> baseCrossSchedulesPOList = baseCrossSchedulesMapper.selectByCrossId(crossId);
for (BaseCrossSchedulesPO baseCrossSchedulesPO : baseCrossSchedulesPOList) {
String scheduleNo = baseCrossSchedulesPO.getScheduleNo();
String name = baseCrossSchedulesPO.getName();
Integer crossSchedulesPOId = baseCrossSchedulesPO.getId();
RunningPlanDTO.SchedulesPlanListElement schedulesPlan = new RunningPlanDTO.SchedulesPlanListElement();
schedulesPlan.setScheduleNo(scheduleNo);
schedulesPlan.setName(name);
schedulesPlan.setId(crossSchedulesPOId);
schedulesPlan.setStatus(crossSchedulesPO.getStatus());
schedulesPlan.setStatus(baseCrossSchedulesPO.getStatus());
// 构造execList
List<RunningPlanDTO.ExecListElement> execList = buildExecList(crossId, scheduleNo);
schedulesPlan.setExecList(execList);
......@@ -99,7 +103,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.ExecListElement> buildExecList(String crossId, String scheduleNo) {
List<RunningPlanDTO.ExecListElement> execList = new ArrayList<>();
// 获取调度ID
CrossSchedulesPO schedulesPO = baseCrossSchedulesMapper.selectByCrossIdAndScheduleNo(crossId, scheduleNo);
BaseCrossSchedulesPO schedulesPO = baseCrossSchedulesMapper.selectByCrossIdAndScheduleNo(crossId, scheduleNo);
Integer schedulesId = schedulesPO.getId();
// 根据路口ID、调度ID和计划ID查询调度计划关系
List<CrossSchedulesPlanPO> crossSchedulesPlanPOList =
......@@ -123,7 +127,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
}
execListElement.setWeek(week);
execListElement.setSpecialDateList(specialDateList);
CrossPlanPO crossPlanPO = BaseCrossPlanMapper.selectById(planId);
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId);
execListElement.setPlanName(crossPlanPO.getName());
execList.add(execListElement);
}
......@@ -132,9 +136,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private List<RunningPlanDTO.DailyPlanListElement> buildDailyPlanList(String crossId) {
List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = new ArrayList<>();
dailyPlanList = BaseCrossPlanMapper.selectDailyPlanList(crossId);
dailyPlanList = baseCrossPlanMapper.selectDailyPlanList(crossId);
if (CollectionUtil.isEmpty(dailyPlanList)) {
List<CrossPlanPO> crossPlanPOList = BaseCrossPlanMapper.selectByCrossId(crossId);
List<CrossPlanPO> crossPlanPOList = baseCrossPlanMapper.selectByCrossId(crossId);
if (CollectionUtil.isNotEmpty(crossPlanPOList)) {
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
RunningPlanDTO.DailyPlanListElement dailyPlan = new RunningPlanDTO.DailyPlanListElement();
......@@ -164,19 +168,19 @@ public class RunningPlanServiceImpl implements RunningPlanService {
List<RunningPlanDTO.SchedulesPlanListElement> schedulesPlanList = runningPlanDTO.getSchedulesPlanList();
for (RunningPlanDTO.SchedulesPlanListElement schedulesPlan : schedulesPlanList) {
// 更新调度表获取调度ID
CrossSchedulesPO crossSchedulesPO = new CrossSchedulesPO();
crossSchedulesPO.setScheduleNo(schedulesPlan.getScheduleNo());
crossSchedulesPO.setName(schedulesPlan.getName());
crossSchedulesPO.setStatus(0); // 新增调度状态为未执行
crossSchedulesPO.setCrossId(crossId);
baseCrossSchedulesMapper.insertOne(crossSchedulesPO);
Integer crossSchedulesId = crossSchedulesPO.getId();
BaseCrossSchedulesPO baseCrossSchedulesPO = new BaseCrossSchedulesPO();
baseCrossSchedulesPO.setScheduleNo(schedulesPlan.getScheduleNo());
baseCrossSchedulesPO.setName(schedulesPlan.getName());
baseCrossSchedulesPO.setStatus(0); // 新增调度状态为未执行
baseCrossSchedulesPO.setCrossId(crossId);
baseCrossSchedulesMapper.insertOne(baseCrossSchedulesPO);
Integer crossSchedulesId = baseCrossSchedulesPO.getId();
// 遍历执行的日计划列表
List<RunningPlanDTO.ExecListElement> execList = schedulesPlan.getExecList();
for (RunningPlanDTO.ExecListElement execListElement : execList) {
// 根据路口ID和计划名获取计划ID
String planName = execListElement.getPlanName();
CrossPlanPO crossPlanPO = BaseCrossPlanMapper.selectByCrossIdAndName(crossId, planName);
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectByCrossIdAndName(crossId, planName);
if (crossPlanPO != null) {
Integer planId = crossPlanPO.getId();
// 更新调度计划关系表
......@@ -231,14 +235,14 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossPlanPO.setPlanNo(planNo);
crossPlanPO.setName(dailyPlan.getName());
crossPlanPO.setCrossId(crossId);
BaseCrossPlanMapper.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 = baseCrossSchemeMapper.selectByCrossIdAndSchemeName(crossId, schemeName);
Integer schemeId = crossSchemePO.getId();
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndSchemeName(crossId, schemeName);
Integer schemeId = baseCrossSchemePO.getId();
// 更新时段表
updateCrossSection(crossId, crossPlanId, schemeId, time);
}
......@@ -259,7 +263,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossSectionPO.setCrossId(crossId);
crossSectionPO.setPlanId(crossPlanId);
crossSectionPO.setControlMode(1); // todo 暂时只有定周期
crossSectionPO.setScemeId(schemeId);
crossSectionPO.setSchemeId(schemeId);
baseCrossSectionMapper.insertOne(crossSectionPO);
}
}
......@@ -5,11 +5,8 @@ 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.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.LaneInfoPO;
......@@ -18,9 +15,7 @@ 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.BaseCrossSchemeMapper;
import net.wanji.web.po.scheme.CrossAccompanyPhasePO;
import net.wanji.web.service.scheme.SchemeConfigService;
import net.wanji.web.vo.scheme.LaneIdsVO;
......@@ -40,19 +35,19 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper crossPhaseMapper;
private final LaneInfoMapper laneInfoMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
private final BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private final CrossAccompanyPhaseMapper crossAccompanyPhaseMapper;
public SchemeConfigServiceImpl(BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper,
LaneInfoMapper laneInfoMapper, CrossLaneLightsMapper crossLaneLightsMapper,
CrossPhaseLightsMapper crossPhaseLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper, CrossAccompanyPhaseMapper crossAccompanyPhaseMapper) {
LaneInfoMapper laneInfoMapper, BaseCrossLaneLightsMapper baseCrossLaneLightsMapper,
BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper, CrossAccompanyPhaseMapper crossAccompanyPhaseMapper) {
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.crossPhaseMapper = baseCrossPhaseMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper;
this.baseCrossPhaseLightsMapper = baseCrossPhaseLightsMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
this.crossAccompanyPhaseMapper = crossAccompanyPhaseMapper;
}
......@@ -72,7 +67,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
public LightIdVO getLightByLane(LaneIdDTO laneIdDTO) {
String crossId = laneIdDTO.getCrossId();
String laneId = laneIdDTO.getLaneId();
Integer lightId = crossLaneLightsMapper.selectLightsIdByLaneId(crossId, laneId);
Integer lightId = baseCrossLaneLightsMapper.selectLightsIdByLaneId(crossId, laneId);
LightIdVO lightIdVO = new LightIdVO();
lightIdVO.setCrossId(crossId);
lightIdVO.setLightId(lightId);
......@@ -96,7 +91,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
laneIdsVO.setPedType(type);
// 构建车道信息
List<CrossLaneLightsPO> crossLaneLightsPOList = crossLaneLightsMapper.selectLanesByLightId(crossId, lightId);
List<CrossLaneLightsPO> crossLaneLightsPOList = baseCrossLaneLightsMapper.selectLanesByLightId(crossId, lightId);
List<String> laneIds = crossLaneLightsPOList.stream()
.map(CrossLaneLightsPO::getLaneId)
.collect(Collectors.toList());
......@@ -133,23 +128,23 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
private List<SaveSchemeConfigDTO.PhaseScheme> buildPhaseSchemeList(String crossId) {
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = new ArrayList<>();
List<CrossSchemePO> crossSchemePOList = baseCrossSchemeMapper.selectByCrossId(crossId);
for (CrossSchemePO crossSchemePO : crossSchemePOList) {
List<BaseCrossSchemePO> baseCrossSchemePOList = baseCrossSchemeMapper.selectByCrossId(crossId);
for (BaseCrossSchemePO baseCrossSchemePO : baseCrossSchemePOList) {
SaveSchemeConfigDTO.PhaseScheme phaseScheme = new SaveSchemeConfigDTO.PhaseScheme();
phaseScheme.setSchemeNo(crossSchemePO.getSchemeNo());
phaseScheme.setName(crossSchemePO.getName());
phaseScheme.setSchemeId(crossSchemePO.getId());
phaseScheme.setSchemeNo(baseCrossSchemePO.getSchemeNo());
phaseScheme.setName(baseCrossSchemePO.getName());
phaseScheme.setSchemeId(baseCrossSchemePO.getId());
// 获取协调相位号
Integer coordPhaseId = crossSchemePO.getCoordPhase();
Integer coordPhaseId = baseCrossSchemePO.getCoordPhase();
if (coordPhaseId != null) {
CrossPhasePO crossPhasePO = crossPhaseMapper.selectById(coordPhaseId);
if (crossPhasePO != null) {
phaseScheme.setCoordPhaseNo(crossPhasePO.getPhaseNo());
}
}
phaseScheme.setCycle(crossSchemePO.getCycle());
phaseScheme.setOffset(crossSchemePO.getOffset());
phaseScheme.setStatus(crossSchemePO.getStatus());
phaseScheme.setCycle(baseCrossSchemePO.getCycle());
phaseScheme.setOffset(baseCrossSchemePO.getOffset());
phaseScheme.setStatus(baseCrossSchemePO.getStatus());
// 构造环列表
String schemeNo = phaseScheme.getSchemeNo();
Integer schemeId = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
......@@ -342,7 +337,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List<SaveSchemeConfigDTO.DirListElement> dirList = new ArrayList<>();
CrossPhaseLightsPO entity = new CrossPhaseLightsPO();
entity.setPhaseId(phaseId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = baseCrossPhaseLightsMapper.listCrossPhaseLightsPO(entity);
Set<Integer> dirSet = new HashSet<>();
for (CrossPhaseLightsPO crossPhaseLightsPO : crossPhaseLightsPOList) {
Integer lightsId = crossPhaseLightsPO.getLightsId();
......@@ -390,7 +385,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List<SaveSchemeConfigDTO.LaneListElement> laneList = new ArrayList<>();
CrossPhaseLightsPO entity = new CrossPhaseLightsPO();
entity.setPhaseId(phaseId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = baseCrossPhaseLightsMapper.listCrossPhaseLightsPO(entity);
List<Integer> lightsIds = crossPhaseLightsPOList.stream()
.map(CrossPhaseLightsPO::getLightsId)
.collect(Collectors.toList());
......@@ -399,7 +394,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Integer type = crossLightsPO.getType();
if (type < 20 || type >= 30) { // 非行人灯
Integer lightsId = crossLightsPO.getId();
List<CrossLaneLightsPO> crossLaneLightsPOList = crossLaneLightsMapper.selectByLightsId(lightsId);
List<CrossLaneLightsPO> crossLaneLightsPOList = baseCrossLaneLightsMapper.selectByLightsId(lightsId);
List<String> laneIds = crossLaneLightsPOList.stream()
.map(CrossLaneLightsPO::getLaneId)
.collect(Collectors.toList());
......@@ -429,7 +424,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
entity.setPhaseId(phaseId);
entity.setCrossId(crossId);
entity.setLightsId(lightsId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByEntity(entity);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = baseCrossPhaseLightsMapper.listCrossPhaseLightsPO(entity);
return !CollectionUtil.isEmpty(crossPhaseLightsPOList);
}
......@@ -459,7 +454,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
private void updateCrossPhase(SaveSchemeConfigDTO saveSchemeConfigDTO) {
String crossId = saveSchemeConfigDTO.getCrossId();
crossPhaseMapper.deleteByCrossId(crossId);
crossPhaseLightsMapper.deleteByCrossId(crossId);
baseCrossPhaseLightsMapper.deleteByCrossId(crossId);
crossAccompanyPhaseMapper.deleteByCrossId(crossId);
List<SaveSchemeConfigDTO.PhaseScheme> phaseSchemeList = saveSchemeConfigDTO.getPhaseSchemeList();
......@@ -669,7 +664,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Integer turn = laneListElement.getDirection();
// 根据车道获得灯组ID
String laneId = laneInfoMapper.selectIdByCrossIdDirTurn(crossId, dir, turn, category);
Integer lightsId = crossLaneLightsMapper.selectLightsIdByLaneId(crossId, laneId);
Integer lightsId = baseCrossLaneLightsMapper.selectLightsIdByLaneId(crossId, laneId);
if (lightsId != null) {
crossPhaseLightsPO.setLightsId(lightsId);
}
......@@ -678,7 +673,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
crossPhaseLightsPOSet.add(crossPhaseLightsPO);
}
}
crossPhaseLightsMapper.insertBatch(crossPhaseLightsPOSet);
baseCrossPhaseLightsMapper.insertBatch(crossPhaseLightsPOSet);
}
private void updateCrossScheme(SaveSchemeConfigDTO saveSchemeConfigDTO) {
......@@ -699,29 +694,29 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
}
for (SaveSchemeConfigDTO.PhaseScheme phaseScheme : phaseSchemeList) {
// 构造PO
CrossSchemePO crossSchemePO = new CrossSchemePO();
BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO();
String schemeNo = phaseScheme.getSchemeNo();// 方案号
crossSchemePO.setSchemeNo(schemeNo);
baseCrossSchemePO.setSchemeNo(schemeNo);
String name = phaseScheme.getName(); // 方案名称
crossSchemePO.setName(name);
crossSchemePO.setCrossId(crossId);
crossSchemePO.setCycle(phaseScheme.getCycle());
crossSchemePO.setOffset(phaseScheme.getOffset());
baseCrossSchemePO.setName(name);
baseCrossSchemePO.setCrossId(crossId);
baseCrossSchemePO.setCycle(phaseScheme.getCycle());
baseCrossSchemePO.setOffset(phaseScheme.getOffset());
Integer offset = phaseScheme.getOffset();
if (offset != null) {
crossSchemePO.setOffset(offset);
baseCrossSchemePO.setOffset(offset);
}
crossSchemePO.setSource(2); // 来自平台
crossSchemePO.setIsDeleted(0);
baseCrossSchemePO.setSource(2); // 来自平台
baseCrossSchemePO.setIsDeleted(0);
// 新增或修改数据
Integer schemeId = phaseScheme.getSchemeId();
if (ObjectUtil.isEmpty(schemeId)) {
// 没有方案ID视为新增
baseCrossSchemeMapper.insertOne(crossSchemePO);
baseCrossSchemeMapper.insertOne(baseCrossSchemePO);
} else {
// 有方案ID视为修改
crossSchemePO.setId(schemeId);
baseCrossSchemeMapper.update(crossSchemePO);
baseCrossSchemePO.setId(schemeId);
baseCrossSchemeMapper.update(baseCrossSchemePO);
}
}
}
......
......@@ -3,14 +3,14 @@ package net.wanji.web.vo;
import lombok.Data;
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.entity.BaseCrossSchemePO;
import net.wanji.databus.po.BaseCrossLightsPO;
import java.util.List;
@Data
public class SchemePhaseLightsVO {
private List<CrossSchemePO> crossSchemeList;
private List<BaseCrossSchemePO> crossSchemeList;
private List<CrossPhasePO> crossPhaseList;
private List<BaseCrossLightsPO> crossLightsList;
private List<CrossPhaseLightsPO> crossPhaseLightsPOList;
......
<?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.BaseCrossSchemeMapper">
<!-- 通用查询映射结果 -->
<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"/>
<result property="crossId" column="cross_id"/>
<result property="cycle" column="cycle"/>
<result property="coordPhase" column="coord_phase"/>
<result property="offset" column="offset"/>
<result property="source" column="source"/>
<result property="isDeleted" column="is_deleted"/>
<result property="status" column="status"/>
<result property="gmtCreate" column="gmt_create"/>
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_scheme(scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.schemeNo},#{entity.name},#{entity.crossId},#{entity.cycle},#{entity.coordPhase},#{entity.offset},#{entity.source},#{entity.isDeleted},#{entity.status})
</foreach>
</insert>
<insert id="insertOne">
insert into t_base_cross_scheme(scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status)
values (#{schemeNo},#{name},#{crossId},#{cycle},#{coordPhase},#{offset},#{source},#{isDeleted},#{status})
</insert>
<update id="updateCoordPhase">
update t_base_cross_scheme
set coord_phase = #{phaseId}
where cross_id = #{crossId} and scheme_no = #{schemeNo}
</update>
<update id="update">
update t_base_cross_scheme
<set>
status = 0,
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="cycle != null and cycle != ''">
cycle = #{cycle},
</if>
<if test="coordPhase != null and coordPhase != ''">
coord_phase = #{coordPhase},
</if>
<if test="offset != null and offset != ''">
offset = #{offset},
</if>
<if test="source != null and source != ''">
source = #{source},
</if>
<if test="isDeleted != null and isDeleted != ''">
is_deleted = #{isDeleted},
</if>
<if test="status != null and isDeleted != ''">
status = #{status},
</if>
</set>
where id = #{id}
</update>
<update id="resetStatus">
UPDATE t_base_cross_scheme
SET status = 0
WHERE cross_id = #{crossId}
</update>
<update id="updateStatus">
UPDATE t_base_cross_scheme
SET status = 1
WHERE id = #{schemeId}
</update>
<delete id="deleteByCrossId">
delete from t_base_cross_scheme
where cross_id = #{crossId}
</delete>
<select id="selectIdByCrossIdAndSchemeNo" resultType="java.lang.Integer">
select id from t_base_cross_scheme
where cross_id = #{crossId} and scheme_no = #{schemeNo}
</select>
<select id="selectByCrossId" resultMap="BaseResultMap">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
where cross_id = #{crossId}
</select>
<select id="selectIdByCrossIdAndSchemeName" resultType="java.lang.Integer">
select id from t_base_cross_scheme
where cross_id = #{crossId} and name = #{schemeName}
</select>
<select id="selectByCrossIdAndSchemeName" resultMap="BaseResultMap">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
where cross_id = #{crossId} and name = #{schemeName}
</select>
<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
where id = #{id}
</select>
<select id="selectIdsByCrossId" resultType="java.lang.Integer">
SELECT id FROM t_base_cross_scheme
WHERE cross_id = #{crossId}
</select>
<delete id="deleteByIds">
DELETE FROM t_base_cross_scheme
WHERE id IN
<foreach collection="existedIds" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>
</mapper>
package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.Constants;
import net.wanji.opt.dao.mapper.CrossPhaseMapper;
import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.mapper.BaseCrossPhaseMapper;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
......@@ -24,7 +23,7 @@ import java.util.stream.Collectors;
public class CrossPhaseInfoCache implements CommandLineRunner {
@Resource
CrossPhaseMapper crossPhaseMapper;
BaseCrossPhaseMapper baseCrossPhaseMapper;
/**
* 路口相位缓存
......@@ -65,7 +64,7 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
}
public void init() {
List<CrossPhasePO> crossPhasePOS = crossPhaseMapper.listCrossPhase(Constants.SystemParam.NULL, Constants.SystemParam.NULL_INT);
List<CrossPhasePO> crossPhasePOS = baseCrossPhaseMapper.listCrossPhasePO(new CrossPhasePO());
if (!CollectionUtils.isEmpty(crossPhasePOS)) {
crossPhaseInfoMap = crossPhasePOS.stream().collect(Collectors.groupingBy(CrossPhasePO::getCrossId));
}
......
......@@ -2,8 +2,8 @@ package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.Constants;
import net.wanji.opt.dao.mapper.CrossSchemeMapper;
import net.wanji.opt.po.base.CrossSchemePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.mapper.BaseCrossSchemeMapper;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
......@@ -22,18 +22,18 @@ import java.util.Map;
public class CrossSchemeInfoCache implements CommandLineRunner {
@Resource
CrossSchemeMapper crossSchemeMapper;
BaseCrossSchemeMapper baseCrossSchemeMapper;
/**
* key:crossId_id value:CrossSchemePO
*/
private static Map<String, CrossSchemePO> crossSchemeInfoMap = new HashMap<>();
private static Map<String, BaseCrossSchemePO> crossSchemeInfoMap = new HashMap<>();
/**
* 获取所有路口方案信息
* @return
*/
public static Map<String, CrossSchemePO> getCrossSchemeInfosCache() {
public static Map<String, BaseCrossSchemePO> getCrossSchemeInfosCache() {
return crossSchemeInfoMap;
}
......@@ -42,7 +42,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
* @param key: crossId_id
* @return
*/
public static CrossSchemePO geteSchemePOCache(String key) {
public static BaseCrossSchemePO geteSchemePOCache(String key) {
if (!crossSchemeInfoMap.isEmpty()) {
return crossSchemeInfoMap.get(key);
}
......@@ -65,9 +65,9 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
try {
long start = System.currentTimeMillis();
List<CrossSchemePO> crossSchemePOS = crossSchemeMapper.listCrossSchemeInfo(Constants.SystemParam.NULL, Constants.SystemParam.NULL, null);
if (!CollectionUtils.isEmpty(crossSchemePOS)) {
crossSchemePOS.forEach(crossSchemePO -> {
List<BaseCrossSchemePO> baseCrossSchemePOS = baseCrossSchemeMapper.listCrossSchemeInfo(Constants.SystemParam.NULL, Constants.SystemParam.NULL, null);
if (!CollectionUtils.isEmpty(baseCrossSchemePOS)) {
baseCrossSchemePOS.forEach(crossSchemePO -> {
String crossId = crossSchemePO.getCrossId();
Integer schemeId = crossSchemePO.getId();
String key = String.join(Constants.SystemParam.SEPARATOR_UNDER_LINE, crossId, String.valueOf(schemeId));
......
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossPhaseLightsPO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/18 14:25
* @desc CrossPhaseLightsMapper
*/
@Repository
public interface CrossPhaseLightsMapper {
/**
* 查询相位灯组信息
* @return
*/
List<CrossPhaseLightsPO> listCrossPhaseLights();
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossPhasePO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/13 10:54
* @desc CrossPhaseMapper
*/
@Repository
public interface CrossPhaseMapper {
/**
* 查询相位基础信息列表
* @return
*/
List<CrossPhasePO> listCrossPhase(@Param("crossId") String crossId, @Param("schemeId") Integer schemeId);
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossPlanPO;
import net.wanji.opt.po.base.CrossSchemePO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/17 16:06
* @desc CrossPlanMapper
*/
@Repository
public interface CrossPlanMapper {
/**
* 查询计划基础信息列表
* @param crossId
* @return
*/
List<CrossPlanPO> listCrossPlanInfo(String crossId);
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossSchedulesPO;
import net.wanji.opt.po.base.CrossSchedulesPlanPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/17 16:06
* @desc CrossSchedulesMapper
*/
@Repository
public interface CrossSchedulesMapper {
/**
* 查询调度基础信息列表
* @param crossId
* @return
*/
List<CrossSchedulesPO> listCrossSchedulesInfo(String crossId);
/**
* 查询调度计划信息列表
* @param crossId
* @param status
* @return
*/
List<CrossSchedulesPlanPO> listSchedulesPlan(@Param("crossId") String crossId, @Param("status") Integer status);
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossSchemePO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set;
/**
* @author hfx
* @date 2023/1/17 14:49
* @desc CrossSchemeMapper
*/
@Repository
public interface CrossSchemeMapper {
/**
* 查询方案基础信息列表
* @param crossId
* @return
*/
List<CrossSchemePO> listCrossSchemeInfo(@Param("crossId") String crossId, @Param("schemeNo")String schemeNo, @Param("id")Integer id);
void insertBatch(@Param("entities") List<CrossSchemePO> entities);
Integer selectIdByCrossIdAndSchemeNo(@Param("crossId") String crossId, @Param("schemeNo") String schemeNo);
void updateCoordPhase(@Param("crossId") String crossId,
@Param("schemeNo") String schemeNo,
@Param("phaseId") Integer phaseId);
List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
Integer selectIdByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
CrossSchemePO selectByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
CrossSchemePO selectById(@Param("id") Integer id);
void insertOne(CrossSchemePO crossSchemePO);
void update(CrossSchemePO crossSchemePO);
Set<Integer> selectIdsByCrossId(String crossId);
void deleteByIds(Set<Integer> existedIds);
void resetStatus(String crossId);
void updateStatus(Integer schemeId);
CrossSchemePO selectByCrossIdAndSchemeNo(String crossId, String schemeNo);
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.CrossSectionPO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/17 17:35
* @desc CrossSectionMapper
*/
@Repository
public interface CrossSectionMapper {
/**
* 查询时段基础信息列表
* @return
*/
List<CrossSectionPO> listCrossSectionInfo();
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.po.base.LaneLightsPO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author hfx
* @date 2023/1/13 14:43
* @desc LaneLightsMapper
*/
@Repository
public interface LaneLightsMapper {
/**
* 查询灯组车道列表信息
* @return
*/
List<LaneLightsPO> listLightLane();
}
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @date 2023/01/18 14:27:39
* @desc 路口相位灯组信息
*/
@Data
public class CrossPhaseLightsPO {
@ApiModelProperty(name = "相位ID",notes = "")
private Integer phaseId;
@ApiModelProperty(name = "灯组ID",notes = "")
private Integer lightsId;
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId;
}
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @date 2023/01/12 13:29:39
* @desc 路口相位基础信息
*/
@Data
public class CrossPhasePO {
@ApiModelProperty(name = "相位ID",notes = "")
private Integer id;
@ApiModelProperty(name = "相位号",notes = "")
private String phaseNo;
@ApiModelProperty(name = "相位名称",notes = "")
private String name;
@ApiModelProperty(name = "相位序号",notes = "")
private Integer sort;
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId;
@ApiModelProperty(name = "方案ID",notes = "")
private Integer schemeId;
@ApiModelProperty(name = "环号",notes = "")
private Integer ringNo;
@ApiModelProperty(name = "组号",notes = "")
private Integer groupNo;
@ApiModelProperty(name = "相位类型:1实相位;2虚相位;3伴随相位",notes = "")
private Integer type;
@ApiModelProperty(name = "控制模式:1定周期;2绿灯;3黄灯;4红灯;5关灯;6绿闪;7黄闪;8红闪",notes = "")
private Integer controlMode;
@ApiModelProperty(name = "相位时间",notes = "")
private Integer phaseTime;
@ApiModelProperty(name = "绿灯时间",notes = "")
private Integer greenTime;
@ApiModelProperty(name = "绿闪时间",notes = "")
private Integer greenFlashTime;
@ApiModelProperty(name = "行闪时间",notes = "")
private Integer pedFlashTime;
@ApiModelProperty(name = "黄灯时间",notes = "")
private Integer yellowTime;
@ApiModelProperty(name = "红灯时间",notes = "")
private Integer redTime;
@ApiModelProperty(name = "最小绿灯时间",notes = "")
private Integer minGreenTime;
@ApiModelProperty(name = "最大绿灯时间",notes = "")
private Integer maxGreenTime;
}
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author hfx
* @date 2023/01/12 13:29:39
* @desc 路口方案基础信息
*/
@Data
public class CrossSchemePO {
/** 方案ID */
@ApiModelProperty(name = "方案ID",notes = "")
private Integer id ;
/** 方案号 */
@ApiModelProperty(name = "方案号",notes = "")
private String schemeNo ;
/** 方案名称 */
@ApiModelProperty(name = "方案名称",notes = "")
private String name ;
/** 路口ID */
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId ;
/** 周期 */
@ApiModelProperty(name = "周期",notes = "")
private Integer cycle = 0;
/** 协调相位ID */
@ApiModelProperty(name = "协调相位ID",notes = "")
private Integer coordPhase = 0 ;
/** 相位差 */
@ApiModelProperty(name = "相位差",notes = "")
private Integer offset = 0;
/** 数据来源:1信号机;2平台 */
@ApiModelProperty(name = "数据来源:1信号机;2平台",notes = "")
private Integer source ;
/** 删除标识:1删除;0未删除 */
@ApiModelProperty(name = "删除标识:1删除;0未删除",notes = "")
private Integer isDeleted ;
@ApiModelProperty(name = "状态:1执行;0未执行",notes = "")
private Integer status = 0 ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @date 2023/1/13 10:32
* @desc 路口时段信息
*/
@Data
public class CrossSectionPO {
@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;
@ApiModelProperty(name = "计划ID",notes = "")
private Integer planId;
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId;
@ApiModelProperty(name = "方案ID",notes = "")
private Integer schemeId;
@ApiModelProperty(name = "控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;",notes = "")
private Integer controlMode;
}
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @date 2023/1/13 17:37
* @desc 车道灯组信息
*/
@Data
public class LaneLightsPO {
@ApiModelProperty(name = "灯组ID",notes = "")
private Integer lightsId;
@ApiModelProperty(name = "车道ID",notes = "")
private String laneId;
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId;
}
......@@ -26,14 +26,14 @@ import java.util.stream.Collectors;
public class CrossLightsServiceImpl implements CrossLightsService {
@Resource
BaseCrossLightsMapper crossLightsMapper;
BaseCrossLightsMapper baseCrossLightsMapper;
@Resource
LaneInfoService laneInfoService;
@Override
public List<CrossLightsDTO> listCrossLights() {
List<BaseCrossLightsPO> lightsPOList = crossLightsMapper.listCrossLights();
List<BaseCrossLightsPO> lightsPOList = baseCrossLightsMapper.listCrossLights();
return BeanListUtils.populateList(lightsPOList, new ArrayList<>(), CrossLightsDTO.class);
}
......
......@@ -8,6 +8,8 @@ import net.wanji.common.framework.Constants;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.common.utils.tool.BeanMapUtils;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper;
import net.wanji.databus.dao.mapper.CrossTurnDataRealtimeMapper;
......@@ -27,9 +29,7 @@ import net.wanji.opt.common.exception.OptServiceException;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dto.CrossPhaseDTO;
import net.wanji.opt.dto.CrossTurnDataRealtimeDTO;
import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.po.base.CrossSchemePO;
import net.wanji.opt.po.strategy.SceneStrategyIdeaPO;
import net.wanji.opt.service.CrossOptimizeService;
import net.wanji.opt.service.strategy.SceneService;
......@@ -513,20 +513,19 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
throw new OptServiceException("当前路口不能获取到运行方案相位信息!");
}
Integer schemeId = crossPhaseDTO.getSchemeId();
CrossSchemePO crossSchemePO = geteSchemePOCache(String.join(Constants.SystemParam.SEPARATOR_UNDER_LINE, crossId, String.valueOf(schemeId)));
BaseCrossSchemePO baseCrossSchemePO = geteSchemePOCache(String.join(Constants.SystemParam.SEPARATOR_UNDER_LINE, crossId, String.valueOf(schemeId)));
// 当前路口方案号的相位参数
Map<Integer, List<CrossPhasePO>> ringNoPhasePOMap = getCrossPhaseCacheByCrossId(crossId).stream().filter(po -> Objects.equals(schemeId, po.getSchemeId())).collect(Collectors.groupingBy(CrossPhasePO::getRingNo));
Map<Integer, List<CrossPhasePO>> ringNoPhasePOMap = getCrossPhaseCacheByCrossId(crossId).stream().filter(po -> Objects.equals(schemeId, po.getPlanId())).collect(Collectors.groupingBy(CrossPhasePO::getRingNo));
SchemeSendVO schemeSendVO = new SchemeSendVO();
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
if (Objects.nonNull(crossSchemePO)) {
if (Objects.nonNull(baseCrossSchemePO)) {
SchemeSendVO.Pattern pattern = new SchemeSendVO.Pattern();
pattern.setPatternName("实时监测优化方案".concat(crossSchemePO.getSchemeNo()));
pattern.setPatternNo(String.valueOf(crossSchemePO.getId()));
pattern.setCycle(String.valueOf(crossSchemePO.getCycle()));
pattern.setOffset(String.valueOf(crossSchemePO.getOffset()));
pattern.setCoordPhase(String.valueOf(crossSchemePO.getCoordPhase()));
pattern.setPatternName("实时监测优化方案".concat(baseCrossSchemePO.getSchemeNo()));
pattern.setPatternNo(String.valueOf(baseCrossSchemePO.getId()));
pattern.setCycle(String.valueOf(baseCrossSchemePO.getCycle()));
pattern.setOffset(String.valueOf(baseCrossSchemePO.getOffset()));
pattern.setCoordPhase(String.valueOf(baseCrossSchemePO.getCoordPhase()));
List<SchemeSendVO.Pattern.Ring> rings = new ArrayList<>();
ringNoPhasePOMap.entrySet().forEach(entry -> {
......
package net.wanji.opt.service.impl;
import net.wanji.common.framework.Constants;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.opt.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.opt.dao.mapper.CrossPhaseMapper;
import net.wanji.databus.dao.entity.CrossPhaseLightsPO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.mapper.BaseCrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.BaseCrossPhaseMapper;
import net.wanji.opt.dto.CrossLightsDTO;
import net.wanji.opt.dto.CrossPhaseDTO;
import net.wanji.opt.po.base.CrossPhaseLightsPO;
import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.opt.service.CrossLightsService;
import net.wanji.opt.service.CrossPhaseService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -28,10 +27,10 @@ import java.util.stream.Collectors;
public class CrossPhaseServiceImpl implements CrossPhaseService {
@Resource
CrossPhaseMapper crossPhaseMapper;
BaseCrossPhaseMapper baseCrossPhaseMapper;
@Resource
CrossPhaseLightsMapper phaseLightsMapper;
BaseCrossPhaseLightsMapper baseCrossPhaseLightsMapper;
@Resource
CrossLightsService crossLightsService;
......@@ -41,8 +40,15 @@ public class CrossPhaseServiceImpl implements CrossPhaseService {
public List<CrossPhaseDTO> listCrossPhase() {
// 获取相位信息
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.listCrossPhase("", Constants.SystemParam.NULL_INT);
return BeanListUtils.populateList(crossPhasePOList, new ArrayList<>(), CrossPhaseDTO.class);
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.listCrossPhasePO(new CrossPhasePO());
List<CrossPhaseDTO> crossPhaseDTOS = new ArrayList<>();
for (CrossPhasePO crossPhasePO : crossPhasePOList) {
CrossPhaseDTO crossPhaseDTO = new CrossPhaseDTO();
BeanUtils.copyProperties(crossPhasePO, crossPhaseDTO);
crossPhaseDTO.setSchemeId(crossPhasePO.getPlanId());
crossPhaseDTOS.add(crossPhaseDTO);
}
return crossPhaseDTOS;
}
@Override
......@@ -70,7 +76,7 @@ public class CrossPhaseServiceImpl implements CrossPhaseService {
Map<Integer, List<CrossLightsDTO>> phaseLightsMap = new HashMap<>();
// 获取相位灯组信息
List<CrossPhaseLightsPO> phaseLightsPOList = phaseLightsMapper.listCrossPhaseLights();
List<CrossPhaseLightsPO> phaseLightsPOList = baseCrossPhaseLightsMapper.listCrossPhaseLightsPO(new CrossPhaseLightsPO());
if(phaseLightsPOList.isEmpty()) {
return phaseLightsMap;
}
......
......@@ -2,10 +2,10 @@ package net.wanji.opt.service.impl;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.opt.dao.mapper.CrossSchedulesMapper;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPlanPO;
import net.wanji.databus.dao.mapper.BaseCrossSchedulesMapper;
import net.wanji.opt.dto.CrossSchedulesDTO;
import net.wanji.opt.dto.CrossSectionDTO;
import net.wanji.opt.po.base.CrossSchedulesPlanPO;
import net.wanji.opt.service.CrossSchedulesService;
import net.wanji.opt.service.CrossSectionService;
import org.springframework.stereotype.Service;
......@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
public class CrossSchedulesServiceImpl implements CrossSchedulesService {
@Resource
CrossSchedulesMapper crossSchedulesMapper;
BaseCrossSchedulesMapper baseCrossSchedulesMapper;
@Resource
CrossSectionService crossSectionService;
......@@ -36,7 +36,7 @@ public class CrossSchedulesServiceImpl implements CrossSchedulesService {
List<CrossSchedulesDTO> schedulesDTOList = new ArrayList<>();
// 获取调度计划信息
List<CrossSchedulesPlanPO> schedulesPlanPOList = crossSchedulesMapper.listSchedulesPlan(crossId, status);
List<BaseCrossSchedulesPlanPO> schedulesPlanPOList = baseCrossSchedulesMapper.listSchedulesPlan(crossId, status);
schedulesDTOList = BeanListUtils.populateList(schedulesPlanPOList, schedulesDTOList, CrossSchedulesDTO.class);
// 获取日计划信息
List<CrossSectionDTO> sectionPOList = crossSectionService.listCrossSectionInfo(crossId, null);
......
......@@ -2,10 +2,10 @@ package net.wanji.opt.service.impl;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.opt.dao.mapper.CrossSchemeMapper;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.mapper.BaseCrossSchemeMapper;
import net.wanji.opt.dto.CrossPhaseDTO;
import net.wanji.opt.dto.CrossSchemeDTO;
import net.wanji.opt.po.base.CrossSchemePO;
import net.wanji.opt.service.CrossPhaseService;
import net.wanji.opt.service.CrossSchemeService;
import org.springframework.stereotype.Service;
......@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
public class CrossSchemeServiceImpl implements CrossSchemeService {
@Resource
CrossSchemeMapper crossSchemeMapper;
BaseCrossSchemeMapper baseCrossSchemeMapper;
@Resource
CrossPhaseService crossPhaseService;
......@@ -34,7 +34,7 @@ public class CrossSchemeServiceImpl implements CrossSchemeService {
@Override
public List<CrossSchemeDTO> listCrossSchemeInfo(String crossId) {
List<CrossSchemePO> schemePOList = crossSchemeMapper.listCrossSchemeInfo(crossId, "", null);
List<BaseCrossSchemePO> schemePOList = baseCrossSchemeMapper.listCrossSchemeInfo(crossId, "", null);
return BeanListUtils.populateList(schemePOList, new ArrayList<>(), CrossSchemeDTO.class);
}
......
......@@ -2,9 +2,9 @@ package net.wanji.opt.service.impl;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.opt.dao.mapper.CrossSectionMapper;
import net.wanji.databus.dao.entity.CrossSectionPO;
import net.wanji.databus.dao.mapper.BaseCrossSectionMapper;
import net.wanji.opt.dto.CrossSectionDTO;
import net.wanji.opt.po.base.CrossSectionPO;
import net.wanji.opt.service.CrossSectionService;
import org.springframework.stereotype.Service;
......@@ -22,13 +22,13 @@ import java.util.List;
public class CrossSectionServiceImpl implements CrossSectionService {
@Resource
CrossSectionMapper crossSectionMapper;
BaseCrossSectionMapper baseCrossSectionMapper;
@Override
public List<CrossSectionDTO> listCrossSectionInfo(String crossId, String planId) {
// 获取时段信息
List<CrossSectionPO> sectionPOList = crossSectionMapper.listCrossSectionInfo();
List<CrossSectionPO> sectionPOList = baseCrossSectionMapper.listCrossSectionPO(new CrossSectionPO());
return BeanListUtils.populateList(sectionPOList, new ArrayList<>(), CrossSectionDTO.class);
}
}
......@@ -10,23 +10,19 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.enums.LightsAddressEnum;
import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.dao.entity.CrossLightsPO;
import net.wanji.databus.dao.entity.BaseCrossDirInfoPO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.*;
import net.wanji.databus.vo.SchemeSendVO;
import net.wanji.opt.dao.mapper.CrossDirInfoMapper;
import net.wanji.opt.dao.mapper.CrossPhaseMapper;
import net.wanji.opt.dao.mapper.CrossSchemeMapper;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dao.mapper.strategy.SceneMapper;
import net.wanji.opt.dto.*;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO;
import net.wanji.opt.po.base.CrossDirInfoPO;
import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.po.base.CrossSchemePO;
import net.wanji.opt.po.strategy.ScenePO;
import net.wanji.opt.service.DiagnoService;
import net.wanji.opt.service.signalcontrol.FeignProxyService;
......@@ -53,17 +49,17 @@ public class DiagnoServiceImpl implements DiagnoService {
private final CrossDataRealtimeMapper crossDataRealtimeMapper;
private final SceneService sceneService;
private final SceneMapper sceneMapper;
private final CrossDirInfoMapper crossDirInfoMapper;
private final BaseCrossDirInfoMapper baseCrossDirInfoMapper;
private final RidInfoMapper ridInfoMapper;
private final CrossSchemeOptLogMapper crossSchemeOptLogMapper;
private final CrossSchemeMapper crossSchemeMapper;
private final CrossPhaseMapper crossPhaseMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final BaseCrossPhaseMapper baseCrossPhaseMapper;
private final FeignProxyService feignProxyService;
private final CrossDataHistMapper crossDataHistMapper;
private final CrossDirDataHistMapper crossDirDataHistMapper;
private final LaneInfoMapper laneInfoMapper;
private final CrossDirDataRealtimeMapper crossDirDataRealtimeMapper;
private final CrossLaneLightsMapper crossLaneLightsMapper;
private final BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
......@@ -87,28 +83,28 @@ public class DiagnoServiceImpl implements DiagnoService {
}
public DiagnoServiceImpl(BaseCrossInfoMapper baseCrossInfoMapper, CrossDataRealtimeMapper crossDataRealtimeMapper,
SceneService sceneService, SceneMapper sceneMapper, CrossDirInfoMapper crossDirInfoMapper,
SceneService sceneService, SceneMapper sceneMapper, BaseCrossDirInfoMapper baseCrossDirInfoMapper,
RidInfoMapper ridInfoMapper, CrossSchemeOptLogMapper crossSchemeOptLogMapper,
CrossSchemeMapper crossSchemeMapper, CrossPhaseMapper crossPhaseMapper,
BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper,
FeignProxyService feignProxyService, CrossDataHistMapper crossDataHistMapper,
CrossDirDataHistMapper crossDirDataHistMapper, LaneInfoMapper laneInfoMapper,
CrossDirDataRealtimeMapper crossDirDataRealtimeMapper,
CrossLaneLightsMapper crossLaneLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper) {
BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, BaseCrossLightsMapper baseCrossLightsMapper) {
this.baseCrossInfoMapper = baseCrossInfoMapper;
this.crossDataRealtimeMapper = crossDataRealtimeMapper;
this.sceneService = sceneService;
this.sceneMapper = sceneMapper;
this.crossDirInfoMapper = crossDirInfoMapper;
this.baseCrossDirInfoMapper = baseCrossDirInfoMapper;
this.ridInfoMapper = ridInfoMapper;
this.crossSchemeOptLogMapper = crossSchemeOptLogMapper;
this.crossSchemeMapper = crossSchemeMapper;
this.crossPhaseMapper = crossPhaseMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.baseCrossPhaseMapper = baseCrossPhaseMapper;
this.feignProxyService = feignProxyService;
this.crossDataHistMapper = crossDataHistMapper;
this.crossDirDataHistMapper = crossDirDataHistMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossDirDataRealtimeMapper = crossDirDataRealtimeMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.baseCrossLaneLightsMapper = baseCrossLaneLightsMapper;
this.baseCrossLightsMapper = baseCrossLightsMapper;
}
......@@ -137,7 +133,7 @@ public class DiagnoServiceImpl implements DiagnoService {
public List<CrossIdAndLocationVO> queryNeighborCross(CrossIdDTO crossIdDTO) {
List<CrossIdAndLocationVO> crossIdAndLocationVOList = new ArrayList<>();
String crossId = crossIdDTO.getCrossId();
List<Integer> inDirs = crossDirInfoMapper.selectInDirsByCrossId(crossId);
List<Integer> inDirs = baseCrossDirInfoMapper.selectInDirsByCrossId(crossId);
for (Integer inDir : inDirs) {
RidInfoEntity ridInfo = ridInfoMapper.selectByEndInDir(crossId, inDir);
if (ridInfo != null) {
......@@ -185,10 +181,10 @@ public class DiagnoServiceImpl implements DiagnoService {
String optType = crossSchemeOptLogPO.getOptType();
schemeOptVO.setOptType(Integer.parseInt(optType));
Integer schemeNo = crossSchemeOptLogPO.getSchemeId();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo.toString());
if (crossSchemePO != null) {
schemeOptVO.setCycle(crossSchemePO.getCycle());
schemeOptVO.setSchemeId(crossSchemePO.getId());
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo);
if (baseCrossSchemePO != null) {
schemeOptVO.setCycle(baseCrossSchemePO.getCycle());
schemeOptVO.setSchemeId(baseCrossSchemePO.getId());
schemeOptVO.setOffset(crossSchemeOptLogPO.getOffset());
}
// 构造调整时间列表
......@@ -280,13 +276,13 @@ public class DiagnoServiceImpl implements DiagnoService {
private List<SchemeSendVO.Pattern> buildPatternList(String sendCrossId, Integer schemeId,
Map<String, Integer> phaseOffsetTimeMap) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectById(schemeId);
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectById(schemeId);
SchemeSendVO.Pattern pattern = new SchemeSendVO.Pattern();
pattern.setPatternNo(crossSchemePO.getSchemeNo());
pattern.setPatternName(crossSchemePO.getName());
pattern.setCycle(crossSchemePO.getCycle().toString());
pattern.setCoordPhase(crossSchemePO.getCoordPhase().toString());
pattern.setOffset(crossSchemePO.getOffset().toString());
pattern.setPatternNo(baseCrossSchemePO.getSchemeNo());
pattern.setPatternName(baseCrossSchemePO.getName());
pattern.setCycle(baseCrossSchemePO.getCycle().toString());
pattern.setCoordPhase(baseCrossSchemePO.getCoordPhase().toString());
pattern.setOffset(baseCrossSchemePO.getOffset().toString());
// 构造环列表
List<SchemeSendVO.Pattern.Ring> rings = buildRings(sendCrossId, schemeId, phaseOffsetTimeMap);
pattern.setRings(rings);
......@@ -299,7 +295,10 @@ public class DiagnoServiceImpl implements DiagnoService {
Map<String, Integer> phaseOffsetTimeMap) {
List<SchemeSendVO.Pattern.Ring> rings = new ArrayList<>();
// 根据路口ID和方案ID查询相位集合,根据ringNo分组,特殊控制ringNo为0
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.listCrossPhase(sendCrossId, schemeId);
CrossPhasePO crossPhasePO = new CrossPhasePO();
crossPhasePO.setCrossId(sendCrossId);
crossPhasePO.setPlanId(schemeId);
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.listCrossPhasePO(crossPhasePO);
Map<Integer, List<CrossPhasePO>> collectMap = crossPhasePOList.stream()
.collect(Collectors.groupingBy(CrossPhasePO::getRingNo));
for (Map.Entry<Integer, List<CrossPhasePO>> entry : collectMap.entrySet()) {
......@@ -499,8 +498,8 @@ public class DiagnoServiceImpl implements DiagnoService {
dirListElement.setLength(crossDirDataRealtimePO.getLength());
dirListElement.setDuration(crossDirDataRealtimePO.getDuration());
// 获取是否有行人道
CrossDirInfoPO crossDirInfoPO = crossDirInfoMapper.selectByCrossIdAndDirType(crossId, key);
Integer isPedestrian = crossDirInfoPO.getIsPedestrian();
BaseCrossDirInfoPO baseCrossDirInfoPO = baseCrossDirInfoMapper.selectByCrossIdAndDirType(crossId, key);
Integer isPedestrian = baseCrossDirInfoPO.getIsPedestrian();
dirListElement.setIsPersonCross(isPedestrian);
// 构造laneList
List<LaneInfoPO> value = entry.getValue();
......@@ -517,7 +516,7 @@ public class DiagnoServiceImpl implements DiagnoService {
laneListElement.setLaneType(laneInfoPO.getCategory());
laneListElement.setName(laneInfoPO.getCode());
// 根据laneId获取灯组代码
String lightsCode = crossLaneLightsMapper.selectLightsCodeByLaneId(laneId);
String lightsCode = baseCrossLaneLightsMapper.selectLightsCodeByLaneId(laneId);
if (lightsCode != null) {
laneListElement.setLedNum(lightsCode);
}
......@@ -525,8 +524,8 @@ public class DiagnoServiceImpl implements DiagnoService {
}
dirListElement.setLaneList(laneListElementList);
// 构造行人过街数据
List<CrossLightsPO> crossLightsPOList = baseCrossLightsMapper.selectByCrossIdAndDir(crossId, key);
for (CrossLightsPO crossLightsPO : crossLightsPOList) {
List<BaseCrossLightsPO> crossLightsPOList = baseCrossLightsMapper.selectByCrossIdAndDir(crossId, key);
for (BaseCrossLightsPO crossLightsPO : crossLightsPOList) {
Integer type = crossLightsPO.getType();
String lightsNo = crossLightsPO.getLightsNo();
if (type == 20) { // 一次过街
......@@ -544,15 +543,15 @@ public class DiagnoServiceImpl implements DiagnoService {
dirList.add(dirListElement);
}
// 返回没有车道的方向
List<CrossDirInfoPO> crossDirInfoPOList = crossDirInfoMapper.selectByCrossId(crossId);
for (CrossDirInfoPO crossDirInfoPO : crossDirInfoPOList) {
List<BaseCrossDirInfoPO> baseCrossDirInfoPOList = baseCrossDirInfoMapper.selectByCrossId(crossId);
for (BaseCrossDirInfoPO baseCrossDirInfoPO : baseCrossDirInfoPOList) {
List<DirListElement> dirList = saveLaneInfoDTO.getDirList();
Integer dirType = crossDirInfoPO.getDirType();
Integer dirType = baseCrossDirInfoPO.getDirType();
List<LaneInfoPO> laneInfoPOList1 = laneInfoMapper.selectByCrossIdAndDir(crossId, dirType);
if (CollectionUtil.isEmpty(laneInfoPOList1)) {
DirListElement dirListElement = new DirListElement();
dirListElement.setDir(crossDirInfoPO.getDirType());
dirListElement.setIsPersonCross(crossDirInfoPO.getIsPedestrian());
dirListElement.setDir(baseCrossDirInfoPO.getDirType());
dirListElement.setIsPersonCross(baseCrossDirInfoPO.getIsPedestrian());
dirList.add(dirListElement);
}
}
......@@ -621,7 +620,10 @@ public class DiagnoServiceImpl implements DiagnoService {
}
private Integer getNewGreenTime(String crossId, Integer schemeId, String phaseNo) {
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.listCrossPhase(crossId, schemeId);
CrossPhasePO entity = new CrossPhasePO();
entity.setCrossId(crossId);
entity.setPlanId(schemeId);
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.listCrossPhasePO(entity);
for (CrossPhasePO crossPhasePO : crossPhasePOList) {
String newPhaseNo = crossPhasePO.getPhaseNo();
if (Objects.equals(phaseNo, newPhaseNo)) {
......@@ -653,8 +655,11 @@ public class DiagnoServiceImpl implements DiagnoService {
}
private void initPhaseOptTimeList(Integer schemeNo, List<SchemeOptVO.PhaseOptTime> phaseOptTimeList, String crossId) {
Integer schemeId = crossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo.toString());
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.listCrossPhase(crossId, schemeId);
Integer schemeId = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo.toString());
CrossPhasePO phasePO = new CrossPhasePO();
phasePO.setCrossId(crossId);
phasePO.setPlanId(schemeId);
List<CrossPhasePO> crossPhasePOList = baseCrossPhaseMapper.listCrossPhasePO(phasePO);
for (CrossPhasePO crossPhasePO : crossPhasePOList) {
SchemeOptVO.PhaseOptTime phaseOptTime = new SchemeOptVO.PhaseOptTime();
phaseOptTime.setPhaseNo(crossPhasePO.getPhaseNo());
......
......@@ -2,11 +2,11 @@ package net.wanji.opt.service.impl;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.databus.dao.mapper.BaseCrossLaneLightsMapper;
import net.wanji.databus.dao.mapper.LaneInfoMapper;
import net.wanji.databus.po.CrossLaneLightsPO;
import net.wanji.databus.po.LaneInfoPO;
import net.wanji.opt.dao.mapper.LaneLightsMapper;
import net.wanji.opt.dto.LaneInfoDTO;
import net.wanji.opt.po.base.LaneLightsPO;
import net.wanji.opt.query.LaneQuery;
import net.wanji.opt.service.LaneInfoService;
import org.springframework.stereotype.Service;
......@@ -30,7 +30,7 @@ public class LaneInfoServiceImpl implements LaneInfoService {
LaneInfoMapper laneInfoMapper;
@Resource
LaneLightsMapper laneLightsMapper;
BaseCrossLaneLightsMapper baseCrossLaneLightsMapper;
@Override
public List<LaneInfoDTO> listLaneInfo(LaneQuery query) {
......@@ -50,7 +50,7 @@ public class LaneInfoServiceImpl implements LaneInfoService {
return laneInfoDTOList;
}
// 获取灯组车道信息
List<LaneLightsPO> lightLanePOList = laneLightsMapper.listLightLane();
List<CrossLaneLightsPO> lightLanePOList = baseCrossLaneLightsMapper.listLightLane();
if(lightLanePOList.isEmpty()) {
return laneInfoDTOList;
}
......
......@@ -17,7 +17,6 @@ import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.po.CrossTurnDataRealtimePO;
import net.wanji.databus.po.TBaseCrossInfo;
import net.wanji.databus.vo.AbnormalCrossListVO;
import net.wanji.opt.dao.mapper.CrossDirInfoMapper;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dao.mapper.trend.EventAlarmMapper;
import net.wanji.opt.dao.mapper.trend.GreenwaveInfoMapper;
......@@ -47,7 +46,7 @@ public class TrendServiceImpl implements TrendService {
private final CrossDirDataHistMapper crossDirDataHistMapper;
private final EventAlarmMapper eventAlarmMapper;
private final RidInfoMapper ridInfoMapper;
private final CrossDirInfoMapper crossDirInfoMapper;
private final BaseCrossDirInfoMapper baseCrossDirInfoMapper;
private final CrossSchemeOptLogMapper crossSchemeOptLogMapper;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......@@ -56,7 +55,7 @@ public class TrendServiceImpl implements TrendService {
CrossDataRealtimeMapper crossDataRealtimeMapper,
CrossTurnDataRealtimeMapper crossTurnDataRealtimeMapper,
CrossDirDataHistMapper crossDirDataHistMapper, EventAlarmMapper eventAlarmMapper,
RidInfoMapper ridInfoMapper, CrossDirInfoMapper crossDirInfoMapper,
RidInfoMapper ridInfoMapper, BaseCrossDirInfoMapper baseCrossDirInfoMapper,
CrossSchemeOptLogMapper crossSchemeOptLogMapper) {
this.greenwaveInfoMapper = greenwaveInfoMapper;
this.baseCrossInfoMapper = baseCrossInfoMapper;
......@@ -65,7 +64,7 @@ public class TrendServiceImpl implements TrendService {
this.crossDirDataHistMapper = crossDirDataHistMapper;
this.eventAlarmMapper = eventAlarmMapper;
this.ridInfoMapper = ridInfoMapper;
this.crossDirInfoMapper = crossDirInfoMapper;
this.baseCrossDirInfoMapper = baseCrossDirInfoMapper;
this.crossSchemeOptLogMapper = crossSchemeOptLogMapper;
}
......@@ -159,7 +158,7 @@ public class TrendServiceImpl implements TrendService {
buildRidData(abnormalCrossListVO, endCrossId, spilloverDirList);
} else if (Objects.equals(realtimeStatus, CrossStatusEnum.CONGESTION.getCode())){
// 拥堵返回所有方向关联路口
List<Integer> inDirs = crossDirInfoMapper.selectInDirsByCrossId(endCrossId);
List<Integer> inDirs = baseCrossDirInfoMapper.selectInDirsByCrossId(endCrossId);
buildRidData(abnormalCrossListVO, endCrossId, inDirs);
}
}
......
<?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.opt.dao.mapper.CrossPhaseLightsMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossPhaseLightsPO" id="BaseResultMap">
<result property="lightsId" column="lights_id"/>
<result property="phaseId" column="phase_id"/>
<result property="crossId" column="cross_id"/>
</resultMap>
<!-- 查询相位灯组信息 -->
<select id="listCrossPhaseLights" resultMap="BaseResultMap">
select
lights_id
,phase_id
,cross_id
from
t_base_cross_phase_lights
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="phaseId != null and phaseId != ''">
and phase_id = #{phaseId}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.CrossPhaseMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossPhasePO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="phaseNo" column="phase_no"/>
<result property="name" column="name"/>
<result property="sort" column="sort"/>
<result property="crossId" column="cross_id"/>
<result property="schemeId" column="plan_id"/>
<result property="ringNo" column="ring_no"/>
<result property="groupNo" column="group_no"/>
<!--<result property="type" column="type"/>-->
<result property="controlMode" column="control_mode"/>
<result property="phaseTime" column="phase_time"/>
<result property="greenTime" column="green_time"/>
<result property="greenFlashTime" column="green_flash_time"/>
<result property="pedFlashTime" column="ped_flash_time"/>
<result property="yellowTime" column="yellow_time"/>
<result property="redTime" column="red_time"/>
<result property="minGreenTime" column="min_green_time"/>
<result property="maxGreenTime" column="max_green_time"/>
<result property="gmtCreate" column="gmt_create"/>
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<select id="listCrossPhase" resultMap="BaseResultMap">
select
id
,phase_no
,name
,sort
,cross_id
,plan_id
,ring_no
,group_no
,control_mode
,phase_time
,green_time
,green_flash_time
,ped_flash_time
,yellow_time
,red_time
,min_green_time
,max_green_time
from
t_base_cross_phase
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="schemeId != null and schemeId != ''">
and plan_id = #{schemeId}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.CrossPlanMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossPlanPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="planNo" column="plan_no"/>
<result property="name" column="name"/>
<result property="crossId" column="cross_id"/>
</resultMap>
<!-- 查询计划基础信息列表 -->
<select id="listCrossPlanInfo" parameterType="String" resultMap="BaseResultMap">
select
id
,plan_no
,name
,cross_id
from
t_base_cross_plan
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.CrossSchedulesMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossSchedulesPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="crossId" column="cross_id"/>
<result property="status" column="status"/>
</resultMap>
<resultMap type="net.wanji.opt.po.base.CrossSchedulesPlanPO" id="CrossSchedulesPlanPO">
<result property="schedulesId" column="schedulesId"/>
<result property="schedulesName" column="schedulesName"/>
<result property="status" column="status"/>
<result property="planId" column="plan_id"/>
<result property="planNo" column="plan_no"/>
<result property="crossId" column="cross_id"/>
<result property="week" column="week"/>
<result property="specialDate" column="special_date"/>
</resultMap>
<!-- 查询调度基础信息列表 -->
<select id="listCrossSchedulesInfo" parameterType="String" resultMap="BaseResultMap">
select
id
,plan_no
,name
,cross_id
from
t_base_cross_plan
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
</select>
<!-- 查询调度计划信息列表 -->
<select id="listSchedulesPlan" parameterType="String" resultMap="CrossSchedulesPlanPO">
SELECT
s.id schedulesId
,s.`name` schedulesName
,s.`status`
,s.cross_id
,p.id plan_id
,p.plan_no
,sp.`week`
,sp.special_date
FROM
t_base_cross_schedules s
,t_base_cross_schedules_plan sp
,t_base_cross_plan p
WHERE
s.id = sp.schedules_id
AND p.id = sp.plan_id
<if test="crossId != null and crossId != ''">
and s.cross_id = #{crossId}
</if>
<if test="status != null and status != ''">
and s.status = #{status}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.CrossSectionMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossSectionPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="sectionNo" column="section_no"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="crossId" column="cross_id"/>
<result property="planId" column="plan_id"/>
<result property="schemeId" column="scheme_id"/>
<result property="controlMode" column="control_mode"/>
</resultMap>
<!-- 查询时段基础信息列表 -->
<select id="listCrossSectionInfo" parameterType="String" resultMap="BaseResultMap">
select
id
,section_no
,start_time
,end_time
,cross_id
,plan_id
,scheme_id
,control_mode
from
t_base_cross_section
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="planId != null and planId != ''">
and plan_id = #{planId}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.LaneLightsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="net.wanji.opt.po.base.LaneLightsPO">
<result property="laneId" column="lane_id"/>
<result property="crossId" column="cross_id"/>
<result property="lightsId" column="lights_id"/>
</resultMap>
<!-- 查询灯组车道列表信息 -->
<select id="listLightLane" parameterType="String" resultMap="BaseResultMap">
select
id
,lights_id
,lane_id
,cross_id
from
t_base_cross_lane_lights
where 1=1
<if test="crossId != null and crossId != '' ">
and cross_id = #{crossId}
</if>
<if test="lightsId != null and lightsId != '' ">
and lights_id = #{lightsId}
</if>
</select>
</mapper>
......@@ -75,18 +75,18 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
private void schemeSendDataInsert(SchemeSendVO schemeSendVO) {
// 入库操作
List<CrossSchemePO> crossSchemePOList = new ArrayList<>();
List<BaseCrossSchemePO> baseCrossSchemePOList = new ArrayList<>();
schemeSendVO.getPatternList().forEach(pattern -> {
CrossSchemePO crossSchemePO = new CrossSchemePO();
crossSchemePO.setSchemeNo(pattern.getPatternNo());
crossSchemePO.setName(pattern.getPatternName());
crossSchemePO.setCrossId(schemeSendVO.getCrossCode());
crossSchemePO.setCycle(Integer.parseInt(pattern.getCycle()));
crossSchemePO.setCoordPhase(Integer.parseInt(pattern.getCoordPhase()));
crossSchemePO.setOffset(Integer.parseInt(pattern.getOffset()));
crossSchemePO.setSource(2);
crossSchemePO.setIsDeleted(0);
crossSchemePOList.add(crossSchemePO);
BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO();
baseCrossSchemePO.setSchemeNo(pattern.getPatternNo());
baseCrossSchemePO.setName(pattern.getPatternName());
baseCrossSchemePO.setCrossId(schemeSendVO.getCrossCode());
baseCrossSchemePO.setCycle(Integer.parseInt(pattern.getCycle()));
baseCrossSchemePO.setCoordPhase(Integer.parseInt(pattern.getCoordPhase()));
baseCrossSchemePO.setOffset(Integer.parseInt(pattern.getOffset()));
baseCrossSchemePO.setSource(2);
baseCrossSchemePO.setIsDeleted(0);
baseCrossSchemePOList.add(baseCrossSchemePO);
pattern.getRings().forEach(ring -> {
List<CrossPhasePO> crossPhasePOList = new ArrayList<>();
......@@ -115,7 +115,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
});
// 入库信号方案表
crossSchemeMapper.insertBatch(crossSchemePOList);
crossSchemeMapper.insertBatch(baseCrossSchemePOList);
}
@Override
......@@ -149,7 +149,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
crossSectionPO.setCrossId(planSendVO.getCrossCode());
crossSectionPO.setPlanId(Integer.parseInt(plan.getPlanNo()));
crossSectionPO.setControlMode(Integer.parseInt(section.getControlMode()));
crossSectionPO.setScemeId(Integer.parseInt(section.getPatternNo()));
crossSectionPO.setSchemeId(Integer.parseInt(section.getPatternNo()));
crossSectionPOList.add(crossSectionPO);
});
// 入库路口时段表
......
......@@ -7,10 +7,10 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.databus.dao.mapper.BaseCrossLightsMapper;
import net.wanji.databus.dao.entity.CrossLightsPO;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.ManufacturerInfoPO;
import net.wanji.databus.vo.BaseCrossInfo;
......@@ -36,7 +36,7 @@ import java.util.*;
@RequiredArgsConstructor
public class HkLightsStatusServiceImpl implements HkLightsStatusService {
private final ArtemisConfig artemisConfig;
private final BaseCrossLightsMapper baseCrossLightsMapper;
private final CrossLightsMapper crossLightsMapper;
private final CrossInfoMapper crossInfoMapper;
private final ManufacturerInfoMapper manufacturerInfoMapper;
......@@ -93,7 +93,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
List<LightsStatusVO> result = new ArrayList<>();
CrossInfoPO crossInfoPO = crossInfoMapper.selectByPrimaryKey(crossId);
List<BaseCrossLightsPO> CrossLightsPOList = baseCrossLightsMapper.selectByCrossId(crossId);
List<CrossLightsPO> CrossLightsPOList = crossLightsMapper.selectByCrossId(crossId);
if (Objects.nonNull(crossInfoPO)) {
String signalCode = crossInfoPO.getCode();
......@@ -158,7 +158,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
Integer channelNo = channelStatePO.getChannelNo();
Integer state = channelStatePO.getState();
String color = transferHKLampGroup(state);
for (BaseCrossLightsPO po : CrossLightsPOList) {
for (CrossLightsPO po : CrossLightsPOList) {
if (StringUtils.equals(po.getLightsNo(), String.valueOf(channelNo))) {
String direction = po.getDir().toString();
String turn = po.getTurn().toString();
......@@ -241,7 +241,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
String crossId = crossInfoMapper.selectIdByCodeAndManufacturerId(entity.getCode(),
manufacturerInfoPO.getId());
List<BaseCrossLightsPO> CrossLightsPOList = baseCrossLightsMapper.selectByCrossId(crossId);
List<CrossLightsPO> crossLightsPOS = crossLightsMapper.selectByCrossId(crossId);
if (Constants.HK_SUCCESS_CODE.equals(object.getInteger(Constants.HK_CODE_KEY))) {
JSONObject data = object.getJSONObject("data");
......@@ -297,7 +297,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
JSONObject channelObj = channelState.getJSONObject(k);
int channelNo = channelObj.getIntValue("channelNo");
String color = transferHKLampGroup(channelObj.getIntValue("state"));
for (BaseCrossLightsPO po : CrossLightsPOList) {
for (CrossLightsPO po : crossLightsPOS) {
if (StringUtils.equals(po.getLightsNo(), String.valueOf(channelNo))) {
String direction = po.getDir().toString();
String turn = po.getTurn().toString();
......
......@@ -6,7 +6,7 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.RequiredArgsConstructor;
import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.CrossSectionPO;
import net.wanji.databus.dao.mapper.CrossPlanMapper;
import net.wanji.databus.dao.mapper.CrossSchemeMapper;
......@@ -109,10 +109,10 @@ public class HkPlanSectionServiceImpl implements HkPlanSectionService {
crossSectionPO.setControlMode(controlType);
// 获取方案ID
Integer schemeNo = sectionPO.getPatternNo();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo);
if (Objects.nonNull(crossSchemePO)) {
Integer schemePOId = crossSchemePO.getId();
crossSectionPO.setScemeId(schemePOId);
BaseCrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo);
if (Objects.nonNull(baseCrossSchemePO)) {
Integer schemePOId = baseCrossSchemePO.getId();
crossSectionPO.setSchemeId(schemePOId);
// 写入数据库
crossSectionMapper.deleteOne(crossId, sectionPO.getTimeSecNo(), planId);
crossSectionMapper.insertOne(crossSectionPO);
......
......@@ -9,7 +9,7 @@ import lombok.RequiredArgsConstructor;
import net.wanji.databus.dao.entity.CrossLightsPO;
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.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseMapper;
......@@ -204,18 +204,18 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
Integer coordPhase = scheme.getInteger("coordPhase");
Integer offset = scheme.getInteger("offset");
// 构造数据库记录
CrossSchemePO crossSchemePO = new CrossSchemePO();
crossSchemePO.setSchemeNo(patternNo.toString());
crossSchemePO.setName(patternName);
crossSchemePO.setCrossId(crossId);
crossSchemePO.setCycle(cycle);
crossSchemePO.setCoordPhase(coordPhase);
crossSchemePO.setOffset(offset);
crossSchemePO.setSource(2);
crossSchemePO.setIsDeleted(0);
BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO();
baseCrossSchemePO.setSchemeNo(patternNo.toString());
baseCrossSchemePO.setName(patternName);
baseCrossSchemePO.setCrossId(crossId);
baseCrossSchemePO.setCycle(cycle);
baseCrossSchemePO.setCoordPhase(coordPhase);
baseCrossSchemePO.setOffset(offset);
baseCrossSchemePO.setSource(2);
baseCrossSchemePO.setIsDeleted(0);
// 插入方案数据返回自增ID
crossSchemeMapper.insertOne(crossSchemePO);
Integer schemePOId = crossSchemePO.getId();
crossSchemeMapper.insertOne(baseCrossSchemePO);
Integer schemePOId = baseCrossSchemePO.getId();
// 生成相位数据
JSONArray phases = scheme.getJSONArray("phaseInfos");
for (int j = 0; j < phases.size(); j++) {
......
......@@ -142,14 +142,14 @@ public class StaticInfoServiceImpl implements StaticInfoService {
@Override
public net.wanji.databus.vo.SchemePhaseLightsVO buildSchemePhaseLightsResponse(SchemePhaseLightsDTO schemePhaseLightsDTO) {
String crossId = schemePhaseLightsDTO.getCrossId();
List<CrossSchemePO> crossSchemePOList = crossSchemeMapper.selectByCrossId(crossId);
List<BaseCrossSchemePO> baseCrossSchemePOList = crossSchemeMapper.selectByCrossId(crossId);
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByCrossId(crossId);
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossId(crossId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByCrossId(crossId);
net.wanji.databus.vo.SchemePhaseLightsVO schemePhaseLightsVO = new net.wanji.databus.vo.SchemePhaseLightsVO();
schemePhaseLightsVO.setCrossSchemeList(crossSchemePOList);
schemePhaseLightsVO.setCrossSchemeList(baseCrossSchemePOList);
schemePhaseLightsVO.setCrossPhaseList(crossPhasePOList);
schemePhaseLightsVO.setCrossLightsList(crossLightsPOList);
schemePhaseLightsVO.setCrossPhaseLightsPOList(crossPhaseLightsPOList);
......
......@@ -47,7 +47,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
JsonViewObject jsonViewObject = rpcService(httpRestUtil, rpcUri, null, JSONObject.toJSONString(commonParamMap));
SchemePhaseLightsVO content = (SchemePhaseLightsVO) jsonViewObject.getContent();
if (Objects.nonNull(content)) {
List<CrossSchemePO> crossSchemeList = content.getCrossSchemeList();
List<BaseCrossSchemePO> crossSchemeList = content.getCrossSchemeList();
crossSchemeList.forEach(crossSchemePO -> {
crossSchemeMapper.deleteOne(crossId, crossSchemePO.getSchemeNo());
crossSchemeMapper.insertOne(crossSchemePO);
......
package net.wanji.opt.po.base;
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -11,7 +11,7 @@ import java.util.Date;
* @desc 路口方向基础信息
*/
@Data
public class CrossDirInfoPO {
public class BaseCrossDirInfoPO {
/** 路口方向ID(路口ID_方向_进出口_主辅路序号) */
@ApiModelProperty(name = "路口方向ID(路口ID_方向_进出口_主辅路序号)",notes = "")
......
package net.wanji.web.po.scheme;
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -12,7 +12,7 @@ import java.util.Date;
* @date 2022/12/28 17:45
*/
@Data
public class CrossSchedulesPO {
public class BaseCrossSchedulesPO {
/** 调度ID */
@ApiModelProperty(name = "调度ID",notes = "")
private Integer id ;
......
package net.wanji.opt.po.base;
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -9,7 +9,7 @@ import lombok.Data;
* @desc 路口调度计划信息
*/
@Data
public class CrossSchedulesPlanPO {
public class BaseCrossSchedulesPlanPO {
@ApiModelProperty(name = "调度ID",notes = "")
private Integer schedulesId;
......
......@@ -10,7 +10,7 @@ import java.util.Date;
* @date 2023/1/3 9:40
*/
@Data
public class CrossSchemePO {
public class BaseCrossSchemePO {
/** 方案ID */
@ApiModelProperty(name = "方案ID",notes = "")
private Integer id ;
......
......@@ -34,7 +34,7 @@ public class CrossSectionPO {
private Integer controlMode ;
/** 方案ID */
@ApiModelProperty(value = "方案ID",notes = "")
private Integer scemeId;
private Integer schemeId;
/** 创建时间 */
@ApiModelProperty(value = "创建时间",notes = "")
private Date gmtCreate ;
......
package net.wanji.opt.dao.mapper;
package net.wanji.databus.dao.mapper;
import net.wanji.opt.po.base.CrossDirInfoPO;
import net.wanji.databus.dao.entity.BaseCrossDirInfoPO;
import org.springframework.stereotype.Repository;
import java.util.List;
......@@ -11,11 +11,11 @@ import java.util.List;
* @desc CrossInfoMapper
*/
@Repository
public interface CrossDirInfoMapper {
public interface BaseCrossDirInfoMapper {
List<Integer> selectInDirsByCrossId(String endCrossId);
CrossDirInfoPO selectByCrossIdAndDirType(String crossId, Integer key);
BaseCrossDirInfoPO selectByCrossIdAndDirType(String crossId, Integer key);
List<CrossDirInfoPO> selectByCrossId(String crossId);
List<BaseCrossDirInfoPO> selectByCrossId(String crossId);
}
......@@ -11,7 +11,14 @@ import java.util.List;
* @date 2022/12/20 10:32
*/
@Repository
public interface CrossLaneLightsMapper {
public interface BaseCrossLaneLightsMapper {
/**
* 查询灯组车道列表信息
* @return
*/
List<CrossLaneLightsPO> listLightLane();
void deleteByLaneIds(@Param("laneIds") List<String> laneIds);
void deleteByCrossId(@Param("crossId") String crossId);
......@@ -27,4 +34,6 @@ public interface CrossLaneLightsMapper {
@Param("lightId") Integer lightId);
List<CrossLaneLightsPO> selectByLightsId(@Param("lightsId") Integer lightsId);
}
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.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 BaseCrossPhaseLightsMapper {
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.mapper.scheme;
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossPhasePO;
import org.apache.ibatis.annotations.Param;
......
package net.wanji.web.mapper.scheme;
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.databus.dto.RunningPlanDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......
package net.wanji.web.mapper.scheme;
package net.wanji.databus.dao.mapper;
import net.wanji.web.po.scheme.CrossSchedulesPO;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPO;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPlanPO;
import net.wanji.databus.dao.entity.CrossSchedulesPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -15,18 +17,33 @@ import java.util.List;
@Repository
public interface BaseCrossSchedulesMapper {
/**
* 查询调度基础信息列表
* @param crossId
* @return
*/
List<CrossSchedulesPO> listCrossSchedulesInfo(String crossId);
/**
* 查询调度计划信息列表
* @param crossId
* @param status
* @return
*/
List<BaseCrossSchedulesPlanPO> listSchedulesPlan(@Param("crossId") String crossId, @Param("status") Integer status);
void deleteByCrossId(@Param("crossId") String crossId);
void insertOne(CrossSchedulesPO crossSchedulesPO);
void insertOne(BaseCrossSchedulesPO crossSchedulesPO);
List<CrossSchedulesPO> selectByCrossId(@Param("crossId") String crossId);
List<BaseCrossSchedulesPO> selectByCrossId(@Param("crossId") String crossId);
CrossSchedulesPO selectByCrossIdAndScheduleNo(@Param("crossId") String crossId,
BaseCrossSchedulesPO selectByCrossIdAndScheduleNo(@Param("crossId") String crossId,
@Param("scheduleNo") String scheduleNo);
void resetStatus(String crossId);
void updateStatus(Integer scheduleId);
CrossSchedulesPO selectById(Integer scheduleId);
BaseCrossSchedulesPO selectById(Integer scheduleId);
}
package net.wanji.web.mapper.scheme;
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -15,9 +15,12 @@ import java.util.Set;
@Repository
public interface BaseCrossSchemeMapper {
List<BaseCrossSchemePO> listCrossSchemeInfo(@Param("crossId") String crossId,
@Param("schemeNo") String schemeNo,
@Param("id") Integer id);
void deleteByCrossId(@Param("crossId") String crossId);
void insertBatch(@Param("entities") List<CrossSchemePO> entities);
void insertBatch(@Param("entities") List<BaseCrossSchemePO> entities);
Integer selectIdByCrossIdAndSchemeNo(@Param("crossId") String crossId, @Param("schemeNo") String schemeNo);
......@@ -25,19 +28,19 @@ public interface BaseCrossSchemeMapper {
@Param("schemeNo") String schemeNo,
@Param("phaseId") Integer phaseId);
List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
List<BaseCrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
Integer selectIdByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
CrossSchemePO selectByCrossIdAndSchemeName(@Param("crossId") String crossId,
BaseCrossSchemePO selectByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
CrossSchemePO selectById(@Param("id") Integer id);
BaseCrossSchemePO selectById(@Param("id") Integer id);
void insertOne(CrossSchemePO crossSchemePO);
void insertOne(BaseCrossSchemePO baseCrossSchemePO);
void update(CrossSchemePO crossSchemePO);
void update(BaseCrossSchemePO baseCrossSchemePO);
Set<Integer> selectIdsByCrossId(String crossId);
......@@ -46,4 +49,7 @@ public interface BaseCrossSchemeMapper {
void resetStatus(String crossId);
void updateStatus(Integer schemeId);
BaseCrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
@Param("schemeNo") Integer schemeNo);
}
package net.wanji.web.mapper.scheme;
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossSectionPO;
import org.apache.ibatis.annotations.Param;
......
......@@ -6,13 +6,13 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author duanruiming
* @date 2023/05/09 9:10
* @author Kent HAN
* @date 2022/11/15 14:57
*/
public interface CrossInfoMapper {
CrossInfoPO selectByPrimaryKey(@Param("key") String key);
void insertBatch(@Param("entities") List<CrossInfoPO> CrossInfoPOList);
void insertBatch(@Param("entities") List<CrossInfoPO> crossInfoPOList);
List<String> selectCrossCodesByIds(@Param("entities") List<String> crossIdList);
......@@ -24,13 +24,13 @@ public interface CrossInfoMapper {
List<CrossInfoPO> selectByOptionals(@Param("crossName") String crossName,
@Param("manufacturerId") Integer manufacturerId);
void insertOne(CrossInfoPO CrossInfoPO);
void insertOne(CrossInfoPO crossInfoPO);
void updateOne(CrossInfoPO CrossInfoPO);
void updateOne(CrossInfoPO crossInfoPO);
void deleteBatch(@Param("ids") List<String> ids);
void updateOneByCodeAndManufacturerId(CrossInfoPO CrossInfoPO);
void updateOneByCodeAndManufacturerId(CrossInfoPO crossInfoPO);
void deleteById(String id);
......
......@@ -19,10 +19,4 @@ public interface CrossPhaseLightsMapper {
void insertBatch(@Param("entities") List<CrossPhaseLightsPO> crossPhaseLightsPOList);
List<CrossPhaseLightsPO> selectByCrossId(String crossId);
List<CrossPhaseLightsPO> selectByEntity(@Param("entity") CrossPhaseLightsPO entity);
void updateLightsId(@Param("oldId") Integer oldId, @Param("newId") Integer newId);
}
package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -10,16 +10,16 @@ import java.util.List;
* @date 2022/11/16 17:28
*/
public interface CrossSchemeMapper {
void insertBatch(@Param("entities") List<CrossSchemePO> crossSchemePOList);
void insertBatch(@Param("entities") List<BaseCrossSchemePO> baseCrossSchemePOList);
void insertOne(CrossSchemePO crossSchemePO);
void insertOne(BaseCrossSchemePO baseCrossSchemePO);
void deleteOne(@Param("crossId") String crossId, @Param("patternNo") String patternNo);
CrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
BaseCrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
@Param("schemeNo") Integer schemeNo);
List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
List<BaseCrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
void deleteByCrossId(String crossId);
}
package net.wanji.web.dto;
package net.wanji.databus.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
......@@ -4,7 +4,7 @@ import lombok.Data;
import net.wanji.databus.dao.entity.CrossLightsPO;
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.entity.BaseCrossSchemePO;
import java.util.List;
......@@ -14,7 +14,7 @@ import java.util.List;
*/
@Data
public class SchemePhaseLightsVO {
private List<CrossSchemePO> crossSchemeList;
private List<BaseCrossSchemePO> crossSchemeList;
private List<CrossPhasePO> crossPhaseList;
private List<CrossLightsPO> crossLightsList;
private List<CrossPhaseLightsPO> crossPhaseLightsPOList;
......
<?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.opt.dao.mapper.CrossDirInfoMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossDirInfoMapper">
<select id="selectInDirsByCrossId" resultType="java.lang.Integer">
SELECT dir_type
......@@ -8,14 +8,14 @@
WHERE cross_id = #{crossId} and in_out_type = 1
</select>
<select id="selectByCrossIdAndDirType" resultType="net.wanji.opt.po.base.CrossDirInfoPO">
<select id="selectByCrossIdAndDirType" resultType="net.wanji.databus.dao.entity.BaseCrossDirInfoPO">
select
id,dir_type,in_out_type,cross_id,length,is_pedestrian,gmt_create,gmt_modified
from t_base_cross_dir_info
where cross_id = #{crossId} and dir_type = #{key} and in_out_type = 1
</select>
<select id="selectByCrossId" resultType="net.wanji.opt.po.base.CrossDirInfoPO">
<select id="selectByCrossId" resultType="net.wanji.databus.dao.entity.BaseCrossDirInfoPO">
select
id,dir_type,in_out_type,cross_id,length,is_pedestrian,gmt_create,gmt_modified
from t_base_cross_dir_info
......
<?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.databus.dao.mapper.CrossLaneLightsMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossLaneLightsMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.databus.po.CrossLaneLightsPO" id="BaseResultMap">
......@@ -12,6 +12,24 @@
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<!-- 查询灯组车道列表信息 -->
<select id="listLightLane" parameterType="String" resultMap="BaseResultMap">
select
id
,lights_id
,lane_id
,cross_id
from
t_base_cross_lane_lights
where 1=1
<if test="crossId != null and crossId != '' ">
and cross_id = #{crossId}
</if>
<if test="lightsId != null and lightsId != '' ">
and lights_id = #{lightsId}
</if>
</select>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_lane_lights(lights_id,lane_id,cross_id)
values
......
<?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.BaseCrossPhaseMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossPhaseMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.databus.dao.entity.CrossPhasePO" 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.BaseCrossPlanMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossPlanMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.databus.dao.entity.CrossPlanPO" id="BaseResultMap">
......@@ -31,10 +31,10 @@
</select>
<!-- 查询dailyPlanList -->
<resultMap id="dailyPlanList" type="net.wanji.web.dto.RunningPlanDTO$DailyPlanListElement">
<resultMap id="dailyPlanList" type="net.wanji.databus.dto.RunningPlanDTO$DailyPlanListElement">
<id column="planNo" property="planNo"/>
<result column="name" property="name"/>
<collection property="timeList" ofType="net.wanji.web.dto.RunningPlanDTO$TimeListElement">
<collection property="timeList" ofType="net.wanji.databus.dto.RunningPlanDTO$TimeListElement">
<result column="startTime" property="startTime"/>
<result column="endTime" property="endTime"/>
<result column="schemeName" property="schemeName"/>
......
<?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.BaseCrossSchedulesMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossSchedulesMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.scheme.CrossSchedulesPO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.BaseCrossSchedulesPO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="scheduleNo" column="schedule_no"/>
<result property="name" column="name"/>
......@@ -42,19 +42,71 @@
where cross_id = #{crossId}
</select>
<select id="selectByCrossIdAndScheduleNo" resultType="net.wanji.web.po.scheme.CrossSchedulesPO">
<select id="selectByCrossIdAndScheduleNo" resultType="net.wanji.databus.dao.entity.BaseCrossSchedulesPO">
select
id,schedule_no,name,status,cross_id,gmt_create,gmt_modified
from t_base_cross_schedules
where cross_id = #{crossId} and schedule_no = #{scheduleNo}
</select>
<select id="selectById" resultType="net.wanji.web.po.scheme.CrossSchedulesPO">
<select id="selectById" resultType="net.wanji.databus.dao.entity.BaseCrossSchedulesPO">
select
id,schedule_no,name,status,cross_id,gmt_create,gmt_modified
from t_base_cross_schedules
where id = #{scheduleId}
</select>
<!-- 查询调度基础信息列表 -->
<select id="listCrossSchedulesInfo" parameterType="String" resultMap="BaseResultMap">
select
id
,plan_no
,name
,cross_id
from
t_base_cross_plan
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
</select>
<resultMap type="net.wanji.databus.dao.entity.BaseCrossSchedulesPlanPO" id="CrossSchedulesPlanPO">
<result property="schedulesId" column="schedulesId"/>
<result property="schedulesName" column="schedulesName"/>
<result property="status" column="status"/>
<result property="planId" column="plan_id"/>
<result property="planNo" column="plan_no"/>
<result property="crossId" column="cross_id"/>
<result property="week" column="week"/>
<result property="specialDate" column="special_date"/>
</resultMap>
<!-- 查询调度计划信息列表 -->
<select id="listSchedulesPlan" parameterType="String" resultMap="CrossSchedulesPlanPO">
SELECT
s.id schedulesId
,s.`name` schedulesName
,s.`status`
,s.cross_id
,p.id plan_id
,p.plan_no
,sp.`week`
,sp.special_date
FROM
t_base_cross_schedules s
,t_base_cross_schedules_plan sp
,t_base_cross_plan p
WHERE
s.id = sp.schedules_id
AND p.id = sp.plan_id
<if test="crossId != null and crossId != ''">
and s.cross_id = #{crossId}
</if>
<if test="status != null and status != ''">
and s.status = #{status}
</if>
</select>
</mapper>
<?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.opt.dao.mapper.CrossSchemeMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossSchemeMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.opt.po.base.CrossSchemePO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.BaseCrossSchemePO" id="BaseResultMap">
<result property="id" column="id" />
<result property="schemeNo" column="scheme_no"/>
<result property="name" column="name"/>
......@@ -18,6 +18,30 @@
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<!-- 查询方案基础信息列表 -->
<select id="listCrossSchemeInfo" parameterType="String" resultMap="BaseResultMap">
select
id,
scheme_no,
name,
cross_id,
cycle,
coord_phase,
offset
from
t_base_cross_scheme
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="schemeNo != null and schemeNo != ''">
and scheme_no = #{schemeNo}
</if>
<if test="id != null and id != ''">
and id = #{id}
</if>
</select>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_scheme(scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status)
values
......@@ -87,29 +111,6 @@
select id from t_base_cross_scheme
where cross_id = #{crossId} and scheme_no = #{schemeNo}
</select>
<!-- 查询方案基础信息列表 -->
<select id="listCrossSchemeInfo" parameterType="String" resultMap="BaseResultMap">
select
id,
scheme_no,
name,
cross_id,
cycle,
coord_phase,
offset
from
t_base_cross_scheme
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="schemeNo != null and schemeNo != ''">
and scheme_no = #{schemeNo}
</if>
<if test="id != null and id != ''">
and id = #{id}
</if>
</select>
<select id="selectByCrossId" resultMap="BaseResultMap">
select
......@@ -130,7 +131,7 @@
where cross_id = #{crossId} and name = #{schemeName}
</select>
<select id="selectById" resultType="net.wanji.opt.po.base.CrossSchemePO">
<select id="selectById" resultType="net.wanji.databus.dao.entity.BaseCrossSchemePO">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
......@@ -142,13 +143,6 @@
WHERE cross_id = #{crossId}
</select>
<select id="selectByCrossIdAndSchemeNo" resultType="net.wanji.opt.po.base.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
where cross_id = #{crossId} and scheme_no = #{schemeNo}
</select>
<delete id="deleteByIds">
DELETE FROM t_base_cross_scheme
WHERE id IN
......@@ -157,5 +151,11 @@
</foreach>
</delete>
<select id="selectByCrossIdAndSchemeNo" resultType="net.wanji.databus.dao.entity.BaseCrossSchemePO">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
where cross_id = #{crossId} and scheme_no = #{schemeNo}
</select>
</mapper>
<?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.BaseCrossSectionMapper">
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossSectionMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.databus.dao.entity.CrossSectionPO" id="BaseResultMap">
......
......@@ -26,9 +26,8 @@
</insert>
<insert id="insertOne">
insert into t_cross_info(id, name, code, manufacturer_id, ip, port, location, version, model, install_time)
values (#{id}, #{name}, #{code}, #{manufacturerId}, #{ip}, #{port}, #{location}, #{version}, #{model},
#{installTime})
insert into t_cross_info(id, name,code,manufacturer_id,ip,port,location,version,model,install_time)
values (#{id},#{name},#{code},#{manufacturerId},#{ip},#{port},#{location},#{version},#{model},#{installTime})
</insert>
<update id="updateOne">
......@@ -108,24 +107,13 @@
</delete>
<delete id="deleteById">
delete
from t_cross_info
delete from t_cross_info
where id = #{id}
</delete>
<select id="selectByPrimaryKey" resultMap="BaseResultMap">
select id,
name,
code,
manufacturer_id,
ip,
port,
location,
version,
model,
install_time,
gmt_create,
gmt_modified
select
id,name,code,manufacturer_id,ip,port,location,version,model,install_time,gmt_create,gmt_modified
from t_cross_info
where id = #{key}
</select>
......@@ -142,57 +130,24 @@
<select id="selectIdByCodeAndManufacturerId" resultType="java.lang.String">
select id
from t_cross_info
where code = #{crossCode}
and manufacturer_id = #{manufacturerId}
where code = #{crossCode} and manufacturer_id = #{manufacturerId}
</select>
<select id="selectByCode" resultMap="BaseResultMap">
select id,
name,
code,
manufacturer_id,
ip,
port,
location,
version,
model,
install_time,
gmt_create,
gmt_modified
select
id,name,code,manufacturer_id,ip,port,location,version,model,install_time,gmt_create,gmt_modified
from t_cross_info
where code = #{code}
</select>
<select id="selectByManufacturerId" resultMap="BaseResultMap">
select id,
name,
code,
manufacturer_id,
ip,
port,
location,
version,
model,
install_time,
gmt_create,
gmt_modified
select id,name,code,manufacturer_id,ip,port,location,version,model,install_time,gmt_create,gmt_modified
from t_cross_info
where manufacturer_id = #{manufacturerId}
</select>
<select id="selectAll" resultMap="BaseResultMap">
select id,
name,
code,
manufacturer_id,
ip,
port,
location,
version,
model,
install_time,
gmt_create,
gmt_modified
select id,name,code,manufacturer_id,ip,port,location,version,model,install_time,gmt_create,gmt_modified
from t_cross_info
</select>
......
<?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.databus.dao.mapper.CrossPhaseMapper">
<mapper namespace="net.wanji.opt.dao.mapper.BaseCrossPhaseMapper">
<!-- 通用查询映射结果 -->
<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"/>
<result property="sort" column="sort"/>
<result property="crossId" column="cross_id"/>
<result property="planId" column="plan_id"/>
<result property="schemeId" column="plan_id"/>
<result property="ringNo" column="ring_no"/>
<result property="groupNo" column="group_no"/>
<!--<result property="type" column="type"/>-->
<result property="controlMode" column="control_mode"/>
<result property="phaseTime" column="phase_time"/>
<result property="greenTime" column="green_time"/>
......@@ -22,53 +25,33 @@
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_cross_phase(phase_no,name,sort,cross_id,plan_id,ring_no,control_mode,phase_time,green_time,green_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time)
values (#{phaseNo},#{name},#{sort},#{crossId},#{planId},#{ringNo},#{controlMode},#{phaseTime},#{greenTime},#{greenFlashTime},#{pedFlashTime},#{yellowTime},#{redTime},#{minGreenTime},#{maxGreenTime})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_cross_phase(phase_no,name,sort,cross_id,plan_id,ring_no,control_mode,phase_time,green_time,
green_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.phaseNo},#{entity.name},#{entity.sort},#{entity.crossId},#{entity.planId},#{entity.ringNo},
#{entity.controlMode},#{entity.phaseTime},#{entity.greenTime},#{entity.greenFlashTime},#{entity.pedFlashTime},
#{entity.yellowTime},#{entity.redTime},#{entity.minGreenTime},#{entity.maxGreenTime})
</foreach>
</insert>
<delete id="deleteBatch">
delete from t_cross_phase
where cross_id = #{crossId} and plan_id = #{schemeId}
</delete>
<delete id="deleteByCrossId">
delete from t_cross_phase
where cross_id = #{crossId}
</delete>
<sql id="baseColumn">
id,phase_no,name,sort,cross_id,plan_id,ring_no,control_mode,phase_time,green_time,
green_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time
</sql>
<select id="selectByCrossIdAndPlanId" resultMap="BaseResultMap">
<select id="listCrossPhase" resultMap="BaseResultMap">
select
<include refid="baseColumn"/>
from t_cross_phase where cross_id = #{crossId} and plan_id = #{planId}
id
,phase_no
,name
,sort
,cross_id
,plan_id
,ring_no
,group_no
,control_mode
,phase_time
,green_time
,green_flash_time
,ped_flash_time
,yellow_time
,red_time
,min_green_time
,max_green_time
from
t_base_cross_phase
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
<if test="schemeId != null and schemeId != ''">
and plan_id = #{schemeId}
</if>
</select>
<select id="selectIdsByPhaseNo" resultType="java.lang.Integer">
select id from t_cross_phase
where cross_id = #{crossId} and phase_no = #{phaseNo}
</select>
<select id="selectByCrossId" resultMap="BaseResultMap">
select
id,phase_no,name,sort,cross_id,plan_id,ring_no,control_mode,phase_time,green_time,green_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time,gmt_create,gmt_modified
from t_cross_phase
where cross_id = #{crossId}
</select>
</mapper>
<?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.databus.dao.mapper.CrossPlanMapper">
<mapper namespace="net.wanji.opt.dao.mapper.BaseCrossPlanMapper">
<!-- 通用查询映射结果 -->
<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"/>
<result property="crossId" column="cross_id"/>
<result property="gmtCreate" column="gmt_create"/>
<result property="gmtModified" column="gmt_modified"/>
</resultMap>
<!--新增数据-->
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_cross_plan(plan_no,name,cross_id)
values (#{planNo},#{name},#{crossId})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into t_cross_plan(plan_no,name,cross_id)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.planNo},#{entity.name},#{entity.crossId})
</foreach>
</insert>
<delete id="deleteOne">
delete from t_cross_plan
where cross_id = #{crossId} and plan_no = #{planNo}
</delete>
<select id="selectIdByNo" resultType="java.lang.Integer">
select id
from t_cross_plan
where cross_id = #{crossId} and plan_no = #{planNo}
</select>
<select id="selectByCrossId" resultMap="BaseResultMap">
<!-- 查询计划基础信息列表 -->
<select id="listCrossPlanInfo" parameterType="String" resultMap="BaseResultMap">
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_cross_plan
where cross_id = #{crossId}
id
,plan_no
,name
,cross_id
from
t_base_cross_plan
where 1=1
<if test="crossId != null and crossId != ''">
and cross_id = #{crossId}
</if>
</select>
<select id="selectByCrossIdAndPlanNo" resultMap="BaseResultMap">
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_cross_plan
where cross_id = #{crossId} and plan_no = #{planNo}
</select>
<select id="selectById" resultType="net.wanji.databus.dao.entity.CrossPlanPO">
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_cross_plan
where plan_no = #{planId}
</select>
</mapper>
<?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.databus.dao.mapper.CrossSchemeMapper">
<resultMap type="net.wanji.databus.dao.entity.CrossSchemePO" id="BaseResultMap">
<resultMap type="net.wanji.databus.dao.entity.BaseCrossSchemePO" id="BaseResultMap">
<result property="id" column="id"/>
<result property="schemeNo" column="scheme_no"/>
<result property="name" column="name"/>
......
......@@ -73,5 +73,4 @@
and plan_id = #{planId}
</select>
</mapper>
<?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.databus.dao.mapper.SignalStatusLogMapper">
<mapper namespace="net.wanji.utc.mapper.SignalStatusLogMapper">
<resultMap type="net.wanji.databus.po.SignalStatusLogPO" id="BaseResultMap">
<result property="id" column="id" />
<result property="signalId" column="signal_id"/>
......
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