Bladeren bron

按周填报过滤项目

seyason 7 maanden geleden
bovenliggende
commit
917eb8cdac

+ 6 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -8304,15 +8304,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         List<User> auditorList = new ArrayList<>();
         //加载这段时间内已填报过的项目
         List<Project> projectList = new ArrayList<>();
-        if (collect.size() > 0) {
-            //只算当前可填报的项目
-            if (!sysFunctionService.hasPriviledge(user.getRoleId(), "可填报全部项目")) {
-                //只能看本人参与的项目
-                List<Map<String, Object>> mapList = projectMapper.getOnlyJoinProjects(user.getId(), user.getCompanyId());
-                //从collect中去掉不在参与项目中的数据, mapList中的id是Integer类型
-                collect = collect.stream().filter(mapList.stream().map(m->(Integer)m.get("id")).collect(Collectors.toList())::contains).collect(Collectors.toList());
-            }
-        }
         if (collect.size() > 0) {
             projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect));
 			auditorList = userMapper.selectList(new QueryWrapper<User>().in("id", reportList.stream().map(Report::getProjectAuditorId).collect(Collectors.toList())));
@@ -8323,6 +8314,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", oldReport.stream().map(Report::getProjectId).collect(Collectors.toList())));
             }
         }
+        if (projectList.size() > 0 && !sysFunctionService.hasPriviledge(user.getRoleId(), "可填报全部项目")) {
+            //只能看本人参与的项目
+            List<Map<String, Object>> mapList = projectMapper.getOnlyJoinProjects(user.getId(), user.getCompanyId());
+            //从projectList中去掉不在参与项目中的数据, mapList中的id是Integer类型
+            projectList = projectList.stream().filter(p->mapList.stream().anyMatch(m->m.get("id").equals(p.getId()))).collect(Collectors.toList());
+        }
         List<SapProjectService> sapProjectServices = new ArrayList<>();
         if (company.getId() == 3092) {
             sapProjectServices = sapProjectServiceMapper.selectList(new QueryWrapper<SapProjectService>().eq("company_id",company.getId()));