refactor(): 重构项目关键摄像头保存逻辑并优化检查流程
parent
e607c022ba
commit
2219cf9523
|
|
@ -28,7 +28,9 @@ import org.springframework.beans.BeanUtils;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -103,14 +105,7 @@ public class KeyProjectAddExe {
|
|||
throw new BizException("保存失败");
|
||||
}
|
||||
if (cmd.getKeyProjectCameraAddCmdList() != null) {
|
||||
List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = cmd.getKeyProjectCameraAddCmdList();
|
||||
|
||||
List<KeyProjectCameraDO> keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
|
||||
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
|
||||
keyProjectCameraAddCmd.setKeyProjectId(keyProjectE.getKeyProjectId());
|
||||
keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID());
|
||||
});
|
||||
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
|
||||
saveKeyProjectCameras(keyProjectE.getKeyProjectId(), cmd.getKeyProjectCameraAddCmdList());
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(penaltyPersonnelAddCmdList)) {
|
||||
keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
|
||||
|
|
@ -134,5 +129,34 @@ public class KeyProjectAddExe {
|
|||
}
|
||||
return keyProjectCO;
|
||||
}
|
||||
|
||||
private void saveKeyProjectCameras(String keyProjectId, List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList) {
|
||||
keyProjectCameraRepository.deleteByKeyProjectId(keyProjectId);
|
||||
List<KeyProjectCameraAddCmd> filteredCameraAddCmdList = filterCameraAddCmdList(keyProjectCameraAddCmdList);
|
||||
if (CollectionUtils.isEmpty(filteredCameraAddCmdList)) {
|
||||
return;
|
||||
}
|
||||
List<KeyProjectCameraDO> keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(filteredCameraAddCmdList);
|
||||
keyProjectCameraDOList.forEach(item -> {
|
||||
item.setKeyProjectId(keyProjectId);
|
||||
item.setKeyProjectCameraId(Tools.get32UUID());
|
||||
});
|
||||
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
|
||||
}
|
||||
|
||||
private List<KeyProjectCameraAddCmd> filterCameraAddCmdList(List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList) {
|
||||
if (keyProjectCameraAddCmdList == null) {
|
||||
return null;
|
||||
}
|
||||
return new ArrayList<>(keyProjectCameraAddCmdList.stream()
|
||||
.filter(item -> item != null
|
||||
&& StringUtils.isNotBlank(item.getCameraId())
|
||||
&& item.getCameraType() != null)
|
||||
.collect(Collectors.toMap(item -> item.getCameraId() + "_" + item.getCameraType(),
|
||||
item -> item,
|
||||
(exist, ignore) -> exist,
|
||||
LinkedHashMap::new))
|
||||
.values());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,11 @@ import org.springframework.beans.BeanUtils;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -91,14 +93,7 @@ public class KeyProjectUpdateExe {
|
|||
throw new BizException("修改失败");
|
||||
}
|
||||
if (keyProjectUpdateCmd.getKeyProjectCameraAddCmdList() != null) {
|
||||
keyProjectCameraRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
|
||||
List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateCmd.getKeyProjectCameraAddCmdList();
|
||||
List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
|
||||
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
|
||||
keyProjectCameraAddCmd.setKeyProjectId(keyProjectE.getKeyProjectId());
|
||||
keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID());
|
||||
});
|
||||
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
|
||||
saveKeyProjectCameras(keyProjectE.getKeyProjectId(), keyProjectUpdateCmd.getKeyProjectCameraAddCmdList());
|
||||
}
|
||||
if (keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) {
|
||||
keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
|
||||
|
|
@ -181,14 +176,7 @@ public class KeyProjectUpdateExe {
|
|||
// 流程二(自动创建):开工确认时可添加摄像头和处罚人员
|
||||
if (CreateSourceEnum.AUTO.getCode().equals(byId.getCreateSource())) {
|
||||
if (keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList() != null) {
|
||||
keyProjectCameraRepository.deleteByKeyProjectId(byId.getKeyProjectId());
|
||||
List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList();
|
||||
List<KeyProjectCameraDO> keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
|
||||
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
|
||||
keyProjectCameraAddCmd.setKeyProjectId(byId.getKeyProjectId());
|
||||
keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID());
|
||||
});
|
||||
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
|
||||
saveKeyProjectCameras(byId.getKeyProjectId(), keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList());
|
||||
}
|
||||
if (keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) {
|
||||
keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(byId.getKeyProjectId());
|
||||
|
|
@ -229,5 +217,34 @@ public class KeyProjectUpdateExe {
|
|||
|| StringUtils.isNotBlank(item.getDepartmentName())))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private void saveKeyProjectCameras(String keyProjectId, List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList) {
|
||||
keyProjectCameraRepository.deleteByKeyProjectId(keyProjectId);
|
||||
List<KeyProjectCameraAddCmd> filteredCameraAddCmdList = filterCameraAddCmdList(keyProjectCameraAddCmdList);
|
||||
if (CollectionUtils.isEmpty(filteredCameraAddCmdList)) {
|
||||
return;
|
||||
}
|
||||
List<KeyProjectCameraDO> keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(filteredCameraAddCmdList);
|
||||
keyProjectCameraDOList.forEach(item -> {
|
||||
item.setKeyProjectId(keyProjectId);
|
||||
item.setKeyProjectCameraId(Tools.get32UUID());
|
||||
});
|
||||
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
|
||||
}
|
||||
|
||||
private List<KeyProjectCameraAddCmd> filterCameraAddCmdList(List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList) {
|
||||
if (keyProjectCameraAddCmdList == null) {
|
||||
return null;
|
||||
}
|
||||
return new ArrayList<>(keyProjectCameraAddCmdList.stream()
|
||||
.filter(item -> item != null
|
||||
&& StringUtils.isNotBlank(item.getCameraId())
|
||||
&& item.getCameraType() != null)
|
||||
.collect(Collectors.toMap(item -> item.getCameraId() + "_" + item.getCameraType(),
|
||||
item -> item,
|
||||
(exist, ignore) -> exist,
|
||||
LinkedHashMap::new))
|
||||
.values());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.key.project.command.query.inspection;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
|
|
@ -33,7 +34,6 @@ import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmen
|
|||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
|
@ -70,14 +70,12 @@ public class SafetyEnvironmentalInspectionQueryExe {
|
|||
public SafetyEnvironmentalInspectionCO queryById(String uuid) {
|
||||
// 安全环保检查信息
|
||||
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(uuid);
|
||||
Integer verifyType = 2;
|
||||
Integer affirmType = 3;
|
||||
if (!ObjectUtils.isEmpty(inspectionDO.getDefendFlag()) && inspectionDO.getDefendFlag() == 1 && inspectionDO.getStatus() != 7){
|
||||
verifyType = 5;
|
||||
affirmType = 6;
|
||||
}
|
||||
Integer verifyType;
|
||||
Integer affirmType;
|
||||
// 操作流程
|
||||
List<SafetyEnvironmentalInspectionUserDO> inspectionUserDOs = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(inspectionDO.getInspectionId());
|
||||
verifyType = resolveInspectionStageType(inspectionUserDOs, 5, 2);
|
||||
affirmType = resolveInspectionStageType(inspectionUserDOs, 6, 3);
|
||||
// 核实人列表
|
||||
List<SafetyEnvironmentalInspectionUserDO> verifyUserDOs = new ArrayList<>();
|
||||
// 确认人列表
|
||||
|
|
@ -137,6 +135,17 @@ public class SafetyEnvironmentalInspectionQueryExe {
|
|||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
private Integer resolveInspectionStageType(List<SafetyEnvironmentalInspectionUserDO> inspectionUserDOs,
|
||||
Integer preferredType,
|
||||
Integer fallbackType) {
|
||||
if (CollUtil.isEmpty(inspectionUserDOs)) {
|
||||
return fallbackType;
|
||||
}
|
||||
boolean hasPreferredType = inspectionUserDOs.stream()
|
||||
.anyMatch(item -> item != null && preferredType.equals(item.getType()));
|
||||
return hasPreferredType ? preferredType : fallbackType;
|
||||
}
|
||||
|
||||
private void fillPendingUserParams(Map<String, Object> params, SafetyEnvironmentalInspectionPageQry qry) {
|
||||
List<Integer> currentPendingTypeList = resolveCurrentPendingTypeList(qry);
|
||||
if (currentPendingTypeList == null || currentPendingTypeList.isEmpty()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue