Browse Source

作者:张哲
时间:2023/05/11
类型:优化
描述:里程碑(1) 审核流程默认节点修改2

zizg 1 năm trước cách đây
mục cha
commit
bb84ec5278

+ 1 - 1
src/main/java/com/redxun/knowledge/mapper/KnowledgeApprovalNodeFlowerMapper.java

@@ -41,5 +41,5 @@ public interface KnowledgeApprovalNodeFlowerMapper extends BaseMapper<KnowledgeA
      * @param deptId
      * @return
      */
-    List<String> findParentUserIdList(String deptId);
+    String findParentUserIdList(String deptId);
 }

+ 26 - 21
src/main/java/com/redxun/knowledge/service/KnowledgeApprovalNodeServiceImpl.java

@@ -95,12 +95,13 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
 
     /**
      * 添加审核流程(新)
+     *
      * @param knowledgeApprovalNodeFlowerDto
      */
     @Transactional(rollbackFor = Exception.class)
-    public String insertApprovalNodes(KnowledgeApprovalNodeFlowerDto knowledgeApprovalNodeFlowerDto) throws Exception{
+    public String insertApprovalNodes(KnowledgeApprovalNodeFlowerDto knowledgeApprovalNodeFlowerDto) throws Exception {
         //修改(清除原本数据)
-        if (StringUtils.isNotEmpty(knowledgeApprovalNodeFlowerDto.getPkId())){
+        if (StringUtils.isNotEmpty(knowledgeApprovalNodeFlowerDto.getPkId())) {
             knowledgeApprovalNodeMapper.deleteByFlowerId(knowledgeApprovalNodeFlowerDto.getPkId());
             knowledgeApprovalNodeCategoryMapper.deleteByFlowerId(knowledgeApprovalNodeFlowerDto.getPkId());
         }
@@ -109,10 +110,10 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
         knowledgeApprovalNodeFlowerDto.getCategoryId().forEach(e -> {
             KnowledgeApprovalNodeCategory knowledgeApprovalNodeCategory = knowledgeApprovalNodeCategoryMapper.
                     selectOne(new LambdaQueryWrapper<KnowledgeApprovalNodeCategory>().eq(KnowledgeApprovalNodeCategory::getCategoryId, e));
-            if (!Objects.isNull(knowledgeApprovalNodeCategory)){
+            if (!Objects.isNull(knowledgeApprovalNodeCategory)) {
                 KnowledgeCategory knowledgeCategory = knowledgeCategoryMapper.selectById(knowledgeApprovalNodeCategory.getCategoryId());
-                if (!Objects.isNull(knowledgeCategory)){
-                    throw new RuntimeException("添加失败,关联的分类" +knowledgeCategory.getName() + "已有流程");
+                if (!Objects.isNull(knowledgeCategory)) {
+                    throw new RuntimeException("添加失败,关联的分类" + knowledgeCategory.getName() + "已有流程");
                 } else {
                     throw new RuntimeException("添加失败,关联的分类不存在");
                 }
@@ -121,14 +122,14 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
 
 
         //如果名称是默认审核流程,关联分类为默认值
-        if (knowledgeApprovalNodeFlowerDto.getFlowerName().equals(flowerName)){
+        if (knowledgeApprovalNodeFlowerDto.getFlowerName().equals(flowerName)) {
             Set<String> list = new HashSet<>();
             list.add("-2");
             knowledgeApprovalNodeFlowerDto.setCategoryId(list);
         }
         KnowledgeApprovalNodeFlower knowledgeApprovalNodeFlower = new KnowledgeApprovalNodeFlower();
         knowledgeApprovalNodeFlower.setFlowerName(knowledgeApprovalNodeFlowerDto.getFlowerName());
-        if (StringUtils.isEmpty(knowledgeApprovalNodeFlowerDto.getPkId())){
+        if (StringUtils.isEmpty(knowledgeApprovalNodeFlowerDto.getPkId())) {
             knowledgeApprovalNodeFlowerMapper.insert(knowledgeApprovalNodeFlower);
         } else {
             knowledgeApprovalNodeFlower.setPkId(knowledgeApprovalNodeFlowerDto.getPkId());
@@ -136,7 +137,7 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
         }
 
         //关联分类
-        if (!CollectionUtils.isEmpty(knowledgeApprovalNodeFlowerDto.getCategoryId())){
+        if (!CollectionUtils.isEmpty(knowledgeApprovalNodeFlowerDto.getCategoryId())) {
             knowledgeApprovalNodeFlowerDto.getCategoryId().forEach(e -> {
                 KnowledgeApprovalNodeCategory knowledgeApprovalNodeCategory = new KnowledgeApprovalNodeCategory();
                 knowledgeApprovalNodeCategory.setCategoryId(e);
@@ -163,18 +164,19 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
 
     /**
      * 查询全部节点
+     *
      * @return
      */
     public List<KnowledgeApprovalNodeFlowerVo> findAllNodes() {
         List<KnowledgeApprovalNodeFlowerVo> result = knowledgeApprovalNodeFlowerMapper.findAllNodes();
         result.forEach(e -> {
-            if (flowerName.equals(e.getFlowerName())){
+            if (flowerName.equals(e.getFlowerName())) {
                 e.setCategory(new ArrayList<>());
             }
             List<String> category = new ArrayList<>();
             e.getCategory().forEach(h -> {
                 KnowledgeCategory knowledgeCategory = knowledgeCategoryMapper.selectById(h);
-                if (!Objects.isNull(knowledgeCategory)){
+                if (!Objects.isNull(knowledgeCategory)) {
                     category.add(knowledgeCategory.getName());
                 }
             });
@@ -185,13 +187,14 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
 
     /**
      * pc端查询审核流程
+     *
      * @param categoryId
      * @return
      */
     public List<KnowledgeApprovalNodeVo> findAllNodesByCategoryId(String categoryId) {
         List<KnowledgeApprovalNodeVo> result = new ArrayList<>();
         //没输入分类id,查看默认流程后返回
-        if (StringUtils.isEmpty(categoryId)){
+        if (StringUtils.isEmpty(categoryId)) {
             categoryId = "-2";
             result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId(categoryId);
             defaultNode(result.get(0));
@@ -200,7 +203,7 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
         //输入分类id
         result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId(categoryId);
         //查询其上级是否有审核流程
-        if (CollectionUtils.isEmpty(result)){
+        if (CollectionUtils.isEmpty(result)) {
             KnowledgeCategory knowledgeCategory = knowledgeCategoryMapper.selectById(categoryId);
             while (true) {
                 if ("0".equals(knowledgeCategory.getPkId())) {
@@ -210,43 +213,45 @@ public class KnowledgeApprovalNodeServiceImpl extends SuperServiceImpl<Knowledge
                 knowledgeCategory = knowledgeCategoryMapper.
                         selectOne(new LambdaQueryWrapper<KnowledgeCategory>().eq(KnowledgeCategory::getPkId, knowledgeCategory.getParent()));
                 result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId(knowledgeCategory.getPkId());
-                if (!CollectionUtils.isEmpty(result)){
+                if (!CollectionUtils.isEmpty(result)) {
                     break;
                 }
             }
         }
         //该分类没有审核流程,使用默认流程
-        if (CollectionUtils.isEmpty(result)){
+        if (CollectionUtils.isEmpty(result)) {
             result = knowledgeApprovalNodeFlowerMapper.findAllNodesByCategoryId("-2");
         }
         defaultNode(result.get(0));
         return result;
     }
 
-    private void defaultNode(KnowledgeApprovalNodeVo result){
+    private void defaultNode(KnowledgeApprovalNodeVo result) {
         if (result.getIsFinal() != -1) {
             throw new RuntimeException("没找到默认节点");
         }
         //处理默认节点
         String deptId = userService.queryLoginUserDeptId();
-        List<String> parentUserIdList = knowledgeApprovalNodeFlowerMapper.findParentUserIdList(deptId);
-        if (CollectionUtils.isEmpty(parentUserIdList)){
-            result.setApproverId(userService.queryLoginUsername());
-            result.setApproverName(userService.queryLoginFullName());
-        } else {
+        String parentUserIds = knowledgeApprovalNodeFlowerMapper.findParentUserIdList(deptId);
+        if (!StringUtils.isEmpty(parentUserIds)) {
+            List<String> parentUserIdList = Arrays.asList(parentUserIds.split(","));
             //审核人userId(员工工号)
-            String approverId = parentUserIdList.parallelStream().map(e -> userService.queryLoginUsername()).
+            String approverId = parentUserIdList.parallelStream().map(e -> userService.queryOsUserDto(e).getUserNo()).
                     collect(Collectors.joining(","));
             result.setApproverId(approverId);
             //审核人姓名
             String approverName = parentUserIdList.parallelStream().map(e -> userService.queryUser(e).getFullName()).
                     collect(Collectors.joining(","));
             result.setApproverName(approverName);
+        } else {
+            result.setApproverId(userService.queryLoginUsername());
+            result.setApproverName(userService.queryLoginFullName());
         }
     }
 
     /**
      * 删除审核流程
+     *
      * @param pkId
      */
     @Transactional(rollbackFor = Exception.class)

+ 9 - 1
src/main/java/com/redxun/knowledge/service/KnowledgeApproveServiceImpl.java

@@ -188,10 +188,18 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
                 break;
             }
         }
-        if (!knowledgeApprove.getApproverId().equals(userNo) && !flag) {
+        String[] split = knowledgeApprove.getApproverId().split(",");
+        List<String> approverIdList = Arrays.asList(split);
+        if (!approverIdList.contains(userNo) && !flag) {
             // 不是该部门的人,不能审核
             return -2;
         }
+
+        //if (!knowledgeApprove.getApproverId().equals(userNo) && !flag) {
+        //    // 不是该部门的人,不能审核
+        //    return -2;
+        //}
+
         // 当前记录的下一条记录
         KnowledgeApprove knowledgeApproveNext = knowledgeApproveMapper.
                 selectOne(new QueryWrapper<KnowledgeApprove>().eq("SORT", knowledgeApprove.getSort() + 1).eq("KNOWLEDGER_ID", knowledgeApprove.getKnowledgerId()));