From 0d831f835708bab1351fa26c7e8aea0a9bf8911e Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 01 四月 2020 11:38:30 +0800
Subject: [PATCH] add  usergroup  一半

---
 src/main/java/com/highdatas/mdm/controller/SysMenuController.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
index f941fd2..feb4ed0 100644
--- a/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
+++ b/src/main/java/com/highdatas/mdm/controller/SysMenuController.java
@@ -72,21 +72,30 @@
         flows = flows.stream().filter(flow ->  flowsService.isNextAudit(flow, userId)).collect(Collectors.toList());
 
         HashSet<String> tableNameSet = new HashSet<>();
-        List<String> maintainIds = flows.stream().map(Flows::getBusinessId).collect(Collectors.toList());
-        if (maintainIds.size() == 0) {
+        List<String> maintainIds = flows.stream().filter(flow -> flow.getBusinessType().equals(ActivitiBusinessType.maintain)).map(Flows::getBusinessId).collect(Collectors.toList());
+        List<String> maintainFieldIds = flows.stream().filter(flow -> flow.getBusinessType().equals(ActivitiBusinessType.field)).map(Flows::getBusinessId).collect(Collectors.toList());
+
+        if (maintainIds.isEmpty() && maintainFieldIds.isEmpty()) {
             return  Result.success(null);
         }
-        maintainIds = maintainIds.stream().filter(s -> masterAuthorService.checkMaintainAuthor(userId,s)).collect(Collectors.toList());
-        if (maintainIds.isEmpty()) {
-            return Result.success(null);
+        for (String maintainFieldId : maintainFieldIds) {
+            MaintainField maintainField = maintainFieldService.selectById(maintainFieldId);
+            if (maintainField == null) {
+                continue;
+            }
+            String tableName = maintainField.getTableName();
+            if (StringUtils.isEmpty(tableName)) {
+                continue;
+            }
+            tableNameSet.add(tableName);
         }
-        List<Maintain> maintains = maintainService.selectBatchIds(maintainIds);
+        maintainIds = maintainIds.stream().filter(s -> masterAuthorService.checkMaintainAuthor(userId,s)).collect(Collectors.toList());
+        if (!maintainIds.isEmpty()) {
+            List<Maintain> maintains = maintainService.selectBatchIds(maintainIds);
 
-        List<String> tableNameList = maintains.stream().map(Maintain::getTableName).collect(Collectors.toList());
-        tableNameSet.addAll(tableNameList);
-        //
-        List<MaintainField> maintainFields = maintainFieldService.selectBatchIds(maintainIds);
-        tableNameSet.addAll(maintainFields.stream().map(MaintainField::getTableName).collect(Collectors.toList()));
+            List<String> tableNameList = maintains.stream().map(Maintain::getTableName).collect(Collectors.toList());
+            tableNameSet.addAll(tableNameList);
+        }
         if (tableNameSet.size() == 0) {
             return Result.success(null);
         }

--
Gitblit v1.8.0