refactor(): 优化安全环保检查隐患验收的检查人赋值

dev
lishiwei 2026-07-08 14:21:46 +08:00
parent 8bef81e4e6
commit fc0dcb5856
2 changed files with 42 additions and 14 deletions

View File

@ -15,7 +15,6 @@ import com.zcloud.key.project.persistence.dataobject.hidden.HiddenFindUserDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
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.inspection.SafetyEnvironmentalInspectionRepository;
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
@ -28,7 +27,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* web-app
*
@ -41,12 +39,12 @@ public class HiddenRectificationRecordUpdateExe {
private final HiddenRectificationRecordGateway hiddenRectificationRecordGateway;
private final HiddenRepository hiddenRepository;
private final HiddenFindUserRepository hiddenFindUserRepository;
private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository;
private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository;
private final SafetyEnvironmentalInspectionUserGateway safetyEnvironmentalInspectionUserGateway;
private final MessageNoticeExe messageNoticeExe;
private final MessageTemplateConfig messageTemplateConfig;
@Transactional(rollbackFor = Exception.class)
public void execute(HiddenRectificationRecordUpdateCmd hiddenRectificationRecordUpdateCmd) {
HiddenRectificationRecordE hiddenRectificationRecordE = new HiddenRectificationRecordE();
@ -56,6 +54,7 @@ public class HiddenRectificationRecordUpdateExe {
throw new BizException("修改失败");
}
}
@Transactional(rollbackFor = Exception.class)
public void rectificationExecute(HiddenRectificationRecordUpdateCmd cmd) {
HiddenRectificationRecordE hiddenRectificationRecordE = new HiddenRectificationRecordE();
@ -66,11 +65,32 @@ public class HiddenRectificationRecordUpdateExe {
boolean res = hiddenRectificationRecordGateway.add(hiddenRectificationRecordE);
hiddenRepository.updateState(cmd.getHiddenId(), 2);
// 增加安全环保检查隐患验收操作记录
if (hiddenDO != null && (hiddenDO.getSource() == 2 || hiddenDO.getSource() == 3)){
Long acceptCount = safetyEnvironmentalInspectionUserRepository.countByInspectionId(cmd.getForeignKey(), null, 8);
if (acceptCount == 0){
if (hiddenDO != null && (hiddenDO.getSource() == 2 || hiddenDO.getSource() == 3)) {
SafetyEnvironmentalInspectionUserDO initiatorUser = null;
List<SafetyEnvironmentalInspectionUserDO> initiatorList =
safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getForeignKey(), 1);
if (initiatorList != null && !initiatorList.isEmpty()) {
initiatorUser = initiatorList.get(0);
}
List<SafetyEnvironmentalInspectionUserDO> currentAcceptUserList =
safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getForeignKey(), 8);
boolean needResetAcceptUser = initiatorUser != null && (
currentAcceptUserList == null
|| currentAcceptUserList.size() != 1
|| !initiatorUser.getUserId().equals(currentAcceptUserList.get(0).getUserId())
);
if (needResetAcceptUser) {
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(cmd.getForeignKey(), 8);
SafetyEnvironmentalInspectionUserE inspectionUserAcceptE = new SafetyEnvironmentalInspectionUserE();
inspectionUserAcceptE.init(cmd.getForeignKey(), 0, 8, ssoUser.getTenantId(), ssoUser.getOrgId(), ssoUser.getUserId());
inspectionUserAcceptE.init(
cmd.getForeignKey(),
0,
8,
initiatorUser.getCorpId(),
initiatorUser.getDepartmentId(),
initiatorUser.getUserId()
);
safetyEnvironmentalInspectionUserGateway.add(inspectionUserAcceptE);
}
// 判断隐患是否全部整改完成,

View File

@ -1,8 +1,6 @@
package com.zcloud.key.project.command.query.inspection;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.zcloud.gbscommon.utils.DateUtil;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.key.project.command.convertor.inspection.SafetyEnvironmentalInspectionUserCoConvertor;
import com.zcloud.key.project.domain.enums.FlowTypeEnum;
@ -11,7 +9,6 @@ import com.zcloud.key.project.dto.clientobject.inspection.SafetyEnvironmentalIns
import com.zcloud.key.project.dto.inspection.SafetyEnvironmentalInspectionUserPageQry;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
@ -64,6 +61,13 @@ public class SafetyEnvironmentalInspectionUserQueryExe {
List<SafetyEnvironmentalInspectionUserDO> userDOs = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(inspectionId);
Map<Integer, List<SafetyEnvironmentalInspectionUserDO>> typeGroupMap = userDOs.stream().collect(Collectors.groupingBy(SafetyEnvironmentalInspectionUserDO::getType));
List<SafetyEnvironmentalInspectionFlowCO> flowList = new ArrayList<>();
SafetyEnvironmentalInspectionUserDO initiatorUser;
List<SafetyEnvironmentalInspectionUserDO> initiatorList = typeGroupMap.get(1);
if (initiatorList != null && !initiatorList.isEmpty()) {
initiatorUser = initiatorList.get(0);
} else {
initiatorUser = null;
}
// 遍历typeGroupMap
for (Integer type : typeGroupMap.keySet()) {
@ -76,7 +80,7 @@ public class SafetyEnvironmentalInspectionUserQueryExe {
SafetyEnvironmentalInspectionFlowCO child = new SafetyEnvironmentalInspectionFlowCO();
child.setType(userDO.getType());
child.setStatus(userDO.getStatus());
List<String> flowStrList = initFlowStrList(userDO.getType(), userDO);
List<String> flowStrList = initFlowStrList(userDO.getType(), userDO, initiatorUser);
child.setFlowList(flowStrList);
children.add(child);
});
@ -84,7 +88,7 @@ public class SafetyEnvironmentalInspectionUserQueryExe {
} else {
SafetyEnvironmentalInspectionUserDO userDO = typeGroupMap.get(type).get(0);
flowCO.setStatus(userDO.getStatus());
flowCO.setFlowList(initFlowStrList(userDO.getType(), userDO));
flowCO.setFlowList(initFlowStrList(userDO.getType(), userDO, initiatorUser));
}
}
flowList.add(flowCO);
@ -92,13 +96,17 @@ public class SafetyEnvironmentalInspectionUserQueryExe {
return flowList;
}
private List<String> initFlowStrList(Integer type,SafetyEnvironmentalInspectionUserDO userDO){
private List<String> initFlowStrList(Integer type, SafetyEnvironmentalInspectionUserDO userDO, SafetyEnvironmentalInspectionUserDO initiatorUser){
List<String> flowStrList = new ArrayList<>();
flowStrList.add(FlowTypeEnum.getNameByType(type));
LocalDateTime tempTime = !ObjectUtils.isEmpty(userDO.getSignatureTime()) ? userDO.getSignatureTime() : userDO.getCreateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String timeStr = tempTime.format(formatter);
flowStrList.add(userDO.getName()+ " " + timeStr);
String displayName = userDO.getName();
if (Integer.valueOf(8).equals(type) && initiatorUser != null && initiatorUser.getName() != null) {
displayName = initiatorUser.getName();
}
flowStrList.add(displayName + " " + timeStr);
return flowStrList;
}
}