diff --git a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAcceptRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAcceptRecordUpdateExe.java index 79dee9c..11e2ddf 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAcceptRecordUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenAcceptRecordUpdateExe.java @@ -90,10 +90,13 @@ public class HiddenAcceptRecordUpdateExe { stateList.add(4); Long count = hiddenRepository.countByForeignKey(cmd.getForeignKey(), stateList); if (count == 0) { - // 修改安全环保检查隐患验收操作记录为完成 + // 修改安全环保检查隐患验收操作记录为完成(使用发起人user_id,因为type=8记录是按发起人创建的) + List initiatorList = + safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getForeignKey(), 1); SafetyEnvironmentalInspectionUserDO inspectionUserDO = new SafetyEnvironmentalInspectionUserDO(); inspectionUserDO.setInspectionId(cmd.getForeignKey()); - inspectionUserDO.setUserId(ssoUser.getUserId()); + inspectionUserDO.setUserId(initiatorList != null && !initiatorList.isEmpty() + ? initiatorList.get(0).getUserId() : ssoUser.getUserId()); inspectionUserDO.setType(8); inspectionUserDO.setStatus(1); inspectionUserDO.setSignatureTime(LocalDateTime.now()); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java index 31b51b0..67eca11 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java @@ -251,7 +251,7 @@ public class KeyProjectQueryExe { queryWrapper.eq("delete_enum", "FALSE"); queryWrapper.in("state",2); queryWrapper.inSql("hidden_id", "SELECT hidden_id FROM hidden_find_user WHERE find_user_id = " + id + " AND delete_enum = 'FALSE'"); - queryWrapper.apply("(source NOT IN (2, 3) OR EXISTS (SELECT 1 FROM safety_environmental_inspection sei WHERE sei.inspection_id = hidden.foreign_key AND sei.status = 3))"); + queryWrapper.apply("(source NOT IN (2, 3) OR EXISTS (SELECT 1 FROM safety_environmental_inspection sei WHERE sei.inspection_id = hidden.foreign_key AND sei.delete_enum = 'FALSE' AND sei.status != 0))"); Long yhdysCount = hiddenRepository.count(queryWrapper); diff --git a/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml b/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml index 909ee34..0a39c00 100644 --- a/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml @@ -22,6 +22,15 @@ LEFT JOIN hidden h ON hp.hidden_id = h.hidden_id AND h.delete_enum = 'FALSE' LEFT JOIN safety_environmental_inspection i ON i.inspection_id = h.foreign_key AND h.source IN (2, 3) LEFT JOIN key_project kp ON kp.key_project_id = i.key_project_id + AND kp.id = ( + SELECT id + FROM key_project kp_inner + WHERE kp_inner.key_project_id = i.key_project_id + AND kp_inner.delete_enum = 'FALSE' + AND kp_inner.xgf_corpinfo_id IS NOT NULL + ORDER BY apply_status DESC, update_time DESC + LIMIT 1 + ) LEFT JOIN ai_alarm aa ON h.foreign_key = aa.ai_alarm_id AND h.source = 1 LEFT JOIN key_project kp2 ON kp2.key_project_id = aa.key_project_id LEFT JOIN corp_info pci ON pci.id = hp.penalized_corp_id