Procházet zdrojové kódy

修改费用报销导入 工时导入

yurk před 2 roky
rodič
revize
4913a24e9a

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -83,8 +83,8 @@ public class UserController {
     }
 
     @RequestMapping("/getUserListByRole")
-    public HttpRespMsg getUserListByRole(){
-        return userService.getUserListByRole(request);
+    public HttpRespMsg getUserListByRole(String tableName){
+        return userService.getUserListByRole(request,tableName);
     }
 
     /**

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserService.java

@@ -70,7 +70,7 @@ public interface UserService extends IService<User> {
 
     HttpRespMsg getSimpleActiveUserList(Integer departmentId, HttpServletRequest request,String keyword,String cursor);
 
-    HttpRespMsg getUserListByRole(HttpServletRequest request);
+    HttpRespMsg getUserListByRole(HttpServletRequest request,String tableName);
 
     HttpRespMsg loginAdminByThirdParty(String jobNumber, String token);
 

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

@@ -1364,15 +1364,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     @Override
     public List<Integer> getDeptIncludeSubDeptIds(Integer departmentId, List<Department> allDeptList) {
-        List<Integer> list = new ArrayList<>();
-        list.add(departmentId);
-        //搜到子部门进行添加
-        for (Department department : allDeptList) {
-            if (departmentId.equals(department.getSuperiorId())) {
-                list.addAll(getBranchDepartment(department.getDepartmentId(), allDeptList));
-            }
-        }
-        return list;
+        return getBranchDepartment(departmentId,allDeptList);
     }
 
 

+ 26 - 18
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.constant.Constant;
 import com.management.platform.controller.WeiXinCorpController;
 import com.management.platform.entity.*;
+import com.management.platform.entity.vo.SysRichFunction;
 import com.management.platform.entity.vo.UserVO;
 import com.management.platform.mapper.*;
 import com.management.platform.service.*;
@@ -159,6 +160,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
     @Resource
     SysConfigMapper sysConfigMapper;
+    @Resource
+    private ReportFormMapper reportFormMapper;
 
     public static String provider_access_token = null;
     public static long providerTokenExpireTime = 0L;
@@ -2411,32 +2414,37 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     @Override
-    public HttpRespMsg getUserListByRole(HttpServletRequest request) {
+    public HttpRespMsg getUserListByRole(HttpServletRequest request,String tableName) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
-        SysRole sysRole = sysRoleMapper.selectById(user.getRoleId());
+        ReportForm reportForm = reportFormMapper.selectOne(new QueryWrapper<ReportForm>().eq("report_form_name", tableName));
+        List<SysFunction> sysFunctionList = sysFunctionMapper.selectList(new QueryWrapper<SysFunction>().eq("report_form_id", reportForm.getId()));
+        String allName = sysFunctionList.stream().filter(sl -> sl.getName().contains("全公司")||sl.getName().contains("全部")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
+        String deptName = sysFunctionList.stream().filter(sl -> sl.getName().contains("负责部门")||sl.getName().contains("负责")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
+        List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(user.getRoleId(),allName);
+        List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), deptName);
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
         List<DepartmentOtherManager> otherManagers = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
         //获取全部子部门
         List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
-        List<Integer> collect = departmentList.stream().distinct().map(Department::getDepartmentId).collect(Collectors.toList());
-        List<Integer> collect1 = otherManagers.stream().distinct().map(DepartmentOtherManager::getDepartmentId).collect(Collectors.toList());
         List<Integer> deptIds=new ArrayList<>();
-        for (Integer departmentId : collect) {
-            List<Integer> ids = departmentService.getDeptIncludeSubDeptIds(departmentId, allDeptList);
-            deptIds.addAll(ids);
-        }
-        for (Integer departmentId : collect1) {
-            List<Integer> ids = departmentService.getDeptIncludeSubDeptIds(departmentId, allDeptList);
-            deptIds.addAll(ids);
-        }
-        if(deptIds!=null&&deptIds.size()>0){
-            List<User> userList = userMapper.selectList(new QueryWrapper<User>().in("department_id", deptIds));
-            if(sysRole.getRolename().equals("超级管理员")){
-                userList= userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()));
+        List<User> userList;
+        //判断查看权限
+        if(functionAllList.size()==0){
+            deptIds=new ArrayList<>();
+            deptIds.add(-1);
+            if(functionDeptList.size()>0){
+                List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = otherManagers.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
+                for (Integer integer : collect) {
+                    List<Integer> branchDepartment = departmentService.getDeptIncludeSubDeptIds(integer, allDeptList);
+                    deptIds.addAll(branchDepartment);
+                }
             }
-            httpRespMsg.data=userList;
-        }
+            userList = userMapper.selectList(new QueryWrapper<User>().in("department_id", deptIds));
+        }else userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()));
+        httpRespMsg.data=userList;
         return httpRespMsg;
     }