|
@@ -436,7 +436,7 @@ public class FeishuInfoController {
|
|
|
}
|
|
|
userVO.setHasAuditDept(num>0);
|
|
|
//获取当前角色的权限菜单
|
|
|
- setUserRoleMenu(userVO);
|
|
|
+ userService.setUserRoleMenu(userVO);
|
|
|
httpRespMsg.data = userVO;
|
|
|
return httpRespMsg;
|
|
|
}else httpRespMsg.setError("飞书用户未开通");
|
|
@@ -448,175 +448,175 @@ public class FeishuInfoController {
|
|
|
return cnt>0;
|
|
|
}
|
|
|
|
|
|
- public void setUserRoleMenu(UserVO user) {
|
|
|
- Integer roleId = user.getRoleId();
|
|
|
- //获取公司的套餐
|
|
|
- Company company = companyMapper.selectById(user.getCompanyId());
|
|
|
- TimeType timeType = timeTypeMapper.selectById(company.getId());
|
|
|
- //按照公司开通的模块进行匹配
|
|
|
- QueryWrapper<SysModule> queryWrapper = new QueryWrapper<SysModule>().eq("package_time", 1);
|
|
|
- if (company.getPackageProject() == 1) {
|
|
|
- queryWrapper.or().eq("package_project", 1);
|
|
|
- }
|
|
|
- if (company.getPackageOa() == 1) {
|
|
|
- queryWrapper.or().eq("package_oa", 1);
|
|
|
- }
|
|
|
- if (company.getPackageExpense() == 1) {
|
|
|
- queryWrapper.or().eq("package_expense", 1);
|
|
|
- }
|
|
|
- if (company.getPackageCustomer() == 1) {
|
|
|
- queryWrapper.or().eq("package_customer", 1);
|
|
|
- }
|
|
|
- if (company.getPackageEngineering() == 1) {
|
|
|
- queryWrapper.or().eq("package_engineering", 1);
|
|
|
- }
|
|
|
- if (company.getPackageContract() == 1) {
|
|
|
- queryWrapper.or().eq("package_contract", 1);
|
|
|
- }
|
|
|
- if (company.getPackageEtimecard()== 1) {
|
|
|
- queryWrapper.or().eq("package_etimecard", 1);
|
|
|
- }
|
|
|
- if (company.getPackageFinance() == 1) {
|
|
|
- queryWrapper.or().eq("package_finance", 1);
|
|
|
- }
|
|
|
- if (company.getPackageProvider() == 1) {
|
|
|
- queryWrapper.or().eq("package_provider", 1);
|
|
|
- }
|
|
|
- if (company.getPackageProjectApproval() == 1) {
|
|
|
- queryWrapper.or().eq("package_project_approval", 1);
|
|
|
- }
|
|
|
- if (timeType.getReportWorkflow() == 1) {
|
|
|
- queryWrapper.or().eq("report_workflow", 1);
|
|
|
- }
|
|
|
- if (timeType.getNeedDeptAudit() == 1) {
|
|
|
- queryWrapper.or().eq("need_dept_audit", 1);
|
|
|
- }
|
|
|
- if (company.getPackageDevice() == 1) {
|
|
|
- queryWrapper.or().eq("package_device", 1);
|
|
|
- }
|
|
|
-
|
|
|
- queryWrapper.orderByAsc("orderitem");
|
|
|
-
|
|
|
- //返回菜单
|
|
|
- List<SysRoleModule> rModules = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", roleId));
|
|
|
- List<Integer> ids = rModules.stream().map(SysRoleModule::getModuleId).collect(Collectors.toList());
|
|
|
- //项目报告审核模块,如果参与日报的审核,需要自动加上, 或者担任任务分组负责人
|
|
|
- if (user.isLeader() || user.isHasAuditDept() || (company.getPackageProject() == 1 && taskGroupMapper.selectCount(new QueryWrapper<TaskGroup>().eq("incharger_id", user.getId())) > 0)) {
|
|
|
- SysModule projectAuditModule = sysModuleMapper.selectOne(new QueryWrapper<SysModule>().eq("name", "项目报告审核"));
|
|
|
- if (!ids.contains(projectAuditModule.getId())) {
|
|
|
- ids.add(projectAuditModule.getId());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
|
|
|
-
|
|
|
- //过滤一下,这个角色选中的模块
|
|
|
- moduleList = moduleList.stream().filter(m->ids.contains(m.getId())).collect(Collectors.toList());
|
|
|
- if (company.getPackageEngineering() == 1) {
|
|
|
- //生成虚拟的两个审核放进去
|
|
|
- SysModule proModule = new SysModule();
|
|
|
- proModule.setName("专业审核");
|
|
|
- proModule.setPath("/reviewProfession");
|
|
|
- proModule.setId(0);
|
|
|
- moduleList.add(1,proModule);
|
|
|
- SysModule deptModule = new SysModule();
|
|
|
- deptModule.setName("部门审核");
|
|
|
- deptModule.setPath("/reviewDepartment");
|
|
|
- deptModule.setId(0);
|
|
|
- moduleList.add(2,deptModule);
|
|
|
- }
|
|
|
- //开启了自定义日报列表的情况下,需要菜单上有
|
|
|
- if (timeType.getCustomDegreeActive() == 1 && moduleList.stream().anyMatch(mod->mod.getName().equals("系统基础设置"))) {
|
|
|
- SysModule centerManageModule = new SysModule();
|
|
|
- //centerManageModule.setName(timeType.getCustomDegreeName()+"管理");
|
|
|
- centerManageModule.setName(timeType.getCustomDegreeName()+MessageUtils.message("project.manage"));
|
|
|
- centerManageModule.setPath("/centerManage");
|
|
|
- centerManageModule.setId(0);
|
|
|
- //加到组织架构前面
|
|
|
- int findIndex = 0;
|
|
|
- for (int i=0;i<moduleList.size(); i++) {
|
|
|
- if (moduleList.get(i).getName().equals("组织架构") || moduleList.get(i).getName().equals("基础数据管理")) {
|
|
|
- findIndex = i;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- moduleList.add(findIndex,centerManageModule);
|
|
|
- }
|
|
|
- //组装层级关系,默认只有两级
|
|
|
- List<SysModule> menuList = new ArrayList<>();
|
|
|
- for (SysModule module : moduleList) {
|
|
|
- if (module.getParentId() == null) {
|
|
|
- menuList.add(module);
|
|
|
- }
|
|
|
- }
|
|
|
- for (SysModule mainMenu : menuList) {
|
|
|
- List<SysModule> list = moduleList.stream().filter(mod -> mainMenu.getId().equals(mod.getParentId())).collect(Collectors.toList());
|
|
|
- mainMenu.setChildren(list);
|
|
|
- }
|
|
|
-
|
|
|
- user.setModuleList(menuList);
|
|
|
- //此处返回权限集合
|
|
|
- List<Integer> functionIdList = new ArrayList<>();
|
|
|
- //获取角色所有的功能id
|
|
|
- List<SysRoleFunction> funList = sysRoleFunctionMapper.selectList(new QueryWrapper<SysRoleFunction>()
|
|
|
- .eq("role_id", roleId));
|
|
|
- for (SysRoleFunction sysRoleFunction : funList) {
|
|
|
- functionIdList.add(sysRoleFunction.getFunctionId());
|
|
|
- }
|
|
|
- //获取当前公司开启了得报表
|
|
|
- List<CompanyReport> companyReportList = companyReportMapper.selectList(new QueryWrapper<CompanyReport>().eq("company_id", company.getId()));
|
|
|
- List<Integer> formIds = companyReportList.stream().map(CompanyReport::getReportFormId).collect(Collectors.toList());
|
|
|
- if (functionIdList.size() > 0) {
|
|
|
- //根据功能id获取可用的操作代码
|
|
|
- if (formIds.size() == 0) {
|
|
|
- formIds.add(-1);
|
|
|
- }
|
|
|
- QueryWrapper<SysFunction> functionQueryWrapper = new QueryWrapper<SysFunction>().and(wrapper1->wrapper1.isNull("report_form_id").or().in("report_form_id",formIds)).and(wrapper->{
|
|
|
- wrapper.eq("package_time", 1);
|
|
|
- if (company.getPackageProject() == 1) {
|
|
|
- wrapper.or().eq("package_project", 1);
|
|
|
- }
|
|
|
- if (company.getPackageOa() == 1) {
|
|
|
- wrapper.or().eq("package_oa", 1);
|
|
|
- }
|
|
|
- if (company.getPackageExpense() == 1) {
|
|
|
- wrapper.or().eq("package_expense", 1);
|
|
|
- }
|
|
|
- if (company.getPackageCustomer() == 1) {
|
|
|
- wrapper.or().eq("package_customer", 1);
|
|
|
- }
|
|
|
- if (company.getPackageEngineering() == 1) {
|
|
|
- wrapper.or().eq("package_engineering", 1);
|
|
|
- }
|
|
|
- if (company.getPackageContract() == 1) {
|
|
|
- wrapper.or().eq("package_contract", 1);
|
|
|
- }
|
|
|
- if (company.getPackageEtimecard()== 1) {
|
|
|
- wrapper.or().eq("package_etimecard", 1);
|
|
|
- }
|
|
|
- if (company.getPackageFinance() == 1) {
|
|
|
- wrapper.or().eq("package_finance", 1);
|
|
|
- }
|
|
|
-// if (company.getPackageProvider() == 1) {
|
|
|
-// wrapper.or().eq("package_provider", 1);
|
|
|
+// public void setUserRoleMenu(UserVO user) {
|
|
|
+// Integer roleId = user.getRoleId();
|
|
|
+// //获取公司的套餐
|
|
|
+// Company company = companyMapper.selectById(user.getCompanyId());
|
|
|
+// TimeType timeType = timeTypeMapper.selectById(company.getId());
|
|
|
+// //按照公司开通的模块进行匹配
|
|
|
+// QueryWrapper<SysModule> queryWrapper = new QueryWrapper<SysModule>().eq("package_time", 1);
|
|
|
+// if (company.getPackageProject() == 1) {
|
|
|
+// queryWrapper.or().eq("package_project", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageOa() == 1) {
|
|
|
+// queryWrapper.or().eq("package_oa", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageExpense() == 1) {
|
|
|
+// queryWrapper.or().eq("package_expense", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageCustomer() == 1) {
|
|
|
+// queryWrapper.or().eq("package_customer", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageEngineering() == 1) {
|
|
|
+// queryWrapper.or().eq("package_engineering", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageContract() == 1) {
|
|
|
+// queryWrapper.or().eq("package_contract", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageEtimecard()== 1) {
|
|
|
+// queryWrapper.or().eq("package_etimecard", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageFinance() == 1) {
|
|
|
+// queryWrapper.or().eq("package_finance", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageProvider() == 1) {
|
|
|
+// queryWrapper.or().eq("package_provider", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageProjectApproval() == 1) {
|
|
|
+// queryWrapper.or().eq("package_project_approval", 1);
|
|
|
+// }
|
|
|
+// if (timeType.getReportWorkflow() == 1) {
|
|
|
+// queryWrapper.or().eq("report_workflow", 1);
|
|
|
+// }
|
|
|
+// if (timeType.getNeedDeptAudit() == 1) {
|
|
|
+// queryWrapper.or().eq("need_dept_audit", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageDevice() == 1) {
|
|
|
+// queryWrapper.or().eq("package_device", 1);
|
|
|
+// }
|
|
|
+//
|
|
|
+// queryWrapper.orderByAsc("orderitem");
|
|
|
+//
|
|
|
+// //返回菜单
|
|
|
+// List<SysRoleModule> rModules = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", roleId));
|
|
|
+// List<Integer> ids = rModules.stream().map(SysRoleModule::getModuleId).collect(Collectors.toList());
|
|
|
+// //项目报告审核模块,如果参与日报的审核,需要自动加上, 或者担任任务分组负责人
|
|
|
+// if (user.isLeader() || user.isHasAuditDept() || (company.getPackageProject() == 1 && taskGroupMapper.selectCount(new QueryWrapper<TaskGroup>().eq("incharger_id", user.getId())) > 0)) {
|
|
|
+// SysModule projectAuditModule = sysModuleMapper.selectOne(new QueryWrapper<SysModule>().eq("name", "项目报告审核"));
|
|
|
+// if (!ids.contains(projectAuditModule.getId())) {
|
|
|
+// ids.add(projectAuditModule.getId());
|
|
|
// }
|
|
|
- if (timeType.getSyncCorpwxTime() == 1) {
|
|
|
- wrapper.or().eq("sync_corpwx_time", 1);
|
|
|
- }
|
|
|
- //开通财务审核功能的
|
|
|
- if (timeType.getFinanceAudit() == 1) {
|
|
|
- wrapper.or().eq("finance_audit", 1);
|
|
|
- }
|
|
|
- return wrapper;
|
|
|
- });
|
|
|
- functionQueryWrapper.orderByAsc("seq");
|
|
|
- List<SysFunction> functionList = sysFunctionMapper.selectList(functionQueryWrapper);
|
|
|
- functionList = functionList.stream().filter(f->functionIdList.contains(f.getId())).collect(Collectors.toList());
|
|
|
- user.setFunctionList(functionList);
|
|
|
- } else {
|
|
|
- user.setFunctionList(new ArrayList<>());
|
|
|
- }
|
|
|
- }
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
|
|
|
+//
|
|
|
+// //过滤一下,这个角色选中的模块
|
|
|
+// moduleList = moduleList.stream().filter(m->ids.contains(m.getId())).collect(Collectors.toList());
|
|
|
+// if (company.getPackageEngineering() == 1) {
|
|
|
+// //生成虚拟的两个审核放进去
|
|
|
+// SysModule proModule = new SysModule();
|
|
|
+// proModule.setName("专业审核");
|
|
|
+// proModule.setPath("/reviewProfession");
|
|
|
+// proModule.setId(0);
|
|
|
+// moduleList.add(1,proModule);
|
|
|
+// SysModule deptModule = new SysModule();
|
|
|
+// deptModule.setName("部门审核");
|
|
|
+// deptModule.setPath("/reviewDepartment");
|
|
|
+// deptModule.setId(0);
|
|
|
+// moduleList.add(2,deptModule);
|
|
|
+// }
|
|
|
+// //开启了自定义日报列表的情况下,需要菜单上有
|
|
|
+// if (timeType.getCustomDegreeActive() == 1 && moduleList.stream().anyMatch(mod->mod.getName().equals("系统基础设置"))) {
|
|
|
+// SysModule centerManageModule = new SysModule();
|
|
|
+// //centerManageModule.setName(timeType.getCustomDegreeName()+"管理");
|
|
|
+// centerManageModule.setName(timeType.getCustomDegreeName()+MessageUtils.message("project.manage"));
|
|
|
+// centerManageModule.setPath("/centerManage");
|
|
|
+// centerManageModule.setId(0);
|
|
|
+// //加到组织架构前面
|
|
|
+// int findIndex = 0;
|
|
|
+// for (int i=0;i<moduleList.size(); i++) {
|
|
|
+// if (moduleList.get(i).getName().equals("组织架构") || moduleList.get(i).getName().equals("基础数据管理")) {
|
|
|
+// findIndex = i;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// moduleList.add(findIndex,centerManageModule);
|
|
|
+// }
|
|
|
+// //组装层级关系,默认只有两级
|
|
|
+// List<SysModule> menuList = new ArrayList<>();
|
|
|
+// for (SysModule module : moduleList) {
|
|
|
+// if (module.getParentId() == null) {
|
|
|
+// menuList.add(module);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// for (SysModule mainMenu : menuList) {
|
|
|
+// List<SysModule> list = moduleList.stream().filter(mod -> mainMenu.getId().equals(mod.getParentId())).collect(Collectors.toList());
|
|
|
+// mainMenu.setChildren(list);
|
|
|
+// }
|
|
|
+//
|
|
|
+// user.setModuleList(menuList);
|
|
|
+// //此处返回权限集合
|
|
|
+// List<Integer> functionIdList = new ArrayList<>();
|
|
|
+// //获取角色所有的功能id
|
|
|
+// List<SysRoleFunction> funList = sysRoleFunctionMapper.selectList(new QueryWrapper<SysRoleFunction>()
|
|
|
+// .eq("role_id", roleId));
|
|
|
+// for (SysRoleFunction sysRoleFunction : funList) {
|
|
|
+// functionIdList.add(sysRoleFunction.getFunctionId());
|
|
|
+// }
|
|
|
+// //获取当前公司开启了得报表
|
|
|
+// List<CompanyReport> companyReportList = companyReportMapper.selectList(new QueryWrapper<CompanyReport>().eq("company_id", company.getId()));
|
|
|
+// List<Integer> formIds = companyReportList.stream().map(CompanyReport::getReportFormId).collect(Collectors.toList());
|
|
|
+// if (functionIdList.size() > 0) {
|
|
|
+// //根据功能id获取可用的操作代码
|
|
|
+// if (formIds.size() == 0) {
|
|
|
+// formIds.add(-1);
|
|
|
+// }
|
|
|
+// QueryWrapper<SysFunction> functionQueryWrapper = new QueryWrapper<SysFunction>().and(wrapper1->wrapper1.isNull("report_form_id").or().in("report_form_id",formIds)).and(wrapper->{
|
|
|
+// wrapper.eq("package_time", 1);
|
|
|
+// if (company.getPackageProject() == 1) {
|
|
|
+// wrapper.or().eq("package_project", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageOa() == 1) {
|
|
|
+// wrapper.or().eq("package_oa", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageExpense() == 1) {
|
|
|
+// wrapper.or().eq("package_expense", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageCustomer() == 1) {
|
|
|
+// wrapper.or().eq("package_customer", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageEngineering() == 1) {
|
|
|
+// wrapper.or().eq("package_engineering", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageContract() == 1) {
|
|
|
+// wrapper.or().eq("package_contract", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageEtimecard()== 1) {
|
|
|
+// wrapper.or().eq("package_etimecard", 1);
|
|
|
+// }
|
|
|
+// if (company.getPackageFinance() == 1) {
|
|
|
+// wrapper.or().eq("package_finance", 1);
|
|
|
+// }
|
|
|
+//// if (company.getPackageProvider() == 1) {
|
|
|
+//// wrapper.or().eq("package_provider", 1);
|
|
|
+//// }
|
|
|
+// if (timeType.getSyncCorpwxTime() == 1) {
|
|
|
+// wrapper.or().eq("sync_corpwx_time", 1);
|
|
|
+// }
|
|
|
+// //开通财务审核功能的
|
|
|
+// if (timeType.getFinanceAudit() == 1) {
|
|
|
+// wrapper.or().eq("finance_audit", 1);
|
|
|
+// }
|
|
|
+// return wrapper;
|
|
|
+// });
|
|
|
+// functionQueryWrapper.orderByAsc("seq");
|
|
|
+// List<SysFunction> functionList = sysFunctionMapper.selectList(functionQueryWrapper);
|
|
|
+// functionList = functionList.stream().filter(f->functionIdList.contains(f.getId())).collect(Collectors.toList());
|
|
|
+// user.setFunctionList(functionList);
|
|
|
+// } else {
|
|
|
+// user.setFunctionList(new ArrayList<>());
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
|
|
|
@RequestMapping("/initSuperManager")
|