Commit 6a84a9c7 authored by suhuiguang's avatar suhuiguang

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

1.使用登记支持管道的增减保存及详情展示
parent 245cb21d
...@@ -872,68 +872,39 @@ ...@@ -872,68 +872,39 @@
ORDER BY ui.REC_DATE DESC ORDER BY ui.REC_DATE DESC
</select> </select>
<select id="queryForUnitPipelineEquipmentForEdit" resultType="java.util.Map"> <select id="queryForUnitPipelineEquipmentForEdit" resultType="java.util.Map">
WITH
-- 获取每个RECORD最新的施工信息
latest_construction AS (
SELECT SELECT
"RECORD", ibjtpp."PIPE_NAME" AS pipeName,
SEQUENCE_NBR AS constructionInfoSeq, ibjtpp."PIPELINE_NUMBER" AS pipelineNumber,
USC_UNIT_NAME AS uscUnitName, ibjtpp."DEVICE_LEVEL" AS deviceLevel,
USC_DATE AS uscDate, ibjtpp."NOMINAL_DIAMETER" AS nominalDiameter,
ROW_NUMBER() OVER(PARTITION BY "RECORD" ORDER BY USC_DATE DESC) AS rn ibjtpp."WALL_THICKNESS" AS wallThickness,
FROM idx_biz_jg_construction_info ibjtpp."PIPE_LENGTH" AS pipeLength,
), ibjtpp."PRESSURE" AS pressure,
-- 获取每个RECORD最新的检测信息 ibjtpp."TEMPERATURE" AS temperature,
latest_inspection AS ( ibjtpp."MEDIUM" AS medium,
SELECT ibjtpp."WORK_PRESSURE" AS workPressure,
"RECORD", ibjtpp."WORK_TEMPERATURE" AS workTemperature,
SEQUENCE_NBR AS jySeq, ibjtpp."WORK_MEDIUM" AS workMedium,
INSPECT_ORG_NAME AS inspectOrgName, ibjtpp."REMARKS" AS remarks,
INSPECT_ORG_CODE AS inspectOrgCode, ibjdi."DESIGN_UNIT_NAME" AS designUnitName,
INSPECT_CONCLUSION AS inspectConclusion, ibjui."USE_DATE" AS useDate,
NEXT_INSPECT_DATE AS nextInspectDate, ibjui."RECORD" AS record,
INSPECT_REPORT AS inspectReport, (select SEQUENCE_NBR from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) jySeq,
INSPECT_TYPE AS inspectType, (select INSPECT_ORG_CODE from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgCode,
INSPECT_STAFF AS inspectStaff, (select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName,
INSPECT_DATE AS inspectDate, (select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectConclusion,
INSPECT_REPORT_NO as inspectReportNo, (select to_char(NEXT_INSPECT_DATE, 'YYYY-MM-DD') from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) nextInspectDate,
ROW_NUMBER() OVER(PARTITION BY "RECORD" ORDER BY INSPECT_DATE DESC) AS rn (select INSPECT_REPORT from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectReport,
FROM idx_biz_jg_inspection_detection_info (select INSPECT_TYPE from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectType,
) (select INSPECT_STAFF from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectStaff,
SELECT (select (INSPECT_DATE, 'YYYY-MM-DD') from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectDate,
ibjtpp."PIPE_NAME" AS pipeName, (select INSPECT_REPORT_NO from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectReportNo,
ibjtpp."PIPELINE_NUMBER" AS pipelineNumber, (SELECT USC_UNIT_NAME from idx_biz_jg_construction_info where "RECORD" = ibjui."RECORD" ORDER BY USC_DATE DESC limit 1) uscUnitName,
ibjtpp."DEVICE_LEVEL" AS deviceLevel, (SELECT to_char(USC_DATE, 'YYYY-MM-DD') from idx_biz_jg_construction_info where "RECORD" = ibjui."RECORD" ORDER BY USC_DATE DESC limit 1) uscDate,
ibjtpp."NOMINAL_DIAMETER" AS nominalDiameter, (SELECT SEQUENCE_NBR from idx_biz_jg_construction_info where "RECORD" = ibjui."RECORD" ORDER BY USC_DATE DESC limit 1) constructionInfoSeq
ibjtpp."WALL_THICKNESS" AS wallThickness, FROM idx_biz_jg_use_info ibjui
ibjtpp."PIPE_LENGTH" AS pipeLength, LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui.RECORD = ibjtpp.RECORD
ibjtpp."PRESSURE" AS pressure, LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui.RECORD = ibjdi.RECORD
ibjtpp."TEMPERATURE" AS temperature,
ibjtpp."MEDIUM" AS medium,
ibjtpp."WORK_PRESSURE" AS workPressure,
ibjtpp."WORK_TEMPERATURE" AS workTemperature,
ibjtpp."WORK_MEDIUM" AS workMedium,
ibjtpp."REMARKS" AS remarks,
ibjdi."DESIGN_UNIT_NAME" AS designUnitName,
ibjui."USE_DATE" AS useDate,
ibjui."RECORD" AS record,
lc.constructionInfoSeq,
lc.uscUnitName,
to_char(lc.uscDate, 'YYYY-MM-DD') AS uscDate,
li.jySeq,
li.inspectOrgName,
li.inspectOrgCode,
li.inspectConclusion,
li.inspectReport,
li.inspectType,
li.inspectStaff,
to_char(li.inspectDate, 'YYYY-MM-DD') AS inspectDate,
to_char(li.nextInspectDate, 'YYYY-MM-DD') AS nextInspectDate
FROM idx_biz_jg_use_info ibjui
LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui.RECORD = ibjtpp.RECORD
LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui.RECORD = ibjdi.RECORD
LEFT JOIN latest_construction lc ON lc."RECORD" = ibjui."RECORD" AND lc.rn = 1
LEFT JOIN latest_inspection li ON li."RECORD" = ibjui."RECORD" AND li.rn = 1
WHERE WHERE
ibjui.record in ibjui.record in
<foreach collection="records" item="record" open="(" close=")" separator=","> <foreach collection="records" item="record" open="(" close=")" separator=",">
......
...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataCha ...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataCha
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationEqServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationEqServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.Getter; import lombok.Getter;
...@@ -55,7 +56,7 @@ public class UseRegisterUpdateService { ...@@ -55,7 +56,7 @@ public class UseRegisterUpdateService {
} }
// 压力管道在使用登记页面进行管道增减后,更新eq表、修改管道的状态 // 压力管道在使用登记页面进行管道增减后,更新eq表、修改管道的状态
if (model.equals(IBizDataChangeHandleStrategy.ModelType.singleProject)) { if (model.equals(IBizDataChangeHandleStrategy.ModelType.singleProject)) {
JgUseRegistration useRegistration = jgUseRegistrationService.getOne(new LambdaQueryWrapper<JgUseRegistration>().select(BaseEntity::getSequenceNbr, JgUseRegistration::getStatus, JgUseRegistration::getProjectContraptionId, JgUseRegistration::getOriginProjectContraptionIds).eq(JgUseRegistration::getApplyNo, applyNo)); JgUseRegistration useRegistration = jgUseRegistrationService.getOne(new LambdaQueryWrapper<JgUseRegistration>().select(BaseEntity::getSequenceNbr, JgUseRegistration::getStatus, JgUseRegistration::getProjectContraptionId, JgUseRegistration::getOriginProjectContraptionIds, JgUseRegistration::getUseRegistrationCode).eq(JgUseRegistration::getApplyNo, applyNo));
if (!useRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) { // 非完成状态更新eq表 if (!useRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) { // 非完成状态更新eq表
// 1.按照装置id+非纳管状态,查询新增的管道 // 1.按照装置id+非纳管状态,查询新增的管道
List<JgUseRegistrationEq> eqsNew = this.getNewPieLines(useRegistration); List<JgUseRegistrationEq> eqsNew = this.getNewPieLines(useRegistration);
...@@ -68,12 +69,10 @@ public class UseRegisterUpdateService { ...@@ -68,12 +69,10 @@ public class UseRegisterUpdateService {
this.insertRelationEq(useRegistration.getSequenceNbr(), registrationEqs); this.insertRelationEq(useRegistration.getSequenceNbr(), registrationEqs);
} else { // 完成时,把管道更新为已纳管状态 } else { // 完成时,把管道更新为已纳管状态
// 按照装置id查询装置下管道,更新为已纳管状态 // 按照装置id查询装置下管道,更新为已纳管状态
List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, useRegistration.getProjectContraptionId()).eq(IdxBizJgUseInfo::getIsIntoManagement, false).select(TzsBaseEntity::getSequenceNbr)); List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, useRegistration.getProjectContraptionId()).eq(IdxBizJgUseInfo::getIsIntoManagement, false).select(TzsBaseEntity::getSequenceNbr, IdxBizJgUseInfo::getRecord));
useInfos.parallelStream().forEach(e -> { useInfos.parallelStream().forEach(e -> {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>(); setNewPipeline2IntoManage(e);
updateWrapper.eq(TzsBaseEntity::getSequenceNbr, e.getSequenceNbr()); updateUseOrgCode2NewPipeline(e, useRegistration);
updateWrapper.set(IdxBizJgUseInfo::getIsIntoManagement, true);
jgUseRegistrationService.getIdxBizJgUseInfoService().update(updateWrapper);
}); });
} }
// 记录本次维护管道的日志 // 记录本次维护管道的日志
...@@ -81,6 +80,20 @@ public class UseRegisterUpdateService { ...@@ -81,6 +80,20 @@ public class UseRegisterUpdateService {
} }
} }
private void setNewPipeline2IntoManage(IdxBizJgUseInfo e) {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TzsBaseEntity::getSequenceNbr, e.getSequenceNbr());
updateWrapper.set(IdxBizJgUseInfo::getIsIntoManagement, true);
jgUseRegistrationService.getIdxBizJgUseInfoService().update(updateWrapper);
}
private void updateUseOrgCode2NewPipeline(IdxBizJgUseInfo e, JgUseRegistration useRegistration) {
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper2 = new LambdaUpdateWrapper<>();
updateWrapper2.eq(IdxBizJgRegisterInfo::getRecord, e.getRecord());
updateWrapper2.set(IdxBizJgRegisterInfo::getUseOrgCode, useRegistration.getUseRegistrationCode());
jgUseRegistrationService.getIdxBizJgRegisterInfoService().update(updateWrapper2);
}
/** /**
* 备份原始数据 * 备份原始数据
* *
...@@ -128,8 +141,8 @@ public class UseRegisterUpdateService { ...@@ -128,8 +141,8 @@ public class UseRegisterUpdateService {
private List<JgUseRegistrationEq> getRemainedPieLines(JgUseRegistration useRegistration) { private List<JgUseRegistrationEq> getRemainedPieLines(JgUseRegistration useRegistration) {
String pIds = useRegistration.getOriginProjectContraptionIds(); String pIds = useRegistration.getOriginProjectContraptionIds();
if (pIds != null && !pIds.isEmpty()) { if (pIds != null && !pIds.isEmpty() && !pIds.equals(useRegistration.getProjectContraptionId())) {
List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().in(IdxBizJgUseInfo::getProjectContraptionId, Arrays.asList(pIds.split(",")))); List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().in(IdxBizJgUseInfo::getProjectContraptionId, Arrays.asList(pIds.split(","))).select(TzsBaseEntity::getSequenceNbr, IdxBizJgUseInfo::getRecord));
return buildEqs(useRegistration, useInfos); return buildEqs(useRegistration, useInfos);
} }
return new ArrayList<>(); return new ArrayList<>();
...@@ -147,9 +160,7 @@ public class UseRegisterUpdateService { ...@@ -147,9 +160,7 @@ public class UseRegisterUpdateService {
} }
private List<JgUseRegistrationEq> getNewPieLines(JgUseRegistration useRegistration) { private List<JgUseRegistrationEq> getNewPieLines(JgUseRegistration useRegistration) {
List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, useRegistration.getProjectContraptionId()).eq(IdxBizJgUseInfo::getIsIntoManagement, false)); List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, useRegistration.getProjectContraptionId()).eq(IdxBizJgUseInfo::getIsIntoManagement, false).select(IdxBizJgUseInfo::getRecord, TzsBaseEntity::getSequenceNbr));
return buildEqs(useRegistration, useInfos); return buildEqs(useRegistration, useInfos);
} }
} }
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