feat(): 优化重点作业统计与列表数据对应和处罚消息通知
parent
60d99fc026
commit
8bef81e4e6
|
|
@ -73,9 +73,9 @@ message:
|
|||
checkedPersonApplyDefendNotPass: MS000139
|
||||
hiddenDangerRectifyPersonApplyRectify: MS000140
|
||||
hiddenDangerAcceptancePersonApplyAcceptance: MS000141
|
||||
hiddenDangerPenaltyPersonApplyPenalty: MS000145
|
||||
hiddenDangerPenaltyFeedbackPersonApplyFeedback: MS000146
|
||||
checkInitiatorApplyAcceptancePass: MS000142
|
||||
checkInitiatorApplyAcceptanceNotPass: MS000143
|
||||
hiddenDangerRectifyPersonApplyRectifyPass: MS000144
|
||||
hiddenDangerPenaltyPersonApplyPenalty: MS000163
|
||||
hiddenDangerPenaltyFeedbackPersonApplyFeedback: MS000162
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ message:
|
|||
checkedPersonApplyDefendNotPass: MS000139
|
||||
hiddenDangerRectifyPersonApplyRectify: MS000140
|
||||
hiddenDangerAcceptancePersonApplyAcceptance: MS000141
|
||||
hiddenDangerPenaltyPersonApplyPenalty: MS000145
|
||||
hiddenDangerPenaltyFeedbackPersonApplyFeedback: MS000146
|
||||
checkInitiatorApplyAcceptancePass: MS000142
|
||||
checkInitiatorApplyAcceptanceNotPass: MS000143
|
||||
hiddenDangerPenaltyPersonApplyPenalty: MS000163
|
||||
hiddenDangerPenaltyFeedbackPersonApplyFeedback: MS000162
|
||||
|
|
|
|||
|
|
@ -109,12 +109,16 @@ public class HiddenAcceptRecordUpdateExe {
|
|||
// 查找发起人,作为归档人
|
||||
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(cmd.getForeignKey());
|
||||
List<SafetyEnvironmentalInspectionUserDO> initiator = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getForeignKey(), 1);
|
||||
Map<String, Object> sendParamsPigeonhole = new HashMap<>();
|
||||
sendParamsPigeonhole.put("checkTitle", inspectionDO.getProjectName());
|
||||
messageNoticeExe.messageNotice(initiator.get(0).getUserId(), messageTemplateConfig.getCheckInitiatorApplyAcceptancePass(), sendParamsPigeonhole);
|
||||
if (inspectionDO != null && initiator != null && !initiator.isEmpty()) {
|
||||
Map<String, Object> sendParamsPigeonhole = new HashMap<>();
|
||||
sendParamsPigeonhole.put("checkTitle", inspectionDO.getProjectName());
|
||||
messageNoticeExe.messageNotice(initiator.get(0).getUserId(), messageTemplateConfig.getCheckInitiatorApplyAcceptancePass(), sendParamsPigeonhole);
|
||||
}
|
||||
// 完成隐患整改待办
|
||||
List<SafetyEnvironmentalInspectionUserDO> userList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getForeignKey(), 7);
|
||||
messageNoticeExe.sendMessageCompleteEvent(userList.get(0).getId());
|
||||
if (userList != null && !userList.isEmpty()) {
|
||||
messageNoticeExe.sendMessageCompleteEvent(userList.get(0).getId());
|
||||
}
|
||||
}
|
||||
} else if (cmd.getState() == 0) { // 验收未通过
|
||||
// 将修改安全环保检查隐患整改操作记录改为未完成
|
||||
|
|
@ -200,7 +204,9 @@ public class HiddenAcceptRecordUpdateExe {
|
|||
Map<String, Object> sendParams = new HashMap<>();
|
||||
if (projectName != null && !projectName.isEmpty()) {
|
||||
sendParams.put("checkTitle", projectName);
|
||||
sendParams.put("keyProject", projectName);
|
||||
}
|
||||
sendParams.put("listName", "待处罚");
|
||||
keyProjectPenaltyPersonnelRepository.getListByProjectId(keyProjectId).stream()
|
||||
.map(item -> item.getUserId())
|
||||
.filter(userId -> userId != null)
|
||||
|
|
|
|||
|
|
@ -1,46 +1,60 @@
|
|||
package com.zcloud.key.project.command.hidden;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.key.project.command.project.MessageNoticeExe;
|
||||
import com.zcloud.key.project.domain.config.MessageTemplateConfig;
|
||||
import com.zcloud.key.project.domain.gateway.hidden.HiddenGateway;
|
||||
import com.zcloud.key.project.domain.model.hidden.HiddenE;
|
||||
import com.zcloud.key.project.dto.hidden.HiddenAddCmd;
|
||||
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO;
|
||||
import com.zcloud.key.project.persistence.repository.ai.AiAlarmRepository;
|
||||
import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository;
|
||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhaokai
|
||||
* @Date 2026-03-20 11:32:51
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class HiddenAddExe {
|
||||
private final HiddenGateway hiddenGateway;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
private final AiAlarmRepository aiAlarmRepository;
|
||||
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
||||
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(HiddenAddCmd cmd) {
|
||||
HiddenE hiddenE = new HiddenE();
|
||||
BeanUtils.copyProperties(cmd, hiddenE);
|
||||
hiddenE.setState(1);
|
||||
boolean res = false;
|
||||
boolean res;
|
||||
try {
|
||||
res = hiddenGateway.add(hiddenE);
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
messageNoticeExe.messageNotice(hiddenE.getRectificationUserId(), messageTemplateConfig.getHiddenDangerRectifyPersonApplyRectifyPass(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(hiddenE.getRectificationUserId(), "由您负责处置隐患的摄像头发现隐患,请及时整改。","隐患待整改", hiddenE.getId(), hiddenE.getId());
|
||||
|
||||
|
||||
messageNoticeExe.messageNotice(
|
||||
hiddenE.getRectificationUserId(),
|
||||
messageTemplateConfig.getHiddenDangerRectifyPersonApplyRectifyPass(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
hiddenE.getRectificationUserId(),
|
||||
"由您负责处置隐患的摄像头发现隐患,请及时整改。",
|
||||
"隐患待整改",
|
||||
hiddenE.getId(),
|
||||
hiddenE.getId()
|
||||
);
|
||||
initPenaltyForAiHidden(hiddenE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
@ -49,5 +63,59 @@ public class HiddenAddExe {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void initPenaltyForAiHidden(HiddenE hiddenE) {
|
||||
if (!Integer.valueOf(1).equals(hiddenE.getSource()) || hiddenE.getForeignKey() == null || hiddenE.getHiddenId() == null) {
|
||||
return;
|
||||
}
|
||||
AiAlarmDO aiAlarmDO = aiAlarmRepository.getByAiAlarmId(hiddenE.getForeignKey());
|
||||
if (aiAlarmDO == null || aiAlarmDO.getKeyProjectId() == null) {
|
||||
return;
|
||||
}
|
||||
List<KeyProjectPenaltyPersonnelDO> personnelList =
|
||||
keyProjectPenaltyPersonnelRepository.getListByProjectId(aiAlarmDO.getKeyProjectId());
|
||||
if (CollUtil.isEmpty(personnelList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||
penalty.setHiddenId(hiddenE.getHiddenId());
|
||||
penalty.setKeyProjectId(aiAlarmDO.getKeyProjectId());
|
||||
penalty.setPenalizedCorpId(hiddenE.getRectificationCorpId());
|
||||
penalty.setFineFlag(0);
|
||||
penalty.setFeedbackStatus(0);
|
||||
penalty.setEditFlag(0);
|
||||
hiddenPenaltyRepository.save(penalty);
|
||||
|
||||
HiddenPenaltyDO savedPenalty = hiddenPenaltyRepository.getByPenaltyId(penalty.getHiddenPenaltyId());
|
||||
if (savedPenalty == null || savedPenalty.getId() == null) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", aiAlarmDO.getProjectName());
|
||||
sendParams.put("checkTitle", aiAlarmDO.getProjectName());
|
||||
sendParams.put("listName", "待处罚");
|
||||
for (KeyProjectPenaltyPersonnelDO person : personnelList) {
|
||||
if (person.getUserId() == null) {
|
||||
continue;
|
||||
}
|
||||
messageNoticeExe.messageNotice(
|
||||
person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。",
|
||||
"待处罚",
|
||||
savedPenalty.getId(),
|
||||
getPendingPenaltyTodoKey(savedPenalty)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private Long getPendingPenaltyTodoKey(HiddenPenaltyDO penalty) {
|
||||
return penalty.getHiddenTableId() != null ? penalty.getHiddenTableId() : penalty.getId();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
|
|
@ -131,10 +133,11 @@ public class HiddenPenaltyAddExe {
|
|||
if (penaltyDO == null) {
|
||||
return;
|
||||
}
|
||||
if (penaltyDO.getId() != null) {
|
||||
messageNoticeExe.sendMessageCompleteEvent(penaltyDO.getId());
|
||||
Long pendingPenaltyTodoKey = getPendingPenaltyTodoKey(penaltyDO);
|
||||
if (pendingPenaltyTodoKey != null) {
|
||||
messageNoticeExe.sendMessageCompleteEvent(pendingPenaltyTodoKey);
|
||||
}
|
||||
if (!Integer.valueOf(1).equals(penaltyDO.getFineFlag()) || penaltyDO.getPenalizedUserId() == null) {
|
||||
if (!Integer.valueOf(1).equals(penaltyDO.getFineFlag())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -142,17 +145,35 @@ public class HiddenPenaltyAddExe {
|
|||
if (StringUtils.isNotBlank(penaltyDO.getProjectName())) {
|
||||
sendParams.put("checkTitle", penaltyDO.getProjectName());
|
||||
}
|
||||
messageNoticeExe.messageNotice(
|
||||
penaltyDO.getPenalizedUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
penaltyDO.getPenalizedUserId(),
|
||||
"您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。",
|
||||
"待反馈处罚",
|
||||
penaltyDO.getId(),
|
||||
penaltyDO.getId()
|
||||
);
|
||||
sendParams.put("listName", "待反馈处罚");
|
||||
resolveFeedbackReceivers(penaltyDO).forEach(userId -> {
|
||||
messageNoticeExe.messageNotice(
|
||||
userId,
|
||||
messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
userId,
|
||||
"您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。",
|
||||
"待反馈处罚",
|
||||
penaltyDO.getId(),
|
||||
penaltyDO.getId()
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
private Set<Long> resolveFeedbackReceivers(HiddenPenaltyDO penaltyDO) {
|
||||
Set<Long> userIds = new LinkedHashSet<>();
|
||||
if (penaltyDO.getPenalizedUserId() != null) {
|
||||
userIds.add(penaltyDO.getPenalizedUserId());
|
||||
}
|
||||
if (penaltyDO.getXgfMasterUserId() != null) {
|
||||
userIds.add(penaltyDO.getXgfMasterUserId());
|
||||
}
|
||||
return userIds;
|
||||
}
|
||||
|
||||
private Long getPendingPenaltyTodoKey(HiddenPenaltyDO penaltyDO) {
|
||||
return penaltyDO.getHiddenTableId() != null ? penaltyDO.getHiddenTableId() : penaltyDO.getId();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
|
|
@ -35,11 +37,9 @@ public class HiddenPenaltyUpdateExe {
|
|||
throw new BizException("处罚数据不存在");
|
||||
}
|
||||
|
||||
// 已反馈的不可更改
|
||||
if (1 == existing.getFeedbackStatus()) {
|
||||
throw new BizException("已反馈,无法更改处罚");
|
||||
}
|
||||
// 已更改过的不可重复更改
|
||||
if (1 == existing.getEditFlag()) {
|
||||
throw new BizException("已更改过,无法重复更改");
|
||||
}
|
||||
|
|
@ -65,15 +65,39 @@ public class HiddenPenaltyUpdateExe {
|
|||
}
|
||||
|
||||
private void handleFeedbackTodo(HiddenPenaltyDO penaltyDO) {
|
||||
if (Integer.valueOf(1).equals(penaltyDO.getFineFlag()) && penaltyDO.getPenalizedUserId() != null) {
|
||||
if (Integer.valueOf(1).equals(penaltyDO.getFineFlag())) {
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
if (penaltyDO.getProjectName() != null && !penaltyDO.getProjectName().isEmpty()) {
|
||||
sendParams.put("checkTitle", penaltyDO.getProjectName());
|
||||
}
|
||||
messageNoticeExe.messageNotice(penaltyDO.getPenalizedUserId(), messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(penaltyDO.getPenalizedUserId(), "您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。", "待反馈处罚", penaltyDO.getId(), penaltyDO.getId());
|
||||
sendParams.put("listName", "待反馈处罚");
|
||||
resolveFeedbackReceivers(penaltyDO).forEach(userId -> {
|
||||
messageNoticeExe.messageNotice(
|
||||
userId,
|
||||
messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
userId,
|
||||
"您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。",
|
||||
"待反馈处罚",
|
||||
penaltyDO.getId(),
|
||||
penaltyDO.getId()
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
messageNoticeExe.sendMessageCompleteEvent(penaltyDO.getId());
|
||||
}
|
||||
|
||||
private Set<Long> resolveFeedbackReceivers(HiddenPenaltyDO penaltyDO) {
|
||||
Set<Long> userIds = new LinkedHashSet<>();
|
||||
if (penaltyDO.getPenalizedUserId() != null) {
|
||||
userIds.add(penaltyDO.getPenalizedUserId());
|
||||
}
|
||||
if (penaltyDO.getXgfMasterUserId() != null) {
|
||||
userIds.add(penaltyDO.getXgfMasterUserId());
|
||||
}
|
||||
return userIds;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -209,15 +209,13 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
|
||||
// 通知处罚人
|
||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
penalty.getId(), penalty.getId());
|
||||
}));
|
||||
List<HiddenPenaltyDO> savedPenaltyList = penaltyList.stream()
|
||||
.map(HiddenPenaltyDO::getHiddenPenaltyId)
|
||||
.distinct()
|
||||
.map(hiddenPenaltyRepository::getByPenaltyId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
notifyPenaltyPersonnel(personnelList, savedPenaltyList, projectName);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -255,5 +253,36 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
}
|
||||
return safetyEnvironmentalInspectionCO;
|
||||
}
|
||||
|
||||
private void notifyPenaltyPersonnel(List<KeyProjectPenaltyPersonnelDO> personnelList,
|
||||
List<HiddenPenaltyDO> penaltyList,
|
||||
String projectName) {
|
||||
if (CollUtil.isEmpty(personnelList) || CollUtil.isEmpty(penaltyList)) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
sendParams.put("checkTitle", projectName);
|
||||
sendParams.put("listName", "待处罚");
|
||||
penaltyList.forEach(penalty -> {
|
||||
if (penalty.getId() == null) {
|
||||
return;
|
||||
}
|
||||
personnelList.forEach(person -> {
|
||||
if (person.getUserId() == null) {
|
||||
return;
|
||||
}
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
penalty.getId(), getPendingPenaltyTodoKey(penalty));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private Long getPendingPenaltyTodoKey(HiddenPenaltyDO penalty) {
|
||||
return penalty.getHiddenTableId() != null ? penalty.getHiddenTableId() : penalty.getId();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -237,15 +237,13 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||
|
||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
penalty.getId(), penalty.getId());
|
||||
}));
|
||||
List<HiddenPenaltyDO> savedPenaltyList = penaltyList.stream()
|
||||
.map(HiddenPenaltyDO::getHiddenPenaltyId)
|
||||
.distinct()
|
||||
.map(hiddenPenaltyRepository::getByPenaltyId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
notifyPenaltyPersonnel(personnelList, savedPenaltyList, projectName);
|
||||
}
|
||||
}
|
||||
//TODO 站内信
|
||||
|
|
@ -422,6 +420,40 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
hiddenRepository.batchInsert(BeanUtil.copyToList(hiddenList, HiddenDO.class));
|
||||
// 新增隐患发现人
|
||||
hiddenFindUserRepository.batchInsert(BeanUtil.copyToList(hiddenFindUserList, HiddenFindUserDO.class));
|
||||
|
||||
List<KeyProjectPenaltyPersonnelDO> personnelList =
|
||||
keyProjectPenaltyPersonnelRepository.getListByProjectId(cmd.getKeyProjectId());
|
||||
if (CollUtil.isNotEmpty(personnelList)) {
|
||||
QueryWrapper<KeyProjectDO> projectQuery = new QueryWrapper<>();
|
||||
projectQuery.eq("key_project_id", cmd.getKeyProjectId());
|
||||
projectQuery.eq("delete_enum", "FALSE");
|
||||
projectQuery.orderByDesc("create_time");
|
||||
projectQuery.last("limit 1");
|
||||
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
||||
|
||||
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
||||
hiddenAddCmdList.forEach(hiddenAddCmd -> {
|
||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
||||
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
||||
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
||||
penalty.setFineFlag(0);
|
||||
penalty.setFeedbackStatus(0);
|
||||
penalty.setEditFlag(0);
|
||||
penaltyList.add(penalty);
|
||||
});
|
||||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||
|
||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||
List<HiddenPenaltyDO> savedPenaltyList = penaltyList.stream()
|
||||
.map(HiddenPenaltyDO::getHiddenPenaltyId)
|
||||
.distinct()
|
||||
.map(hiddenPenaltyRepository::getByPenaltyId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
notifyPenaltyPersonnel(personnelList, savedPenaltyList, projectName);
|
||||
}
|
||||
}
|
||||
|
||||
// 发送站内信和待办
|
||||
|
|
@ -519,5 +551,36 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
messageNoticeExe.sendMessageCompleteEvent(userList.get(0).getId());
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyPenaltyPersonnel(List<KeyProjectPenaltyPersonnelDO> personnelList,
|
||||
List<HiddenPenaltyDO> penaltyList,
|
||||
String projectName) {
|
||||
if (CollUtil.isEmpty(personnelList) || CollUtil.isEmpty(penaltyList)) {
|
||||
return;
|
||||
}
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
sendParams.put("checkTitle", projectName);
|
||||
sendParams.put("listName", "待处罚");
|
||||
penaltyList.forEach(penalty -> {
|
||||
if (penalty.getId() == null) {
|
||||
return;
|
||||
}
|
||||
personnelList.forEach(person -> {
|
||||
if (person.getUserId() == null) {
|
||||
return;
|
||||
}
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
penalty.getId(), getPendingPenaltyTodoKey(penalty));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private Long getPendingPenaltyTodoKey(HiddenPenaltyDO penalty) {
|
||||
return penalty.getHiddenTableId() != null ? penalty.getHiddenTableId() : penalty.getId();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,13 @@
|
|||
LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id AND cp.delete_enum = 'FALSE'
|
||||
<where>
|
||||
kp.delete_enum = 'FALSE'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM key_project kp_latest
|
||||
WHERE kp_latest.delete_enum = 'FALSE'
|
||||
AND kp_latest.key_project_id = kp.key_project_id
|
||||
AND kp_latest.id > kp.id
|
||||
)
|
||||
<!-- projectName 模糊查询判空 -->
|
||||
<if test="params.projectName != null and params.projectName != ''">
|
||||
AND kp.project_name LIKE CONCAT('%', #{params.projectName}, '%')
|
||||
|
|
@ -295,8 +302,15 @@
|
|||
GROUP BY key_project_id
|
||||
) sei_stat ON kp.key_project_id = sei_stat.key_project_id
|
||||
where kp.delete_enum = 'FALSE'
|
||||
and kp.apply_status in (0,1,2,4,5,6)
|
||||
and kp.apply_status in (1,2,4,5,6)
|
||||
and kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM key_project kp_latest
|
||||
WHERE kp_latest.delete_enum = 'FALSE'
|
||||
AND kp_latest.key_project_id = kp.key_project_id
|
||||
AND kp_latest.id > kp.id
|
||||
)
|
||||
<if test="params.projectName != null and params.projectName != ''">
|
||||
AND kp.project_name like concat('%',#{params.projectName},'%')
|
||||
</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue