Commit 621ac8ae authored by Lambertliu's avatar Lambertliu

fix(jg):管道使用登记功能监管码生成规则修改

parent f6c1e8fc
...@@ -964,6 +964,7 @@ public class DataHandlerServiceImpl { ...@@ -964,6 +964,7 @@ public class DataHandlerServiceImpl {
List<JgUseRegistration> useRegistrations = useRegistrationService.list( List<JgUseRegistration> useRegistrations = useRegistrationService.list(
new LambdaQueryWrapper<JgUseRegistration>() new LambdaQueryWrapper<JgUseRegistration>()
.isNotNull(JgUseRegistration::getProjectContraptionId) .isNotNull(JgUseRegistration::getProjectContraptionId)
.isNull(JgUseRegistration::getOriginProjectContraptionIds)
.select(BaseEntity::getSequenceNbr, JgUseRegistration::getProjectContraptionId) .select(BaseEntity::getSequenceNbr, JgUseRegistration::getProjectContraptionId)
); );
......
...@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
...@@ -108,6 +110,8 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -108,6 +110,8 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
private IdxBizJgConstructionInfoServiceImpl idxBizJgConstructionInfoService; private IdxBizJgConstructionInfoServiceImpl idxBizJgConstructionInfoService;
@Autowired @Autowired
private ESEquipmentCategory esEquipmentCategory; private ESEquipmentCategory esEquipmentCategory;
@Autowired
private DataDictionaryServiceImpl dataDictionaryServiceImpl;
@Override @Override
public boolean saveOrUpdateData(IdxBizJgProjectContraption projectContraption) { public boolean saveOrUpdateData(IdxBizJgProjectContraption projectContraption) {
...@@ -598,13 +602,13 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -598,13 +602,13 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
} }
public Map<String, Object> getNewInspectionDetailByRecord(String record) { public Map<String, Object> getNewInspectionDetailByRecord(String record) {
// 检验检测【一对多,暂时只取最新一条数据】 IdxBizJgInspectionDetectionInfo info = detectionInfoService.queryNewestDetailByRecord(record);
IdxBizJgInspectionDetectionInfo inspectionDetectionInfo = detectionInfoService.queryNewestDetailByRecord(record); if (info == null) return Collections.emptyMap();
Map<String, Object> inspectionDetectionInfoMap = Collections.emptyMap(); Map<String, Object> result = new HashMap<>(Bean.BeantoMap(info));
if (!ValidationUtil.isEmpty(inspectionDetectionInfo)) { result.put("inspectReport", JSON.parseArray(info.getInspectReport()));
inspectionDetectionInfoMap = Bean.BeantoMap(inspectionDetectionInfo); result.put("inspectConclusionCode", info.getInspectConclusion());
inspectionDetectionInfoMap.put("inspectReport", JSON.parseArray(inspectionDetectionInfo.getInspectReport())); result.put("inspectConclusion", Optional.ofNullable(dataDictionaryServiceImpl.getByCode(info.getInspectConclusion(), "JYJL"))
} .map(DataDictionary::getName).orElse(""));
return inspectionDetectionInfoMap; return result;
} }
} }
\ No newline at end of file
...@@ -394,7 +394,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -394,7 +394,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
// 更新设备使用登记证 // 更新设备使用登记证
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(String.valueOf(map.get("equipId")), flag ? useRegistrationCode : useOrgCode); idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(String.valueOf(map.get("equipId")), flag ? useRegistrationCode : useOrgCode);
// 生成监管码、96333码 // 生成监管码、96333码(管道合并到有证不生成)
createCode(map, jgUseRegistration, registerInfo, useInfo, otherInfo); createCode(map, jgUseRegistration, registerInfo, useInfo, otherInfo);
} }
...@@ -1030,6 +1030,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1030,6 +1030,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
String useRegistrationCode = null; String useRegistrationCode = null;
Long useRegistrationManageSeq = null; Long useRegistrationManageSeq = null;
Boolean flag = Boolean.FALSE; Boolean flag = Boolean.FALSE;
boolean isMerge = Boolean.FALSE;
String equCategoryCode = String.valueOf(mapData.get("EQU_CATEGORY_CODE")); String equCategoryCode = String.valueOf(mapData.get("EQU_CATEGORY_CODE"));
String equDefineCode = String.valueOf(mapData.get("EQU_DEFINE_CODE")); String equDefineCode = String.valueOf(mapData.get("EQU_DEFINE_CODE"));
if (mapData.containsKey("equipmentLists") && !ObjectUtils.isEmpty(mapData.get("equipmentLists"))) { if (mapData.containsKey("equipmentLists") && !ObjectUtils.isEmpty(mapData.get("equipmentLists"))) {
...@@ -1057,10 +1058,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1057,10 +1058,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
&& Objects.nonNull(jgUseRegistration.getUseRegistrationCode())) { && Objects.nonNull(jgUseRegistration.getUseRegistrationCode())) {
useRegistrationCode = jgUseRegistration.getUseRegistrationCode(); useRegistrationCode = jgUseRegistration.getUseRegistrationCode();
flag = true; flag = true;
isMerge = true;
} }
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) mapData.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) mapData.get("equipmentLists");
// String inspectConclusionName = getInspectConclusionName(mapData); // String inspectConclusionName = getInspectConclusionName(mapData);
IdxBizJgProjectContraption jgProjectContraption = null;
if (!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())) {
jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
}
if (!CollectionUtils.isEmpty(equipmentLists)) { if (!CollectionUtils.isEmpty(equipmentLists)) {
for (int i = 0; i < equipmentLists.size(); i++) { for (int i = 0; i < equipmentLists.size(); i++) {
Map<String, Object> equipment = equipmentLists.get(i); Map<String, Object> equipment = equipmentLists.get(i);
...@@ -1072,13 +1078,21 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1072,13 +1078,21 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, equId); lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, equId);
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 其他信息
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth);
if (isMerge && jgProjectContraption != null) {
otherInfo.setSupervisoryCode(jgProjectContraption.getSupervisoryCode());
registerInfo.setEquCode(jgProjectContraption.getEquCode());
}
// 压力管道:[更新的原始引用]更新检验日期-nextInspectDate、检验结论-inspectConclusion、检验机构名称-inspectOrgName // 压力管道:[更新的原始引用]更新检验日期-nextInspectDate、检验结论-inspectConclusion、检验机构名称-inspectOrgName
// equipment.put("nextInspectDate", mapData.getOrDefault("nextInspectDate", "")); // equipment.put("nextInspectDate", mapData.getOrDefault("nextInspectDate", ""));
// equipment.put("inspectOrgName", mapData.getOrDefault("inspectOrgName", "")); // equipment.put("inspectOrgName", mapData.getOrDefault("inspectOrgName", ""));
// equipment.put("inspectConclusion", inspectConclusionName); // equipment.put("inspectConclusion", inspectConclusionName);
// 更新设备信息 && 生成使用登记证编号 && 同步es // 更新设备信息 && 生成使用登记证编号 && 同步es
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, taskV2Model, jsonObject, flag, useRegistrationCode); processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, otherInfo, taskV2Model, jsonObject, flag, useRegistrationCode, isMerge);
// 查询设备制造信息 // 查询设备制造信息
LambdaQueryWrapper<IdxBizJgFactoryInfo> factoryInfoWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizJgFactoryInfo> factoryInfoWrapper = new LambdaQueryWrapper<>();
factoryInfoWrapper.eq(IdxBizJgFactoryInfo::getRecord, equId); factoryInfoWrapper.eq(IdxBizJgFactoryInfo::getRecord, equId);
...@@ -1107,16 +1121,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1107,16 +1121,15 @@ 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); 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));
} }
private void updateRegAndProjectContraption(JgUseRegistration jgUseRegistration, JSONObject mapData) { private void updateRegAndProjectContraption(JgUseRegistration jgUseRegistration, JSONObject mapData, IdxBizJgProjectContraption jgProjectContraption) {
//总工程装置 //总工程装置
if(!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())){ if(!StringUtils.isEmpty(jgProjectContraption)){
IdxBizJgProjectContraption jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption()); jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption());
jgProjectContraption.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode()); jgProjectContraption.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());
jgProjectContraption.setUseDate(String.valueOf(mapData.get("useDate"))); jgProjectContraption.setUseDate(String.valueOf(mapData.get("useDate")));
...@@ -1136,40 +1149,35 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1136,40 +1149,35 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgProjectContraption.setStartLatitudeLongitude(String.valueOf(mapData.get("startLatitudeLongitude"))); jgProjectContraption.setStartLatitudeLongitude(String.valueOf(mapData.get("startLatitudeLongitude")));
jgProjectContraption.setEndLatitudeLongitude(String.valueOf(mapData.get("endLatitudeLongitude"))); jgProjectContraption.setEndLatitudeLongitude(String.valueOf(mapData.get("endLatitudeLongitude")));
//装置进行合并 //装置进行合并
if (!jgUseRegistration.getOriginProjectContraptionIds().contains(jgUseRegistration.getProjectContraptionId())){ if (!jgUseRegistration.getOriginProjectContraptionIds().contains(jgUseRegistration.getProjectContraptionId())) {
//1.修改所有原始工程id集合下的use_info表中的工程装置Id为总工程装置ID // 1. 修改 use_info 表中的工程装置 ID
List<IdxBizJgUseInfo> useInfoList = idxBizJgUseInfoService.lambdaQuery() List<IdxBizJgUseInfo> useInfoList = idxBizJgUseInfoService.lambdaQuery()
.in(IdxBizJgUseInfo::getProjectContraptionId, jgUseRegistration.getOriginProjectContraptionIds()) .in(IdxBizJgUseInfo::getProjectContraptionId, jgUseRegistration.getOriginProjectContraptionIds())
.list(); .list();
for (IdxBizJgUseInfo useInfo : useInfoList) {
Optional<ESEquipmentCategoryDto> equInfosWithEs = esEquipmentCategory.findById(useInfo.getRecord()); useInfoList.forEach(useInfo -> {
equInfosWithEs.ifPresent(equInfoEs -> { esEquipmentCategory.findById(useInfo.getRecord()).ifPresent(equInfoEs -> {
if (PipelineEnum.INDUSTRIAL_PIPELINE.getCode().equals(equInfoEs.getEQU_CATEGORY_CODE())) { if (PipelineEnum.INDUSTRIAL_PIPELINE.getCode().equals(equInfoEs.getEQU_CATEGORY_CODE())) {
equInfoEs.setProjectContraptionId(useInfo.getProjectContraptionId()); equInfoEs.setProjectContraptionId(jgUseRegistration.getProjectContraptionId());
esEquipmentCategory.save(equInfoEs); esEquipmentCategory.save(equInfoEs);
} }
}); });
useInfo.setProjectContraptionId(jgUseRegistration.getProjectContraptionId()); useInfo.setProjectContraptionId(jgUseRegistration.getProjectContraptionId());
useInfoMapper.updateById(useInfo); useInfoMapper.updateById(useInfo);
} });
//2.修改原始工程装置表中的父级工程装置为总工程装置ID
List<IdxBizJgProjectContraption> projectContraptionList = jgProjectContraptionService.lambdaQuery() // 2. 修改原始工程装置表的父级工程装置 ID
List<IdxBizJgProjectContraption> originProjectContraptionList = jgProjectContraptionService.lambdaQuery()
.in(BaseEntity::getSequenceNbr, jgUseRegistration.getOriginProjectContraptionIds()) .in(BaseEntity::getSequenceNbr, jgUseRegistration.getOriginProjectContraptionIds())
.list(); .list();
for (IdxBizJgProjectContraption contraption : projectContraptionList) {
originProjectContraptionList.forEach(contraption -> {
contraption.setProjectContraptionParentId(jgUseRegistration.getProjectContraptionId()); contraption.setProjectContraptionParentId(jgUseRegistration.getProjectContraptionId());
jgProjectContraptionService.updateById(contraption); jgProjectContraptionService.updateById(contraption);
} });
jgProjectContraption.setPipelineLength((Double.parseDouble((String) mapData.get("pipelineLength"))));
//计算合并后总长度
double totalPipelineLength = Stream.concat(projectContraptionList.stream()
.map(IdxBizJgProjectContraption::getPipelineLength),
Stream.of(jgProjectContraption.getPipelineLength()))
.filter(Objects::nonNull)
.mapToDouble(Double::doubleValue)
.sum();
jgProjectContraption.setPipelineLength(totalPipelineLength);
} }
// 更新 jgProjectContraption 数据
jgProjectContraptionService.updateById(jgProjectContraption); jgProjectContraptionService.updateById(jgProjectContraption);
} }
} }
...@@ -1453,11 +1461,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1453,11 +1461,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, equId); lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, equId);
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 其他信息
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth);
// 更新代办 // 更新代办
TaskV2Model taskV2Model = updateAgency(jgUseRegistration); TaskV2Model taskV2Model = updateAgency(jgUseRegistration);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, taskV2Model, jsonObject, Boolean.FALSE, null); processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory, registerInfo, otherInfo, taskV2Model, jsonObject, Boolean.FALSE, null, Boolean.FALSE);
// 生成证书管理表记录 // 生成证书管理表记录
generateRegistrationManage(jgUseRegistration, registerInfo, Boolean.FALSE, null); generateRegistrationManage(jgUseRegistration, registerInfo, Boolean.FALSE, null);
...@@ -1483,12 +1495,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1483,12 +1495,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
private void processMapData(Long sequenceNbr, JSONObject mapData, JgUseRegistration jgUseRegistration, private void processMapData(Long sequenceNbr, JSONObject mapData, JgUseRegistration jgUseRegistration,
JgRegistrationHistory jgRegistrationHistory, IdxBizJgRegisterInfo registerInfo, TaskV2Model taskV2Model, JgRegistrationHistory jgRegistrationHistory, IdxBizJgRegisterInfo registerInfo, IdxBizJgOtherInfo otherInfo,
JSONObject jsonObject, Boolean flag, String useRegistrationCode) { TaskV2Model taskV2Model, JSONObject jsonObject, Boolean flag, String useRegistrationCode, Boolean isMerge) {
// 其他信息
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth);
jgUseRegistration.setSupervisoryCode(otherInfo.getSupervisoryCode()); jgUseRegistration.setSupervisoryCode(otherInfo.getSupervisoryCode());
// 更新设备信息 // 更新设备信息
...@@ -2855,13 +2863,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2855,13 +2863,11 @@ 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());
//判断是否为批量导入数据,作废后删除设备信息 //判断是否为批量导入数据,作废后删除设备信息
......
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