diff --git a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index 4005c531..21c6a562 100644 --- a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -308,6 +308,8 @@ public interface ISysBaseAPI extends CommonAPI { */ List listSonDepartsByDepId(String departId); + + /** * 根据文件id获取文件名称 */ @@ -320,6 +322,14 @@ public interface ISysBaseAPI extends CommonAPI { * @param list 文件集合(路径+文件) */ void sendEmailMsgAndFile(String email, String title, String content,List list); + /** + * 44根据部门id查询部门及其子部门所有人员id + * @author zql + * @date 2021/10/21 + * @param departId 部门id + * @return JSONObject + */ + List getAllDepartIds(String departId); /** * 发送短信验证码 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java index 969ca718..2c282d30 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java @@ -9,6 +9,7 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.oConvertUtils; import com.jero.mail.commont.constant; import com.jero.meeting.service.IPayMeetingSituationService; @@ -83,22 +84,20 @@ public class AllProjectStatisticsController { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageList(page,allProjectStatisticsSearch, idList ); HashMap hashMap = new HashMap<>(); @@ -133,6 +132,7 @@ public class AllProjectStatisticsController { } + /** * 企业项目统计——分页列表查询 * @@ -155,21 +155,20 @@ public class AllProjectStatisticsController { String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForProject(page,allProjectStatisticsSearch,idList); HashMap hashMap = new HashMap<>(); @@ -225,21 +224,20 @@ public class AllProjectStatisticsController { String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { Calendar calendar = Calendar.getInstance(); String year = String.valueOf(calendar.get(Calendar.YEAR)); @@ -265,21 +263,20 @@ public class AllProjectStatisticsController { String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { Calendar calendar = Calendar.getInstance(); @@ -316,21 +313,20 @@ public class AllProjectStatisticsController { String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds); + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch, idList); if (pageList != null) { for (AllProjectStatistics s : pageList) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java index 3517c76b..9904ef68 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/CompanyComeMoneyStatisticsController.java @@ -9,6 +9,7 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.oConvertUtils; import com.jero.mail.commont.constant; import com.jero.modules.system.entity.SysUser; @@ -70,19 +71,19 @@ public class CompanyComeMoneyStatisticsController { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //科长 - if(roleCodes.contains(constant.BMFZR)&&!(roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN))) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //所领导或者超级管理员 - } else if(roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN)||roleCodes.contains(constant.QYXXWHRY)) { - idList=null; - //企业职员项目负责人 - }else if(roleCodes.contains(constant.XMFZR)&&!(roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN))){ + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds); + //项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); idList.add(userId); - }else { + } else { throw new JeroBootException("权限异常"); } Page page = new Page<>(pageNo, pageSize); @@ -134,21 +135,21 @@ public class CompanyComeMoneyStatisticsController { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds); + //项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch,idList); HashMap hashMap = new HashMap<>(); @@ -197,21 +198,20 @@ public class CompanyComeMoneyStatisticsController { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListForCompanyExcel(companyComeMoneySearch, idList); return AmountUtil.exportListXls(pageList, CompanyComeMoneyList.class, "企业来款统计"); @@ -232,21 +232,20 @@ public class CompanyComeMoneyStatisticsController { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListForCompanyDetailExcel(companyComeMoneyDetailSearch, idList); for (CompanyComeMoneyDetail s : pageList) { String key = String.valueOf(s.getChargeUse()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java index 61fef6b4..64e1005b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java @@ -11,6 +11,7 @@ import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.ComboModel; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.oConvertUtils; import com.jero.mail.commont.constant; import com.jero.modules.system.entity.SysUser; @@ -82,19 +83,18 @@ public class PayWorkingGroupStatisticsController { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //科长 - if(roleCodes.contains(constant.BMFZR)&&!(roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN))) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //所领导或者超级管理员 - } else if(roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN)||roleCodes.contains(constant.QYXXWHRY)) { - idList=null; - //企业职员项目负责人 - }else if(roleCodes.contains(constant.XMFZR)&&!(roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)||roleCodes.contains(constant.ADMIN))){ + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); idList.add(userId); - }else { + } else { throw new JeroBootException("权限异常"); } IPage pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch,idList); @@ -149,21 +149,20 @@ public class PayWorkingGroupStatisticsController { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListForStatisticsExcel(payWorkingGroupSearch, idList); //处理为空数据为0 for (PayWorkingGroupStatistics s : pageList) { @@ -187,21 +186,20 @@ public class PayWorkingGroupStatisticsController { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds);//项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListForStatisticsExcel(payWorkingGroupSearch, idList,strings); //处理为空数据为0 for (PayWorkingGroupStatistics s : pageList) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java index 2d30a1c6..0a13ef5a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PrincipalPeopleStatisticsController.java @@ -11,6 +11,7 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.vo.ProjectDetailVO; import com.jero.mail.commont.constant; import com.jero.mail.entity.PayMailBillProject; @@ -78,21 +79,21 @@ public class PrincipalPeopleStatisticsController { LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds); + //项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForPrincipal(page,principalPeopleSearch,idList); @@ -136,12 +137,6 @@ public class PrincipalPeopleStatisticsController { public Result listForDetail(PrincipalPeopleDetailSearch principalPeopleDetailSearch, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { - -// if (principalPeopleDetailSearch.getYear() == null || principalPeopleDetailSearch.getYear().equals("")) { -// Calendar calendar = Calendar.getInstance(); -// String year = String.valueOf(calendar.get(Calendar.YEAR)); -// principalPeopleDetailSearch.setYear(year); -// } Page page = new Page<>(pageNo, pageSize); IPage pageList = payWorkingGroupService.queryPageListForPrincipalDetail(page, principalPeopleDetailSearch); HashMap hashMap = new HashMap<>(); @@ -197,21 +192,21 @@ public class PrincipalPeopleStatisticsController { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); List roleCodes = new ArrayList<>(Arrays.asList(roleCode.split(","))); - //所领导和admin - if (roleCodes.contains(constant.SLD) || roleCodes.contains(constant.ADMIN)) { - idList = null; - //科长 - } else if (roleCodes.contains(constant.BMFZR)) { - String orgCode = sysUser.getOrgCode(); - List userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); - idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - //项目负责人 - } else if (roleCodes.contains(constant.XMFZR)) { - String userId = sysUser.getId(); - idList.add(userId); - } else { - throw new JeroBootException("权限异常"); - } + //admin + if (roleCodes.contains(constant.ADMIN)) { + idList = null; + //部门负责人 + } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { + String departIds = sysUser.getDepartIds(); + List allDepartIds = sysBaseAPI.getAllDepartIds(departIds); + idList.addAll(allDepartIds); + //项目负责人 + } else if (roleCodes.contains(constant.XMFZR)) { + String userId = sysUser.getId(); + idList.add(userId); + } else { + throw new JeroBootException("权限异常"); + } List pageList = payWorkingGroupService.queryPageListForPrincipalExcel(principalPeopleSearch, idList); return AmountUtil.exportListXls(pageList, PrincipalPeopleList.class, "个人来款"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/util/AmountUtil.java b/jero-boot-incoming-payment/src/main/java/com/jero/util/AmountUtil.java index eca9ae7c..013eb081 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/util/AmountUtil.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/util/AmountUtil.java @@ -6,7 +6,6 @@ import org.jeecgframework.poi.excel.entity.enmus.ExcelType; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.servlet.ModelAndView; - import java.util.List; /** @@ -15,6 +14,7 @@ import java.util.List; * @author liJiaRao * @date 2021-08-31 15:28 */ + public class AmountUtil { @Value("${jero.path.upload}") @@ -63,4 +63,5 @@ public class AmountUtil { mv.addObject(NormalExcelConstants.DATA_LIST, list); return mv; } + } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 375f15d2..99b2afaa 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -1065,6 +1065,20 @@ public class SysBaseApiImpl implements ISysBaseAPI { emailHandle.SendMsgAndFile(email, title, content,list); } + @Override + public List getAllDepartIds(String departId) { + List ids = new ArrayList<>(); + //获取子部门全部成员(不包含本部门) + List sysDepartTreeModels =listSonDepartsByDepId(departId); + for(SysDepartTreeModel s:sysDepartTreeModels) { + ids.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", s.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + } + //获取本部门成员 + ids.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", departId))).stream().map(SysUser::getId).collect(Collectors.toList())); + + return ids; + } + @Override public void sendVerificationCode(String phone, String codeType, String codeTime, String templateParas) { huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, templateParas);