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