Commit be0df028 authored by suhuiguang's avatar suhuiguang

feat(大编辑):管道增减功能开发

1.改造变更登记作废、使用登记作废调整
parent 61e30180
...@@ -129,20 +129,20 @@ public class EquipBackupHandler { ...@@ -129,20 +129,20 @@ public class EquipBackupHandler {
IdxBizJgSupervisionInfo supervisionInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_SUPERVISION_INFO), IdxBizJgSupervisionInfo.class); IdxBizJgSupervisionInfo supervisionInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_SUPERVISION_INFO), IdxBizJgSupervisionInfo.class);
IdxBizJgFactoryInfo factoryInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_FACTORY_INFO), IdxBizJgFactoryInfo.class); IdxBizJgFactoryInfo factoryInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_FACTORY_INFO), IdxBizJgFactoryInfo.class);
IdxBizJgUseInfo useInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_USE_INFO), IdxBizJgUseInfo.class); IdxBizJgUseInfo useInfo = JSONObject.parseObject(eq.getString(BACKUP_JSON_KEY_USE_INFO), IdxBizJgUseInfo.class);
otherInfoService.save(otherInfo); otherInfoService.saveOrUpdate(otherInfo);
registerInfoService.save(registerInfo); registerInfoService.saveOrUpdate(registerInfo);
supervisionInfoService.save(supervisionInfo); supervisionInfoService.saveOrUpdate(supervisionInfo);
factoryInfoService.save(factoryInfo); factoryInfoService.saveOrUpdate(factoryInfo);
useInfoService.save(useInfo); useInfoService.saveOrUpdate(useInfo);
// 检验流水 // 检验流水
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfos = JSONObject.parseArray(eq.getString(BACKUP_JSON_KEY_INSPECTION_DETECTION_INFO), IdxBizJgInspectionDetectionInfo.class); List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfos = JSONObject.parseArray(eq.getString(BACKUP_JSON_KEY_INSPECTION_DETECTION_INFO), IdxBizJgInspectionDetectionInfo.class);
if (!inspectionDetectionInfos.isEmpty()) { if (!inspectionDetectionInfos.isEmpty()) {
inspectionDetectionInfoService.saveBatch(inspectionDetectionInfos); inspectionDetectionInfoService.saveOrUpdateBatch(inspectionDetectionInfos);
} }
// 施工流水 // 施工流水
List<IdxBizJgConstructionInfo> constructionInfoList = JSONObject.parseArray(eq.getString(BACKUP_JSON_KEY_CONSTRUCTION_INFO), IdxBizJgConstructionInfo.class); List<IdxBizJgConstructionInfo> constructionInfoList = JSONObject.parseArray(eq.getString(BACKUP_JSON_KEY_CONSTRUCTION_INFO), IdxBizJgConstructionInfo.class);
if (!constructionInfoList.isEmpty()) { if (!constructionInfoList.isEmpty()) {
constructionInfoService.saveBatch(constructionInfoList); constructionInfoService.saveOrUpdateBatch(constructionInfoList);
} }
// 技术参数 // 技术参数
techParamsBackupService.save(registerInfo.getEquList(), eq.getString(BACKUP_JSON_KEY_TECH_PARAM_INFO)); techParamsBackupService.save(registerInfo.getEquList(), eq.getString(BACKUP_JSON_KEY_TECH_PARAM_INFO));
......
...@@ -60,35 +60,35 @@ public class TechParamsBackupService { ...@@ -60,35 +60,35 @@ public class TechParamsBackupService {
case GL: case GL:
// 锅炉 // 锅炉
IdxBizJgTechParamsBoiler bizJgTechParamsBoiler = JSONObject.parseObject(json, IdxBizJgTechParamsBoiler.class); IdxBizJgTechParamsBoiler bizJgTechParamsBoiler = JSONObject.parseObject(json, IdxBizJgTechParamsBoiler.class);
iIdxBizJgTechParamsBoilerService.save(bizJgTechParamsBoiler); iIdxBizJgTechParamsBoilerService.saveOrUpdate(bizJgTechParamsBoiler);
case YLRQ: case YLRQ:
// 压力容器 // 压力容器
IdxBizJgTechParamsVessel techParamsVessel = JSONObject.parseObject(json, IdxBizJgTechParamsVessel.class); IdxBizJgTechParamsVessel techParamsVessel = JSONObject.parseObject(json, IdxBizJgTechParamsVessel.class);
iIdxBizJgTechParamsVesselService.save(techParamsVessel); iIdxBizJgTechParamsVesselService.saveOrUpdate(techParamsVessel);
case DT: case DT:
// 电梯 // 电梯
IdxBizJgTechParamsElevator techParamsElevator = JSONObject.parseObject(json, IdxBizJgTechParamsElevator.class); IdxBizJgTechParamsElevator techParamsElevator = JSONObject.parseObject(json, IdxBizJgTechParamsElevator.class);
iIdxBizJgTechParamsElevatorService.save(techParamsElevator); iIdxBizJgTechParamsElevatorService.saveOrUpdate(techParamsElevator);
case QZJX: case QZJX:
// 起重机械 // 起重机械
IdxBizJgTechParamsLifting jgTechParamsLifting = JSONObject.parseObject(json, IdxBizJgTechParamsLifting.class); IdxBizJgTechParamsLifting jgTechParamsLifting = JSONObject.parseObject(json, IdxBizJgTechParamsLifting.class);
iIdxBizJgTechParamsLiftingService.save(jgTechParamsLifting); iIdxBizJgTechParamsLiftingService.saveOrUpdate(jgTechParamsLifting);
case CC: case CC:
// 场(厂)内专用机动车辆 // 场(厂)内专用机动车辆
IdxBizJgTechParamsVehicle techParamsVehicle = JSONObject.parseObject(json, IdxBizJgTechParamsVehicle.class); IdxBizJgTechParamsVehicle techParamsVehicle = JSONObject.parseObject(json, IdxBizJgTechParamsVehicle.class);
iIdxBizJgTechParamsVehicleService.save(techParamsVehicle); iIdxBizJgTechParamsVehicleService.saveOrUpdate(techParamsVehicle);
case YLSS: case YLSS:
// 大型游乐设施 // 大型游乐设施
IdxBizJgTechParamsRides techParamsRides = JSONObject.parseObject(json, IdxBizJgTechParamsRides.class); IdxBizJgTechParamsRides techParamsRides = JSONObject.parseObject(json, IdxBizJgTechParamsRides.class);
iIdxBizJgTechParamsRidesService.save(techParamsRides); iIdxBizJgTechParamsRidesService.saveOrUpdate(techParamsRides);
case YLGD: case YLGD:
// 压力管道 // 压力管道
IdxBizJgTechParamsPipeline techParamsPipeline = JSONObject.parseObject(json, IdxBizJgTechParamsPipeline.class); IdxBizJgTechParamsPipeline techParamsPipeline = JSONObject.parseObject(json, IdxBizJgTechParamsPipeline.class);
iIdxBizJgTechParamsPipelineService.save(techParamsPipeline); iIdxBizJgTechParamsPipelineService.saveOrUpdate(techParamsPipeline);
case KYSD: case KYSD:
// 客运索道 // 客运索道
IdxBizJgTechParamsRopeway techParamsRopeway = JSONObject.parseObject(json, IdxBizJgTechParamsRopeway.class); IdxBizJgTechParamsRopeway techParamsRopeway = JSONObject.parseObject(json, IdxBizJgTechParamsRopeway.class);
iIdxBizJgTechParamsRopewayService.save(techParamsRopeway); iIdxBizJgTechParamsRopewayService.saveOrUpdate(techParamsRopeway);
default: default:
break; break;
} }
......
...@@ -739,6 +739,16 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -739,6 +739,16 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// 检验信息更新或者插入及记录原始数据用来作废时恢复数据用 // 检验信息更新或者插入及记录原始数据用来作废时恢复数据用
updateOrCreateInspectionDetection(item, jgChangeRegistrationReform); updateOrCreateInspectionDetection(item, jgChangeRegistrationReform);
paramsPipelines.add(pipeline); paramsPipelines.add(pipeline);
// 更新注册信息表的使用登记证
LambdaUpdateWrapper<IdxBizJgRegisterInfo> registerInfoLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
registerInfoLambdaUpdateWrapper.eq(IdxBizJgRegisterInfo::getRecord, item.getString("record"));
registerInfoLambdaUpdateWrapper.set(IdxBizJgRegisterInfo::getUseOrgCode, jgChangeRegistrationReform.getUseRegistrationCode());
idxBizJgRegisterInfoService.update(registerInfoLambdaUpdateWrapper);
// 更新使用信息表的纳管状态
LambdaUpdateWrapper<IdxBizJgUseInfo> useInfoLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
useInfoLambdaUpdateWrapper.eq(IdxBizJgUseInfo::getRecord, item.getString("record"));
useInfoLambdaUpdateWrapper.set(IdxBizJgUseInfo::getIsIntoManagement, true);
idxBizJgUseInfoService.update(useInfoLambdaUpdateWrapper);
} }
return paramsPipelines; return paramsPipelines;
} }
...@@ -1494,7 +1504,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -1494,7 +1504,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// 编辑过则按照编辑的数据进行恢复管道信息 // 编辑过则按照编辑的数据进行恢复管道信息
Boolean isRollBack = backupManager.restore(jgChangeRegistrationReform.getSequenceNbr() + ""); Boolean isRollBack = backupManager.restore(jgChangeRegistrationReform.getSequenceNbr() + "");
if(isRollBack){ // 进行过编辑逻辑 if(isRollBack){ // 进行过编辑逻辑
// 1.原装置、新装置重新计算管道长度 // 1.装置重新计算管道长度
this.updateTotalPieLineLength(jgChangeRegistrationReform.getProjectContraptionId()); this.updateTotalPieLineLength(jgChangeRegistrationReform.getProjectContraptionId());
} }
} }
......
...@@ -3122,7 +3122,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -3122,7 +3122,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if ("1".equals(jgUseRegistration.getRegType())){ if ("1".equals(jgUseRegistration.getRegType())){
// 管道增减特殊作废逻辑,管道全量数据为装置下的所有管道(已完成时,编辑装置进行增减不会修改eq表,所以eq表不是全量管道) // 管道增减特殊作废逻辑,管道全量数据为装置下的所有管道(已完成时,编辑装置进行增减不会修改eq表,所以eq表不是全量管道)
if(!ValidationUtil.isEmpty(jgUseRegistration.getProjectContraptionId())){ if(!ValidationUtil.isEmpty(jgUseRegistration.getProjectContraptionId())){
records = idxBizJgUseInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, jgUseRegistration.getProjectContraptionId())).stream().map(IdxBizJgUseInfo::getRecord).collect(toList()); records = idxBizJgUseInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, jgUseRegistration.getProjectContraptionId()).select(IdxBizJgUseInfo::getRecord)).stream().map(IdxBizJgUseInfo::getRecord).collect(toList());
} }
// 构建设备删除的 DTO 列表 // 构建设备删除的 DTO 列表
List<ESEquipmentCategoryDto> esDtoList = records.stream().map(v -> { List<ESEquipmentCategoryDto> esDtoList = records.stream().map(v -> {
...@@ -3166,14 +3166,82 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -3166,14 +3166,82 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!jgUseRegistration.getOriginProjectContraptionIds().contains(jgUseRegistration.getProjectContraptionId())){ if (!jgUseRegistration.getOriginProjectContraptionIds().contains(jgUseRegistration.getProjectContraptionId())){
Boolean isRollBack = useRegisterBackupManager.restore(jgUseRegistration.getSequenceNbr() + ""); Boolean isRollBack = useRegisterBackupManager.restore(jgUseRegistration.getSequenceNbr() + "");
if(isRollBack){ // 进行过编辑逻辑 if(isRollBack){ // 进行过编辑逻辑
// 1.根据工程装置ID查询工程装置父级,重置子工程装置父级为空 // 1.还原子工程装置的下的管道信息(装置id)
eqList.stream()
.filter(v -> jgUseRegistration.getOriginProjectContraptionIds().contains(v.getOriginProjectContraptionId()))
.forEach(v -> esEquipmentCategory.findById(v.getEquId()).ifPresent(equInfoEs -> {
equInfoEs.setProjectContraptionId(v.getOriginProjectContraptionId());
esEquipmentCategory.save(equInfoEs);
LambdaQueryWrapper<IdxBizJgUseInfo> lambda = new QueryWrapper<IdxBizJgUseInfo>().lambda();
lambda.eq(IdxBizJgUseInfo::getRecord, String.valueOf(v.getEquId()));
IdxBizJgUseInfo useInfo = useInfoMapper.selectOne(lambda);
useInfo.setProjectContraptionId(v.getOriginProjectContraptionId());
useInfoMapper.updateById(useInfo);
IdxBizJgProjectContraption originProjectContraption = jgProjectContraptionService.getById(v.getOriginProjectContraptionId());
//还原 原工程装置下equCode和监管码
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda()
.eq(IdxBizJgRegisterInfo::getRecord, v.getEquId());
updateWrapper.set(IdxBizJgRegisterInfo::getEquCode,originProjectContraption.getEquCode());
updateWrapper.set(IdxBizJgRegisterInfo::getUseOrgCode,null);
idxBizJgRegisterInfoMapper.update(null, updateWrapper);
LambdaUpdateWrapper<IdxBizJgOtherInfo> otherInfoLambdaUpdateWrapper = new UpdateWrapper<IdxBizJgOtherInfo>().lambda()
.eq(IdxBizJgOtherInfo::getRecord, v.getEquId());
IdxBizJgOtherInfo idxBizJgOtherInfo = new IdxBizJgOtherInfo();
idxBizJgOtherInfo.setSupervisoryCode(originProjectContraption.getSupervisoryCode());
otherInfoMapper.update(idxBizJgOtherInfo, otherInfoLambdaUpdateWrapper);
}));
// 2.根据工程装置ID查询工程装置父级,重置子工程装置父级为空
jgProjectContraptionService.update( jgProjectContraptionService.update(
new LambdaUpdateWrapper<IdxBizJgProjectContraption>() new LambdaUpdateWrapper<IdxBizJgProjectContraption>()
.in(BaseEntity::getSequenceNbr, Arrays.asList(jgUseRegistration.getOriginProjectContraptionIds().split(","))) .in(BaseEntity::getSequenceNbr, Arrays.asList(jgUseRegistration.getOriginProjectContraptionIds().split(",")))
.set(IdxBizJgProjectContraption::getProjectContraptionParentId, null) .set(IdxBizJgProjectContraption::getProjectContraptionParentId, null)
); );
// 2.原装置、新装置重新计算管道长度 // 3.原装置、新装置重新计算管道长度
this.updateTotalPieLineLength(jgUseRegistration.getOriginProjectContraptionIds(), jgUseRegistration.getProjectContraptionId()); this.updateTotalPieLineLength(jgUseRegistration.getOriginProjectContraptionIds(), jgUseRegistration.getProjectContraptionId());
// 4.父工程装置按照是否为有证装置进行更新
JgRegistrationHistory history = jgRegistrationHistoryService.queryLatestRegistrationHistory(Long.valueOf(jgUseRegistration.getProjectContraptionId()));
if (history != null && history.getChangeData() != null) {
JSONObject hisJson = JSON.parseObject(history.getChangeData());
boolean isFirstMerge = Optional.ofNullable(hisJson.get("isFirstMerge"))
.map(Boolean.class::cast)
.orElse(false);
//合并到无证总工程
IdxBizJgProjectContraption projectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
if (isFirstMerge) {
projectContraption.setIsIntoManagement(false);
projectContraption.setIsFirstMerge(true);
projectContraption.setSupervisoryCode(null);
projectContraption.setEquCode(null);
projectContraption.setUseRegistrationCode(null);
projectContraption.setPipelineLength(0.0);
// 处理非批量导入数据,更新关联业务状态
processElseDataByStatus(oldStatus, jgUseRegistration);
// 统一处理设备的纳管状态【注册事务提交后的操作】
registerAfterCommitTask(records);
}else{
// 查询原工程装置及 useInfo 记录
List<String> originProjectContraptionIds = Arrays.asList(jgUseRegistration.getOriginProjectContraptionIds().split(","));
List<IdxBizJgProjectContraption> originProjectContraptionList = jgProjectContraptionService.lambdaQuery()
.in(BaseEntity::getSequenceNbr, originProjectContraptionIds)
.list();
records = idxBizJgUseInfoService.lambdaQuery()
.select(IdxBizJgUseInfo::getRecord)
.in(IdxBizJgUseInfo::getProjectContraptionId, originProjectContraptionIds)
.list()
.stream()
.map(IdxBizJgUseInfo::getRecord)
.collect(Collectors.toList());
// 统一处理设备的纳管状态
registerAfterCommitTask(records);
processElseDataByStatus(oldStatus, jgUseRegistration);
}
jgProjectContraptionService.updateById(projectContraption);
}
} else { // 未进行过编辑逻辑,走原来逻辑 } else { // 未进行过编辑逻辑,走原来逻辑
eqList.stream() eqList.stream()
.filter(v -> jgUseRegistration.getOriginProjectContraptionIds().contains(v.getOriginProjectContraptionId())) .filter(v -> jgUseRegistration.getOriginProjectContraptionIds().contains(v.getOriginProjectContraptionId()))
...@@ -3294,9 +3362,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -3294,9 +3362,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private void updateTotalPieLineLength(String originProjectContraptionIds, String projectContraptionId) { private void updateTotalPieLineLength(String originProjectContraptionIds, String projectContraptionId) {
String[] oPids = originProjectContraptionIds != null ? originProjectContraptionIds.split(",") : null; String[] oPids = originProjectContraptionIds != null ? originProjectContraptionIds.split(",") : null;
Set<String> pIds = null; Set<String> pIds = new HashSet<>();
if (oPids != null) { if (oPids != null) {
pIds = new HashSet<>(Arrays.asList(oPids)); pIds.addAll(Arrays.asList(oPids));
} }
pIds.add(projectContraptionId); pIds.add(projectContraptionId);
pIds.parallelStream().forEach(pid->{ pIds.parallelStream().forEach(pid->{
......
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