Commit 6a84a9c7 authored by suhuiguang's avatar suhuiguang

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

1.使用登记支持管道的增减保存及详情展示
parent 245cb21d
......@@ -872,34 +872,6 @@
ORDER BY ui.REC_DATE DESC
</select>
<select id="queryForUnitPipelineEquipmentForEdit" resultType="java.util.Map">
WITH
-- 获取每个RECORD最新的施工信息
latest_construction AS (
SELECT
"RECORD",
SEQUENCE_NBR AS constructionInfoSeq,
USC_UNIT_NAME AS uscUnitName,
USC_DATE AS uscDate,
ROW_NUMBER() OVER(PARTITION BY "RECORD" ORDER BY USC_DATE DESC) AS rn
FROM idx_biz_jg_construction_info
),
-- 获取每个RECORD最新的检测信息
latest_inspection AS (
SELECT
"RECORD",
SEQUENCE_NBR AS jySeq,
INSPECT_ORG_NAME AS inspectOrgName,
INSPECT_ORG_CODE AS inspectOrgCode,
INSPECT_CONCLUSION AS inspectConclusion,
NEXT_INSPECT_DATE AS nextInspectDate,
INSPECT_REPORT AS inspectReport,
INSPECT_TYPE AS inspectType,
INSPECT_STAFF AS inspectStaff,
INSPECT_DATE AS inspectDate,
INSPECT_REPORT_NO as inspectReportNo,
ROW_NUMBER() OVER(PARTITION BY "RECORD" ORDER BY INSPECT_DATE DESC) AS rn
FROM idx_biz_jg_inspection_detection_info
)
SELECT
ibjtpp."PIPE_NAME" AS pipeName,
ibjtpp."PIPELINE_NUMBER" AS pipelineNumber,
......@@ -917,23 +889,22 @@
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
(select SEQUENCE_NBR from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) jySeq,
(select INSPECT_ORG_CODE from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgCode,
(select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName,
(select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectConclusion,
(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,
(select INSPECT_REPORT from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectReport,
(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 (INSPECT_DATE, 'YYYY-MM-DD') from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectDate,
(select INSPECT_REPORT_NO from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectReportNo,
(SELECT USC_UNIT_NAME from idx_biz_jg_construction_info where "RECORD" = ibjui."RECORD" ORDER BY USC_DATE DESC limit 1) uscUnitName,
(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,
(SELECT SEQUENCE_NBR from idx_biz_jg_construction_info where "RECORD" = ibjui."RECORD" ORDER BY USC_DATE DESC limit 1) constructionInfoSeq
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
ibjui.record in
<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
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.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.enums.FlowStatusEnum;
import lombok.Getter;
......@@ -55,7 +56,7 @@ public class UseRegisterUpdateService {
}
// 压力管道在使用登记页面进行管道增减后,更新eq表、修改管道的状态
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表
// 1.按照装置id+非纳管状态,查询新增的管道
List<JgUseRegistrationEq> eqsNew = this.getNewPieLines(useRegistration);
......@@ -68,12 +69,10 @@ public class UseRegisterUpdateService {
this.insertRelationEq(useRegistration.getSequenceNbr(), registrationEqs);
} else { // 完成时,把管道更新为已纳管状态
// 按照装置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 -> {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TzsBaseEntity::getSequenceNbr, e.getSequenceNbr());
updateWrapper.set(IdxBizJgUseInfo::getIsIntoManagement, true);
jgUseRegistrationService.getIdxBizJgUseInfoService().update(updateWrapper);
setNewPipeline2IntoManage(e);
updateUseOrgCode2NewPipeline(e, useRegistration);
});
}
// 记录本次维护管道的日志
......@@ -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 {
private List<JgUseRegistrationEq> getRemainedPieLines(JgUseRegistration useRegistration) {
String pIds = useRegistration.getOriginProjectContraptionIds();
if (pIds != null && !pIds.isEmpty()) {
List<IdxBizJgUseInfo> useInfos = jgUseRegistrationService.getIdxBizJgUseInfoService().list(new LambdaQueryWrapper<IdxBizJgUseInfo>().in(IdxBizJgUseInfo::getProjectContraptionId, Arrays.asList(pIds.split(","))));
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(","))).select(TzsBaseEntity::getSequenceNbr, IdxBizJgUseInfo::getRecord));
return buildEqs(useRegistration, useInfos);
}
return new ArrayList<>();
......@@ -147,9 +160,7 @@ public class UseRegisterUpdateService {
}
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);
}
}
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