Commit d13daba6 authored by tianbo's avatar tianbo

refactor(jg): 优化工业管道单位变更业务逻辑

- 登记证号查询逻辑增加对已注销记录的过滤条件 - 重构工业管道单位变更处理方法,支持报废设备的特殊处理逻辑 - 实现装置和设备分批更新功能,提升大数据量处理性能 - 新增设备使用信息和ES索引同步更新方法 - 添加完整性校验,排除全报废设备的装置参与单位变更
parent 8531a376
......@@ -511,8 +511,8 @@
SELECT distinct
ibjpc.*,
(SELECT ei.sequence_nbr from idx_biz_jg_use_info ui
LEFT JOIN tz_base_enterprise_info ei ON ei.use_unit_code = ui.ESTATE_UNIT_CREDIT_CODE
WHERE ui.PROJECT_CONTRAPTION_ID = ibjpc.sequence_nbr ORDER BY ui.REC_DATE DESC LIMIT 1) AS estateUnitName
LEFT JOIN tz_base_enterprise_info ei ON ei.use_unit_code = ui."ESTATE_UNIT_CREDIT_CODE"
WHERE ui."PROJECT_CONTRAPTION_ID" = ibjpc.sequence_nbr ORDER BY ui."REC_DATE" DESC LIMIT 1) AS estateUnitName
FROM
idx_biz_jg_project_contraption ibjpc
LEFT JOIN tzs_jg_use_registration_manage tjurm ON ibjpc.use_registration_code = tjurm.use_registration_code
......@@ -615,14 +615,22 @@
a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
) temp
) a ON ibjui.record = a.record
) a ON ibjui."RECORD" = a.record
WHERE
ibjpc.sequence_nbr = ibjui.PROJECT_CONTRAPTION_ID
ibjpc.sequence_nbr = ibjui."PROJECT_CONTRAPTION_ID"
)
and ibjpc.use_unit_credit_code = #{dto.originalUseUnitCreditCode}
and ibjpc.is_delete = 0
and tjurm.is_delete = 0
and (ibjpc.project_contraption_parent_id is null or ibjpc.project_contraption_parent_id = '')
AND NOT EXISTS (
SELECT 1
FROM idx_biz_jg_use_info ui
WHERE ui."PROJECT_CONTRAPTION_ID" = ibjpc.sequence_nbr
GROUP BY ui."PROJECT_CONTRAPTION_ID"
HAVING COUNT(*) > 0
AND COUNT(*) = SUM(CASE WHEN ui."EQU_STATE" = '3' THEN 1 ELSE 0 END)
)
<if test="dto.equList != null and dto.equList != ''">
and tjurm.equ_list = #{dto.equList}
</if>
......
......@@ -2096,7 +2096,7 @@ public class CommonServiceImpl implements ICommonService {
String equCategoryAbbrName = CylinderTypeEnum.CYLINDER.getCode().equals(equCategory) ?
CylinderTypeEnum.CYLINDER.getName() :
EquipTypeEnum.getMessage(equCategory.substring(0, 1));
// 设备代码中间两位
// 设备类别中间两位
String equipType2MidDigits = equCategory.substring(1, 3);
//台套还是取品种的中间两位
if (!isUnit) {
......@@ -2191,12 +2191,11 @@ public class CommonServiceImpl implements ICommonService {
do {
ResponseModel<String> stringResponseModel = tzsServiceFeignClient.useRegistrationCode(equCategoryAbbrName + equipType2MidDigits + "陕" + city);
useRegistrationCode = stringResponseModel.getResult();
// 查询是否已有相同登记证号的记录
// 查询是否已有相同登记证号的记录(包括已登记和已注销)
jgUseRegistrationManage = jgUseRegistrationManageService.getBaseMapper().selectOne(
new LambdaQueryWrapper<JgUseRegistrationManage>()
.eq(JgUseRegistrationManage::getUseRegistrationCode, useRegistrationCode)
.eq(JgUseRegistrationManage::getIsDelete, 0)
.eq(JgUseRegistrationManage::getCertificateStatus, "已登记")
);
} while (jgUseRegistrationManage != null);
return useRegistrationCode;
......
......@@ -1063,7 +1063,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
item.setDataSourceName(EquipSourceEnum.getDataSourceName(item.getDataSource()));
item.setFullAddress(
Stream.of(item.getProvinceName(), item.getCityName(), item.getCountyName(), item.getStreetName(), item.getAddress())
.map(value -> value == null ? "" : value)
.map(value -> value == null || "null".equals(value) ? "" : value)
.collect(Collectors.joining())
);
// 兼容历史数据,根据产权单位Seq(item.getEstateUnitName())从tzs_tcm_unit_info表查询产权单位
......
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