Commit 57fed8f8 authored by tianbo's avatar tianbo

feat(jg): 安全追溯错误问题修复

- 在CommonMapper中新增queryInMaintenanceRecord和queryInInspectionRecord方法 - 在CommonMapper.xml中实现两个新查询SQL,用于获取在保养和检验中的设备记录 - 优化产权单位联系人电话获取逻辑,增加空值判断 - 完善检验检测信息最新记录查询逻辑,增加REC_DATE排序字段 -重构SafetyProblemTracingGenService中超期数据修复逻辑,支持处理大量数据集 - 新增processLargeResultSet方法用于分批处理大数据量结果集 - 修改handleOutOfMaintenanceErrorData和handleOutOfInspectionErrorData方法签名, 增加对正常状态设备的过滤处理 - 调整维保与检验超期数据修正逻辑,提高数据准确性
parent 212bbefa
...@@ -375,6 +375,10 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> { ...@@ -375,6 +375,10 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
Map<String, String> queryTcmUnitInfoBySeq(@Param("unitSeq") String unitSeq, @Param("unitType") String unitType); Map<String, String> queryTcmUnitInfoBySeq(@Param("unitSeq") String unitSeq, @Param("unitType") String unitType);
String queryTcmUnitSeqByCreditCode(@Param("unitCreditCode") String unitCreditCode, @Param("unitType") String unitType); String queryTcmUnitSeqByCreditCode(@Param("unitCreditCode") String unitCreditCode, @Param("unitType") String unitType);
// 产权单位调整为可输入或选择--结束 // 产权单位调整为可输入或选择--结束
List<Map<String, Object>> queryInMaintenanceRecord();
List<Map<String, Object>> queryInInspectionRecord();
} }
...@@ -1177,7 +1177,7 @@ ...@@ -1177,7 +1177,7 @@
SELECT "RECORD","NEXT_INSPECT_DATE",rowNum1 SELECT "RECORD","NEXT_INSPECT_DATE",rowNum1
FROM FROM
( (
SELECT ROW_NUMBER () OVER ( PARTITION BY "RECORD" ORDER BY "INSPECT_DATE" DESC) AS rowNum1,"RECORD", "NEXT_INSPECT_DATE" SELECT ROW_NUMBER () OVER ( PARTITION BY "RECORD" ORDER BY "INSPECT_DATE" DESC, REC_DATE DESC) AS rowNum1,"RECORD", "NEXT_INSPECT_DATE"
FROM FROM
idx_biz_jg_inspection_detection_info where "NEXT_INSPECT_DATE" is not null idx_biz_jg_inspection_detection_info where "NEXT_INSPECT_DATE" is not null
) d ) d
...@@ -3501,4 +3501,49 @@ ...@@ -3501,4 +3501,49 @@
and unit_type = #{unitType} and unit_type = #{unitType}
</if> </if>
</select> </select>
<select id="queryInMaintenanceRecord" resultType="java.util.Map">
SELECT
ui."RECORD"
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_other_info oi ON oi."RECORD" = ui."RECORD"
LEFT JOIN idx_biz_jg_supervision_info si on si."RECORD" = ui."RECORD"
LEFT JOIN (
SELECT
"RECORD", "INFORM_END", rowNum1
FROM
(
SELECT ROW_NUMBER() OVER (PARTITION BY "RECORD" ORDER BY "REC_DATE" DESC) AS rowNum1, "RECORD", "INFORM_END"
FROM
idx_biz_jg_maintenance_record_info where "INFORM_END" is not null
) d
WHERE d.rowNum1 = 1 and d."INFORM_END" >= CURRENT_DATE
) tt on tt."RECORD" = ui."RECORD"
WHERE si."ORG_BRANCH_CODE" like '50%'
and oi."CLAIM_STATUS" not in ('草稿','已拒领','待认领')
and tt."INFORM_END" is not null
</select>
<select id="queryInInspectionRecord" resultType="java.util.Map">
SELECT
ui."RECORD"
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_other_info oi ON oi."RECORD" = ui."RECORD"
LEFT JOIN idx_biz_jg_supervision_info si on si."RECORD" = ui."RECORD"
LEFT JOIN (
SELECT "RECORD", "NEXT_INSPECT_DATE", rowNum1
FROM
(
SELECT ROW_NUMBER () OVER ( PARTITION BY "RECORD" ORDER BY "INSPECT_DATE" DESC, "REC_DATE" DESC) AS rowNum1, "RECORD", "NEXT_INSPECT_DATE"
FROM
idx_biz_jg_inspection_detection_info where "NEXT_INSPECT_DATE" is not null
) d
WHERE d.rowNum1 =1 and d."NEXT_INSPECT_DATE" >= CURRENT_DATE
) tt on tt."RECORD" = ui."RECORD"
WHERE si."ORG_BRANCH_CODE" like '50%'
AND oi."CLAIM_STATUS" not in ('草稿','已拒领','待认领')
AND tt."NEXT_INSPECT_DATE" is not null
</select>
</mapper> </mapper>
...@@ -2501,9 +2501,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -2501,9 +2501,11 @@ public class CommonServiceImpl implements ICommonService {
wrapper.eq(TzBaseEnterpriseInfo::getUseUnitCode, formData.getString("estateUnitName").split("_")[0]); wrapper.eq(TzBaseEnterpriseInfo::getUseUnitCode, formData.getString("estateUnitName").split("_")[0]);
//产权单位联系电话 //产权单位联系电话
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = enterpriseInfoMapper.selectOne(wrapper); TzBaseEnterpriseInfo tzBaseEnterpriseInfo = enterpriseInfoMapper.selectOne(wrapper);
String contactPhone = tzBaseEnterpriseInfo.getContactPhone(); if (!ValidationUtil.isEmpty(tzBaseEnterpriseInfo)) {
if (StringUtils.isNotEmpty(contactPhone)) { String contactPhone = tzBaseEnterpriseInfo.getContactPhone();
formData.put("estatePhone", contactPhone); if (StringUtils.isNotEmpty(contactPhone)) {
formData.put("estatePhone", contactPhone);
}
} }
formData.put("CQUnitCode", formData.getString("estateUnitName").split("_")[0]); formData.put("CQUnitCode", formData.getString("estateUnitName").split("_")[0]);
formData.put("estateUnitName", formData.getString("estateUnitName").split("_")[1]); formData.put("estateUnitName", formData.getString("estateUnitName").split("_")[1]);
......
...@@ -31,7 +31,7 @@ public class IdxBizJgInspectionDetectionInfoServiceImpl extends BaseService<IdxB ...@@ -31,7 +31,7 @@ public class IdxBizJgInspectionDetectionInfoServiceImpl extends BaseService<IdxB
public IdxBizJgInspectionDetectionInfo queryNewestDetailByRecord(String record) { public IdxBizJgInspectionDetectionInfo queryNewestDetailByRecord(String record) {
IdxBizJgInspectionDetectionInfo result = new IdxBizJgInspectionDetectionInfo(); IdxBizJgInspectionDetectionInfo result = new IdxBizJgInspectionDetectionInfo();
QueryWrapper<IdxBizJgInspectionDetectionInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<IdxBizJgInspectionDetectionInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(IdxBizJgInspectionDetectionInfo::getRecord,record).orderByDesc(IdxBizJgInspectionDetectionInfo::getInspectDate); queryWrapper.lambda().eq(IdxBizJgInspectionDetectionInfo::getRecord,record).orderByDesc(IdxBizJgInspectionDetectionInfo::getInspectDate, IdxBizJgInspectionDetectionInfo::getRecDate);
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = list(queryWrapper); List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = list(queryWrapper);
if (!ValidationUtil.isEmpty(inspectionDetectionInfoList)) { if (!ValidationUtil.isEmpty(inspectionDetectionInfoList)) {
BeanUtils.copyProperties(inspectionDetectionInfoList.get(0), result); BeanUtils.copyProperties(inspectionDetectionInfoList.get(0), result);
......
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