Commit f46877e6 authored by tianbo's avatar tianbo

feat(jg): 添加管道装置报废处理功能

- 新增 JgScrapCancelEqMapper 的 selectNonScrappedPipelineCount 方法用于统计非报废管道数量 - 实现管道装置报废时重新计算管道装置长度的功能 - 当管道装置下所有管道都报废时自动将对应的使用登记证设为报废状态
parent 5d89feca
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq;
import org.apache.ibatis.annotations.Param;
/**
* 报废注销设备关系表 Mapper 接口
......@@ -11,4 +12,5 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq;
*/
public interface JgScrapCancelEqMapper extends BaseMapper<JgScrapCancelEq> {
Integer selectNonScrappedPipelineCount(@Param("useRegistrationCode") String useRegistrationCode);
}
......@@ -2,4 +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
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'
AND pc.use_registration_code = #{useRegistrationCode}
</select>
</mapper>
......@@ -33,12 +33,13 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.PieLineDataChangeServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgProjectContraptionDto;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -125,6 +126,10 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@Autowired
private EventPublisher eventPublisher;
@Autowired
private PieLineDataChangeServiceImpl pipelineDataChangeService;
/**
* 移装移装注销/报废注销判断
*
......@@ -836,6 +841,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} else if (EquipmentClassifityEnum.YLGD.getCode().equals(jsonObject.get("equListCode"))) {
beanMap.put("projectContraptionNo", jsonObject.get("projectContraptionNo").toString());
beanMap.put("equipments", JSONArray.parse(jsonObject.get("equipments").toString()));
beanMap.put("EQU_CATEGORY_CODE", CylinderTypeEnum.CYLINDER.getCode());
} else {
beanMap.put("certificates", JSONArray.parse(jsonObject.get("certificates").toString()));
}
......@@ -1071,9 +1077,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquipmentEnum.BAOFEI.getCode());
map1.put("EQU_STATE", String.valueOf(EquipmentEnum.BAOFEI.getCode()));
// 修改证管理表中的证的状态
if (!EquipmentClassifityEnum.YLGD.getCode().equals(jgScrapCancel.getEquListCode())) {
// 查出所有需要改的使用登记证
// 过滤出非气瓶 或是车用气瓶的使用登记证
jgUseRegistrationManageList = jgUseRegistrationManageList.stream().filter(item -> !CylinderTypeEnum.CYLINDER.getCode().equals(item.getEquCategoryCode()) || item.getRegType().equals(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName())).collect(Collectors.toList());
jgUseRegistrationManageList = jgUseRegistrationManageList.stream().filter(item ->
!CylinderTypeEnum.CYLINDER.getCode().equals(item.getEquCategoryCode())
|| item.getRegType().equals(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName()))
.collect(Collectors.toList());
//组装条件进行修改
if (!ObjectUtils.isEmpty(jgUseRegistrationManageList)) {
for(JgUseRegistrationManage useRegistrationManage : jgUseRegistrationManageList){
......@@ -1087,6 +1097,22 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
}
} else {
// 1.重新计算管道装置长度(排除作废的管道长度)
pipelineDataChangeService.updatePipelineLength(jgScrapCancel.getProjectContraptionId());
// 查询管道装置使用登记证下所有非报废的管道
Integer nonScrappedPipelineCount = jgScrapCancelEqMapper.selectNonScrappedPipelineCount(jgScrapCancel.getUseRegistrationCode());
// 2.管道装置对应使用登记证下所有管道都报废则证报废
if (nonScrappedPipelineCount == 0) {
JgUseRegistrationManage useRegistrationManage = jgUseRegistrationManageList.get(0);
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_CANCEL.getName());
useRegistrationManage.setIsScrap("1");
useRegistrationManage.setRecDate(new Date());
useRegistrationManage.setIsDoBusiness("3");
jgUseRegistrationManageService.updateById(useRegistrationManage);
}
}
} else {
map1.put("EQU_STATE", String.valueOf(EquipmentEnum.ZHUXIAO.getCode()));
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquipmentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
......
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