fix(): 修复隐患处罚权限控制和查询逻辑
parent
6e0c639f60
commit
6b4ab1e961
|
|
@ -2,6 +2,7 @@ package com.zcloud.key.project.command.hidden;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor;
|
import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor;
|
||||||
import com.zcloud.key.project.command.project.MessageNoticeExe;
|
import com.zcloud.key.project.command.project.MessageNoticeExe;
|
||||||
|
|
@ -10,10 +11,9 @@ import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway;
|
||||||
import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE;
|
import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE;
|
||||||
import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO;
|
import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO;
|
||||||
import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd;
|
import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd;
|
||||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
|
|
||||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
||||||
import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository;
|
import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository;
|
||||||
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
|
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -31,13 +31,21 @@ public class HiddenPenaltyAddExe {
|
||||||
private final HiddenPenaltyGateway hiddenPenaltyGateway;
|
private final HiddenPenaltyGateway hiddenPenaltyGateway;
|
||||||
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
||||||
private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor;
|
private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor;
|
||||||
private final HiddenRepository hiddenRepository;
|
|
||||||
private final MessageNoticeExe messageNoticeExe;
|
private final MessageNoticeExe messageNoticeExe;
|
||||||
private final MessageTemplateConfig messageTemplateConfig;
|
private final MessageTemplateConfig messageTemplateConfig;
|
||||||
|
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SingleResponse<HiddenPenaltyCO> execute(HiddenPenaltyAddCmd cmd) {
|
public SingleResponse<HiddenPenaltyCO> execute(HiddenPenaltyAddCmd cmd) {
|
||||||
HiddenPenaltyDO target = resolveTarget(cmd);
|
HiddenPenaltyDO target = resolveTarget(cmd);
|
||||||
|
Long currentUserId = AuthContext.getUserId();
|
||||||
|
|
||||||
|
if (target != null && !canOperate(target, currentUserId)) {
|
||||||
|
throw new BizException("无权限发起处罚");
|
||||||
|
}
|
||||||
|
if (target == null && StringUtils.isNotBlank(cmd.getKeyProjectId()) && !canOperate(cmd.getKeyProjectId(), currentUserId)) {
|
||||||
|
throw new BizException("无权限发起处罚");
|
||||||
|
}
|
||||||
|
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
if (Integer.valueOf(0).equals(target.getFineFlag())
|
if (Integer.valueOf(0).equals(target.getFineFlag())
|
||||||
|
|
@ -80,32 +88,71 @@ public class HiddenPenaltyAddExe {
|
||||||
return hiddenPenaltyRepository.getByPenaltyId(cmd.getHiddenPenaltyId());
|
return hiddenPenaltyRepository.getByPenaltyId(cmd.getHiddenPenaltyId());
|
||||||
}
|
}
|
||||||
List<HiddenPenaltyDO> list = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId());
|
List<HiddenPenaltyDO> list = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId());
|
||||||
if (list != null && !list.isEmpty()) {
|
if (list == null || list.isEmpty()) {
|
||||||
for (HiddenPenaltyDO item : list) {
|
return null;
|
||||||
if (Integer.valueOf(0).equals(item.getFineFlag())
|
}
|
||||||
&& Integer.valueOf(0).equals(item.getFeedbackStatus())
|
for (HiddenPenaltyDO item : list) {
|
||||||
&& Integer.valueOf(0).equals(item.getEditFlag())) {
|
if (!Integer.valueOf(0).equals(item.getFineFlag())
|
||||||
return item;
|
|| !Integer.valueOf(0).equals(item.getFeedbackStatus())
|
||||||
}
|
|| !Integer.valueOf(0).equals(item.getEditFlag())) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (HiddenPenaltyDO item : list) {
|
||||||
|
if (Integer.valueOf(0).equals(item.getFineFlag())
|
||||||
|
&& Integer.valueOf(0).equals(item.getFeedbackStatus())
|
||||||
|
&& Integer.valueOf(0).equals(item.getEditFlag())) {
|
||||||
|
return item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean canOperate(HiddenPenaltyDO penaltyDO, Long userId) {
|
||||||
|
if (penaltyDO == null || userId == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (userId.equals(penaltyDO.getCreateId()) || userId.equals(penaltyDO.getPenalizedUserId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return canOperate(penaltyDO.getKeyProjectId(), userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean canOperate(String keyProjectId, Long userId) {
|
||||||
|
if (StringUtils.isBlank(keyProjectId) || userId == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return keyProjectPenaltyPersonnelRepository.getListByProjectId(keyProjectId)
|
||||||
|
.stream()
|
||||||
|
.anyMatch(person -> userId.equals(person.getUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
private void handlePenaltyIssued(HiddenPenaltyDO penaltyDO) {
|
private void handlePenaltyIssued(HiddenPenaltyDO penaltyDO) {
|
||||||
HiddenDO hiddenDO = hiddenRepository.getInfoByHiddenId(penaltyDO.getHiddenId());
|
if (penaltyDO == null) {
|
||||||
if (hiddenDO != null) {
|
return;
|
||||||
messageNoticeExe.sendMessageCompleteEvent(hiddenDO.getId());
|
}
|
||||||
|
if (penaltyDO.getId() != null) {
|
||||||
|
messageNoticeExe.sendMessageCompleteEvent(penaltyDO.getId());
|
||||||
}
|
}
|
||||||
if (!Integer.valueOf(1).equals(penaltyDO.getFineFlag()) || penaltyDO.getPenalizedUserId() == null) {
|
if (!Integer.valueOf(1).equals(penaltyDO.getFineFlag()) || penaltyDO.getPenalizedUserId() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> sendParams = new HashMap<>();
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
if (penaltyDO.getProjectName() != null && !penaltyDO.getProjectName().isEmpty()) {
|
if (StringUtils.isNotBlank(penaltyDO.getProjectName())) {
|
||||||
sendParams.put("checkTitle", penaltyDO.getProjectName());
|
sendParams.put("checkTitle", penaltyDO.getProjectName());
|
||||||
}
|
}
|
||||||
messageNoticeExe.messageNotice(penaltyDO.getPenalizedUserId(), messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(), sendParams);
|
messageNoticeExe.messageNotice(
|
||||||
messageNoticeExe.sendMessageAddEvent(penaltyDO.getPenalizedUserId(), "您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。", "待反馈处罚", penaltyDO.getId(), penaltyDO.getId());
|
penaltyDO.getPenalizedUserId(),
|
||||||
|
messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(),
|
||||||
|
sendParams
|
||||||
|
);
|
||||||
|
messageNoticeExe.sendMessageAddEvent(
|
||||||
|
penaltyDO.getPenalizedUserId(),
|
||||||
|
"您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。",
|
||||||
|
"待反馈处罚",
|
||||||
|
penaltyDO.getId(),
|
||||||
|
penaltyDO.getId()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import com.zcloud.key.project.dto.inspection.SafetyEnvironmentalInspectionUserAd
|
||||||
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.hidden.HiddenPenaltyDO;
|
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
||||||
|
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
||||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionContentDO;
|
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionContentDO;
|
||||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
|
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
|
||||||
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
|
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
|
||||||
|
|
@ -35,6 +36,7 @@ import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyReposit
|
||||||
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.impl.inspection.SafetyEnvironmentalInspectionContentRepositoryImpl;
|
import com.zcloud.key.project.persistence.repository.impl.inspection.SafetyEnvironmentalInspectionContentRepositoryImpl;
|
||||||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionContentRepository;
|
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionContentRepository;
|
||||||
|
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository;
|
||||||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
|
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
|
||||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
||||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
|
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
|
||||||
|
|
@ -67,6 +69,7 @@ public class SafetyEnvironmentalInspectionAddExe {
|
||||||
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
||||||
private final KeyProjectRepository keyProjectRepository;
|
private final KeyProjectRepository keyProjectRepository;
|
||||||
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
||||||
|
private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository;
|
||||||
private final MessageNoticeExe messageNoticeExe;
|
private final MessageNoticeExe messageNoticeExe;
|
||||||
private final MessageTemplateConfig messageTemplateConfig;
|
private final MessageTemplateConfig messageTemplateConfig;
|
||||||
|
|
||||||
|
|
@ -191,31 +194,30 @@ public class SafetyEnvironmentalInspectionAddExe {
|
||||||
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
||||||
|
|
||||||
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
||||||
hiddenAddCmdList.forEach(hiddenAddCmd -> personnelList.forEach(person -> {
|
hiddenAddCmdList.forEach(hiddenAddCmd -> {
|
||||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||||
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
||||||
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
||||||
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
||||||
penalty.setPenalizedUserId(person.getUserId());
|
|
||||||
penalty.setFineFlag(0);
|
penalty.setFineFlag(0);
|
||||||
penalty.setFeedbackStatus(0);
|
penalty.setFeedbackStatus(0);
|
||||||
penalty.setEditFlag(0);
|
penalty.setEditFlag(0);
|
||||||
penaltyList.add(penalty);
|
penaltyList.add(penalty);
|
||||||
}));
|
});
|
||||||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||||
|
|
||||||
// 通知处罚人
|
// 通知处罚人
|
||||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||||
Map<String, Object> sendParams = new HashMap<>();
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
sendParams.put("keyProject", projectName);
|
sendParams.put("keyProject", projectName);
|
||||||
personnelList.forEach(person -> {
|
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||||
messageNoticeExe.messageNotice(person.getUserId(),
|
messageNoticeExe.messageNotice(person.getUserId(),
|
||||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||||
safetyEnvironmentalInspectionE.getId(), safetyEnvironmentalInspectionE.getId());
|
penalty.getId(), penalty.getId());
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -229,6 +231,10 @@ public class SafetyEnvironmentalInspectionAddExe {
|
||||||
BeanUtils.copyProperties(safetyEnvironmentalInspectionE, safetyEnvironmentalInspectionCO);
|
BeanUtils.copyProperties(safetyEnvironmentalInspectionE, safetyEnvironmentalInspectionCO);
|
||||||
//TODO 站内信
|
//TODO 站内信
|
||||||
if (cmd.getStatus() == 1) {
|
if (cmd.getStatus() == 1) {
|
||||||
|
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||||
|
if (inspectionDO != null) {
|
||||||
|
safetyEnvironmentalInspectionCO.setId(inspectionDO.getId());
|
||||||
|
}
|
||||||
QueryWrapper queryWrapper = new QueryWrapper();
|
QueryWrapper queryWrapper = new QueryWrapper();
|
||||||
queryWrapper.eq("key_project_id", cmd.getKeyProjectId());
|
queryWrapper.eq("key_project_id", cmd.getKeyProjectId());
|
||||||
queryWrapper.ne("apply_status", 0);
|
queryWrapper.ne("apply_status", 0);
|
||||||
|
|
@ -236,16 +242,16 @@ public class SafetyEnvironmentalInspectionAddExe {
|
||||||
queryWrapper.orderByDesc("update_time");
|
queryWrapper.orderByDesc("update_time");
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
KeyProjectDO keyProjectDO = keyProjectRepository.getOne(queryWrapper);
|
KeyProjectDO keyProjectDO = keyProjectRepository.getOne(queryWrapper);
|
||||||
List<SafetyEnvironmentalInspectionUserDO> messageUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getInspectionId(), 2);
|
List<SafetyEnvironmentalInspectionUserDO> messageUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||||
// todo 可能会导致异步任务被线程池拒绝
|
// todo 可能会导致异步任务被线程池拒绝
|
||||||
// for (SafetyEnvironmentalInspectionUserDO insUser : messageUserList){
|
for (SafetyEnvironmentalInspectionUserDO insUser : messageUserList){
|
||||||
// Map<String, Object> sendParams = new HashMap<>();
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
// sendParams.put("initiatorName", ssoUser.getName());
|
sendParams.put("initiatorName", ssoUser.getName());
|
||||||
// sendParams.put("checkTitle", keyProjectDO.getProjectName());
|
sendParams.put("checkTitle", keyProjectDO.getProjectName());
|
||||||
// messageNoticeExe.messageNotice(insUser.getUserId(), messageTemplateConfig.getCheckerApplyCheck(), sendParams);
|
messageNoticeExe.messageNotice(insUser.getUserId(), messageTemplateConfig.getCheckerApplyCheck(), sendParams);
|
||||||
// //待办
|
//待办
|
||||||
// messageNoticeExe.sendMessageAddEvent(insUser.getUserId(), "您有一条【安全环保检查】待处理","待核实", safetyEnvironmentalInspectionCO.getId(), insUser.getId());
|
messageNoticeExe.sendMessageAddEvent(insUser.getUserId(), "您有一条【安全环保检查】待处理","待核实", safetyEnvironmentalInspectionCO.getId(), insUser.getId());
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
return safetyEnvironmentalInspectionCO;
|
return safetyEnvironmentalInspectionCO;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,11 +118,11 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
||||||
|
|
||||||
|
|
||||||
// 删除检查核实人数据 及对应待办信息
|
// 删除检查核实人数据 及对应待办信息
|
||||||
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
|
||||||
List<SafetyEnvironmentalInspectionUserDO> deleteUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(),2);
|
List<SafetyEnvironmentalInspectionUserDO> deleteUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(),2);
|
||||||
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
||||||
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
||||||
}
|
}
|
||||||
|
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||||
// 新增检查核实人数据
|
// 新增检查核实人数据
|
||||||
safetyEnvironmentalInspectionUserRepository.batchInsert(BeanUtil.copyToList(insUserList, SafetyEnvironmentalInspectionUserDO.class));
|
safetyEnvironmentalInspectionUserRepository.batchInsert(BeanUtil.copyToList(insUserList, SafetyEnvironmentalInspectionUserDO.class));
|
||||||
|
|
||||||
|
|
@ -223,30 +223,29 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
||||||
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
||||||
|
|
||||||
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
||||||
hiddenAddCmdList.forEach(hiddenAddCmd -> personnelList.forEach(person -> {
|
hiddenAddCmdList.forEach(hiddenAddCmd -> {
|
||||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||||
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
||||||
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
||||||
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
||||||
penalty.setPenalizedUserId(person.getUserId());
|
|
||||||
penalty.setFineFlag(0);
|
penalty.setFineFlag(0);
|
||||||
penalty.setFeedbackStatus(0);
|
penalty.setFeedbackStatus(0);
|
||||||
penalty.setEditFlag(0);
|
penalty.setEditFlag(0);
|
||||||
penaltyList.add(penalty);
|
penaltyList.add(penalty);
|
||||||
}));
|
});
|
||||||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||||
|
|
||||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||||
Map<String, Object> sendParams = new HashMap<>();
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
sendParams.put("keyProject", projectName);
|
sendParams.put("keyProject", projectName);
|
||||||
personnelList.forEach(person -> {
|
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||||
messageNoticeExe.messageNotice(person.getUserId(),
|
messageNoticeExe.messageNotice(person.getUserId(),
|
||||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||||
safetyEnvironmentalInspectionE.getId(), safetyEnvironmentalInspectionE.getId());
|
penalty.getId(), penalty.getId());
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO 站内信
|
//TODO 站内信
|
||||||
|
|
@ -346,6 +345,7 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
||||||
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
||||||
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
||||||
}
|
}
|
||||||
|
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||||
// 删除检查内容
|
// 删除检查内容
|
||||||
List<SafetyEnvironmentalInspectionContentDO> deleteContentList = safetyEnvironmentalInspectionContentRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
List<SafetyEnvironmentalInspectionContentDO> deleteContentList = safetyEnvironmentalInspectionContentRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||||
safetyEnvironmentalInspectionContentRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
safetyEnvironmentalInspectionContentRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,35 @@
|
||||||
<where>
|
<where>
|
||||||
hp.delete_enum = 'FALSE'
|
hp.delete_enum = 'FALSE'
|
||||||
AND (h.source NOT IN (2, 3) OR i.inspection_id IS NOT NULL)
|
AND (h.source NOT IN (2, 3) OR i.inspection_id IS NOT NULL)
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM hidden_penalty hp_latest
|
||||||
|
WHERE hp_latest.delete_enum = 'FALSE'
|
||||||
|
AND hp_latest.hidden_id = hp.hidden_id
|
||||||
|
AND (
|
||||||
|
(
|
||||||
|
IFNULL(hp_latest.feedback_status, 0) * 100
|
||||||
|
+ IFNULL(hp_latest.fine_flag, 0) * 10
|
||||||
|
+ IFNULL(hp_latest.edit_flag, 0)
|
||||||
|
) > (
|
||||||
|
IFNULL(hp.feedback_status, 0) * 100
|
||||||
|
+ IFNULL(hp.fine_flag, 0) * 10
|
||||||
|
+ IFNULL(hp.edit_flag, 0)
|
||||||
|
)
|
||||||
|
OR (
|
||||||
|
(
|
||||||
|
IFNULL(hp_latest.feedback_status, 0) * 100
|
||||||
|
+ IFNULL(hp_latest.fine_flag, 0) * 10
|
||||||
|
+ IFNULL(hp_latest.edit_flag, 0)
|
||||||
|
) = (
|
||||||
|
IFNULL(hp.feedback_status, 0) * 100
|
||||||
|
+ IFNULL(hp.fine_flag, 0) * 10
|
||||||
|
+ IFNULL(hp.edit_flag, 0)
|
||||||
|
)
|
||||||
|
AND hp_latest.id > hp.id
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
|
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
|
||||||
AND xci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
|
AND xci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -66,7 +95,17 @@
|
||||||
AND hp.fine_flag = #{params.fineFlag}
|
AND hp.fine_flag = #{params.fineFlag}
|
||||||
</if>
|
</if>
|
||||||
<if test="params.currentUserId != null">
|
<if test="params.currentUserId != null">
|
||||||
AND (hp.create_id = #{params.currentUserId} OR hp.penalized_user_id = #{params.currentUserId})
|
AND (
|
||||||
|
hp.create_id = #{params.currentUserId}
|
||||||
|
OR hp.penalized_user_id = #{params.currentUserId}
|
||||||
|
OR EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM key_project_penalty_personnel kpp
|
||||||
|
WHERE kpp.delete_enum = 'FALSE'
|
||||||
|
AND kpp.key_project_id = hp.key_project_id
|
||||||
|
AND kpp.user_id = #{params.currentUserId}
|
||||||
|
)
|
||||||
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="params.penaltyDesc != null and params.penaltyDesc != ''">
|
<if test="params.penaltyDesc != null and params.penaltyDesc != ''">
|
||||||
AND hp.penalty_desc LIKE CONCAT('%', #{params.penaltyDesc}, '%')
|
AND hp.penalty_desc LIKE CONCAT('%', #{params.penaltyDesc}, '%')
|
||||||
|
|
@ -98,6 +137,9 @@
|
||||||
LEFT JOIN user xmu ON xmu.id = kp.xgf_master_user_id
|
LEFT JOIN user xmu ON xmu.id = kp.xgf_master_user_id
|
||||||
LEFT JOIN user xmu2 ON xmu2.id = kp2.xgf_master_user_id
|
LEFT JOIN user xmu2 ON xmu2.id = kp2.xgf_master_user_id
|
||||||
WHERE hp.hidden_id = #{hiddenId} AND hp.delete_enum = 'FALSE'
|
WHERE hp.hidden_id = #{hiddenId} AND hp.delete_enum = 'FALSE'
|
||||||
|
ORDER BY
|
||||||
|
(IFNULL(hp.feedback_status, 0) * 100 + IFNULL(hp.fine_flag, 0) * 10 + IFNULL(hp.edit_flag, 0)) DESC,
|
||||||
|
hp.id DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getByPenaltyId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
|
<select id="getByPenaltyId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,16 @@
|
||||||
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
||||||
FROM corp_info cp
|
FROM corp_info cp
|
||||||
LEFT JOIN key_project kp
|
LEFT JOIN key_project kp
|
||||||
ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status != 0 AND kp.apply_status != 7
|
ON cp.id = kp.jurisdiction_corpinfo_id
|
||||||
|
AND kp.delete_enum = 'FALSE'
|
||||||
|
AND kp.apply_status in (1,2,3,4,5,6)
|
||||||
|
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
|
||||||
|
)
|
||||||
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
||||||
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
||||||
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and
|
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and
|
||||||
|
|
@ -313,7 +322,16 @@
|
||||||
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
||||||
FROM corp_info cp
|
FROM corp_info cp
|
||||||
LEFT JOIN key_project kp
|
LEFT JOIN key_project kp
|
||||||
ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status != 0
|
ON cp.id = kp.jurisdiction_corpinfo_id
|
||||||
|
AND kp.delete_enum = 'FALSE'
|
||||||
|
AND kp.apply_status in (1,2,3,4,5,6)
|
||||||
|
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
|
||||||
|
)
|
||||||
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
||||||
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
||||||
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.inspected_corpinfo_id = #{params.xgfCorpinfoId} and
|
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.inspected_corpinfo_id = #{params.xgfCorpinfoId} and
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue