Commit 4f3c9368 authored by tianbo's avatar tianbo

refactor(jg): 优化工业管道设备注销报废相关逻辑和查询条件

- 工业管道登记证下所有装置没有在用、停用的管道则更新证状态为已注销
parent 78e33a49
......@@ -12,5 +12,5 @@ import org.apache.ibatis.annotations.Param;
*/
public interface JgScrapCancelEqMapper extends BaseMapper<JgScrapCancelEq> {
Integer selectNonScrappedPipelineCount(@Param("useRegistrationCode") String useRegistrationCode);
Integer countNonCanceledAndScrappedPipeline(@Param("useRegistrationCode") String useRegistrationCode);
}
......@@ -2,14 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper">
<select id="selectNonScrappedPipelineCount" resultType="java.lang.Integer">
<select id="countNonCanceledAndScrappedPipeline" resultType="java.lang.Integer">
SELECT
COUNT(*)
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_project_contraption pc ON pc.sequence_nbr = ui."PROJECT_CONTRAPTION_ID"
WHERE
ui."EQU_STATE" != '3'
ui."EQU_STATE" != '3' AND ui."EQU_STATE" != '4'
AND pc.use_registration_code = #{useRegistrationCode}
</select>
</mapper>
......@@ -1173,9 +1173,9 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
// 1.重新计算管道装置长度(减去作废的管道长度)
pipelineDataChangeService.updatePipelineLength(jgScrapCancel.getProjectContraptionId());
// 查询管道装置使用登记证下所有非报废的管道
Integer nonScrappedPipelineCount = jgScrapCancelEqMapper.selectNonScrappedPipelineCount(jgScrapCancel.getUseRegistrationCode());
// 2.管道装置对应使用登记证下所有管道都报废则证报废
if (nonScrappedPipelineCount == 0) {
Integer nonCanceledAndScrappedPipelineCount = jgScrapCancelEqMapper.countNonCanceledAndScrappedPipeline(jgScrapCancel.getUseRegistrationCode());
// 2.管道装置对应使用登记证下所有管道都报废则证变成注销状态
if (nonCanceledAndScrappedPipelineCount == 0) {
JgUseRegistrationManage useRegistrationManage = jgUseRegistrationManageList.get(0);
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_CANCEL.getName());
......@@ -1189,13 +1189,26 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
map1.put("EQU_STATE", String.valueOf(EquipmentEnum.ZHUXIAO.getCode()));
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquipmentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
for(JgUseRegistrationManage useRegistrationManage : jgUseRegistrationManageList){
useRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_MOVE.getName());
useRegistrationManage.setRecDate(new Date());
if (!EquipmentClassifityEnum.YLGD.getCode().equals(jgScrapCancel.getEquListCode())) {
for(JgUseRegistrationManage useRegistrationManage : jgUseRegistrationManageList){
useRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_MOVE.getName());
useRegistrationManage.setRecDate(new Date());
}
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
} else {
// 管道装置对应使用登记证下所有管道都注销则证变成注销状态
Integer nonCanceledAndScrappedPipelineCount = jgScrapCancelEqMapper.countNonCanceledAndScrappedPipeline(jgScrapCancel.getUseRegistrationCode());
if (nonCanceledAndScrappedPipelineCount == 0) {
JgUseRegistrationManage useRegistrationManage = jgUseRegistrationManageList.get(0);
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_MOVE.getName());
useRegistrationManage.setRecDate(new Date());
jgUseRegistrationManageService.updateById(useRegistrationManage);
}
}
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
}
for (String equipId : equipIds) {
resultMap.put(equipId, map1);
......
......@@ -35,7 +35,7 @@ import com.yeejoin.amos.boot.module.common.api.dao.EsEquipmentDao;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.common.api.enums.JYJCResultEnum;
import com.yeejoin.amos.boot.module.common.api.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.api.common.PipLenCalUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
......@@ -57,7 +57,6 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.event.EquipCreateOrEditEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.common.api.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
......@@ -5012,8 +5011,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 查询流程中的装置
List<JgUseRegistration> flowIngPros = this.list(new LambdaQueryWrapper<JgUseRegistration>().notIn(JgUseRegistration::getStatus, NOT_FLOWING_STATE).select(BaseEntity::getSequenceNbr, JgUseRegistration::getProjectContraptionId));
Set<String> proIds = flowIngPros.stream().map(JgUseRegistration::getProjectContraptionId).collect(toSet());
proIds.remove(null);
proIds.remove("");
if (ValidationUtil.isEmpty(proIds)) {
proIds.remove(null);
proIds.remove("");
}
// 查询已纳管且使用登记证编号不为空且非流程中的装置
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode, useUnitCreditCode);
......@@ -5049,6 +5050,13 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
.map(JgUseRegistration::getProjectContraptionId)
.filter(id -> id != null && !id.isEmpty())
.collect(toSet());
if (!ValidationUtil.isEmpty(proIds)) {
// 同时需排除所有管道都已报废的装置id
List<String> allScrapedProIds = Lists.newArrayList();
proIds.addAll(allScrapedProIds);
proIds.remove(null);
proIds.remove("");
}
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode, useUnitCreditCode)
.notIn(!proIds.isEmpty(), BaseEntity::getSequenceNbr, proIds)
......
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