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