diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java index 90baf21..627dd09 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java @@ -2,6 +2,7 @@ package com.zcloud.key.project.command.project; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.exception.BizException; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; @@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -52,6 +54,15 @@ public class KeyProjectAddExe { @Transactional(rollbackFor = Exception.class) public KeyProjectCO execute(KeyProjectAddCmd cmd) { + List penaltyPersonnelAddCmdList = null; + if (cmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { + penaltyPersonnelAddCmdList = cmd.getKeyProjectPenaltyPersonnelAddCmdList().stream() + .filter(item -> item != null && (item.getUserId() != null + || item.getDepartmentId() != null + || StringUtils.isNotBlank(item.getUserName()) + || StringUtils.isNotBlank(item.getDepartmentName()))) + .collect(Collectors.toList()); + } // if (StringUtils.isNotBlank(cmd.getProjectId()) && StringUtils.isNotBlank(cmd.getProjectName())) { // QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -65,7 +76,7 @@ public class KeyProjectAddExe { // } // 流程一(手动创建):处罚人员必填 - if (CreateSourceEnum.MANUAL.getCode().equals(cmd.getCreateSource()) && CollUtil.isEmpty(cmd.getKeyProjectPenaltyPersonnelAddCmdList())) { + if (CreateSourceEnum.MANUAL.getCode().equals(cmd.getCreateSource()) && CollUtil.isEmpty(penaltyPersonnelAddCmdList)) { throw new BizException("处罚人员为必填项"); } @@ -96,8 +107,7 @@ public class KeyProjectAddExe { }); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); } - if (cmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { - List penaltyPersonnelAddCmdList = cmd.getKeyProjectPenaltyPersonnelAddCmdList(); + if (!CollectionUtils.isEmpty(penaltyPersonnelAddCmdList)) { List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); penaltyPersonnelDOList.forEach(item -> { item.setKeyProjectId(keyProjectE.getKeyProjectId()); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java index 9c36d46..8686a86 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java @@ -2,6 +2,7 @@ package com.zcloud.key.project.command.project; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.exception.BizException; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; @@ -32,6 +33,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -54,6 +56,7 @@ public class KeyProjectUpdateExe { @Transactional(rollbackFor = Exception.class) public void execute(KeyProjectUpdateCmd keyProjectUpdateCmd) { + List penaltyPersonnelAddCmdList = filterPenaltyPersonnelAddCmdList(keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList()); KeyProjectDO byId = keyProjectRepository.getById(keyProjectUpdateCmd.getId()); if (byId == null) { throw new BizException("数据不存在"); @@ -99,13 +102,14 @@ public class KeyProjectUpdateExe { } if (keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId()); - List penaltyPersonnelAddCmdList = keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList(); - List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); - penaltyPersonnelDOList.forEach(item -> { - item.setKeyProjectId(keyProjectE.getKeyProjectId()); - item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); - }); - keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + if (!CollectionUtils.isEmpty(penaltyPersonnelAddCmdList)) { + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); + penaltyPersonnelDOList.forEach(item -> { + item.setKeyProjectId(keyProjectE.getKeyProjectId()); + item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); + }); + keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + } } @@ -123,6 +127,7 @@ public class KeyProjectUpdateExe { } public void editStatus(KeyProjectUpdateStatusCmd keyProjectUpdateStatusCmd) { + List penaltyPersonnelAddCmdList = filterPenaltyPersonnelAddCmdList(keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList()); KeyProjectDO byId = keyProjectRepository.getById(keyProjectUpdateStatusCmd.getId()); if (byId == null) { throw new BizException("数据不存在"); @@ -187,13 +192,14 @@ public class KeyProjectUpdateExe { } if (keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(byId.getKeyProjectId()); - List penaltyPersonnelAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList(); - List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); - penaltyPersonnelDOList.forEach(item -> { - item.setKeyProjectId(byId.getKeyProjectId()); - item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); - }); - keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + if (!CollectionUtils.isEmpty(penaltyPersonnelAddCmdList)) { + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); + penaltyPersonnelDOList.forEach(item -> { + item.setKeyProjectId(byId.getKeyProjectId()); + item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); + }); + keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + } } } } @@ -211,5 +217,17 @@ public class KeyProjectUpdateExe { }); } + + private List filterPenaltyPersonnelAddCmdList(List penaltyPersonnelAddCmdList) { + if (penaltyPersonnelAddCmdList == null) { + return null; + } + return penaltyPersonnelAddCmdList.stream() + .filter(item -> item != null && (item.getUserId() != null + || item.getDepartmentId() != null + || StringUtils.isNotBlank(item.getUserName()) + || StringUtils.isNotBlank(item.getDepartmentName()))) + .collect(Collectors.toList()); + } }