Commit 9981ff7a authored by Lambertliu's avatar Lambertliu

fix(jg):管道使用登记功能Bug修改

parent ec2f0d6e
...@@ -646,6 +646,8 @@ ...@@ -646,6 +646,8 @@
pp."WORK_TEMPERATURE" AS workTemperature, pp."WORK_TEMPERATURE" AS workTemperature,
pp."WORK_MEDIUM" AS workMedium, pp."WORK_MEDIUM" AS workMedium,
(select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName, (select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName,
(select INSPECT_ORG_CODE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgCode,
(select INSPECT_REPORT_NO from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectReportNo,
(select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectConclusionCode, (select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectConclusionCode,
(select name from cb_data_dictionary where type = 'JYJL' and code = (select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1)) inspectConclusion, (select name from cb_data_dictionary where type = 'JYJL' and code = (select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1)) inspectConclusion,
to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1), 'YYYY-MM-DD') nextInspectDate to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1), 'YYYY-MM-DD') nextInspectDate
......
...@@ -402,12 +402,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -402,12 +402,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private void updateOrCreateInspectionDetection(Map<String, Object> equipment, JgUseRegistration jgUseRegistration, IdxBizJgRegisterInfo registerInfo) { private void updateOrCreateInspectionDetection(Map<String, Object> equipment, JgUseRegistration jgUseRegistration, IdxBizJgRegisterInfo registerInfo) {
InspectionDetectionInfo inspectionDetectionInfo = new InspectionDetectionInfo(); InspectionDetectionInfo inspectionDetectionInfo = new InspectionDetectionInfo();
BeanUtil.copyProperties(equipment, inspectionDetectionInfo); BeanUtil.copyProperties(equipment, inspectionDetectionInfo);
String record = equipment.get("record").toString();
if("unit".equals(jgUseRegistration.getManageType()) && registerInfo.getEquList().equals(EquipmentClassifityEnum.YLGD.getCode())){ if("unit".equals(jgUseRegistration.getManageType())){
// 压力管道逻辑,根据设备record + 检验报告编号判定唯一一条检验流水,有进行更新,无则进行插入 if (registerInfo.getEquList().equals(EquipmentClassifityEnum.YLGD.getCode())){
inspectionDetectionInfo.setInspectConclusion((String) equipment.get("inspectConclusionCode")); // 压力管道逻辑,根据设备record + 检验报告编号判定唯一一条检验流水,有进行更新,无则进行插入
saveEquipOfPieLineInspectData(record, inspectionDetectionInfo); String record = equipment.get("record").toString();
inspectionDetectionInfo.setInspectConclusion((String) equipment.get("inspectConclusionCode"));
saveEquipOfPieLineInspectData(record, inspectionDetectionInfo);
}
} else { } else {
// 其他逻辑 // 其他逻辑
if (equipment.get("jySeq") != null) { if (equipment.get("jySeq") != null) {
...@@ -416,6 +418,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -416,6 +418,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Bean.copyExistPropertis(inspectionDetectionInfo, inspectionDetectionInfoDb); Bean.copyExistPropertis(inspectionDetectionInfo, inspectionDetectionInfoDb);
inspectionDetectionInfoMapper.updateById(inspectionDetectionInfoDb); inspectionDetectionInfoMapper.updateById(inspectionDetectionInfoDb);
} else { } else {
String record = Optional.ofNullable(equipment.get("equipId"))
.map(Object::toString)
.orElse("");
// 插入逻辑 // 插入逻辑
if (inspectionDetectionInfo.getInspectType() != null && inspectionDetectionInfo.getInspectConclusion() != null) { if (inspectionDetectionInfo.getInspectType() != null && inspectionDetectionInfo.getInspectConclusion() != null) {
inspectionDetectionInfo.setRecord(record); inspectionDetectionInfo.setRecord(record);
...@@ -1076,6 +1081,26 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1076,6 +1081,26 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
IdxBizJgProjectContraption jgProjectContraption = null; IdxBizJgProjectContraption jgProjectContraption = null;
if (!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())) { if (!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())) {
jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId()); jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
boolean isFirstMerge = jgProjectContraption.getIsFirstMerge();
mapData.put("isFirstMerge", isFirstMerge);
// 装置表写入使用登记证编号、将装置名称写入到使用登记表
updateRegAndProjectContraption(jgUseRegistration, mapData, jgProjectContraption);
//首次合并,给工程装置生成设备代码和监管码
if (isFirstMerge){
Map<String, Object> createCodeMap = new HashMap<>();
createCodeMap.put("cityCode", jgProjectContraption.getCity());
createCodeMap.put("countyCode", jgProjectContraption.getCounty());
createCodeMap.put("equCategory", jgProjectContraption.getEquCategory());
createCodeMap.put("isXiXian", jgUseRegistration.getIsXixian() == null ? "null" : jgUseRegistration.getIsXixian().equals("0") ? "null" : "1");
ResponseModel<Map<String, Object>> resultModel = tzsServiceFeignClient.createCode(createCodeMap);
String superviseCode = resultModel.getResult().get("superviseCode").toString();
supervisoryCodeInfoMapper.updateStatusBySuperviseCode(superviseCode);
// 生成设备代码
String equCode = generateEquCode(jgProjectContraption.getEquList(), jgProjectContraption.getEquCategory(), jgProjectContraption.getEquDefine(),
new Date(), jgUseRegistration.getReceiveCompanyCode());
jgProjectContraption.setEquCode(equCode);
jgProjectContraption.setSupervisoryCode(superviseCode);
}
} }
if (!CollectionUtils.isEmpty(equipmentLists)) { if (!CollectionUtils.isEmpty(equipmentLists)) {
for (int i = 0; i < equipmentLists.size(); i++) { for (int i = 0; i < equipmentLists.size(); i++) {
...@@ -1092,7 +1117,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1092,7 +1117,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda(); LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId"))); lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth); IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth);
if (isMerge && jgProjectContraption != null) { if (jgProjectContraption != null && (isMerge || (Boolean) mapData.get("isFirstMerge"))) {
otherInfo.setSupervisoryCode(jgProjectContraption.getSupervisoryCode()); otherInfo.setSupervisoryCode(jgProjectContraption.getSupervisoryCode());
registerInfo.setEquCode(jgProjectContraption.getEquCode()); registerInfo.setEquCode(jgProjectContraption.getEquCode());
} }
...@@ -1117,6 +1142,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1117,6 +1142,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
certificateChangeRecordEqService.save(changeRecordEq); certificateChangeRecordEqService.save(changeRecordEq);
} }
} }
// 更新工程装置信息
if (Objects.nonNull(jgProjectContraption)) {
jgProjectContraption.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());
}
jgProjectContraptionService.updateById(jgProjectContraption);
// 取第一条设备的注册消息--用来获取这一批设备的设备种类/类别/品种 // 取第一条设备的注册消息--用来获取这一批设备的设备种类/类别/品种
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId"))); lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId")));
...@@ -1131,8 +1161,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1131,8 +1161,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 更新历史表:下次检验日期、检验机构名称、检验结论在压力管道、气瓶时更新子表单的数据 // 更新历史表:下次检验日期、检验机构名称、检验结论在压力管道、气瓶时更新子表单的数据
jgRegistrationHistory.setChangeData(JSON.toJSONString(mapData)); jgRegistrationHistory.setChangeData(JSON.toJSONString(mapData));
jgRegistrationHistoryService.updateById(jgRegistrationHistory); jgRegistrationHistoryService.updateById(jgRegistrationHistory);
// 装置表写入使用登记证编号、将装置名称写入到使用登记表
updateRegAndProjectContraption(jgUseRegistration, mapData, jgProjectContraption);
} }
this.getBaseMapper().updateById(jgUseRegistration); this.getBaseMapper().updateById(jgUseRegistration);
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration)); commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
...@@ -1142,7 +1170,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1142,7 +1170,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
//总工程装置 //总工程装置
if(!StringUtils.isEmpty(jgProjectContraption)){ if(!StringUtils.isEmpty(jgProjectContraption)){
jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption()); jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption());
jgProjectContraption.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());
jgProjectContraption.setUseDate(String.valueOf(mapData.get("useDate"))); jgProjectContraption.setUseDate(String.valueOf(mapData.get("useDate")));
jgProjectContraption.setCity(String.valueOf(mapData.get("city"))); jgProjectContraption.setCity(String.valueOf(mapData.get("city")));
jgProjectContraption.setCounty(String.valueOf(mapData.get("county"))); jgProjectContraption.setCounty(String.valueOf(mapData.get("county")));
...@@ -1179,7 +1206,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1179,7 +1206,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 2. 修改原始工程装置表的父级工程装置 ID // 2. 修改原始工程装置表的父级工程装置 ID
List<IdxBizJgProjectContraption> originProjectContraptionList = jgProjectContraptionService.lambdaQuery() List<IdxBizJgProjectContraption> originProjectContraptionList = jgProjectContraptionService.lambdaQuery()
.in(BaseEntity::getSequenceNbr, jgUseRegistration.getOriginProjectContraptionIds()) .in(BaseEntity::getSequenceNbr, Arrays.asList(jgUseRegistration.getOriginProjectContraptionIds().split(",")))
.list(); .list();
originProjectContraptionList.forEach(contraption -> { originProjectContraptionList.forEach(contraption -> {
...@@ -1193,8 +1220,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1193,8 +1220,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
: Double.parseDouble(String.valueOf(pipelineLengthObj)) : Double.parseDouble(String.valueOf(pipelineLengthObj))
); );
} }
// 更新 jgProjectContraption 数据
jgProjectContraptionService.updateById(jgProjectContraption);
} }
} }
...@@ -1486,7 +1511,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1486,7 +1511,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
TaskV2Model taskV2Model = updateAgency(jgUseRegistration); TaskV2Model taskV2Model = updateAgency(jgUseRegistration);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, otherInfo, taskV2Model, processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, otherInfo, taskV2Model,
jsonObject, Boolean.FALSE, null, null, Boolean.FALSE); jsonObject, Boolean.FALSE, null, mapData, Boolean.FALSE);
// 生成证书管理表记录 // 生成证书管理表记录
generateRegistrationManage(jgUseRegistration, registerInfo, Boolean.FALSE, null); generateRegistrationManage(jgUseRegistration, registerInfo, Boolean.FALSE, null);
...@@ -1531,18 +1556,18 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1531,18 +1556,18 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord()); lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord());
lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, code); lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, code);
lambda.set(isMerge, IdxBizJgRegisterInfo::getEquCode, registerInfo.getEquCode());
// 新增页面选择无设备代码后,在审批通过后自动生成设备代码 // 新增页面选择无设备代码后,在审批通过后自动生成设备代码
this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory); this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory);
lambda.set(isMerge ||(Boolean) mapData.get("isFirstMerge"), IdxBizJgRegisterInfo::getEquCode, registerInfo.getEquCode());
idxBizJgRegisterInfoService.update(lambda); idxBizJgRegisterInfoService.update(lambda);
} else { } else {
registerInfo.setUseOrgCode(jgUseRegistration.getUseRegistrationCode()); registerInfo.setUseOrgCode(jgUseRegistration.getUseRegistrationCode());
LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord()); lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord());
lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, jgUseRegistration.getUseRegistrationCode()); lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, jgUseRegistration.getUseRegistrationCode());
lambda.set(isMerge, IdxBizJgRegisterInfo::getEquCode, registerInfo.getEquCode());
// 新增页面选择无设备代码后,在审批通过后自动生成设备代码 // 新增页面选择无设备代码后,在审批通过后自动生成设备代码
this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory); this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory);
lambda.set(isMerge ||(Boolean) mapData.get("isFirstMerge"), IdxBizJgRegisterInfo::getEquCode, registerInfo.getEquCode());
idxBizJgRegisterInfoService.update(lambda); idxBizJgRegisterInfoService.update(lambda);
} }
} else { } else {
...@@ -1656,6 +1681,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1656,6 +1681,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return codeUtil.generateEquipmentCode(codeGenerateDto); return codeUtil.generateEquipmentCode(codeGenerateDto);
} }
public String generateEquCode(String equListCode, String equCategoryCode, String equDefineCode, Date now, String receiveCompanyCode) {
CodeGenerateDto codeGenerateDto = new CodeGenerateDto();
codeGenerateDto.setEquList(equListCode);
codeGenerateDto.setEquCategory(equCategoryCode);
codeGenerateDto.setEquDefine(equDefineCode);
codeGenerateDto.setProduceDate(now);
codeGenerateDto.setReceiveCompanyCode(receiveCompanyCode);
return codeUtil.generateEquipmentCode(codeGenerateDto);
}
public void updateEsData(String usePlace, JSONObject dataMap, IdxBizJgOtherInfo otherInfo,IdxBizJgUseInfo useInfo, public void updateEsData(String usePlace, JSONObject dataMap, IdxBizJgOtherInfo otherInfo,IdxBizJgUseInfo useInfo,
JgUseRegistration jgUseRegistration, JSONObject jsonObject) { JgUseRegistration jgUseRegistration, JSONObject jsonObject) {
// 更新es // 更新es
...@@ -2883,41 +2918,123 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2883,41 +2918,123 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 1.更新为已作废 // 1.更新为已作废
JgUseRegistration jgUseRegistration = this.getById(sequenceNbr); JgUseRegistration jgUseRegistration = this.getById(sequenceNbr);
String oldStatus = jgUseRegistration.getStatus(); String oldStatus = jgUseRegistration.getStatus();
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
jgUseRegistration.setCancelReason(cancelReason); jgUseRegistration.setCancelReason(cancelReason);
jgUseRegistration.setCancelDate(new Date()); jgUseRegistration.setCancelDate(new Date());
jgUseRegistration.setCancelUserId(RequestContext.getExeUserId()); jgUseRegistration.setCancelUserId(RequestContext.getExeUserId());
jgUseRegistration.setNextExecuteUserIds(""); jgUseRegistration.setNextExecuteUserIds("");
jgUseRegistration.setPromoter(""); jgUseRegistration.setPromoter("");
this.updateById(jgUseRegistration);
List<JgUseRegistrationEq> eqList = getJgUseRegistrationEqs(jgUseRegistration); List<JgUseRegistrationEq> eqList = getJgUseRegistrationEqs(jgUseRegistration);
List<String> records = eqList.stream().map(JgUseRegistrationEq::getEquId).collect(Collectors.toList()); List<String> records = eqList.stream().map(JgUseRegistrationEq::getEquId).collect(Collectors.toList());
//判断是否为批量导入数据,作废后删除设备信息
if("1".equals(jgUseRegistration.getRegType()) && "unit".equals(jgUseRegistration.getManageType())){ // 单位办理
// 构建设备删除的 DTO 列表 if ("unit".equals(jgUseRegistration.getManageType())){
List<ESEquipmentCategoryDto> esDtoList = records.stream().map(v -> { //单位办理-历史作废
ESEquipmentCategoryDto esDto = new ESEquipmentCategoryDto(); if ("1".equals(jgUseRegistration.getRegType())){
esDto.setSEQUENCE_NBR(v); jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
return esDto; // 构建设备删除的 DTO 列表
}).collect(Collectors.toList()); List<ESEquipmentCategoryDto> esDtoList = records.stream().map(v -> {
//删除涉及的19张表的数据 ESEquipmentCategoryDto esDto = new ESEquipmentCategoryDto();
superviseInfoMapper.deleteDataAll(records); esDto.setSEQUENCE_NBR(v);
//删除es中的数据 return esDto;
esEquipmentCategory.deleteAll(esDtoList); }).collect(Collectors.toList());
//作废使用登记证 & 生成使用登记证的流水 //删除涉及的19张表的数据
this.invalidUseRegistrationCertificate(jgUseRegistration); superviseInfoMapper.deleteDataAll(records);
// 单据逻辑删除 //删除es中的数据
this.lambdaUpdate().set(JgUseRegistration::getIsDelete, Boolean.TRUE).eq(JgUseRegistration::getSequenceNbr, sequenceNbr).update(); esEquipmentCategory.deleteAll(esDtoList);
// 管道作废工程装置 //作废使用登记证 & 生成使用登记证的流水
if (!ValidationUtil.isEmpty(jgUseRegistration.getProjectContraptionId())) { this.invalidUseRegistrationCertificate(jgUseRegistration);
idxBizJgProjectContraptionMapper.delete(new LambdaQueryWrapper<IdxBizJgProjectContraption>().eq(IdxBizJgProjectContraption::getSequenceNbr,jgUseRegistration.getProjectContraptionId())); // 单据逻辑删除
this.lambdaUpdate().set(JgUseRegistration::getIsDelete, Boolean.TRUE).eq(JgUseRegistration::getSequenceNbr, sequenceNbr).update();
// 管道作废工程装置
if (!ValidationUtil.isEmpty(jgUseRegistration.getProjectContraptionId())) {
idxBizJgProjectContraptionMapper.delete(new LambdaQueryWrapper<IdxBizJgProjectContraption>().eq(IdxBizJgProjectContraption::getSequenceNbr,jgUseRegistration.getProjectContraptionId()));
}
} }
} else { else{
if (jgUseRegistration.getUseRegistrationCode().startsWith("管")) {
//2.合并后作废
if (!jgUseRegistration.getOriginProjectContraptionIds().contains(jgUseRegistration.getProjectContraptionId())){
eqList.forEach(v->{
// 1.根据eq关系表中保存的原工程装置与设备关系还原use_info和ES
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());
IdxBizJgRegisterInfo idxBizJgRegisterInfo = new IdxBizJgRegisterInfo();
idxBizJgRegisterInfo.setEquCode(originProjectContraption.getEquCode());
idxBizJgRegisterInfoMapper.update(idxBizJgRegisterInfo, 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(
new LambdaUpdateWrapper<IdxBizJgProjectContraption>()
.eq(IdxBizJgProjectContraption::getProjectContraptionParentId, jgUseRegistration.getProjectContraptionId())
.set(IdxBizJgProjectContraption::getProjectContraptionParentId, null)
);
JgRegistrationHistory history = jgRegistrationHistoryService.queryLatestRegistrationHistory(Long.valueOf(jgUseRegistration.getProjectContraptionId()));
if (history != null && history.getChangeData() != null) {
JSONObject hisJson = JSON.parseObject(history.getChangeData());
boolean isFirstMerge = (boolean) hisJson.get("isFirstMerge");
//合并到无证总工程
if (isFirstMerge) {
IdxBizJgProjectContraption projectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
projectContraption.setIsIntoManagement(false);
projectContraption.setIsFirstMerge(true);
projectContraption.setSupervisoryCode(null);
projectContraption.setEquCode(null);
projectContraption.setUseRegistrationCode(null);
jgProjectContraptionService.updateById(projectContraption);
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
// 处理非批量导入数据,更新关联业务状态
processElseDataByStatus(oldStatus, jgUseRegistration);
// 统一处理设备的纳管状态【注册事务提交后的操作】
registerAfterCommitTask(records);
}
}
}
//1.子工程装置作废,正常逻辑
else {
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
// 处理非批量导入数据,更新关联业务状态
processElseDataByStatus(oldStatus, jgUseRegistration);
// 统一处理设备的纳管状态【注册事务提交后的操作】
registerAfterCommitTask(records);
}
}
//气瓶
else {
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
// 处理非批量导入数据,更新关联业务状态
processElseDataByStatus(oldStatus, jgUseRegistration);
// 统一处理设备的纳管状态【注册事务提交后的操作】
registerAfterCommitTask(records);
}
}
}
//台套办理
else {
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
// 处理非批量导入数据,更新关联业务状态 // 处理非批量导入数据,更新关联业务状态
processElseDataByStatus(oldStatus, jgUseRegistration); processElseDataByStatus(oldStatus, jgUseRegistration);
// 统一处理设备的纳管状态【注册事务提交后的操作】 // 统一处理设备的纳管状态【注册事务提交后的操作】
registerAfterCommitTask(records); registerAfterCommitTask(records);
} }
this.updateById(jgUseRegistration);
return jgUseRegistration; return jgUseRegistration;
} }
...@@ -4056,6 +4173,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -4056,6 +4173,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
.put("projectContraption", projectContraption.getProjectContraption()) .put("projectContraption", projectContraption.getProjectContraption())
.put("projectContraptionId", projectContraptionSeq) .put("projectContraptionId", projectContraptionSeq)
.put("projectContraptionNo", projectContraption.getProjectContraptionNo()) .put("projectContraptionNo", projectContraption.getProjectContraptionNo())
.put("isFirstMerge", projectContraption.getIsFirstMerge())
.put("pipelineLength", totalPipelineLength); .put("pipelineLength", totalPipelineLength);
if (Objects.nonNull(projectContraption.getUseRegistrationCode())){ if (Objects.nonNull(projectContraption.getUseRegistrationCode())){
setProjectContraptionInfo(projectContraption, resultBuilder); setProjectContraptionInfo(projectContraption, resultBuilder);
......
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