5-23 - 隐患验收接口 增加对视频识别类型隐患的消息推送和待办

main
tianxinlei 2026-05-23 10:46:48 +08:00
parent a375b1e58d
commit ca96074256
6 changed files with 62 additions and 11 deletions

View File

@ -12,10 +12,12 @@ import com.zcloud.key.project.domain.model.hidden.HiddenAcceptRecordE;
import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE; import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE;
import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordAcceptCmd; import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordAcceptCmd;
import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordUpdateCmd; import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordUpdateCmd;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenFindUserDO; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenFindUserDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO; import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO; import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
import com.zcloud.key.project.persistence.repository.ai.AiAlarmRepository;
import com.zcloud.key.project.persistence.repository.hidden.HiddenFindUserRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenFindUserRepository;
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository; import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository;
@ -47,6 +49,7 @@ public class HiddenAcceptRecordUpdateExe {
private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository; private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository;
private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository; private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository;
private final SafetyEnvironmentalInspectionUserGateway safetyEnvironmentalInspectionUserGateway; private final SafetyEnvironmentalInspectionUserGateway safetyEnvironmentalInspectionUserGateway;
private final AiAlarmRepository aiAlarmRepository;
private final HiddenFindUserRepository hiddenFindUserRepository; private final HiddenFindUserRepository hiddenFindUserRepository;
private final MessageNoticeExe messageNoticeExe; private final MessageNoticeExe messageNoticeExe;
private final MessageTemplateConfig messageTemplateConfig; private final MessageTemplateConfig messageTemplateConfig;
@ -134,19 +137,34 @@ public class HiddenAcceptRecordUpdateExe {
// 驳回给整改人发代办 // 驳回给整改人发代办
if(cmd.getState() == 0){ if(cmd.getState() == 0){
// 这块 hiddenDO.source = 1时SafetyEnvironmentalInspectionDO查不到数据需要关联ai_alarm表 if (hiddenDO.getSource() == 1) {
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(hiddenDO.getForeignKey()); // 视频识别隐患
// todo 报错 java.lang.NullPointerException: null // hiddenDO.source = 1时SafetyEnvironmentalInspectionDO查不到数据需要关联ai_alarm表
// HiddenAcceptRecordUpdateExe.acceptExecute(HiddenAcceptRecordUpdateExe.java:138) AiAlarmDO aiAlarmDO = aiAlarmRepository.getByAiAlarmId(hiddenDO.getForeignKey());
if (inspectionDO != null) { if (aiAlarmDO != null) {
Map<String, Object> sendParamsPigeonhole = new HashMap<>(); Map<String, Object> sendParamsPigeonhole = new HashMap<>();
sendParamsPigeonhole.put("checkTitle", inspectionDO.getProjectName()); sendParamsPigeonhole.put("checkTitle", aiAlarmDO.getProjectName());
messageNoticeExe.messageNotice(hiddenDO.getRectificationUserId(), messageTemplateConfig.getCheckInitiatorApplyAcceptanceNotPass(), sendParamsPigeonhole); messageNoticeExe.messageNotice(hiddenDO.getRectificationUserId(), messageTemplateConfig.getCheckInitiatorApplyAcceptanceNotPass(), sendParamsPigeonhole);
List<SafetyEnvironmentalInspectionUserDO> userList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(hiddenDO.getForeignKey(), 7); if (aiAlarmDO.getDisposeUserId() != null) {
if (userList != null && userList.size() > 0){ messageNoticeExe.sendMessageAddEvent(aiAlarmDO.getDisposeUserId(), "您有一条视频识别的隐患验收未通过,请及时处理。","验收被驳回", hiddenDO.getId(), hiddenDO.getId());
messageNoticeExe.sendMessageAddEvent(userList.get(0).getUserId(), "您有一条安全检查任务的隐患验收未通过,请及时处理。","验收被驳回", hiddenDO.getId(), hiddenDO.getId()); }
} }
} else {
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(hiddenDO.getForeignKey());
if (inspectionDO != null) {
Map<String, Object> sendParamsPigeonhole = new HashMap<>();
sendParamsPigeonhole.put("checkTitle", inspectionDO.getProjectName());
messageNoticeExe.messageNotice(hiddenDO.getRectificationUserId(), messageTemplateConfig.getCheckInitiatorApplyAcceptanceNotPass(), sendParamsPigeonhole);
List<SafetyEnvironmentalInspectionUserDO> userList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(hiddenDO.getForeignKey(), 7);
if (userList != null && userList.size() > 0){
messageNoticeExe.sendMessageAddEvent(userList.get(0).getUserId(), "您有一条安全检查任务的隐患验收未通过,请及时处理。","验收被驳回", hiddenDO.getId(), hiddenDO.getId());
}
}
} }
} }

View File

@ -6,6 +6,7 @@ import com.zcloud.key.project.command.convertor.ai.AiAlarmCoConvertor;
import com.zcloud.key.project.dto.ai.AiAlarmPageQry; import com.zcloud.key.project.dto.ai.AiAlarmPageQry;
import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO; import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO; import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
import com.zcloud.key.project.persistence.repository.ai.AiAlarmRepository; import com.zcloud.key.project.persistence.repository.ai.AiAlarmRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope; import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes; import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO; import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Map; import java.util.Map;
@ -22,6 +23,8 @@ import java.util.Map;
public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> { public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> {
IPage<AiAlarmDO> selectListPage(IPage<AiAlarmDO> iPage, Map<String, Object> params, String menuPerms); IPage<AiAlarmDO> selectListPage(IPage<AiAlarmDO> iPage, Map<String, Object> params, String menuPerms);
AiAlarmDO getByAiAlarmId(String aiAlarmId);
AiAlarmDO findById(Long id); AiAlarmDO findById(Long id);
} }

View File

@ -3,6 +3,7 @@ package com.zcloud.key.project.persistence.repository.ai;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository; import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO; import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
import java.util.Map; import java.util.Map;
@ -15,6 +16,8 @@ import java.util.Map;
public interface AiAlarmRepository extends BaseRepository<AiAlarmDO> { public interface AiAlarmRepository extends BaseRepository<AiAlarmDO> {
PageResponse<AiAlarmDO> listPage(Map<String, Object> params); PageResponse<AiAlarmDO> listPage(Map<String, Object> params);
AiAlarmDO getByAiAlarmId(String aiAlarmId);
AiAlarmDO findById(Long id); AiAlarmDO findById(Long id);
} }

View File

@ -39,6 +39,12 @@ public class AiAlarmRepositoryImpl extends BaseRepositoryImpl<AiAlarmMapper, AiA
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public AiAlarmDO getByAiAlarmId(String inspectionId) {
return aiAlarmMapper.getByAiAlarmId(inspectionId);
}
@Override @Override
public AiAlarmDO findById(Long id) { public AiAlarmDO findById(Long id) {
return aiAlarmMapper.findById(id); return aiAlarmMapper.findById(id);

View File

@ -31,6 +31,26 @@
</where> </where>
</select> </select>
<select id="getByAiAlarmId" resultType="com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO">
select
aa.*,
kp.project_name,
kp.xgf_master_user_id,
xgfu.name as xgf_master_user_name,
xgfu.department_id as xgf_master_department_id,
xgfd.name as xgf_master_department_name,
h.id as hidden_id,
h.hidden_id as hidden_uuid
from
ai_alarm aa
left join key_project kp on kp.key_project_id = aa.key_project_id
left join user xgfu on xgfu.id = kp.xgf_master_user_id
left join department xgfd on xgfd.id = xgfu.department_id
left join hidden h on h.foreign_key = aa.ai_alarm_id and h.delete_enum = 'FALSE'
where aa.ai_alarm_id = #{aiAlarmId}
group by aa.id
</select>
<select id="findById" resultType="com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO"> <select id="findById" resultType="com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO">
select select
aa.*, aa.*,