Commit a9b2d08c authored by duanruiming's avatar duanruiming

[update] 添加web数据下发到utc数据库

parent 53feba75
package net.wanji.utc.config;
import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import java.util.TimeZone;
/**
* 全局日期处理
*
* @author Kent HAN
* @date 2023/1/12 21:49
*/
@Configuration
@AutoConfigureBefore(JacksonAutoConfiguration.class)
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper()
.setLocale(Locale.CHINA)
.setTimeZone(TimeZone.getTimeZone(ZoneId.systemDefault()))
// 反序列化的格式
.registerModule(javaTimeModule())
// 序列化的格式
.setDateFormat(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN))
.setLocale(Locale.CHINA)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.findAndRegisterModules();
}
@Bean
public Module javaTimeModule() {
JavaTimeModule module = new JavaTimeModule();
module.addSerializer(new LocalDateTimeSerializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)
));
module.addSerializer(new LocalTimeSerializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))
);
module.addSerializer(new LocalDateSerializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN))
);
module.addDeserializer(LocalDateTime.class,
new LocalDateTimeDeserializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)
));
module.addDeserializer(LocalDate.class,
new LocalDateDeserializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)
));
module.addDeserializer(LocalTime.class,
new LocalTimeDeserializer(
DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)
));
return module;
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.annotation.aspect.AspectLog;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.service.control.ControlCommandStrategyService;
import org.springframework.validation.annotation.Validated;
......@@ -212,4 +213,11 @@ public class ControlCommandController {
public JsonViewObject tempScheme(@RequestParam String crossCode, @RequestParam Integer schemeNo) throws Exception {
return controlCommandStrategyService.tempScheme(crossCode, schemeNo);
}
@AspectLog(description = "下发数据到UTC", operationType = BaseEnum.OperationTypeEnum.UPDATE)
@ApiOperation(value = "下发数据到UTC", notes = "下发数据到UTC")
@PostMapping("/saveToUtc")
public JsonViewObject saveToUtc(@RequestBody @Validated SaveToUtcPO saveToUtcPO) throws Exception {
return controlCommandStrategyService.saveToUtc(saveToUtcPO);
}
}
package net.wanji.utc.service.control;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import java.util.Date;
......@@ -96,4 +97,6 @@ public interface ControlCommandStrategyService {
JsonViewObject timing(String crossCode, Date date) throws Exception;
JsonViewObject tempScheme(String crossCode, Integer schemeNo) throws Exception;
JsonViewObject saveToUtc(SaveToUtcPO saveToUtcPO) throws Exception;
}
package net.wanji.utc.service.control.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.BaseCrossLightsPO;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.cache.CrossInfoCache;
import net.wanji.utc.common.typeenum.BasicEnum;
......@@ -13,8 +16,10 @@ import net.wanji.utc.po.hk.request.DelBaseConfigPO;
import net.wanji.utc.service.control.ControlCommandService;
import net.wanji.utc.service.control.ControlCommandStrategyService;
import net.wanji.utc.util.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.ParseException;
......@@ -30,6 +35,7 @@ import java.util.Objects;
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class ControlCommandStrategyServiceImpl implements ControlCommandStrategyService {
@Resource(name = "hkControlCommandService")
......@@ -44,11 +50,13 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
private final CrossPlanMapper crossPlanMapper;
private final CrossSchedulesMapper crossSchedulesMapper;
private final CrossInfoCache crossInfoCache;
private final CrossLightsMapper crossLightsMapper;
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public JsonViewObject schemeSendStrategy(SchemeSendVO schemeSendVO) throws Exception {
schemeSendDataInsert(schemeSendVO);
JsonViewObject jsonViewObject;
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(schemeSendVO.getCrossCode());
if (StringUtils.equals(BasicEnum.ManufacturerEnum.HK.getCode(), manufacturerIdCode)) {
......@@ -56,58 +64,63 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
} else {
jsonViewObject = wanJiControlCommandService.schemeSend(schemeSendVO);
}
schemeSendDataInsert(schemeSendVO);
return jsonViewObject;
}
private void schemeSendDataInsert(SchemeSendVO schemeSendVO) {
// 入库操作
List<CrossSchemePO> crossSchemePOList = 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);
@Transactional(rollbackFor = Exception.class)
public void schemeSendDataInsert(SchemeSendVO schemeSendVO) throws Exception {
try {
// 入库操作
List<CrossSchemePO> crossSchemePOList = 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);
pattern.getRings().forEach(ring -> {
List<CrossPhasePO> crossPhasePOList = new ArrayList<>();
ring.getPhaseList().forEach(phase -> {
CrossPhasePO crossPhasePO = new CrossPhasePO();
crossPhasePO.setPhaseNo(phase.getPhaseNo());
crossPhasePO.setName(phase.getPhaseName());
crossPhasePO.setSort(Integer.parseInt(phase.getSort()));
crossPhasePO.setCrossId(schemeSendVO.getCrossCode());
crossPhasePO.setPlanId(Integer.parseInt(pattern.getPatternNo()));
crossPhasePO.setRingNo(Integer.parseInt(ring.getRingNo()));
crossPhasePO.setControlMode(Integer.parseInt(phase.getControlMode()));
crossPhasePO.setPhaseTime(Integer.parseInt(phase.getPhaseTime()));
crossPhasePO.setGreenTime(Integer.parseInt(phase.getGreenTime()));
crossPhasePO.setGreenFlashTime(Integer.parseInt(phase.getGreenFlashTime()));
crossPhasePO.setPedFlashTime(Integer.parseInt(phase.getPedFlashTime()));
crossPhasePO.setYellowTime(Integer.parseInt(phase.getYellowTime()));
crossPhasePO.setRedTime(Integer.parseInt(phase.getRedTime()));
crossPhasePO.setMinGreenTime(Integer.parseInt(phase.getMinGreenTime()));
crossPhasePO.setMaxGreenTime(Integer.parseInt(phase.getMaxGreenTime()));
crossPhasePOList.add(crossPhasePO);
pattern.getRings().forEach(ring -> {
List<CrossPhasePO> crossPhasePOList = new ArrayList<>();
ring.getPhaseList().forEach(phase -> {
CrossPhasePO crossPhasePO = new CrossPhasePO();
crossPhasePO.setPhaseNo(phase.getPhaseNo());
crossPhasePO.setName(phase.getPhaseName());
crossPhasePO.setSort(Integer.parseInt(phase.getSort()));
crossPhasePO.setCrossId(schemeSendVO.getCrossCode());
crossPhasePO.setPlanId(Integer.parseInt(pattern.getPatternNo()));
crossPhasePO.setRingNo(Integer.parseInt(ring.getRingNo()));
crossPhasePO.setControlMode(Integer.parseInt(phase.getControlMode()));
crossPhasePO.setPhaseTime(Integer.parseInt(phase.getPhaseTime()));
crossPhasePO.setGreenTime(Integer.parseInt(phase.getGreenTime()));
crossPhasePO.setGreenFlashTime(Integer.parseInt(phase.getGreenFlashTime()));
crossPhasePO.setPedFlashTime(Integer.parseInt(phase.getPedFlashTime()));
crossPhasePO.setYellowTime(Integer.parseInt(phase.getYellowTime()));
crossPhasePO.setRedTime(Integer.parseInt(phase.getRedTime()));
crossPhasePO.setMinGreenTime(Integer.parseInt(phase.getMinGreenTime()));
crossPhasePO.setMaxGreenTime(Integer.parseInt(phase.getMaxGreenTime()));
crossPhasePOList.add(crossPhasePO);
});
// 入库路口相位表
crossPhaseMapper.insertBatch(crossPhasePOList);
});
// 入库路口相位表
crossPhaseMapper.insertBatch(crossPhasePOList);
});
});
// 入库信号方案表
crossSchemeMapper.insertBatch(crossSchemePOList);
});
// 入库信号方案表
crossSchemeMapper.insertBatch(crossSchemePOList);
} catch (Exception e) {
log.error("下发方案相位数据到utc数据库失败", e);
throw new Exception("下发方案相位数据到utc数据库失败");
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public JsonViewObject planSendStrategy(PlanSendVO planSendVO) throws Exception {
planSendDataInsert(planSendVO);
JsonViewObject jsonViewObject;
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(planSendVO.getCrossCode());
if (StringUtils.equals(BasicEnum.ManufacturerEnum.HK.getCode(), manufacturerIdCode)) {
......@@ -115,40 +128,45 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
} else {
jsonViewObject = wanJiControlCommandService.planSend(planSendVO);
}
planSendDataInsert(planSendVO);
return jsonViewObject;
}
private void planSendDataInsert(PlanSendVO planSendVO) {
List<CrossPlanPO> crossPlanPOList = new ArrayList<>();
planSendVO.getPlanList().forEach(plan -> {
CrossPlanPO crossPlanPO = new CrossPlanPO();
crossPlanPO.setPlanNo(plan.getPlanNo());
crossPlanPO.setName(plan.getPlanDescribe());
crossPlanPO.setCrossId(planSendVO.getCrossCode());
crossPlanPOList.add(crossPlanPO);
List<CrossSectionPO> crossSectionPOList = new ArrayList<>();
plan.getSectionList().forEach(section -> {
CrossSectionPO crossSectionPO = new CrossSectionPO();
crossSectionPO.setSectionNo(section.getSectionNo());
crossSectionPO.setStartTime(section.getBeginTime());
crossSectionPO.setEndTime(section.getEndTime());
crossSectionPO.setCrossId(planSendVO.getCrossCode());
crossSectionPO.setPlanId(Integer.parseInt(plan.getPlanNo()));
crossSectionPO.setControlMode(Integer.parseInt(section.getControlMode()));
crossSectionPO.setSchemeId(Integer.parseInt(section.getPatternNo()));
crossSectionPOList.add(crossSectionPO);
@Transactional(rollbackFor = Exception.class)
public void planSendDataInsert(PlanSendVO planSendVO) throws Exception {
try {
List<CrossPlanPO> crossPlanPOList = new ArrayList<>();
planSendVO.getPlanList().forEach(plan -> {
CrossPlanPO crossPlanPO = new CrossPlanPO();
crossPlanPO.setPlanNo(plan.getPlanNo());
crossPlanPO.setName(plan.getPlanDescribe());
crossPlanPO.setCrossId(planSendVO.getCrossCode());
crossPlanPOList.add(crossPlanPO);
List<CrossSectionPO> crossSectionPOList = new ArrayList<>();
plan.getSectionList().forEach(section -> {
CrossSectionPO crossSectionPO = new CrossSectionPO();
crossSectionPO.setSectionNo(section.getSectionNo());
crossSectionPO.setStartTime(section.getBeginTime());
crossSectionPO.setEndTime(section.getEndTime());
crossSectionPO.setCrossId(planSendVO.getCrossCode());
crossSectionPO.setPlanId(Integer.parseInt(plan.getPlanNo()));
crossSectionPO.setControlMode(Integer.parseInt(section.getControlMode()));
crossSectionPO.setSchemeId(Integer.parseInt(section.getPatternNo()));
crossSectionPOList.add(crossSectionPO);
});
// 入库路口时段表
crossSectionMapper.insertBatch(crossSectionPOList);
});
// 入库路口时段表
crossSectionMapper.insertBatch(crossSectionPOList);
});
// 入库路口计划表
crossPlanMapper.insertBatch(crossPlanPOList);
// 入库路口计划表
crossPlanMapper.insertBatch(crossPlanPOList);
} catch (Exception e) {
log.error("下发时段日计划数据到UTC数据库失败", e);
throw new Exception("下发时段日计划数据到UTC数据库失败");
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public JsonViewObject scheduleSendStrategy(ScheduleSendVO scheduleSendVO) throws Exception {
scheduleSendDataInsert(scheduleSendVO);
JsonViewObject jsonViewObject;
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(scheduleSendVO.getCrossCode());
if (StringUtils.equals(BasicEnum.ManufacturerEnum.HK.getCode(), manufacturerIdCode)) {
......@@ -156,46 +174,51 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
} else {
jsonViewObject = wanJiControlCommandService.scheduleSend(scheduleSendVO);
}
scheduleSendDataInsert(scheduleSendVO);
return jsonViewObject;
}
private void scheduleSendDataInsert(ScheduleSendVO scheduleSendVO) {
// 1、入库操作
SimpleDateFormat sdf = new SimpleDateFormat(DateStyle.YYYY_MM_DD.getValue());
ArrayList<CrossSchedulesPO> crossSchedulesPOS = new ArrayList<>();
scheduleSendVO.getSchedules().forEach(schedule -> {
schedule.getWeeks().forEach(week -> {
CrossSchedulesPO schedulesPO = new CrossSchedulesPO();
if (week.getWeekNum() >= 6) {
schedulesPO.setName("周末");
} else {
schedulesPO.setName("工作日");
}
schedulesPO.setCrossId(scheduleSendVO.getCrossCode());
schedulesPO.setScheduleNo(Integer.valueOf(schedule.getScheduleNo()));
schedulesPO.setPlanId(week.getPlanNo());
schedulesPO.setWeek(week.getWeekNum());
schedulesPO.setSpecialDate(null);
crossSchedulesPOS.add(schedulesPO);
});
schedule.getSpecialDays().forEach(specialDay -> {
CrossSchedulesPO schedulesPO = new CrossSchedulesPO();
schedulesPO.setScheduleNo(Integer.valueOf(schedule.getScheduleNo()));
schedulesPO.setName("特殊日期");
schedulesPO.setCrossId(scheduleSendVO.getCrossCode());
schedulesPO.setPlanId(specialDay.getPlanNo());
schedulesPO.setWeek(null);
try {
schedulesPO.setSpecialDate(sdf.parse(specialDay.getDateStr()));
} catch (ParseException e) {
@Transactional(rollbackFor = Exception.class)
public void scheduleSendDataInsert(ScheduleSendVO scheduleSendVO) throws Exception {
try {
// 1、入库操作
SimpleDateFormat sdf = new SimpleDateFormat(DateStyle.YYYY_MM_DD.getValue());
ArrayList<CrossSchedulesPO> crossSchedulesPOS = new ArrayList<>();
scheduleSendVO.getSchedules().forEach(schedule -> {
schedule.getWeeks().forEach(week -> {
CrossSchedulesPO schedulesPO = new CrossSchedulesPO();
if (week.getWeekNum() >= 6) {
schedulesPO.setName("周末");
} else {
schedulesPO.setName("工作日");
}
schedulesPO.setCrossId(scheduleSendVO.getCrossCode());
schedulesPO.setScheduleNo(Integer.valueOf(schedule.getScheduleNo()));
schedulesPO.setPlanId(week.getPlanNo());
schedulesPO.setWeek(week.getWeekNum());
schedulesPO.setSpecialDate(null);
}
crossSchedulesPOS.add(schedulesPO);
crossSchedulesPOS.add(schedulesPO);
});
schedule.getSpecialDays().forEach(specialDay -> {
CrossSchedulesPO schedulesPO = new CrossSchedulesPO();
schedulesPO.setScheduleNo(Integer.valueOf(schedule.getScheduleNo()));
schedulesPO.setName("特殊日期");
schedulesPO.setCrossId(scheduleSendVO.getCrossCode());
schedulesPO.setPlanId(specialDay.getPlanNo());
schedulesPO.setWeek(null);
try {
schedulesPO.setSpecialDate(sdf.parse(specialDay.getDateStr()));
} catch (ParseException e) {
schedulesPO.setSpecialDate(null);
}
crossSchedulesPOS.add(schedulesPO);
});
});
});
// 入库时间表
crossSchedulesMapper.insertBatch(crossSchedulesPOS);
// 入库时间表
crossSchedulesMapper.insertBatch(crossSchedulesPOS);
} catch (Exception e) {
log.error("下发调度数据到utc数据库失败", e);
throw new Exception("下发调度数据到utc数据库失败");
}
}
@Override
......@@ -312,4 +335,86 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}
return jsonViewObject;
}
@Override
@Transactional
public JsonViewObject saveToUtc(SaveToUtcPO saveToUtcPO) throws Exception {
try {
if (Objects.nonNull(saveToUtcPO)) {
List<BaseCrossLightsPO> lightsPOS = saveToUtcPO.getLightsPOS();
CrossSchedulesPO crossSchedulesPO = saveToUtcPO.getSchedulesPOS().get(0);
String crossId = crossSchedulesPO.getCrossId();
if (!CollectionUtils.isEmpty(lightsPOS)) {
crossLightsMapper.deleteByCrossId(crossId);
for (BaseCrossLightsPO lightsPO : lightsPOS) {
CrossLightsPO crossLightsPO = new CrossLightsPO();
BeanUtils.copyProperties(lightsPO, crossLightsPO);
crossLightsPO.setName("灯组".concat(lightsPO.getLightsNo()));
crossLightsPO.setType(1);
if (Objects.equals(lightsPO.getType(), 1)) {
crossLightsPO.setType(2); // 1箭头 2圆饼
} else if (Objects.equals(lightsPO.getType(), 2)) {
crossLightsPO.setTurn(1); // 1箭头 2圆饼
} else if (Objects.equals(lightsPO.getType(), 3)) {
crossLightsPO.setTurn(2); // 1箭头 2圆饼
} else if (Objects.equals(lightsPO.getType(), 4)) {
crossLightsPO.setTurn(3); // 1箭头 2圆饼
} else if (Objects.equals(lightsPO.getType(), 20)) {
crossLightsPO.setType(3); // 1箭头 2圆饼
crossLightsPO.setTurn(20);
}
crossLightsMapper.insertOne(crossLightsPO);
}
}
List<CrossPhasePO> phasePOS = saveToUtcPO.getPhasePOS();
crossPhaseMapper.deleteByCrossId(crossId);
if (!CollectionUtils.isEmpty(phasePOS)) {
for (CrossPhasePO phasePO : phasePOS) {
CrossPhasePO crossPhasePO = new CrossPhasePO();
BeanUtils.copyProperties(phasePO, crossPhasePO);
crossPhasePO.setName("相位".concat(phasePO.getPhaseNo()));
crossPhasePO.setGroupNo(1);
crossPhasePO.setRingNo(1);
crossPhaseMapper.insertOne(crossPhasePO);
}
}
List<CrossPhaseLightsPO> phaseLightsPOS = saveToUtcPO.getPhaseLightsPOS();
crossPhaseLightsMapper.deleteByCrossId(crossId);
crossPhaseLightsMapper.insertBatch(phaseLightsPOS);
List<BaseCrossSchemePO> schemePOS = saveToUtcPO.getSchemePOS();
if (!CollectionUtils.isEmpty(schemePOS)) {
for (BaseCrossSchemePO schemePO : schemePOS) {
CrossSchemePO crossSchemePO = new CrossSchemePO();
BeanUtils.copyProperties(schemePO, crossSchemePO);
crossSchemeMapper.insertOne(crossSchemePO);
}
}
List<CrossSectionPO> sectionPOS = saveToUtcPO.getSectionPOS();
crossSectionMapper.deleteOne(crossId, null,null);
if (!CollectionUtils.isEmpty(sectionPOS)) {
for (CrossSectionPO sectionPO : sectionPOS) {
CrossSectionPO crossSectionPO = new CrossSectionPO();
BeanUtils.copyProperties(sectionPO, crossSectionPO);
crossSectionMapper.insertOne(crossSectionPO);
}
}
List<BaseCrossPlanPO> planPOS = saveToUtcPO.getPlanPOS();
if (!CollectionUtils.isEmpty(planPOS)) {
for (BaseCrossPlanPO planPO : planPOS) {
CrossPlanPO crossPlanPO = new CrossPlanPO();
BeanUtils.copyProperties(planPO, crossPlanPO);
crossPlanMapper.deleteOne(planPO.getCrossId(), Integer.valueOf(crossPlanPO.getPlanNo()));
crossPlanMapper.insertOne(crossPlanPO);
}
}
List<CrossSchedulesPO> schedulesPOS = saveToUtcPO.getSchedulesPOS();
crossSchedulesMapper.deleteByCrossId(crossId);
crossSchedulesMapper.insertBatch(schedulesPOS);
}
} catch (Exception e) {
log.error("下发数据到utc数据库失败:", e);
throw new Exception(e);
}
return JsonViewObject.newInstance().success("数据下发到Utc数据库成功");
}
}
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