Min 1 gadu atpakaļ
vecāks
revīzija
d7ebe04bcf

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -198,7 +198,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                         List<Map<String, Object>> planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, null, null, null, null, null, null, null, planIds);
                         if(planList.size()>0){
                             planList.forEach(p->{
-                                boolean match=false;
+                                boolean match=true;
                                 Optional<Map<String, Object>> planId = planRealTimeProgressList.stream().filter(plan -> plan.get("planId").equals(p.getId())).findFirst();
                                 Map<String, Object> map = planId.get();
                                 BigDecimal planWorkTime = new BigDecimal(map.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(map.get("planWorkTime"))));

+ 14 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -99,6 +99,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     private SysFunctionService sysFunctionService;
     @Resource
     private ReportService reportService;
+    @Resource
+    private DepartmentOtherManagerService departmentOtherManagerService;
 
     @Value(value = "${upload.path}")
     private String path;
@@ -154,9 +156,18 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 break;
         }
         if(!canViewAll){
-            /*作为工长看到的数据*/
-            if(count(new QueryWrapper<Plan>().eq("foreman_id",user.getId()))>0){
-                queryWrapper.and(wrapper->wrapper.and(wr->wr.eq(Plan::getForemanId,user.getId()).eq(Plan::getStatus,1)).or().eq(Plan::getCreateId,user.getId()));
+            //部门负责人
+            List<Department> departmentList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getManagerId, user.getId()));
+            List<Integer> deptIds = departmentList.stream().map(Department::getDepartmentId).distinct().collect(Collectors.toList());
+            deptIds.add(-1);
+            //部门其他负责人
+            List<DepartmentOtherManager> otherManagers = departmentOtherManagerService.list(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId,user.getId()));
+            List<Integer> otherDeptIds = otherManagers.stream().map(DepartmentOtherManager::getDepartmentId).distinct().collect(Collectors.toList());
+            deptIds.addAll(otherDeptIds);
+            /*作为部门负责人看到的数据*/
+            if(departmentMapper.selectCount(new LambdaQueryWrapper<Department>().eq(Department::getManagerId,user.getId()))>0
+                    ||departmentOtherManagerService.count(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId,user.getId()))>0){
+                queryWrapper.and(wrapper->wrapper.and(wr->wr.in(Plan::getStationId,deptIds).eq(Plan::getStatus,1)).or().eq(Plan::getCreateId,user.getId()));
             }else {
                 /*作为组员可以查看的数据*/
                 List<ProdProcedureTeam> prodProcedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().eq("company_id", companyId).eq("user_id", user.getId()));

+ 11 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -250,9 +250,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 List<DepartmentOtherManager> departmentOtherManagers = departmentOtherManagerMapper.selectList(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId, userVO.getId()));
                 List<Integer> otherManagerIds = departmentOtherManagers.stream().map(DepartmentOtherManager::getDepartmentId).distinct().collect(Collectors.toList());
                 otherManagerIds.add(-1);
-                List<Department> otherDpetList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().in(Department::getDepartmentId, otherManagerIds));
-                if(otherDpetList.size()>0){
-                    manageDeptList.addAll(otherDpetList);
+                List<Department> otherDeptList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().in(Department::getDepartmentId, otherManagerIds));
+                if(otherDeptList.size()>0){
+                    manageDeptList.addAll(otherDeptList);
                 }
                 userVO.setBeDeptList(manageDeptList);
                 //检查登录权限
@@ -2369,6 +2369,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         userVO.setLeader(judgeIsLeader(userVO.getId()));
         userVO.setTimeType(timeTypeMapper.selectById(company.getId()));
         List<Department> manageDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", userVO.getId()));
+        //获取作为次要负责人的列表
+        List<DepartmentOtherManager> departmentOtherManagers = departmentOtherManagerMapper.selectList(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId, userVO.getId()));
+        List<Integer> otherManagerIds = departmentOtherManagers.stream().map(DepartmentOtherManager::getDepartmentId).distinct().collect(Collectors.toList());
+        otherManagerIds.add(-1);
+        List<Department> otherDeptList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().in(Department::getDepartmentId, otherManagerIds));
+        if(otherDeptList.size()>0){
+            manageDeptList.addAll(otherDeptList);
+        }
         userVO.setBeDeptList(manageDeptList);
         //获取当前角色的权限菜单
         setUserRoleMenu(userVO);