feat(): 重点作业处罚相关方名称关联查询,修改隐患待验收计数逻辑,补充验收发起人与登录人匹配逻辑

dev
lishiwei 2026-07-16 10:18:58 +08:00
parent f8342fca39
commit d1945601d7
3 changed files with 15 additions and 3 deletions

View File

@ -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<SafetyEnvironmentalInspectionUserDO> 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());

View File

@ -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);

View File

@ -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