Commit d563e61e authored by Lambertliu's avatar Lambertliu

fix(jg):管道登记功能开发

parent db3f61e7
...@@ -646,6 +646,7 @@ ...@@ -646,6 +646,7 @@
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_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
FROM FROM
...@@ -1074,7 +1075,6 @@ ...@@ -1074,7 +1075,6 @@
#{item} #{item}
</foreach> </foreach>
AND ui.IS_INTO_MANAGEMENT = true AND ui.IS_INTO_MANAGEMENT = true
AND (length(ri.USE_ORG_CODE) = 0 OR ri.USE_ORG_CODE IS NULL)
ORDER BY ui.REC_DATE DESC ORDER BY ui.REC_DATE DESC
) )
</select> </select>
......
...@@ -194,6 +194,18 @@ public class IdxBizJgProjectContraptionController extends BaseController { ...@@ -194,6 +194,18 @@ public class IdxBizJgProjectContraptionController extends BaseController {
return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.getDetectionInfoDetail(sequenceNbr)); return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.getDetectionInfoDetail(sequenceNbr));
} }
/**
* 获取最新检验信息详情
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getNewInspectionDetailByRecord")
@ApiOperation(httpMethod = "GET", value = "获取最新检验信息详情", notes = "获取最新检验信息详情")
public ResponseModel<IdxBizJgInspectionDetectionInfo> getNewInspectionDetailByRecord(@RequestParam("record") String record) {
return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.getNewInspectionDetailByRecord(record));
}
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/summaryBasicInfo/export") @GetMapping(value = "/summaryBasicInfo/export")
@ApiOperation(httpMethod = "GET", value = "导出基本信息汇总表(长输/公用管道)", notes = "导出基本信息汇总表(长输/公用管道)") @ApiOperation(httpMethod = "GET", value = "导出基本信息汇总表(长输/公用管道)", notes = "导出基本信息汇总表(长输/公用管道)")
......
...@@ -389,7 +389,7 @@ public class JgUseRegistrationController extends BaseController { ...@@ -389,7 +389,7 @@ public class JgUseRegistrationController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "查询工程装置下的所有做过安装告知但是为做使用登记的管道", notes = "查询工程装置下的所有做过安装告知但是为做使用登记的管道") @ApiOperation(httpMethod = "GET", value = "查询工程装置下的所有做过安装告知但是为做使用登记的管道", notes = "查询工程装置下的所有做过安装告知但是为做使用登记的管道")
@GetMapping(value = "/getDeviceListByProjectContraptionSeq") @GetMapping(value = "/getDeviceListByProjectContraptionSeq")
public ResponseModel<Object> getDeviceListByProjectContraption(@RequestParam("record") String projectContraptionSeq, public ResponseModel<Object> getDeviceListByProjectContraption(@RequestParam("record") String projectContraptionSeq,
@RequestParam(required = false) String[] originProjectContraptionIds) { @RequestParam("originProjectContraptionIds") String[] originProjectContraptionIds) {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.getDeviceListByProjectContraption(projectContraptionSeq, originProjectContraptionIds)); return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.getDeviceListByProjectContraption(projectContraptionSeq, originProjectContraptionIds));
} }
} }
...@@ -492,7 +492,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -492,7 +492,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
String equListName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquListCode()); String equListName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquListCode());
String equCategoryName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquCategoryCode()); String equCategoryName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquCategoryCode());
String equDefineName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquDefineCode()); String equDefineName = jgVehicleInformationMapper.getEquCategoryNameByCode(model.getEquDefineCode());
projectContraption.setDataSource("new"); projectContraption.setDataSource("jg");
projectContraption.setIsIntoManagement(true); projectContraption.setIsIntoManagement(true);
projectContraption.setProvinceName("陕西省"); projectContraption.setProvinceName("陕西省");
projectContraption.setEquList(model.getEquListCode()); projectContraption.setEquList(model.getEquListCode());
...@@ -584,4 +584,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -584,4 +584,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
} }
} }
public IdxBizJgInspectionDetectionInfo getNewInspectionDetailByRecord(String record) {
return detectionInfoService.queryNewestDetailByRecord(record);
}
} }
\ No newline at end of file
...@@ -405,6 +405,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -405,6 +405,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if("unit".equals(jgUseRegistration.getManageType()) && registerInfo.getEquList().equals(EquipmentClassifityEnum.YLGD.getCode())){ if("unit".equals(jgUseRegistration.getManageType()) && registerInfo.getEquList().equals(EquipmentClassifityEnum.YLGD.getCode())){
// 压力管道逻辑,根据设备record + 检验报告编号判定唯一一条检验流水,有进行更新,无则进行插入 // 压力管道逻辑,根据设备record + 检验报告编号判定唯一一条检验流水,有进行更新,无则进行插入
inspectionDetectionInfo.setInspectConclusion((String) map.get("inspectConclusionCode"));
saveEquipOfPieLineInspectData(record, inspectionDetectionInfo); saveEquipOfPieLineInspectData(record, inspectionDetectionInfo);
} else { } else {
// 其他逻辑 // 其他逻辑
...@@ -751,8 +752,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -751,8 +752,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
String equListCode = String.valueOf(map.get("EQU_LIST_CODE")); String equListCode = String.valueOf(map.get("EQU_LIST_CODE"));
// 压力管道逻辑
// EquipmentClassifityEnum.YLGD.getCode().equals(equListCode)
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
if (CollectionUtils.isEmpty(equipmentLists)) { if (CollectionUtils.isEmpty(equipmentLists)) {
throw new BadRequest("请选择设备信息!"); throw new BadRequest("请选择设备信息!");
...@@ -771,8 +770,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -771,8 +770,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
// 压力管道逻辑(如果是合并到已有证的工程装置,需要去除已完成设备)
Set<Object> excludedRecords = EquipmentClassifityEnum.YLGD.getCode().equals(equListCode) ?
idxBizJgUseInfoService.lambdaQuery()
.eq(IdxBizJgUseInfo::getProjectContraptionId, map.get("projectContraptionId"))
.list().stream()
.map(IdxBizJgUseInfo::getRecord)
.collect(Collectors.toSet())
: Collections.emptySet();
List<Map<String, Object>> filteredEquipmentLists = equipmentLists.stream()
.filter(equipment -> !excludedRecords.contains(equipment.get("record")))
.collect(Collectors.toList());
// 提交时进行校验设备是否在流程中使用(并发及同时打开多个相同的页面时才会出现此种情况) // 提交时进行校验设备是否在流程中使用(并发及同时打开多个相同的页面时才会出现此种情况)
checkForRepeatUsedEquip(map, equipmentLists, company); checkForRepeatUsedEquip(map, filteredEquipmentLists, company);
JgUseRegistration useRegistration = JSON.parseObject(JSON.toJSONString(map), JgUseRegistration.class); JgUseRegistration useRegistration = JSON.parseObject(JSON.toJSONString(map), JgUseRegistration.class);
useRegistration.setRegDate(new Date()); useRegistration.setRegDate(new Date());
useRegistration.setCreateDate(new Date()); useRegistration.setCreateDate(new Date());
...@@ -1101,6 +1114,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1101,6 +1114,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
private void updateRegAndProjectContraption(JgUseRegistration jgUseRegistration, JSONObject mapData) { private void updateRegAndProjectContraption(JgUseRegistration jgUseRegistration, JSONObject mapData) {
//总工程装置
if(!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())){ if(!StringUtils.isEmpty(jgUseRegistration.getProjectContraptionId())){
IdxBizJgProjectContraption jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId()); IdxBizJgProjectContraption jgProjectContraption = jgProjectContraptionService.getById(jgUseRegistration.getProjectContraptionId());
jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption()); jgUseRegistration.setProjectContraption(jgProjectContraption.getProjectContraption());
...@@ -1118,33 +1132,44 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1118,33 +1132,44 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgProjectContraption.setOrgName(String.valueOf(mapData.getString("orgBranchCode")).split("_")[1]); jgProjectContraption.setOrgName(String.valueOf(mapData.getString("orgBranchCode")).split("_")[1]);
jgProjectContraption.setOrgCode(String.valueOf(mapData.getString("orgBranchCode")).split("_")[0]); jgProjectContraption.setOrgCode(String.valueOf(mapData.getString("orgBranchCode")).split("_")[0]);
} }
jgProjectContraptionService.updateById(jgProjectContraption); jgProjectContraption.setStartLatitudeLongitude(String.valueOf(mapData.get("startLatitudeLongitude")));
} 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.修改所有原始工程id集合下的use_info表中的工程装置Id为总工程装置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) { for (IdxBizJgUseInfo useInfo : useInfoList) {
Optional<ESEquipmentCategoryDto> equInfosWithEs = esEquipmentCategory.findById(useInfo.getRecord()); Optional<ESEquipmentCategoryDto> equInfosWithEs = esEquipmentCategory.findById(useInfo.getRecord());
equInfosWithEs.ifPresent(equInfoEs -> { equInfosWithEs.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(useInfo.getProjectContraptionId());
esEquipmentCategory.save(equInfoEs); esEquipmentCategory.save(equInfoEs);
} }
}); });
useInfo.setProjectContraptionId(jgUseRegistration.getProjectContraptionId()); useInfo.setProjectContraptionId(jgUseRegistration.getProjectContraptionId());
useInfoMapper.updateById(useInfo); useInfoMapper.updateById(useInfo);
} }
//2.修改原始工程装置表中的父级工程装置为总工程装置ID //2.修改原始工程装置表中的父级工程装置为总工程装置ID
List<IdxBizJgProjectContraption> projectContraptionList = jgProjectContraptionService.lambdaQuery() List<IdxBizJgProjectContraption> projectContraptionList = jgProjectContraptionService.lambdaQuery()
.in(BaseEntity::getSequenceNbr, jgUseRegistration.getOriginProjectContraptionIds()) .in(BaseEntity::getSequenceNbr, jgUseRegistration.getOriginProjectContraptionIds())
.list(); .list();
for (IdxBizJgProjectContraption contraption : projectContraptionList) { for (IdxBizJgProjectContraption contraption : projectContraptionList) {
contraption.setProjectContraptionParentId(jgUseRegistration.getProjectContraptionId()); contraption.setProjectContraptionParentId(jgUseRegistration.getProjectContraptionId());
jgProjectContraptionService.updateById(contraption); jgProjectContraptionService.updateById(contraption);
}
//计算合并后总长度
double totalPipelineLength = Stream.concat(projectContraptionList.stream()
.map(IdxBizJgProjectContraption::getPipelineLength),
Stream.of(jgProjectContraption.getPipelineLength()))
.filter(Objects::nonNull)
.mapToDouble(Double::doubleValue)
.sum();
jgProjectContraption.setPipelineLength(totalPipelineLength);
} }
jgProjectContraptionService.updateById(jgProjectContraption);
} }
} }
...@@ -2001,9 +2026,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2001,9 +2026,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
// 完成、作废时显示历史数据,其他状态显示实时数据 // 完成、作废时显示历史数据,其他状态显示实时数据
if (!(jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) || jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()))) { if (!(jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) || jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()))) {
jsonObject.remove("equipmentLists");
// 查询气瓶设备详情 // 查询气瓶设备详情
if (CylinderTypeEnum.CYLINDER.getCode().equals(jsonObject.get("EQU_CATEGORY_CODE"))) { if (CylinderTypeEnum.CYLINDER.getCode().equals(jsonObject.get("EQU_CATEGORY_CODE"))) {
jsonObject.remove("equipmentLists");
List<DictionarieValueModel> fillingMedium = Systemctl.dictionarieClient.dictValues("FILLING_MEDIUM").getResult(); List<DictionarieValueModel> fillingMedium = Systemctl.dictionarieClient.dictValues("FILLING_MEDIUM").getResult();
Map<String, Object> fillingMediumMap = fillingMedium.stream().collect(Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataValue)); Map<String, Object> fillingMediumMap = fillingMedium.stream().collect(Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataValue));
List<Map<String, Object>> result = jgUseRegistrationMapper.queryForUnitVesselEquipment(records); List<Map<String, Object>> result = jgUseRegistrationMapper.queryForUnitVesselEquipment(records);
...@@ -2011,10 +2036,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2011,10 +2036,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
i.put("chargingMedium", fillingMediumMap.get(i.get("chargingMedium"))); i.put("chargingMedium", fillingMediumMap.get(i.get("chargingMedium")));
}); });
jsonObject.put("equipmentLists", result); jsonObject.put("equipmentLists", result);
} else {
// 查询管道设备详情
jsonObject.put("equipmentLists", jgUseRegistrationMapper.queryForUnitPipelineEquipment(records));
} }
// else {
// 查询管道设备详情
// jsonObject.put("equipmentLists", jgUseRegistrationMapper.queryForUnitPipelineEquipment(records));
//}
} else { } else {
this.setPieLineInspectInfo(jgUseRegistration.getProjectContraptionId(), jsonObject); this.setPieLineInspectInfo(jgUseRegistration.getProjectContraptionId(), jsonObject);
this.setConstructionInfo(jgUseRegistration.getProjectContraptionId(), jsonObject); this.setConstructionInfo(jgUseRegistration.getProjectContraptionId(), jsonObject);
...@@ -3927,6 +3953,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -3927,6 +3953,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode,useUnitCreditCode); wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode,useUnitCreditCode);
wrapper.eq(IdxBizJgProjectContraption::getIsIntoManagement, true); wrapper.eq(IdxBizJgProjectContraption::getIsIntoManagement, true);
wrapper.eq(IdxBizJgProjectContraption::getEquCategory, "8300");
wrapper.eq(IdxBizJgProjectContraption::getIsFirstMerge, false); wrapper.eq(IdxBizJgProjectContraption::getIsFirstMerge, false);
wrapper.notIn(!proIds.isEmpty(), BaseEntity::getSequenceNbr, proIds); wrapper.notIn(!proIds.isEmpty(), BaseEntity::getSequenceNbr, proIds);
wrapper.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId); wrapper.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId);
...@@ -4002,7 +4029,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -4002,7 +4029,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
fieldMappings.put("city", hisJson.get("city")); fieldMappings.put("city", hisJson.get("city"));
fieldMappings.put("isXixian", hisJson.get("isXixian")); fieldMappings.put("isXixian", hisJson.get("isXixian"));
fieldMappings.put("county", hisJson.get("county")); fieldMappings.put("county", hisJson.get("county"));
fieldMappings.put("longitudeLatitude", hisJson.get("longitudeLatitude")); fieldMappings.put("startLatitudeLongitude",
Objects.isNull(hisJson.get("startLatitudeLongitude")) ?
hisJson.get("longitudeLatitude") :
hisJson.get("startLatitudeLongitude"));
fieldMappings.put("endLatitudeLongitude",
Objects.isNull(hisJson.get("startLatitudeLongitude")) ?
hisJson.get("longitudeLatitude") :
hisJson.get("endLatitudeLongitude"));
fieldMappings.put("estateUnitName", hisJson.get("estateUnitName")); fieldMappings.put("estateUnitName", hisJson.get("estateUnitName"));
fieldMappings.put("orgBranchCode", hisJson.get("orgBranchCode")); fieldMappings.put("orgBranchCode", hisJson.get("orgBranchCode"));
fieldMappings.forEach(re::put); fieldMappings.forEach(re::put);
......
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