diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index 11ad8e30..5e312c56 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -140,7 +140,7 @@ public interface PayWorkingGroupMapper extends BaseMapper { * @param companyComeMoneyDetailSearch * @return */ - IPage queryPageListForCompanyDetail(Page page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch); + IPage queryPageListForCompanyDetail(Page page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,@Param("idList") List idList ); /** * 企业来款详情 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 7d771ddc..fe3ca107 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 @@ -588,7 +588,7 @@ sum(pwgs.comeAllMoney) as comeAllMoney, pwg.create_time as createTime FROM pay_working_group pwg - inner JOIN ( + right JOIN ( select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney from (select pwg1s.id,working_group_id,receivable_amount,paid_amount @@ -654,7 +654,7 @@ SUM(pmps.comeAllMoney) AS comeAllMoney, pmp.create_time as createTime FROM pay_member_project pmp - inner join ( + right join ( select id,projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney from( select pmp1s.id,pmp1s.project_id as projectId,amount_receivable,paid_amount from pay_member_project_subitem pmp1s @@ -686,7 +686,7 @@ sum(pms.allMoney) as allMoney, sum(pms.comeAllMoney) as comeAllMoney, pm.create_time as createTime - FROM pay_meeting pm inner join ( + FROM pay_meeting pm right join ( select id,meeting_id,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS comeAllMoney from @@ -1007,19 +1007,16 @@ (SELECT pwgs.charge_company_id as chargeCompanyTemporaryId, pcm.company_name as chargeCompanyTemporaryName, - sum(allMoney) as allMoney, - sum(comeAllMoney) as comeAllMoney, + allMoney, + comeAllMoney, pwgs.create_time as createTime - FROM pay_working_group pwg - right JOIN ( - select pwg1s.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwg1s.create_time + FROM ( + select pwgs2.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwgs2.create_time + from (select + pwg1s.id,working_group_id,receivable_amount,paid_amount,charge_company_id,pwg1s.create_time from pay_working_group_subitem pwg1s inner join pay_payment_record ppr on(pwg1s.id=ppr.project_id) - WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') - GROUP BY pwg1s.charge_company_id - ) pwgs - ON (pwg.id=pwgs.working_group_id) - left JOIN sys_user su on(pwg.principal_id_a=su.id) left join sys_depart sd on(su.org_code=sd.org_code) - left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id) + WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') group by pwg1s.id) pwgs2 left join pay_working_group pwg + ON (pwg.id=pwgs2.working_group_id) pwg.principal_id_a in @@ -1027,78 +1024,88 @@ #{item} + + GROUP BY pwgs2.charge_company_id + ) pwgs + left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id) + + AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId} - GROUP BY pwgs.charge_company_id + union all SELECT - pcp.charge_company_id as chargeCompanyTemporaryId, + pcp1.charge_company_id as chargeCompanyTemporaryId, pcm.company_name as chargeCompanyTemporaryName, - sum(pcp.receivable_amount) as allMoney, - sum(pcp.paid_amount) as comeAllMoney, - pcp.create_time as createTime - FROM pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id) - left JOIN sys_user su on(pcp.principal_id=su.id) left join sys_depart sd - on(su.org_code=sd.org_code) - left join pay_company_management pcm on(pcm.id=pcp.charge_company_id) + sum(pcp1.receivable_amount) as allMoney, + sum(pcp1.paid_amount) as comeAllMoney, + pcp1.create_time as createTime + FROM + (select pcp.principal_id,pcp.principal_name,pcp.receivable_amount,pcp.paid_amount,pcp.create_time,pcp.charge_company_id from + pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id) + where + ppr.payment_date like + concat('%',#{companyComeMoneySearch.year},'%') + group by pcp.id + ) pcp1 + left join pay_company_management pcm on(pcm.id=pcp1.charge_company_id) - ppr.payment_date like - concat('%',#{companyComeMoneySearch.year},'%') - pcp.principal_id in + pcp1.principal_id in #{item} - AND pcp.charge_company_id=#{companyComeMoneySearch.chargeCompanyId} + AND pcp1.charge_company_id=#{companyComeMoneySearch.chargeCompanyId} - group by pcp.charge_company_id + group by pcp1.charge_company_id union all SELECT - pmps.company_id as chargeCompanyTemporaryId, - pmps.company_name as chargeCompanyTemporaryName, - sum(pmps.allMoney) as allMoney, - pmps.comeAllMoney as comeAllMoney, - pmps.create_time as createTime - FROM pay_member_project pmp inner join (select - pmp1s.id,pmp1s.project_id as projectId,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS - comeAllMoney,pmp1s.create_time,company_id,company_name - from pay_member_project_subitem pmp1s - inner join pay_payment_record ppr on(pmp1s.id=ppr.project_id) + company_id as chargeCompanyTemporaryId, + company_name as chargeCompanyTemporaryName, + allMoney, + comeAllMoney, + create_time as createTime + FROM ( + select projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney ,pmp1s.create_time,company_id,company_name from( + select pmp2s.id,pmp2s.project_id as projectId,amount_receivable,paid_amount,pmp2s.create_time,company_id,company_name from + pay_member_project_subitem pmp2s + inner join pay_payment_record ppr on(pmp2s.id=ppr.project_id) WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') - GROUP BY pmp1s.company_id) pmps on(pmp.id=pmps.projectId) - left JOIN sys_user su on(pmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) - + GROUP BY pmp2s.id) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId) + + + pmp.director_id in + + #{item} + + + + group by pmp1s.company_id + ) pmps - - pmp.director_id in - - #{item} - - - AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId} - group by pmps.company_id + union all SELECT - pms.company_id as chargeCompanyTemporaryId, - pms.company_name as chargeCompanyTemporaryName, - sum(pms.allMoney) as allMoney, - sum(pms.comeAllMoney) as comeAllMoney, - pms.create_time as createTime - FROM pay_meeting pm inner join (select pm1s.id,meeting_id,SUM(amount_receivable) AS - allMoney,SUM(paid_amount) AS comeAllMoney,pm1s.create_time,company_id,company_name - from pay_meeting_situation pm1s + company_id as chargeCompanyTemporaryId, + company_name as chargeCompanyTemporaryName, + allMoney, + comeAllMoney, + createTime + FROM (select SUM(allMoney) AS + allMoney,SUM(comeAllMoney) AS comeAllMoney,pms.create_time as createTime ,company_id,company_name + from (select pm1s.meeting_id,amount_receivable as allMoney ,paid_amount as comeAllMoney,pm1s.create_time,company_id,company_name + from pay_meeting_situation pm1s inner join pay_payment_record ppr on(pm1s.id=ppr.project_id) WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') - GROUP BY pm1s.company_id) pms on(pm.id=pms.meeting_id) - left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) + GROUP BY pm1s.id) pms left join pay_meeting pm on(pm.id=pms.meeting_id) pm.director_id in @@ -1106,33 +1113,41 @@ #{item} + group by pms.company_id) pmss + + - AND pms.company_id=#{companyComeMoneySearch.chargeCompanyId} + AND pmss.company_id=#{companyComeMoneySearch.chargeCompanyId} - group by pms.company_id + union all SELECT - tmps.company_id as chargeCompanyTemporaryId, - tmps.company_name as chargeCompanyTemporaryName, - sum(tmps.allMoney) as allMoney, - sum(tmps.comeAllMoney) as comeAllMoney, - tmps.create_time as createTime - FROM tb_member_project tmp inner join (select tmp1s.id,tmp1s.project_id,SUM(amount_receivable) AS - allMoney,SUM(paid_amount) AS comeAllMoney,tmp1s.create_time,company_id,company_name + company_id as chargeCompanyTemporaryId, + company_name as chargeCompanyTemporaryName, + allMoney, + comeAllMoney, + createTime + FROM (select SUM(amount_receivable) AS + allMoney,SUM(paid_amount) AS comeAllMoney,tpms.create_time as createTime ,company_id,company_name + from(select amount_receivable,paid_amount,tmp1s.create_time,company_id,company_name,tmp1s.project_id from tb_member_project_subitem tmp1s inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id) WHERE ppr.payment_date like - concat('%',#{companyComeMoneySearch.year},'%') - GROUP BY tmp1s.company_id) tmps on(tmp.id=tmps.project_id) + concat('%',#{companyComeMoneySearch.year},'%') group by tmp1s.id) tpms + left join tb_member_project tmp on(tmp.id=tpms.project_id) - tmp.id =9999999999999999999999999999999999999999 + ppp.id =9999999999999999999999999999999999999999 + + group by tpms.company_id) ppp + + - AND tmps.company_id=#{companyComeMoneySearch.chargeCompanyId} + AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId} - group by tmps.company_id + ) pp group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp @@ -1152,7 +1167,7 @@ - + @@ -1253,6 +1274,12 @@ group by pmps.company_id left join pay_working_group pwg on (pwgs.working_group_id=pwg.id) pwgs.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} + + pwg.principal_id_a in + + #{item} + + AND pwg.working_group_project LIKE concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) @@ -1289,6 +1316,12 @@ group by pmps.company_id FROM pay_common_project pcp pcp.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} + + PCP.principal_id in + + #{item} + + AND pcp.charge_project LIKE concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) @@ -1325,6 +1358,12 @@ group by pmps.company_id FROM pay_meeting pm right join pay_meeting_situation pms on(pm.id=pms.meeting_id) pms.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} + + pm.director_id in + + #{item} + + AND pm.meeting_name LIKE concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) @@ -1361,6 +1400,12 @@ group by pmps.company_id FROM pay_member_project pmp right join pay_member_project_subitem pmps on(pmp.id=pmps.project_id) pmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} + + pmp.director_id in + + #{item} + + AND pmp.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 dae4b8dc..5b475301 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 @@ -157,7 +157,7 @@ public interface IPayWorkingGroupService extends IService { * @param companyComeMoneyDetailSearch * @return */ - IPage queryPageListForCompanyDetail(Page page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch); + IPage queryPageListForCompanyDetail(Page page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List idList ); /** * 企业来款详情统计导出 @@ -174,12 +174,25 @@ public interface IPayWorkingGroupService extends IService { */ List queryPageListForCompanyExcel(CompanyComeMoneySearch companyComeMoneySearch, List idList); + /** + * 首页模块统计 + * @return + */ List queryPageListForPrincipalFirstPage(); - + /** + * 首页模块统计 + * @return + */ List queryPageListForStatisticsFirstPage(); - + /** + * 首页模块统计 + * @return + */ List queryPageListForCompanyFirstPage(); - + /** + * 首页模块统计 + * @return + */ List queryPageListForDepartFirstPage(); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 830f2b47..5802e03d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -252,8 +252,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryPageListForCompanyDetail(Page page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch) { - return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch); + public IPage queryPageListForCompanyDetail(Page page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List idList ) { + return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch,idList); } /** 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 4f434674..dfa7a264 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 @@ -122,8 +122,28 @@ public class CompanyComeMoneyStatisticsController { String year = String.valueOf(calendar.get(Calendar.YEAR)); companyComeMoneyDetailSearch.setYear(year); } + //根据不同角色加载不同列表的参数 + List idList = new ArrayList<>(); + //判断登录角色,显示特定工作组内容,判断依据为登录用户的角色和机构编码 + LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); + String roleCode = sysUser.getRoleCode(); + //科长 + if(constant.BMFZR.equals(roleCode)) { + 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 (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { + idList=null; + //企业职员项目负责人 + }else if( constant.QYRY.equals(roleCode)){ + String userId = sysUser.getId(); + idList.add(userId); + }else { + idList=null; + } Page page = new Page<>(pageNo, pageSize); - IPage pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch); + IPage pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch,idList); HashMap hashMap = new HashMap<>(); double sum=0; double sum2 =0; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/FirstPageStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/FirstPageStatisticsController.java index 7944ce25..1ee1d357 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/FirstPageStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/FirstPageStatisticsController.java @@ -21,7 +21,7 @@ import java.util.List; * @author zql * @date 2021/9/24 16:08 */ -@Api(tags="首页统计") +@Api(tags="首页前十统计") @RestController @RequestMapping("/statistics/principalPeople") @Slf4j