Commit 057f81c9 authored by duanruiming's avatar duanruiming

[update] 同步计划和调度

parent 1275ee93
...@@ -92,11 +92,19 @@ public class PlanSendController { ...@@ -92,11 +92,19 @@ public class PlanSendController {
@AspectLog(description = "信号机方案同步", operationType = BaseEnum.OperationTypeEnum.UPDATE) @AspectLog(description = "信号机方案同步", operationType = BaseEnum.OperationTypeEnum.UPDATE)
@ApiOperation(value = "信号机方案同步", notes = "信号机方案同步") @ApiOperation(value = "信号机方案同步", notes = "信号机方案同步")
@PostMapping("/syncScheme") @PostMapping("/syncScheme")
public JsonViewObject syncScheme(@RequestBody CrossIdDTO crossIdDTO) { public JsonViewObject syncScheme(@RequestBody CrossIdDTO crossIdDTO) throws Exception{
JsonViewObject jsonViewObject = planSendService.syncScheme(crossIdDTO); JsonViewObject jsonViewObject = planSendService.syncScheme(crossIdDTO);
return jsonViewObject; return jsonViewObject;
} }
@AspectLog(description = "信号机调度日计划同步", operationType = BaseEnum.OperationTypeEnum.UPDATE)
@ApiOperation(value = "信号机调度日计划同步", notes = "信号机调度日计划同步")
@PostMapping("/syncSchedules")
public JsonViewObject syncSchedules(@RequestBody CrossIdDTO crossIdDTO) throws Exception{
// planSendService.syncSchedules(crossIdDTO.getCrossId());
return JsonViewObject.newInstance().success("");
}
@AspectLog(description = "根据当前时间返回相位列表", operationType = BaseEnum.OperationTypeEnum.UPDATE) @AspectLog(description = "根据当前时间返回相位列表", operationType = BaseEnum.OperationTypeEnum.UPDATE)
@ApiOperation(value = "根据当前时间返回相位列表", notes = "根据当前时间返回相位列表") @ApiOperation(value = "根据当前时间返回相位列表", notes = "根据当前时间返回相位列表")
@PostMapping("/phaseListByTime") @PostMapping("/phaseListByTime")
......
...@@ -26,7 +26,7 @@ public interface PlanSendService { ...@@ -26,7 +26,7 @@ public interface PlanSendService {
JsonViewObject restore(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO); JsonViewObject restore(CrossIdAndPhaseIdsDTO crossIdAndPhaseIdsDTO);
JsonViewObject syncScheme(CrossIdDTO crossIdDTO); JsonViewObject syncScheme(CrossIdDTO crossIdDTO) throws Exception;
PhaseListByTimeVO phaseListByTime(CrossIdAndTimeDTO crossIdAndTimeDTO); PhaseListByTimeVO phaseListByTime(CrossIdAndTimeDTO crossIdAndTimeDTO);
......
...@@ -2,6 +2,7 @@ package net.wanji.web.service.impl; ...@@ -2,6 +2,7 @@ package net.wanji.web.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -22,6 +23,7 @@ import net.wanji.web.service.PlanSendService; ...@@ -22,6 +23,7 @@ import net.wanji.web.service.PlanSendService;
import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl; import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl;
import net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl; import net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl;
import net.wanji.web.vo.PhaseListByTimeVO; import net.wanji.web.vo.PhaseListByTimeVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -176,7 +178,7 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -176,7 +178,7 @@ public class PlanSendServiceImpl implements PlanSendService {
List<BaseCrossSchedulesPlanPO> crossSchedulesPlanPOList = List<BaseCrossSchedulesPlanPO> crossSchedulesPlanPOList =
baseCrossSchedulesPlanMapper.selectByCrossIdAndSchedulesId(crossId, scheduleId); baseCrossSchedulesPlanMapper.selectByCrossIdAndSchedulesId(crossId, scheduleId);
Integer planId = crossSchedulesPlanPOList.get(0).getPlanId(); Integer planId = crossSchedulesPlanPOList.get(0).getPlanId();
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId); BaseCrossPlanPO baseCrossPlanPO = baseCrossPlanMapper.selectById(planId);
CrossSectionPO crossSectionPO = new CrossSectionPO(); CrossSectionPO crossSectionPO = new CrossSectionPO();
crossSectionPO.setCrossId(crossId); crossSectionPO.setCrossId(crossId);
...@@ -208,8 +210,8 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -208,8 +210,8 @@ public class PlanSendServiceImpl implements PlanSendService {
PlanSendVO planSendVO = new PlanSendVO(); PlanSendVO planSendVO = new PlanSendVO();
planSendVO.setCrossCode(crossId); planSendVO.setCrossCode(crossId);
PlanSendVO.Plan plan = new PlanSendVO.Plan(); PlanSendVO.Plan plan = new PlanSendVO.Plan();
plan.setPlanNo(crossPlanPO.getPlanNo()); plan.setPlanNo(baseCrossPlanPO.getPlanNo());
plan.setPlanDescribe(crossPlanPO.getName()); plan.setPlanDescribe(baseCrossPlanPO.getName());
plan.setSectionList(sectionList); plan.setSectionList(sectionList);
planSendVO.setPlanList(Arrays.asList(plan)); planSendVO.setPlanList(Arrays.asList(plan));
return planSendVO; return planSendVO;
...@@ -349,146 +351,185 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -349,146 +351,185 @@ public class PlanSendServiceImpl implements PlanSendService {
} }
@Override @Override
@Transactional // @Transactional
public JsonViewObject syncScheme(CrossIdDTO crossIdDTO) { public JsonViewObject syncScheme(CrossIdDTO crossIdDTO) throws Exception {
// CrossIdVO crossIdVO = new CrossIdVO();
String crossId = crossIdDTO.getCrossId(); String crossId = crossIdDTO.getCrossId();
// crossIdVO.setCrossId(crossId); CrossIdVO crossIdVO = new CrossIdVO();
// JsonViewObject jsonViewObject = utcFeignClients.schemePhaseLights(crossIdVO); crossIdVO.setCrossId(crossId);
// if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { JsonViewObject jsonViewObject = utcFeignClients.schemePhaseLights(crossIdVO);
// return jsonViewObject.fail("信号机静态信息获取-方案信息-UTC服务调用异常"); if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
// } return jsonViewObject.fail("信号机静态信息获取-方案信息-UTC服务调用异常");
// Object content = jsonViewObject.getContent(); }
// if (ObjectUtil.isNotNull(content)) { Object content = jsonViewObject.getContent();
// // 信息入库 if (ObjectUtil.isNotNull(content)) {
// String contentStr = gson.toJson(content); // 信息入库
// SchemePhaseLightsVO schemePhaseLightsVO = gson.fromJson(contentStr, SchemePhaseLightsVO.class); String contentStr = gson.toJson(content);
// if (ObjectUtil.isEmpty(schemePhaseLightsVO)) { SchemePhaseLightsVO schemePhaseLightsVO = gson.fromJson(contentStr, SchemePhaseLightsVO.class);
// return jsonViewObject.fail("信号机方案对象转换结果为空,未更新数据库"); if (ObjectUtil.isEmpty(schemePhaseLightsVO)) {
// } return jsonViewObject.fail("信号机方案对象转换结果为空,未更新数据库");
// List<BaseCrossSchemePO> crossSchemeList = schemePhaseLightsVO.getCrossSchemeList(); }
// baseCrossSchemeMapper.deleteByCrossId(crossId);
// // 保存旧方案ID List<CrossSchemePO> crossSchemeList = schemePhaseLightsVO.getCrossSchemeList();
// List<Integer> oldSchemeIds = crossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList()); List<BaseCrossSchemePO> baseCrossSchemeList = new ArrayList<>(crossSchemeList.size());
// // 保存新方案ID for (CrossSchemePO crossSchemePO : crossSchemeList) {
// baseCrossSchemeMapper.insertBatch(crossSchemeList); BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO();
// List<Integer> newSchemeIds = crossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList()); BeanUtils.copyProperties(crossSchemePO, baseCrossSchemePO);
// // 生成新旧方案ID映射 baseCrossSchemeList.add(baseCrossSchemePO);
// Map<Integer, Integer> oldNewSchemeId = new HashMap<>(); }
// for (int i = 0; i < oldSchemeIds.size(); i++) { baseCrossSchemeMapper.deleteByCrossId(crossId);
// oldNewSchemeId.put(oldSchemeIds.get(i), newSchemeIds.get(i));
// } // 保存旧方案ID
// List<Integer> oldSchemeIds = baseCrossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList());
// List<CrossPhasePO> crossPhaseList = schemePhaseLightsVO.getCrossPhaseList(); // 保存新方案ID
// baseCrossPhaseMapper.deleteByCrossId(crossId); baseCrossSchemeMapper.insertBatch(baseCrossSchemeList);
// // 更新方案ID
// for (CrossPhasePO crossPhasePO : crossPhaseList) { List<Integer> newSchemeIds = baseCrossSchemeList.stream().map(BaseCrossSchemePO::getId).collect(Collectors.toList());
// // 当前相位未关联方案,方案id为-1 // 生成新旧方案ID映射
// Integer planId = crossPhasePO.getPlanId(); Map<Integer, Integer> oldNewSchemeId = new HashMap<>();
// if (planId == -1) { for (int i = 0; i < oldSchemeIds.size(); i++) {
// crossPhasePO.setPlanId(-1); oldNewSchemeId.put(oldSchemeIds.get(i), newSchemeIds.get(i));
// } else { }
// crossPhasePO.setPlanId(oldNewSchemeId.get(planId));
// } List<CrossPhasePO> crossPhaseList = schemePhaseLightsVO.getCrossPhaseList();
// } baseCrossPhaseMapper.deleteByCrossId(crossId);
// baseCrossPhaseMapper.insertBatch(crossPhaseList); // 更新方案ID
// for (CrossPhasePO crossPhasePO : crossPhaseList) {
// List<BaseCrossLightsPO> crossLightsList = schemePhaseLightsVO.getCrossLightsList(); // 当前相位未关联方案,方案id为-1
// // 清理数据库 Integer planId = crossPhasePO.getPlanId();
// baseCrossLightsMapper.deleteByCrossId(crossId); if (planId == -1) {
// // 灯组号去重 crossPhasePO.setPlanId(-1);
// TreeSet<BaseCrossLightsPO> crossLightsSet = distinctLightsNo(crossLightsList); } else {
// // 修改灯组数据内容 crossPhasePO.setPlanId(oldNewSchemeId.get(planId));
// changeLightsType(crossLightsSet); }
// baseCrossLightsMapper.insertBatch(crossLightsSet); }
// baseCrossPhaseMapper.insertBatch(crossPhaseList);
// baseCrossPhaseLightsMapper.deleteByCrossId(crossId);
// baseCrossLaneLightsMapper.deleteByCrossId(crossId); List<CrossLightsPO> crossLightsList = schemePhaseLightsVO.getCrossLightsList();
// // 清理数据库
baseCrossLightsMapper.deleteByCrossId(crossId);
try { // 灯组号去重
syncSchedules(crossId); List<BaseCrossLightsPO> baseCrossLightsPOS = new ArrayList<>(crossLightsList.size());
} catch (Exception e) { for (CrossLightsPO crossLightsPO : crossLightsList) {
throw new RuntimeException(e); BaseCrossLightsPO baseCrossLightsPO = new BaseCrossLightsPO();
} BeanUtils.copyProperties(crossLightsPO, baseCrossLightsPO);
// } baseCrossLightsPOS.add(baseCrossLightsPO);
JsonViewObject jsonViewObject = JsonViewObject.newInstance(); }
TreeSet<BaseCrossLightsPO> crossLightsSet = distinctLightsNo(baseCrossLightsPOS);
// 修改灯组数据内容
changeLightsType(crossLightsSet);
baseCrossLightsMapper.insertBatch(crossLightsSet);
baseCrossPhaseLightsMapper.deleteByCrossId(crossId);
baseCrossLaneLightsMapper.deleteByCrossId(crossId);
syncSchedules(crossId, schemePhaseLightsVO);
}
return jsonViewObject.success(); return jsonViewObject.success();
} }
public void syncSchedules(String crossId) throws Exception { public void syncSchedules(String crossId, SchemePhaseLightsVO schemePhaseLightsVO) throws Exception {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
// 计划信息 // 计划信息
PlanSectionDTO planSectionDTO = new PlanSectionDTO(); PlanSectionDTO planSectionDTO = new PlanSectionDTO();
planSectionDTO.setCrossId(crossId); planSectionDTO.setCrossId(crossId);
planSectionDTO.setPlanNo(-1); planSectionDTO.setPlanNo(-1); // 查询所有计划
JsonViewObject jsonViewObject1 = utcFeignClients.planSection(planSectionDTO); JsonViewObject planJsonViewObject = utcFeignClients.planSection(planSectionDTO);
if (Objects.isNull(jsonViewObject1) || jsonViewObject1.getCode() != 200) { if (Objects.isNull(planJsonViewObject) || planJsonViewObject.getCode() != 200) {
throw new Exception("信号机静态信息获取-计划信息-UTC服务调用异常"); throw new Exception("信号机静态信息获取-计划信息-UTC服务调用异常");
} }
PlanSectionVO planSectionVO = mapper.convertValue(jsonViewObject1.getContent(), PlanSectionVO.class); PlanSectionVO planSectionVO = mapper.convertValue(planJsonViewObject.getContent(), PlanSectionVO.class);
List<CrossPlanPO> crossPlanPOList = null;
if (Objects.nonNull(planSectionVO)) { if (Objects.nonNull(planSectionVO)) {
List<CrossPlanPO> crossPlanPOList = planSectionVO.getCrossPlanPOList(); crossPlanPOList = planSectionVO.getCrossPlanPOList();
for (CrossPlanPO crossPlanPO : crossPlanPOList) { insertPlanInfo(crossId, crossPlanPOList);
baseCrossPlanMapper.insertOne(crossPlanPO);
}
List<CrossSectionPO> crossSectionPOList = planSectionVO.getCrossSectionPOList(); List<CrossSectionPO> crossSectionPOList = planSectionVO.getCrossSectionPOList();
for (CrossSectionPO crossSectionPO : crossSectionPOList) { insertSectionInfo(crossId, schemePhaseLightsVO.getCrossSchemeList() , crossPlanPOList, crossSectionPOList);
String planNo = null;
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
if (Objects.equals(crossPlanPO.getId(), crossSectionPO.getPlanId())) {
planNo = crossPlanPO.getPlanNo();
}
}
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectByCrossIdAndPlanNo(crossId, planNo);
crossSectionPO.setPlanId(null);
crossSectionPO.setSchemeId(null);
baseCrossSectionMapper.insertOne(crossSectionPO);
}
} }
// 调度信息 // 调度信息
CrossSchedulesDTO crossSchedulesDTO = new CrossSchedulesDTO(); CrossSchedulesDTO crossSchedulesDTO = new CrossSchedulesDTO();
crossSchedulesDTO.setCrossIdList(Arrays.asList(crossId)); crossSchedulesDTO.setCrossIdList(Arrays.asList(crossId));
crossSchedulesDTO.setManufacturerCode("DT"); crossSchedulesDTO.setManufacturerCode("DT"); // 不输入海康即可,通过路口编号判断
JsonViewObject jsonViewObject = utcFeignClients.crossSchedules(crossSchedulesDTO); JsonViewObject jsonViewObject = utcFeignClients.crossSchedules(crossSchedulesDTO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) { if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
throw new Exception("信号机静态信息获取-调度信息-UTC服务调用异常"); throw new Exception("信号机静态信息获取-调度信息-UTC服务调用异常");
} }
List<CrossSchedulesPO> crossSchedulesPOList = mapper.convertValue(jsonViewObject.getContent(), new TypeReference<List<CrossSchedulesPO>>() { List<CrossSchedulesPO> crossSchedulesPOList = mapper.convertValue(jsonViewObject.getContent(), new TypeReference<List<CrossSchedulesPO>>() {});
}); insertSchedulesInfo(crossId, crossSchedulesPOList, crossPlanPOList);
}
private void insertSchedulesInfo(String crossId, List<CrossSchedulesPO> crossSchedulesPOList, List<CrossPlanPO> crossPlanPOList) {
baseCrossSchedulesMapper.deleteByCrossId(crossId); baseCrossSchedulesMapper.deleteByCrossId(crossId);
baseCrossSchedulesPlanMapper.deleteByCrossId(crossId); baseCrossSchedulesPlanMapper.deleteByCrossId(crossId);
Integer tempScheduleNo = null; TreeSet<String> schedulesSet = new TreeSet<>();
HashMap<Integer, List<Integer>> weekMap = new HashMap<>(7);
HashMap<Integer, List<Date>> specialMap = new HashMap<>();
List<Integer> weekList = new ArrayList<>();
List<Date> scpecialList = new ArrayList<>();
for (CrossSchedulesPO crossSchedulesPO : crossSchedulesPOList) { for (CrossSchedulesPO crossSchedulesPO : crossSchedulesPOList) {
Integer scheduleNo = crossSchedulesPO.getScheduleNo(); String scheduleNo = String.valueOf(crossSchedulesPO.getScheduleNo());
BaseCrossSchedulesPO baseCrossSchedulesPO = new BaseCrossSchedulesPO(); BaseCrossSchedulesPO baseCrossSchedulesPO = new BaseCrossSchedulesPO();
weekList.add(crossSchedulesPO.getWeek());
scpecialList.add(crossSchedulesPO.getSpecialDate());
if (Objects.equals(tempScheduleNo, scheduleNo)) {
continue;
} else {
tempScheduleNo = scheduleNo;
baseCrossSchedulesPO.setScheduleNo(String.valueOf(scheduleNo)); baseCrossSchedulesPO.setScheduleNo(String.valueOf(scheduleNo));
baseCrossSchedulesPO.setCrossId(crossId); baseCrossSchedulesPO.setCrossId(crossId);
baseCrossSchedulesPO.setStatus(0); baseCrossSchedulesPO.setStatus(0);
baseCrossSchedulesPO.setName(crossSchedulesPO.getName()); baseCrossSchedulesPO.setName(crossSchedulesPO.getName());
} if (!schedulesSet.contains(scheduleNo)) {
baseCrossSchedulesMapper.insertOne(baseCrossSchedulesPO); baseCrossSchedulesMapper.insertOne(baseCrossSchedulesPO);
weekMap.put(scheduleNo, weekList);
specialMap.put(scheduleNo, scpecialList);
} }
List<BaseCrossSchedulesPO> baseCrossSchedulesPOS = baseCrossSchedulesMapper.selectByCrossId(crossId); schedulesSet.add(scheduleNo);
List<CrossPlanPO> crossPlanPOS = baseCrossPlanMapper.selectByCrossId(crossId);
Integer planId = null;
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
if (Objects.equals(crossPlanPO.getId(), crossSchedulesPO.getPlanId())) {
String planNo = crossPlanPO.getPlanNo();
BaseCrossPlanPO baseCrossPlanPO = baseCrossPlanMapper.selectByCrossIdAndPlanNo(crossId, planNo);
planId = baseCrossPlanPO.getId();
}
}
BaseCrossSchedulesPO baseCrossSchedulesPO14DB = baseCrossSchedulesMapper.selectByCrossIdAndScheduleNo(crossId, scheduleNo);
BaseCrossSchedulesPlanPO baseCrossSchedulesPlanPO = new BaseCrossSchedulesPlanPO();
baseCrossSchedulesPlanPO.setCrossId(crossId);
baseCrossSchedulesPlanPO.setSchedulesId(baseCrossSchedulesPO14DB.getId());
baseCrossSchedulesPlanPO.setPlanId(planId);
baseCrossSchedulesPlanPO.setWeek(crossSchedulesPO.getWeek());
if (Objects.nonNull(crossSchedulesPO.getSpecialDate())) {
baseCrossSchedulesPlanPO.setSpecialDate(crossSchedulesPO.getSpecialDate());
} else {
baseCrossSchedulesPlanPO.setSpecialDate(new Date());
}
baseCrossSchedulesPlanMapper.insertOne(baseCrossSchedulesPlanPO);
}
}
private void insertSectionInfo(String crossId, List<CrossSchemePO> crossSchemeList, List<CrossPlanPO> crossPlanPOList, List<CrossSectionPO> crossSectionPOList) {
baseCrossSectionMapper.deleteByCrossId(crossId);
for (CrossSectionPO crossSectionPO : crossSectionPOList) {
String planNo = null;
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
if (Objects.equals(crossPlanPO.getId(), crossSectionPO.getPlanId())) {
planNo = crossPlanPO.getPlanNo();
Integer schemeId = crossSectionPO.getSchemeId();
String schemeNo = null;
for (CrossSchemePO baseCrossSchemePO : crossSchemeList) {
if (Objects.equals(schemeId, baseCrossSchemePO.getId())) {
schemeNo = baseCrossSchemePO.getSchemeNo();
}
}
BaseCrossPlanPO crossPlanPO4DB = baseCrossPlanMapper.selectByCrossIdAndPlanNo(crossId, planNo);
crossSectionPO.setPlanId(crossPlanPO4DB.getId());
Integer schemeId4DB = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, schemeNo);
crossSectionPO.setSchemeId(schemeId4DB);
baseCrossSectionMapper.insertOne(crossSectionPO);
}
}
}
}
private void insertPlanInfo(String crossId, List<CrossPlanPO> crossPlanPOList) {
baseCrossPlanMapper.deleteByCrossId(crossId);
for (CrossPlanPO crossPlanPO : crossPlanPOList) {
BaseCrossPlanPO baseCrossPlanPO = new BaseCrossPlanPO();
BeanUtils.copyProperties(crossPlanPO, baseCrossPlanPO);
baseCrossPlanMapper.insertOne(baseCrossPlanPO);
}
} }
private TreeSet<BaseCrossLightsPO> distinctLightsNo(List<BaseCrossLightsPO> crossLightsList) { private TreeSet<BaseCrossLightsPO> distinctLightsNo(List<BaseCrossLightsPO> crossLightsList) {
...@@ -748,7 +789,7 @@ public class PlanSendServiceImpl implements PlanSendService { ...@@ -748,7 +789,7 @@ public class PlanSendServiceImpl implements PlanSendService {
} }
private String getPlanNo(Integer planId) { private String getPlanNo(Integer planId) {
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId); BaseCrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId);
return crossPlanPO.getPlanNo(); return crossPlanPO.getPlanNo();
} }
} }
...@@ -2,17 +2,9 @@ package net.wanji.web.service.scheme.impl; ...@@ -2,17 +2,9 @@ package net.wanji.web.service.scheme.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import net.wanji.common.dto.CrossIdDTO; import net.wanji.common.dto.CrossIdDTO;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPO; import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.entity.CrossPlanPO; import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.CrossSectionPO;
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.databus.dto.RunningPlanDTO;
import net.wanji.databus.dao.mapper.BaseCrossSchedulesPlanMapper;
import net.wanji.databus.dao.entity.BaseCrossSchedulesPlanPO;
import net.wanji.web.service.scheme.RunningPlanService; import net.wanji.web.service.scheme.RunningPlanService;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -127,9 +119,9 @@ public class RunningPlanServiceImpl implements RunningPlanService { ...@@ -127,9 +119,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
} }
execListElement.setWeek(week); execListElement.setWeek(week);
execListElement.setSpecialDateList(specialDateList); execListElement.setSpecialDateList(specialDateList);
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectById(planId); BaseCrossPlanPO baseCrossPlanPO = baseCrossPlanMapper.selectById(planId);
execListElement.setPlanName(crossPlanPO.getName()); execListElement.setPlanName(baseCrossPlanPO.getName());
execListElement.setPlanId(crossPlanPO.getId()); execListElement.setPlanId(baseCrossPlanPO.getId());
execList.add(execListElement); execList.add(execListElement);
} }
return execList; return execList;
...@@ -139,12 +131,12 @@ public class RunningPlanServiceImpl implements RunningPlanService { ...@@ -139,12 +131,12 @@ public class RunningPlanServiceImpl implements RunningPlanService {
List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = new ArrayList<>(); List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = new ArrayList<>();
dailyPlanList = baseCrossPlanMapper.selectDailyPlanList(crossId); dailyPlanList = baseCrossPlanMapper.selectDailyPlanList(crossId);
if (CollectionUtil.isEmpty(dailyPlanList)) { if (CollectionUtil.isEmpty(dailyPlanList)) {
List<CrossPlanPO> crossPlanPOList = baseCrossPlanMapper.selectByCrossId(crossId); List<BaseCrossPlanPO> crossPlanPOList = baseCrossPlanMapper.selectByCrossId(crossId);
if (CollectionUtil.isNotEmpty(crossPlanPOList)) { if (CollectionUtil.isNotEmpty(crossPlanPOList)) {
for (CrossPlanPO crossPlanPO : crossPlanPOList) { for (BaseCrossPlanPO baseCrossPlanPO : crossPlanPOList) {
RunningPlanDTO.DailyPlanListElement dailyPlan = new RunningPlanDTO.DailyPlanListElement(); RunningPlanDTO.DailyPlanListElement dailyPlan = new RunningPlanDTO.DailyPlanListElement();
dailyPlan.setPlanNo(crossPlanPO.getPlanNo()); dailyPlan.setPlanNo(baseCrossPlanPO.getPlanNo());
dailyPlan.setName(crossPlanPO.getName()); dailyPlan.setName(baseCrossPlanPO.getName());
dailyPlan.setTimeList(new ArrayList<>()); dailyPlan.setTimeList(new ArrayList<>());
dailyPlanList.add(dailyPlan); dailyPlanList.add(dailyPlan);
} }
...@@ -181,9 +173,9 @@ public class RunningPlanServiceImpl implements RunningPlanService { ...@@ -181,9 +173,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
for (RunningPlanDTO.ExecListElement execListElement : execList) { for (RunningPlanDTO.ExecListElement execListElement : execList) {
// 根据路口ID和计划名获取计划ID // 根据路口ID和计划名获取计划ID
String planName = execListElement.getPlanName(); String planName = execListElement.getPlanName();
CrossPlanPO crossPlanPO = baseCrossPlanMapper.selectByCrossIdAndName(crossId, planName); BaseCrossPlanPO baseCrossPlanPO = baseCrossPlanMapper.selectByCrossIdAndName(crossId, planName);
if (crossPlanPO != null) { if (baseCrossPlanPO != null) {
Integer planId = crossPlanPO.getId(); Integer planId = baseCrossPlanPO.getId();
// 更新调度计划关系表 // 更新调度计划关系表
updateCrossSchedulesPlan(crossId, execListElement, crossSchedulesId, planId); updateCrossSchedulesPlan(crossId, execListElement, crossSchedulesId, planId);
} }
...@@ -226,18 +218,18 @@ public class RunningPlanServiceImpl implements RunningPlanService { ...@@ -226,18 +218,18 @@ public class RunningPlanServiceImpl implements RunningPlanService {
List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = runningPlanDTO.getDailyPlanList(); List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = runningPlanDTO.getDailyPlanList();
for (RunningPlanDTO.DailyPlanListElement dailyPlan : dailyPlanList) { for (RunningPlanDTO.DailyPlanListElement dailyPlan : dailyPlanList) {
// 更新计划表获取计划ID // 更新计划表获取计划ID
CrossPlanPO crossPlanPO = new CrossPlanPO(); BaseCrossPlanPO baseCrossPlanPO = new BaseCrossPlanPO();
String planNo = dailyPlan.getPlanNo(); String planNo = dailyPlan.getPlanNo();
try { try {
Integer.parseInt(planNo); Integer.parseInt(planNo);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("计划编号必须为数字"); throw new RuntimeException("计划编号必须为数字");
} }
crossPlanPO.setPlanNo(planNo); baseCrossPlanPO.setPlanNo(planNo);
crossPlanPO.setName(dailyPlan.getName()); baseCrossPlanPO.setName(dailyPlan.getName());
crossPlanPO.setCrossId(crossId); baseCrossPlanPO.setCrossId(crossId);
baseCrossPlanMapper.insertOne(crossPlanPO); baseCrossPlanMapper.insertOne(baseCrossPlanPO);
Integer crossPlanId = crossPlanPO.getId(); Integer crossPlanId = baseCrossPlanPO.getId();
List<RunningPlanDTO.TimeListElement> timeList = dailyPlan.getTimeList(); List<RunningPlanDTO.TimeListElement> timeList = dailyPlan.getTimeList();
for (RunningPlanDTO.TimeListElement time : timeList) { for (RunningPlanDTO.TimeListElement time : timeList) {
// 根据路口ID和方案名获取方案ID // 根据路口ID和方案名获取方案ID
......
...@@ -61,18 +61,18 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy ...@@ -61,18 +61,18 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
private void schemeSendDataInsert(SchemeSendVO schemeSendVO) { private void schemeSendDataInsert(SchemeSendVO schemeSendVO) {
// 入库操作 // 入库操作
List<BaseCrossSchemePO> baseCrossSchemePOList = new ArrayList<>(); List<CrossSchemePO> crossSchemePOList = new ArrayList<>();
schemeSendVO.getPatternList().forEach(pattern -> { schemeSendVO.getPatternList().forEach(pattern -> {
BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO(); CrossSchemePO crossSchemePO = new CrossSchemePO();
baseCrossSchemePO.setSchemeNo(pattern.getPatternNo()); crossSchemePO.setSchemeNo(pattern.getPatternNo());
baseCrossSchemePO.setName(pattern.getPatternName()); crossSchemePO.setName(pattern.getPatternName());
baseCrossSchemePO.setCrossId(schemeSendVO.getCrossCode()); crossSchemePO.setCrossId(schemeSendVO.getCrossCode());
baseCrossSchemePO.setCycle(Integer.parseInt(pattern.getCycle())); crossSchemePO.setCycle(Integer.parseInt(pattern.getCycle()));
baseCrossSchemePO.setCoordPhase(Integer.parseInt(pattern.getCoordPhase())); crossSchemePO.setCoordPhase(Integer.parseInt(pattern.getCoordPhase()));
baseCrossSchemePO.setOffset(Integer.parseInt(pattern.getOffset())); crossSchemePO.setOffset(Integer.parseInt(pattern.getOffset()));
baseCrossSchemePO.setSource(2); crossSchemePO.setSource(2);
baseCrossSchemePO.setIsDeleted(0); crossSchemePO.setIsDeleted(0);
baseCrossSchemePOList.add(baseCrossSchemePO); crossSchemePOList.add(crossSchemePO);
pattern.getRings().forEach(ring -> { pattern.getRings().forEach(ring -> {
List<CrossPhasePO> crossPhasePOList = new ArrayList<>(); List<CrossPhasePO> crossPhasePOList = new ArrayList<>();
...@@ -101,7 +101,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy ...@@ -101,7 +101,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}); });
// 入库信号方案表 // 入库信号方案表
crossSchemeMapper.insertBatch(baseCrossSchemePOList); crossSchemeMapper.insertBatch(crossSchemePOList);
} }
@Override @Override
......
...@@ -7,10 +7,7 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil; ...@@ -7,10 +7,7 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.databus.dao.entity.BaseCrossSchemePO; import net.wanji.databus.dao.entity.*;
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.mapper.*; import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.CrossInfoPO; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.ManufacturerInfoPO; import net.wanji.databus.po.ManufacturerInfoPO;
...@@ -110,7 +107,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService { ...@@ -110,7 +107,7 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
for (RealTimeStateInfoPO resultPO : realTimeStateInfoListPO.getList()) { for (RealTimeStateInfoPO resultPO : realTimeStateInfoListPO.getList()) {
infoVo = new LightsStatusVO(); infoVo = new LightsStatusVO();
Integer patternNo = resultPO.getPatternNo(); Integer patternNo = resultPO.getPatternNo();
BaseCrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, patternNo); CrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, patternNo);
List<RingsPO> rings = resultPO.getRings(); // 环列表 List<RingsPO> rings = resultPO.getRings(); // 环列表
List<ChannelStatePO> channelState = resultPO.getChannelState();// 灯组列表 List<ChannelStatePO> channelState = resultPO.getChannelState();// 灯组列表
String HKControlType = resultPO.getControlType(); String HKControlType = resultPO.getControlType();
...@@ -187,9 +184,9 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService { ...@@ -187,9 +184,9 @@ public class HkLightsStatusServiceImpl implements HkLightsStatusService {
return result; return result;
} }
private void setDirTurnRedCountDown(String crossId, List<CrossLightsPO> crossLightsPOList, BaseCrossSchemePO baseCrossSchemePO, Map<String, Object> phaseMap, Integer phaseNo, Integer countdown) { private void setDirTurnRedCountDown(String crossId, List<CrossLightsPO> crossLightsPOList, CrossSchemePO crossSchemePO, Map<String, Object> phaseMap, Integer phaseNo, Integer countdown) {
if (Objects.nonNull(baseCrossSchemePO)) { if (Objects.nonNull(crossSchemePO)) {
Integer phaseId = crossPhaseMapper.selectPhaseId(crossId, baseCrossSchemePO.getId(), phaseNo); Integer phaseId = crossPhaseMapper.selectPhaseId(crossId, crossSchemePO.getId(), phaseNo);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByCrossId(crossId); List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByCrossId(crossId);
for (CrossPhaseLightsPO crossPhaseLightsPO : crossPhaseLightsPOList) { for (CrossPhaseLightsPO crossPhaseLightsPO : crossPhaseLightsPOList) {
if (Objects.equals(phaseId, crossPhaseLightsPO.getPhaseId())) { if (Objects.equals(phaseId, crossPhaseLightsPO.getPhaseId())) {
......
...@@ -6,7 +6,7 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil; ...@@ -6,7 +6,7 @@ import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.wanji.databus.dao.entity.CrossPlanPO; import net.wanji.databus.dao.entity.CrossPlanPO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO; import net.wanji.databus.dao.entity.CrossSchemePO;
import net.wanji.databus.dao.entity.CrossSectionPO; import net.wanji.databus.dao.entity.CrossSectionPO;
import net.wanji.databus.dao.mapper.CrossPlanMapper; import net.wanji.databus.dao.mapper.CrossPlanMapper;
import net.wanji.databus.dao.mapper.CrossSchemeMapper; import net.wanji.databus.dao.mapper.CrossSchemeMapper;
...@@ -109,7 +109,7 @@ public class HkPlanSectionServiceImpl implements HkPlanSectionService { ...@@ -109,7 +109,7 @@ public class HkPlanSectionServiceImpl implements HkPlanSectionService {
crossSectionPO.setControlMode(controlType); crossSectionPO.setControlMode(controlType);
// 获取方案ID // 获取方案ID
Integer schemeNo = sectionPO.getPatternNo(); Integer schemeNo = sectionPO.getPatternNo();
BaseCrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo); CrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, schemeNo);
if (Objects.nonNull(baseCrossSchemePO)) { if (Objects.nonNull(baseCrossSchemePO)) {
Integer schemePOId = baseCrossSchemePO.getId(); Integer schemePOId = baseCrossSchemePO.getId();
crossSectionPO.setSchemeId(schemePOId); crossSectionPO.setSchemeId(schemePOId);
......
...@@ -6,10 +6,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,10 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.wanji.databus.dao.entity.CrossLightsPO; import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.entity.CrossPhaseLightsPO;
import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.mapper.CrossLightsMapper; import net.wanji.databus.dao.mapper.CrossLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper; import net.wanji.databus.dao.mapper.CrossPhaseLightsMapper;
import net.wanji.databus.dao.mapper.CrossPhaseMapper; import net.wanji.databus.dao.mapper.CrossPhaseMapper;
...@@ -204,18 +201,18 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -204,18 +201,18 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
Integer coordPhase = scheme.getInteger("coordPhase"); Integer coordPhase = scheme.getInteger("coordPhase");
Integer offset = scheme.getInteger("offset"); Integer offset = scheme.getInteger("offset");
// 构造数据库记录 // 构造数据库记录
BaseCrossSchemePO baseCrossSchemePO = new BaseCrossSchemePO(); CrossSchemePO crossSchemePO = new CrossSchemePO();
baseCrossSchemePO.setSchemeNo(patternNo.toString()); crossSchemePO.setSchemeNo(patternNo.toString());
baseCrossSchemePO.setName(patternName); crossSchemePO.setName(patternName);
baseCrossSchemePO.setCrossId(crossId); crossSchemePO.setCrossId(crossId);
baseCrossSchemePO.setCycle(cycle); crossSchemePO.setCycle(cycle);
baseCrossSchemePO.setCoordPhase(coordPhase); crossSchemePO.setCoordPhase(coordPhase);
baseCrossSchemePO.setOffset(offset); crossSchemePO.setOffset(offset);
baseCrossSchemePO.setSource(2); crossSchemePO.setSource(2);
baseCrossSchemePO.setIsDeleted(0); crossSchemePO.setIsDeleted(0);
// 插入方案数据返回自增ID // 插入方案数据返回自增ID
crossSchemeMapper.insertOne(baseCrossSchemePO); crossSchemeMapper.insertOne(crossSchemePO);
Integer schemePOId = baseCrossSchemePO.getId(); Integer schemePOId = crossSchemePO.getId();
// 生成相位数据 // 生成相位数据
JSONArray phases = scheme.getJSONArray("phaseInfos"); JSONArray phases = scheme.getJSONArray("phaseInfos");
for (int j = 0; j < phases.size(); j++) { for (int j = 0; j < phases.size(); j++) {
......
...@@ -144,14 +144,14 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -144,14 +144,14 @@ public class StaticInfoServiceImpl implements StaticInfoService {
@Override @Override
public net.wanji.databus.vo.SchemePhaseLightsVO buildSchemePhaseLightsResponse(SchemePhaseLightsDTO schemePhaseLightsDTO) { public net.wanji.databus.vo.SchemePhaseLightsVO buildSchemePhaseLightsResponse(SchemePhaseLightsDTO schemePhaseLightsDTO) {
String crossId = schemePhaseLightsDTO.getCrossId(); String crossId = schemePhaseLightsDTO.getCrossId();
List<BaseCrossSchemePO> baseCrossSchemePOList = crossSchemeMapper.selectByCrossId(crossId); List<CrossSchemePO> CrossSchemePOList = crossSchemeMapper.selectByCrossId(crossId);
List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByCrossId(crossId); List<CrossPhasePO> crossPhasePOList = crossPhaseMapper.selectByCrossId(crossId);
List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossId(crossId); List<CrossLightsPO> crossLightsPOList = crossLightsMapper.selectByCrossId(crossId);
List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByCrossId(crossId); List<CrossPhaseLightsPO> crossPhaseLightsPOList = crossPhaseLightsMapper.selectByCrossId(crossId);
net.wanji.databus.vo.SchemePhaseLightsVO schemePhaseLightsVO = new net.wanji.databus.vo.SchemePhaseLightsVO(); net.wanji.databus.vo.SchemePhaseLightsVO schemePhaseLightsVO = new net.wanji.databus.vo.SchemePhaseLightsVO();
schemePhaseLightsVO.setCrossSchemeList(baseCrossSchemePOList); schemePhaseLightsVO.setCrossSchemeList(CrossSchemePOList);
schemePhaseLightsVO.setCrossPhaseList(crossPhasePOList); schemePhaseLightsVO.setCrossPhaseList(crossPhasePOList);
schemePhaseLightsVO.setCrossLightsList(crossLightsPOList); schemePhaseLightsVO.setCrossLightsList(crossLightsPOList);
schemePhaseLightsVO.setCrossPhaseLightsPOList(crossPhaseLightsPOList); schemePhaseLightsVO.setCrossPhaseLightsPOList(crossPhaseLightsPOList);
......
...@@ -57,7 +57,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe ...@@ -57,7 +57,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
} }
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
SchemePhaseLightsVO content = objectMapper.convertValue(jsonViewObject.getContent(), SchemePhaseLightsVO.class); SchemePhaseLightsVO content = objectMapper.convertValue(jsonViewObject.getContent(), SchemePhaseLightsVO.class);
List<BaseCrossSchemePO> crossSchemeList = content.getCrossSchemeList(); List<CrossSchemePO> crossSchemeList = content.getCrossSchemeList();
crossSchemeList.forEach(crossSchemePO -> { crossSchemeList.forEach(crossSchemePO -> {
crossSchemeMapper.deleteOne(crossId, crossSchemePO.getSchemeNo()); crossSchemeMapper.deleteOne(crossId, crossSchemePO.getSchemeNo());
crossSchemeMapper.insertOne(crossSchemePO); crossSchemeMapper.insertOne(crossSchemePO);
...@@ -65,12 +65,12 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe ...@@ -65,12 +65,12 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
List<CrossPhasePO> crossPhaseList = content.getCrossPhaseList(); List<CrossPhasePO> crossPhaseList = content.getCrossPhaseList();
crossPhaseMapper.deleteBatch(crossId, null); crossPhaseMapper.deleteBatch(crossId, null);
crossPhaseList.forEach(crossPhasePO -> { crossPhaseList.forEach(crossPhasePO -> {
BaseCrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, crossPhasePO.getPlanId()); CrossSchemePO crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, crossPhasePO.getPlanId());
Integer id; Integer id;
if (Objects.isNull(baseCrossSchemePO)) { if (Objects.isNull(crossSchemePO)) {
id = -1; id = -1;
} else { } else {
id = baseCrossSchemePO.getId(); id = crossSchemePO.getId();
} }
crossPhasePO.setPlanId(id); crossPhasePO.setPlanId(id);
crossPhaseMapper.insertOne(crossPhasePO); crossPhaseMapper.insertOne(crossPhasePO);
...@@ -129,7 +129,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe ...@@ -129,7 +129,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
crossSectionMapper.deleteOne(crossId, Integer.parseInt(crossSectionPO.getSectionNo()), null); crossSectionMapper.deleteOne(crossId, Integer.parseInt(crossSectionPO.getSectionNo()), null);
Integer id = crossPlanMapper.selectIdByNo(crossSectionPO.getCrossId(), crossSectionPO.getPlanId()); Integer id = crossPlanMapper.selectIdByNo(crossSectionPO.getCrossId(), crossSectionPO.getPlanId());
crossSectionPO.setPlanId(id); crossSectionPO.setPlanId(id);
BaseCrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, crossSectionPO.getSchemeId()); CrossSchemePO baseCrossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, crossSectionPO.getSchemeId());
crossSectionPO.setSchemeId(baseCrossSchemePO.getId()); crossSectionPO.setSchemeId(baseCrossSchemePO.getId());
crossSectionMapper.insertOne(crossSectionPO); crossSectionMapper.insertOne(crossSectionPO);
}); });
......
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2022/11/18 15:52
*/
@Data
public class BaseCrossPlanPO {
/** 计划ID */
@ApiModelProperty(value = "计划ID",notes = "")
private Integer id ;
/** 计划号 */
@ApiModelProperty(value = "计划号",notes = "")
private String planNo ;
/** 计划名称 */
@ApiModelProperty(value = "计划名称",notes = "")
private String name ;
/** 路口ID */
@ApiModelProperty(value = "路口ID",notes = "")
private String crossId ;
/** 创建时间 */
@ApiModelProperty(value = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(value = "修改时间",notes = "")
private Date gmtModified ;
}
package net.wanji.databus.dao.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2023/1/3 9:40
*/
@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.databus.dao.mapper; package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.CrossPlanPO; import net.wanji.databus.dao.entity.BaseCrossPlanPO;
import net.wanji.databus.dto.RunningPlanDTO; import net.wanji.databus.dto.RunningPlanDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -16,18 +16,18 @@ import java.util.List; ...@@ -16,18 +16,18 @@ import java.util.List;
@Repository @Repository
public interface BaseCrossPlanMapper { public interface BaseCrossPlanMapper {
void insertOne(CrossPlanPO crossPlanPO); void insertOne(BaseCrossPlanPO BaseCrossPlanPO);
void deleteByCrossId(@Param("crossId") String crossId); void deleteByCrossId(@Param("crossId") String crossId);
CrossPlanPO selectByCrossIdAndName(@Param("crossId") String crossId, BaseCrossPlanPO selectByCrossIdAndName(@Param("crossId") String crossId,
@Param("planName") String planName); @Param("planName") String planName);
List<RunningPlanDTO.DailyPlanListElement> selectDailyPlanList(String crossId); List<RunningPlanDTO.DailyPlanListElement> selectDailyPlanList(String crossId);
CrossPlanPO selectById(@Param("planId") Integer planId); BaseCrossPlanPO selectById(@Param("planId") Integer planId);
List<CrossPlanPO> selectByCrossId(String crossId); List<BaseCrossPlanPO> selectByCrossId(String crossId);
CrossPlanPO selectByCrossIdAndPlanNo(@Param("crossId") String crossId, @Param("planNo") String planNo); BaseCrossPlanPO selectByCrossIdAndPlanNo(@Param("crossId") String crossId, @Param("planNo") String planNo);
} }
package net.wanji.databus.dao.mapper; package net.wanji.databus.dao.mapper;
import net.wanji.databus.dao.entity.BaseCrossSchemePO; import net.wanji.databus.dao.entity.CrossSchemePO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -10,16 +10,16 @@ import java.util.List; ...@@ -10,16 +10,16 @@ import java.util.List;
* @date 2022/11/16 17:28 * @date 2022/11/16 17:28
*/ */
public interface CrossSchemeMapper { public interface CrossSchemeMapper {
void insertBatch(@Param("entities") List<BaseCrossSchemePO> baseCrossSchemePOList); void insertBatch(@Param("entities") List<CrossSchemePO> CrossSchemePOList);
void insertOne(BaseCrossSchemePO baseCrossSchemePO); void insertOne(CrossSchemePO CrossSchemePO);
void deleteOne(@Param("crossId") String crossId, @Param("patternNo") String patternNo); void deleteOne(@Param("crossId") String crossId, @Param("patternNo") String patternNo);
BaseCrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId, CrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
@Param("schemeNo") Integer schemeNo); @Param("schemeNo") Integer schemeNo);
List<BaseCrossSchemePO> selectByCrossId(@Param("crossId") String crossId); List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
void deleteByCrossId(String crossId); void deleteByCrossId(String crossId);
} }
...@@ -4,7 +4,7 @@ import lombok.Data; ...@@ -4,7 +4,7 @@ import lombok.Data;
import net.wanji.databus.dao.entity.CrossLightsPO; import net.wanji.databus.dao.entity.CrossLightsPO;
import net.wanji.databus.dao.entity.CrossPhaseLightsPO; import net.wanji.databus.dao.entity.CrossPhaseLightsPO;
import net.wanji.databus.dao.entity.CrossPhasePO; import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.BaseCrossSchemePO; import net.wanji.databus.dao.entity.CrossSchemePO;
import java.util.List; import java.util.List;
...@@ -14,7 +14,7 @@ import java.util.List; ...@@ -14,7 +14,7 @@ import java.util.List;
*/ */
@Data @Data
public class SchemePhaseLightsVO { public class SchemePhaseLightsVO {
private List<BaseCrossSchemePO> crossSchemeList; private List<CrossSchemePO> crossSchemeList;
private List<CrossPhasePO> crossPhaseList; private List<CrossPhasePO> crossPhaseList;
private List<CrossLightsPO> crossLightsList; private List<CrossLightsPO> crossLightsList;
private List<CrossPhaseLightsPO> crossPhaseLightsPOList; private List<CrossPhaseLightsPO> crossPhaseLightsPOList;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="net.wanji.databus.dao.mapper.BaseCrossPlanMapper"> <mapper namespace="net.wanji.databus.dao.mapper.BaseCrossPlanMapper">
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap type="net.wanji.databus.dao.entity.CrossPlanPO" id="BaseResultMap"> <resultMap type="net.wanji.databus.dao.entity.BaseCrossPlanPO" id="BaseResultMap">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="planNo" column="plan_no"/> <result property="planNo" column="plan_no"/>
<result property="name" column="name"/> <result property="name" column="name"/>
...@@ -56,21 +56,21 @@ ...@@ -56,21 +56,21 @@
WHERE t1.cross_id = #{crossId} WHERE t1.cross_id = #{crossId}
</select> </select>
<select id="selectById" resultType="net.wanji.databus.dao.entity.CrossPlanPO"> <select id="selectById" resultType="net.wanji.databus.dao.entity.BaseCrossPlanPO">
select select
id,plan_no,name,cross_id,gmt_create,gmt_modified id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan from t_base_cross_plan
where id = #{planId} where id = #{planId}
</select> </select>
<select id="selectByCrossId" resultType="net.wanji.databus.dao.entity.CrossPlanPO"> <select id="selectByCrossId" resultType="net.wanji.databus.dao.entity.BaseCrossPlanPO">
select select
id,plan_no,name,cross_id,gmt_create,gmt_modified id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan from t_base_cross_plan
where cross_id = #{crossId} where cross_id = #{crossId}
</select> </select>
<select id="selectByCrossIdAndPlanNo" resultType="net.wanji.databus.dao.entity.CrossPlanPO"> <select id="selectByCrossIdAndPlanNo" resultType="net.wanji.databus.dao.entity.BaseCrossPlanPO">
select select
id,plan_no,name,cross_id,gmt_create,gmt_modified id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan from t_base_cross_plan
......
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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"> <mapper namespace="net.wanji.databus.dao.mapper.CrossSchemeMapper">
<resultMap type="net.wanji.databus.dao.entity.BaseCrossSchemePO" id="BaseResultMap"> <resultMap type="net.wanji.databus.dao.entity.CrossSchemePO" id="BaseResultMap">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="schemeNo" column="scheme_no"/> <result property="schemeNo" column="scheme_no"/>
<result property="name" column="name"/> <result property="name" column="name"/>
......
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