Commit 9add810f authored by 韩桐桐's avatar 韩桐桐

fix(jg):向新增的工程装置表刷入数据-完善逻辑

parent 3f13132e
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -42,6 +40,12 @@ public class DataHandlerServiceImpl { ...@@ -42,6 +40,12 @@ public class DataHandlerServiceImpl {
private JgUseRegistrationServiceImpl useRegistrationService; private JgUseRegistrationServiceImpl useRegistrationService;
@Resource @Resource
private JgUseRegistrationEqServiceImpl useRegistrationEqService;
@Resource
private JgInstallationNoticeEqServiceImpl installationNoticeEqService;
@Resource
private IdxBizJgUseInfoServiceImpl useInfoService; private IdxBizJgUseInfoServiceImpl useInfoService;
@Resource @Resource
...@@ -127,41 +131,68 @@ public class DataHandlerServiceImpl { ...@@ -127,41 +131,68 @@ public class DataHandlerServiceImpl {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean writeData2ProjectContraption() { public Boolean writeData2ProjectContraption() {
Set<String> projectContraptions = useInfoService.lambdaQuery()
.select(IdxBizJgUseInfo::getProjectContraption) projectContraptionService.getBaseMapper().delete(null);
.groupBy(IdxBizJgUseInfo::getProjectContraption)
List<IdxBizJgUseInfo> collect = useInfoService.lambdaQuery()
.select(IdxBizJgUseInfo::getRecord, IdxBizJgUseInfo::getProjectContraption, IdxBizJgUseInfo::getUseUnitCreditCode, IdxBizJgUseInfo::getUseUnitName, IdxBizJgUseInfo::getIsIntoManagement)
.isNotNull(IdxBizJgUseInfo::getProjectContraption)
.ne(IdxBizJgUseInfo::getProjectContraption, "")
.groupBy(IdxBizJgUseInfo::getProjectContraption, IdxBizJgUseInfo::getUseUnitCreditCode)
.list().stream() .list().stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(IdxBizJgUseInfo::getProjectContraption) .collect(Collectors.toList());
.filter(Objects::nonNull) log.info("查询到的工程装置集合: {}", JSON.toJSONString(collect));
.filter(StringUtils::hasText)
.collect(Collectors.toSet());
log.info("查询到的工程装置集合: {}", projectContraptions);
List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>(); List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>();
Iterator<String> iterator = projectContraptions.iterator(); Iterator<IdxBizJgUseInfo> iterator = collect.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
String projectContraption = iterator.next(); IdxBizJgUseInfo useInfo = iterator.next();
boolean isLast = !iterator.hasNext(); boolean isLast = !iterator.hasNext();
String record = useInfo.getRecord();
Boolean isIntoManagement = useInfo.getIsIntoManagement();
String projectContraption = useInfo.getProjectContraption();
String useUnitCreditCode = useInfo.getUseUnitCreditCode();
Long sequenceNbr = sequence.nextId(); Long sequenceNbr = sequence.nextId();
JgInstallationNotice installationNotice = installationNoticeService.lambdaQuery() List<String> installNotSeqs = installationNoticeEqService.lambdaQuery()
.eq(JgInstallationNotice::getProjectContraption, projectContraption) .eq(JgInstallationNoticeEq::getEquId, record)
.list().stream()
.filter(Objects::nonNull)
.map(JgInstallationNoticeEq::getEquipTransferId)
.collect(Collectors.toList());
JgInstallationNotice installationNotice = installNotSeqs.isEmpty() ? null : installationNoticeService.lambdaQuery()
.in(JgInstallationNotice::getSequenceNbr, installNotSeqs)
.eq(JgInstallationNotice::getUseUnitCreditCode, useUnitCreditCode)
.eq(JgInstallationNotice::getNoticeStatus, FlowStatusEnum.TO_BE_FINISHED.getCode()) .eq(JgInstallationNotice::getNoticeStatus, FlowStatusEnum.TO_BE_FINISHED.getCode())
.list().stream() .list().stream()
.findFirst().orElse(null); .findFirst().orElse(null);
JgUseRegistration useRegistration = useRegistrationService.lambdaQuery() List<String> useRegSeqs = useRegistrationEqService.lambdaQuery()
.eq(JgUseRegistration::getProjectContraption, projectContraption) .eq(JgUseRegistrationEq::getEquId, record)
.list().stream()
.filter(Objects::nonNull)
.map(JgUseRegistrationEq::getEquipTransferId)
.collect(Collectors.toList());
JgUseRegistration useRegistration = useRegSeqs.isEmpty() ? null : useRegistrationService.lambdaQuery()
.in(JgUseRegistration::getSequenceNbr, useRegSeqs)
.eq(JgUseRegistration::getUseUnitCreditCode, useUnitCreditCode)
.eq(JgUseRegistration::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName()) .eq(JgUseRegistration::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName())
.list().stream() .list().stream()
.findFirst().orElse(null); .findFirst().orElse(null);
List<IdxBizJgUseInfo> useInfos = useInfoService.lambdaQuery() List<IdxBizJgUseInfo> useInfos = useInfoService.lambdaQuery()
.eq(IdxBizJgUseInfo::getProjectContraption, projectContraption) .eq(IdxBizJgUseInfo::getProjectContraption, projectContraption)
.eq(IdxBizJgUseInfo::getUseUnitCreditCode, useUnitCreditCode)
.list(); .list();
List<IdxBizJgTechParamsPipeline> idxBizJgTechParamsPipelines = techParamsPipelineService.lambdaQuery() List<IdxBizJgTechParamsPipeline> idxBizJgTechParamsPipelines = useInfos.isEmpty() ? new ArrayList<>() : techParamsPipelineService
.lambdaQuery()
.in(IdxBizJgTechParamsPipeline::getRecord, useInfos.stream() .in(IdxBizJgTechParamsPipeline::getRecord, useInfos.stream()
.map(IdxBizJgUseInfo::getRecord) .map(IdxBizJgUseInfo::getRecord)
.collect(Collectors.toList())) .collect(Collectors.toList()))
...@@ -196,10 +227,10 @@ public class DataHandlerServiceImpl { ...@@ -196,10 +227,10 @@ public class DataHandlerServiceImpl {
IdxBizJgProjectContraption idxBizJgProjectContraption = IdxBizJgProjectContraption.builder() IdxBizJgProjectContraption idxBizJgProjectContraption = IdxBizJgProjectContraption.builder()
.projectContraption(projectContraption) .projectContraption(projectContraption)
.projectContraptionNo(projectContraption) .projectContraptionNo(projectContraption)
.useUnitCreditCode(ObjectUtils.isEmpty(useRegistration) ? null : useRegistration.getUseUnitCreditCode()) .useUnitCreditCode(isIntoManagement ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getUseUnitCreditCode()) : null)
.useUnitName(ObjectUtils.isEmpty(useRegistration) ? null : useRegistration.getUseUnitName()) .useUnitName(isIntoManagement ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getUseUnitName()) : null)
.uscUnitCreditCode(ObjectUtils.isEmpty(useRegistration) ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getInstallUnitCreditCode()) : null) .uscUnitCreditCode(isIntoManagement ? (ObjectUtils.isEmpty(useRegistration) ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getInstallUnitCreditCode()) : null) : null)
.uscUnitName(ObjectUtils.isEmpty(useRegistration) ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getInstallUnitName()) : null) .uscUnitName(isIntoManagement ? (ObjectUtils.isEmpty(useRegistration) ? (ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getInstallUnitName()) : null) : null)
.equList(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquListCode()) .equList(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquListCode())
.equListName(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquList()) .equListName(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquList())
.equCategory(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquCategoryCode()) .equCategory(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getEquCategoryCode())
...@@ -226,7 +257,7 @@ public class DataHandlerServiceImpl { ...@@ -226,7 +257,7 @@ public class DataHandlerServiceImpl {
.endLatitudeLongitude(ObjectUtils.isEmpty(idxBizJgTechParamsPipelines) ? null : idxBizJgTechParamsPipelines.get(0).getEndPosition()) .endLatitudeLongitude(ObjectUtils.isEmpty(idxBizJgTechParamsPipelines) ? null : idxBizJgTechParamsPipelines.get(0).getEndPosition())
.supervisoryCode(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getSupervisoryCode()) .supervisoryCode(ObjectUtils.isEmpty(installationNotice) ? null : installationNotice.getSupervisoryCode())
.useRegistrationCode(ObjectUtils.isEmpty(useRegistration) ? null : useRegistration.getUseRegistrationCode()) .useRegistrationCode(ObjectUtils.isEmpty(useRegistration) ? null : useRegistration.getUseRegistrationCode())
.isIntoManagement(Boolean.TRUE) .isIntoManagement(isIntoManagement)
.dataSource("jg") .dataSource("jg")
.build(); .build();
idxBizJgProjectContraption.setSequenceNbr(sequenceNbr); idxBizJgProjectContraption.setSequenceNbr(sequenceNbr);
...@@ -241,17 +272,27 @@ public class DataHandlerServiceImpl { ...@@ -241,17 +272,27 @@ public class DataHandlerServiceImpl {
useInfoService.lambdaUpdate() useInfoService.lambdaUpdate()
.set(IdxBizJgUseInfo::getProjectContraptionId, sequenceNbr) .set(IdxBizJgUseInfo::getProjectContraptionId, sequenceNbr)
.eq(IdxBizJgUseInfo::getProjectContraption, projectContraption) .eq(IdxBizJgUseInfo::getProjectContraption, projectContraption)
.eq(IdxBizJgUseInfo::getUseUnitCreditCode, useUnitCreditCode)
.update(); .update();
installationNoticeService.lambdaUpdate() if (!installNotSeqs.isEmpty()) {
.set(JgInstallationNotice::getProjectContraptionId, sequenceNbr) installationNoticeService.lambdaUpdate()
.eq(JgInstallationNotice::getProjectContraption, projectContraption) .set(JgInstallationNotice::getProjectContraptionId, sequenceNbr)
.update(); .in(JgInstallationNotice::getSequenceNbr, installNotSeqs)
.eq(JgInstallationNotice::getProjectContraption, projectContraption)
.eq(JgInstallationNotice::getUseUnitCreditCode, useUnitCreditCode)
.update();
}
if (!useRegSeqs.isEmpty()) {
useRegistrationService.lambdaUpdate()
.set(JgUseRegistration::getProjectContraptionId, sequenceNbr)
.in(JgUseRegistration::getSequenceNbr, useRegSeqs)
.eq(JgUseRegistration::getProjectContraption, projectContraption)
.eq(JgUseRegistration::getUseUnitCreditCode, useUnitCreditCode)
.update();
}
useRegistrationService.lambdaUpdate()
.set(JgUseRegistration::getProjectContraptionId, sequenceNbr)
.eq(JgUseRegistration::getProjectContraption, projectContraption)
.update();
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
......
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