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 30e4f612..07e6c870 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 @@ -329,7 +329,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param departId 部门id * @return JSONObject */ - List getAllDepartIds(String departId,String orgCode,List idList); + List getAllDepartIds(String departId ,List idList); /** * 发送短信验证码 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailContractMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailContractMapper.java index fc08f635..be2d92d5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailContractMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailContractMapper.java @@ -21,9 +21,9 @@ import java.util.List; */ public interface PayMailContractMapper extends BaseMapper { - IPage pageContract(Page page, @Param("payMailBillList") PayMailContracrList payMailContracrList); + IPage pageContract(Page page, @Param("payMailContracrList") PayMailContracrList payMailContracrList); - List pageContract(@Param("payMailBillList") PayMailContracrList payMailContracrList); + List pageContract(@Param("payMailContracrList") PayMailContracrList payMailContracrList); List pageContractExcel(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index 20678695..c0e69ab8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -493,7 +493,7 @@ SELECT tmps.id, tmp.project_name AS projectName, - "" as principalName, + tmp.director_name as principalName, tmps.company_name AS chargeCompanyTemporaryName, tmps.amount_receivable as allMoney, tmps.paid_amount as comeAllMoney, @@ -503,9 +503,11 @@ FROM tb_member_project tmp left join tb_member_project_subitem tmps on(tmp.id=tmps.project_id) left JOIN sys_user su on(tmps.liaison_man_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) - - tmps.id=99999999999999999999999 + tmp.director_id in + + #{item} + AND tmp.project_name LIKE @@ -516,7 +518,7 @@ concat('%',concat(#{allProjectStatisticsSearch.payStatue},'%')) - AND tmp.id=999999999999999999999 + AND tmp.director_id=#{allProjectStatisticsSearch.principalNameId} AND su.org_code =#{allProjectStatisticsSearch.departCode} @@ -854,9 +856,11 @@ left JOIN sys_user su on(tmps.liaison_man_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) tmps.id in #{item} - - tmps.id=99999999999999999999999 + tmp.director_id in + + #{item} + AND tmp.project_name LIKE @@ -867,7 +871,7 @@ concat('%',concat(#{allProjectStatisticsSearch.payStatue},'%')) - AND tmp.id=999999999999999999999 + AND tmp.director_id in=#{allProjectStatisticsSearch.principalNameId} AND su.org_code =#{allProjectStatisticsSearch.departCode} @@ -1183,7 +1187,43 @@ AND pm.director_id=#{principalPeopleSearch.principalId} - group by pm.director_id) pp + group by pm.director_id + union all + SELECT + tmp.director_id as principalId, + tmp.director_name as principalName, + sum(tmps.allMoney) as allMoney, + sum(tmps.comeAllMoney) as comeAllMoney, + tmp.create_time as createTime, + max(tmps.payment_date) as payment_date + FROM tb_member_project tmp right join ( + select id,project_id,SUM(amount_receivable) AS + allMoney,SUM(paid_amount) AS comeAllMoney,max(tmps2.payment_date) as payment_date + from + (select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,max(ppr.payment_date) as payment_date from tb_member_project_subitem tmps1 + inner join pay_payment_record ppr on(tmps1.id=ppr.project_id) + + WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%') + + GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id) + left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) + + + + tmp.director_id in + + #{item} + + + + AND su.org_code =#{principalPeopleSearch.departCode} + + + + AND tmp.director_id=#{principalPeopleSearch.principalId} + + group by tmp.director_id + ) pp group by pp.principalId order by pp.createTime) ppp @@ -1203,9 +1243,8 @@ order by ppp.payment_date desc - - + @@ -1435,7 +1491,45 @@ - ) pp + + union ALL + SELECT + tmps.create_time as createTime, + tmps.id, + tmp.project_name as projectName, + tmp.director_id as principalId, + tmps.amount_receivable AS allMoney, + tmps.paid_amount AS comeAllMoney, + tmps.charge_use as chargeUse + FROM tb_member_project tmp inner join tb_member_project_subitem tmps on(tmp.id=tmps.project_id) + + tmp.director_id = #{principalPeopleDetailSearch.principalNameId} + + AND tmp.project_name LIKE + concat('%',concat(#{principalPeopleDetailSearch.projectName},'%')) + + + AND tmps.charge_use=#{principalPeopleDetailSearch.chargeUse} + + + AND tmps.in_account=#{principalPeopleDetailSearch.inAccountStatue} + + + + AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and tmps.amount_receivable = + #{principalPeopleDetailSearch.allMoneyTwo} + + + + AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} + + + AND tmps.amount_receivable = #{principalPeopleDetailSearch.allMoneyTwo} + + + + + ) pp inner join (select pwgs.id as id,max(ppr.payment_date) as payment_date @@ -1471,7 +1565,16 @@ WHERE ppr.payment_date like concat('%',#{principalPeopleDetailSearch.year},'%') - group by pms.id) pprr on(pp.id=pprr.id) + group by pms.id + union all + SELECT + tmps.id as id ,max(ppr.payment_date) as payment_date from tb_member_project_subitem tmps inner join pay_payment_record ppr on (tmps.id=ppr.project_id) + + WHERE ppr.payment_date like + concat('%',#{principalPeopleDetailSearch.year},'%') + + group by tmps.id + ) pprr on(pp.id=pprr.id) order by pprr.payment_date desc @@ -1809,7 +1912,10 @@ left join tb_member_project tmp on(tmp.id=tpms.project_id) - tpms.company_id =9999999999999999999999999999999999999999 + tmp.director_id in + + #{item} + @@ -1925,9 +2031,7 @@ inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id) group by tmp1s.id) tpms left join tb_member_project tmp on(tmp.id=tpms.project_id) - group by tpms.company_id) ppp - ) pp group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp order by ppp.comeAllMoney desc limit 10 @@ -2106,14 +2210,21 @@ union all SELECT + tmps.create_time as createTime, tmps.id AS projectId, tmp.project_name AS projectName, tmps.amount_receivable as allMoney, tmps.paid_amount as comeAllMoney, - tmps.charge_use as chargeUse, - tmps.create_time as createTime + tmps.charge_use as chargeUse FROM tb_member_project tmp left join tb_member_project_subitem tmps on(tmp.id=tmps.project_id) + tmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} + + and tmp.director_id in + + #{item} + + AND tmp.project_name LIKE concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index 37c4caf9..466edff8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -96,9 +96,9 @@ public interface IPayWorkingGroupService extends IService { * @Exception */ void setPayWorkingGroup(PayWorkingGroup payWorkingGroup); -/** - * 全所查询 - */ + /** + * 全所查询 + */ IPage queryPageList(Page page , AllProjectStatisticsSearch allProjectStatisticsSearch, List idList ); /** * 全所查询导出 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 f6bbda41..87d8d0d5 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 @@ -89,7 +89,11 @@ public class AllProjectStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -142,7 +146,7 @@ public class AllProjectStatisticsController { * @param pageSize 条数 */ @RequiresPermissions("projectPaymentStatistics:search") - @ApiOperation(value = "企业项目统计-分页列表查询", notes = "企业项目统计-详情分页列表查询") + @ApiOperation(value = "项目来款统计-分页列表查询", notes = "项目来款统计-详情分页列表查询") @GetMapping(value = "/listProject") public Result listProject(AllProjectStatisticsSearch allProjectStatisticsSearch, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @@ -161,7 +165,11 @@ public class AllProjectStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -230,7 +238,11 @@ public class AllProjectStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -270,8 +282,11 @@ public class AllProjectStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - String departIds = sysUser.getDepartIds(); - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -304,9 +319,9 @@ public class AllProjectStatisticsController { * */ @RequiresPermissions("projectPaymentStatistics:export") - @AutoLog(value = "企业项目统计-导出统计") + @AutoLog(value = "项目来款统计-导出统计") @GetMapping(value = "/statistics/excelProject") - @ApiOperation(value = "企业项目统计-导出统计", notes = "企业项目统计-导出统计") + @ApiOperation(value = "项目来款统计-导出统计", notes = "项目来款统计-导出统计") public ModelAndView excelProject( AllProjectStatisticsSearch allProjectStatisticsSearch) { allProjectStatisticsSearch.setProjectName(oConvertUtils.replaceAllPercent(allProjectStatisticsSearch.getProjectName())); allProjectStatisticsSearch.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(allProjectStatisticsSearch.getChargeCompanyTemporaryName())); @@ -322,14 +337,18 @@ public class AllProjectStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds); } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); idList.add(userId); } else { ArrayList objects = new ArrayList<>(); - return AmountUtil.exportListXls(objects, AllProjectStatistics.class, "企业来款统计"); + return AmountUtil.exportListXls(objects, AllProjectStatistics.class, "项目来款统计"); } List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch, idList); @@ -340,7 +359,7 @@ public class AllProjectStatisticsController { s.setChargeUse_text(payment_charge_use); } } - return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "企业来款统计"); + return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "项目来款统计"); } 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 8a79d592..e0bb643d 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 @@ -76,7 +76,11 @@ public class CompanyComeMoneyStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds); //项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { @@ -140,7 +144,11 @@ public class CompanyComeMoneyStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds); //项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { @@ -203,7 +211,11 @@ public class CompanyComeMoneyStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -238,7 +250,11 @@ public class CompanyComeMoneyStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); 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 ef5978e1..244dc6e6 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 @@ -52,6 +52,8 @@ import java.util.stream.Collectors; @RequestMapping("/project/payWorkingGroupStatistics") @Slf4j public class PayWorkingGroupStatisticsController { + @Resource + private SysUserMapper userMapper; @Autowired private ISysBaseAPI sysBaseAPI; @Autowired @@ -87,7 +89,10 @@ public class PayWorkingGroupStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -153,7 +158,11 @@ public class PayWorkingGroupStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); @@ -191,7 +200,11 @@ public class PayWorkingGroupStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds);//项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { String userId = sysUser.getId(); 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 bcd48823..376073fe 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 @@ -80,7 +80,11 @@ public class PrincipalPeopleStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds); //项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { @@ -193,7 +197,11 @@ public class PrincipalPeopleStatisticsController { idList = null; //部门负责人 } else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) { - List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList); + //获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员) + List allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList); + //获取本部门成员 + idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); + idList.addAll(allDepartIds); //项目负责人 } else if (roleCodes.contains(constant.XMFZR)) { 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 12c82a05..7834600b 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 @@ -1067,17 +1067,15 @@ public class SysBaseApiImpl implements ISysBaseAPI { } @Override - public List getAllDepartIds(String departId,String orgcode,List idList) { - //获取子部门全部成员(不包含本部门),会有重复id被加入ids + //获取本部门下全部子部门的全部成员(不包含本部门) + public List getAllDepartIds(String departId,List idList) { + List sysDepartTreeModels =listSonDepartsByDepId(departId); if(!(sysDepartTreeModels.size()==0)) { for (SysDepartTreeModel s : sysDepartTreeModels) { idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", s.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList())); - getAllDepartIds(s.getId(),s.getOrgCode(),idList); + getAllDepartIds(s.getId(),idList); } - //获取本部门成员 - idList.addAll((userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgcode))).stream().map(SysUser::getId).collect(Collectors.toList())); - return idList; } return idList;