|
@@ -151,86 +151,99 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg getAuthority(Integer role, Integer companyId) {
|
|
|
|
|
|
+ public HttpRespMsg getAuthority(Integer role, Integer companyId,HttpServletRequest request) {
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
-
|
|
|
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
//角色赋有的module
|
|
//角色赋有的module
|
|
List<Integer> modelIds = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", role)).stream().map(sr -> sr.getModuleId()).collect(Collectors.toList());
|
|
List<Integer> modelIds = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", role)).stream().map(sr -> sr.getModuleId()).collect(Collectors.toList());
|
|
-
|
|
|
|
//全部模块,
|
|
//全部模块,
|
|
Company company = companyMapper.selectById(companyId);
|
|
Company company = companyMapper.selectById(companyId);
|
|
TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
//按照公司开通的模块进行匹配
|
|
//按照公司开通的模块进行匹配
|
|
- 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 (timeType.getReportWorkflow() == 1) {
|
|
|
|
- queryWrapper.or().eq("report_workflow", 1);
|
|
|
|
- }
|
|
|
|
- if (timeType.getNeedDeptAudit() == 1) {
|
|
|
|
- queryWrapper.or().eq("need_dept_audit", 1);
|
|
|
|
|
|
+ QueryWrapper<SysModule> queryWrapper = new QueryWrapper<SysModule>().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 (timeType.getReportWorkflow() == 1) {
|
|
|
|
+ wrapper.or().eq("report_workflow", 1);
|
|
|
|
+ }
|
|
|
|
+ if (timeType.getNeedDeptAudit() == 1) {
|
|
|
|
+ wrapper.or().eq("need_dept_audit", 1);
|
|
|
|
+ }
|
|
|
|
+ return wrapper;
|
|
|
|
+ });
|
|
|
|
+ List<SysRoleModule> sysRoleModuleList = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", user.getRoleId()));
|
|
|
|
+ List<Integer> moduleIds = sysRoleModuleList.stream().map(sm -> sm.getModuleId()).collect(Collectors.toList());
|
|
|
|
+ if(!user.getRoleName().equals("超级管理员")){
|
|
|
|
+ queryWrapper.and(wrapper->wrapper.in("id",moduleIds));
|
|
}
|
|
}
|
|
queryWrapper.orderByAsc("orderitem");
|
|
queryWrapper.orderByAsc("orderitem");
|
|
-
|
|
|
|
List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
|
|
List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
|
|
//组装层级关系,默认只有两级
|
|
//组装层级关系,默认只有两级
|
|
List<SysModule> menuList = new ArrayList<>();
|
|
List<SysModule> menuList = new ArrayList<>();
|
|
- QueryWrapper<SysFunction> functionQueryWrapper = new QueryWrapper<SysFunction>().eq("package_time", 1);
|
|
|
|
- if (company.getPackageProject() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_project", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageOa() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_oa", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageExpense() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_expense", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageCustomer() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_customer", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageEngineering() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_engineering", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageContract() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_contract", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageEtimecard()== 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_etimecard", 1);
|
|
|
|
- }
|
|
|
|
- if (company.getPackageFinance() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("package_finance", 1);
|
|
|
|
- }
|
|
|
|
- if (timeType.getSyncCorpwxTime() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("sync_corpwx_time", 1);
|
|
|
|
- }
|
|
|
|
- //开通财务审核功能的
|
|
|
|
- if (timeType.getFinanceAudit() == 1) {
|
|
|
|
- functionQueryWrapper.or().eq("finance_audit", 1);
|
|
|
|
|
|
+ QueryWrapper<SysFunction> functionQueryWrapper = new QueryWrapper<SysFunction>().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 (timeType.getSyncCorpwxTime() == 1) {
|
|
|
|
+ wrapper.or().eq("sync_corpwx_time", 1);
|
|
|
|
+ }
|
|
|
|
+ //开通财务审核功能的
|
|
|
|
+ if (timeType.getFinanceAudit() == 1) {
|
|
|
|
+ wrapper.or().eq("finance_audit", 1);
|
|
|
|
+ }
|
|
|
|
+ return wrapper;
|
|
|
|
+ });
|
|
|
|
+ List<SysRoleFunction> sysRoleFunctionList = sysRoleFunctionMapper.selectList(new QueryWrapper<SysRoleFunction>().eq("role_id", user.getRoleId()));
|
|
|
|
+ List<Integer> functionIds = sysRoleFunctionList.stream().map(sf -> sf.getFunctionId()).collect(Collectors.toList());
|
|
|
|
+ if(!user.getRoleName().equals("超级管理员")){
|
|
|
|
+ functionQueryWrapper.and(funWrapper->funWrapper.in("id",functionIds));
|
|
}
|
|
}
|
|
functionQueryWrapper.orderByAsc("seq");
|
|
functionQueryWrapper.orderByAsc("seq");
|
|
-
|
|
|
|
List<SysFunction> functionList = sysFunctionMapper.selectList(functionQueryWrapper);
|
|
List<SysFunction> functionList = sysFunctionMapper.selectList(functionQueryWrapper);
|
|
//勾选上角色选中的功能
|
|
//勾选上角色选中的功能
|
|
List<SysRoleFunction> roleFunctionList = sysRoleFunctionMapper.selectList(new QueryWrapper<SysRoleFunction>().eq("role_id", role));
|
|
List<SysRoleFunction> roleFunctionList = sysRoleFunctionMapper.selectList(new QueryWrapper<SysRoleFunction>().eq("role_id", role));
|
|
@@ -341,8 +354,8 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg exportData(Integer role, Integer companyId) {
|
|
|
|
- HttpRespMsg msg = getAuthority(role, companyId);
|
|
|
|
|
|
+ public HttpRespMsg exportData(Integer role, Integer companyId,HttpServletRequest request) {
|
|
|
|
+ HttpRespMsg msg = getAuthority(role, companyId,request);
|
|
SysRole roleItem = sysRoleMapper.selectById(role);
|
|
SysRole roleItem = sysRoleMapper.selectById(role);
|
|
List<SysModule> menuList= (List<SysModule>) msg.data;
|
|
List<SysModule> menuList= (List<SysModule>) msg.data;
|
|
HSSFWorkbook wb=new HSSFWorkbook();
|
|
HSSFWorkbook wb=new HSSFWorkbook();
|