全所统计

This commit is contained in:
zhangqinlin
2021-09-26 09:06:18 +08:00
parent 83c31ceba7
commit aede336600
6 changed files with 215 additions and 137 deletions
@@ -140,7 +140,7 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
* @param companyComeMoneyDetailSearch * @param companyComeMoneyDetailSearch
* @return * @return
*/ */
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch); IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,@Param("idList") List<String> idList );
/** /**
* 企业来款详情 * 企业来款详情
@@ -588,7 +588,7 @@
sum(pwgs.comeAllMoney) as comeAllMoney, sum(pwgs.comeAllMoney) as comeAllMoney,
pwg.create_time as createTime pwg.create_time as createTime
FROM pay_working_group pwg FROM pay_working_group pwg
inner JOIN ( right JOIN (
select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from (select from (select
pwg1s.id,working_group_id,receivable_amount,paid_amount pwg1s.id,working_group_id,receivable_amount,paid_amount
@@ -654,7 +654,7 @@
SUM(pmps.comeAllMoney) AS comeAllMoney, SUM(pmps.comeAllMoney) AS comeAllMoney,
pmp.create_time as createTime pmp.create_time as createTime
FROM pay_member_project pmp FROM pay_member_project pmp
inner join ( right join (
select id,projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney from( 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 select pmp1s.id,pmp1s.project_id as projectId,amount_receivable,paid_amount from
pay_member_project_subitem pmp1s pay_member_project_subitem pmp1s
@@ -686,7 +686,7 @@
sum(pms.allMoney) as allMoney, sum(pms.allMoney) as allMoney,
sum(pms.comeAllMoney) as comeAllMoney, sum(pms.comeAllMoney) as comeAllMoney,
pm.create_time as createTime 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 select id,meeting_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney allMoney,SUM(paid_amount) AS comeAllMoney
from from
@@ -1007,19 +1007,16 @@
(SELECT (SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId, pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName, pcm.company_name as chargeCompanyTemporaryName,
sum(allMoney) as allMoney, allMoney,
sum(comeAllMoney) as comeAllMoney, comeAllMoney,
pwgs.create_time as createTime pwgs.create_time as createTime
FROM pay_working_group pwg FROM (
right JOIN ( select pwgs2.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwgs2.create_time
select pwg1s.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwg1s.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) 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},'%') WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') group by pwg1s.id) pwgs2 left join pay_working_group pwg
GROUP BY pwg1s.charge_company_id ON (pwg.id=pwgs2.working_group_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> <where>
<if test="idList != null and idList != ''"> <if test="idList != null and idList != ''">
pwg.principal_id_a in pwg.principal_id_a in
@@ -1027,78 +1024,88 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
</where>
GROUP BY pwgs2.charge_company_id
) pwgs
left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id)
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''"> <if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId} AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if> </if>
</where> GROUP BY pwgs.charge_company_id </where>
union all union all
SELECT SELECT
pcp.charge_company_id as chargeCompanyTemporaryId, pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName, pcm.company_name as chargeCompanyTemporaryName,
sum(pcp.receivable_amount) as allMoney, sum(pcp1.receivable_amount) as allMoney,
sum(pcp.paid_amount) as comeAllMoney, sum(pcp1.paid_amount) as comeAllMoney,
pcp.create_time as createTime pcp1.create_time as createTime
FROM pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id) FROM
left JOIN sys_user su on(pcp.principal_id=su.id) left join sys_depart sd (select pcp.principal_id,pcp.principal_name,pcp.receivable_amount,pcp.paid_amount,pcp.create_time,pcp.charge_company_id from
on(su.org_code=sd.org_code) pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
left join pay_company_management pcm on(pcm.id=pcp.charge_company_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)
<where> <where>
ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
<if test="idList != null and idList != ''"> <if test="idList != null and idList != ''">
pcp.principal_id in pcp1.principal_id in
<foreach item="item" open="(" separator="," close=")" collection="idList"> <foreach item="item" open="(" separator="," close=")" collection="idList">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''"> <if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pcp.charge_company_id=#{companyComeMoneySearch.chargeCompanyId} AND pcp1.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if> </if>
</where> group by pcp.charge_company_id </where> group by pcp1.charge_company_id
union all union all
SELECT SELECT
pmps.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
pmps.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(pmps.allMoney) as allMoney, allMoney,
pmps.comeAllMoney as comeAllMoney, comeAllMoney,
pmps.create_time as createTime create_time as createTime
FROM pay_member_project pmp inner join (select FROM (
pmp1s.id,pmp1s.project_id as projectId,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS select projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney ,pmp1s.create_time,company_id,company_name from(
comeAllMoney,pmp1s.create_time,company_id,company_name select pmp2s.id,pmp2s.project_id as projectId,amount_receivable,paid_amount,pmp2s.create_time,company_id,company_name from
from pay_member_project_subitem pmp1s pay_member_project_subitem pmp2s
inner join pay_payment_record ppr on(pmp1s.id=ppr.project_id) inner join pay_payment_record ppr on(pmp2s.id=ppr.project_id)
WHERE ppr.payment_date like WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%') concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY pmp1s.company_id) pmps on(pmp.id=pmps.projectId) GROUP BY pmp2s.id) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
left JOIN sys_user su on(pmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) <where>
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
</where>
group by pmp1s.company_id
) pmps
<where> <where>
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''"> <if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId} AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if> </if>
</where> group by pmps.company_id </where>
union all union all
SELECT SELECT
pms.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
pms.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(pms.allMoney) as allMoney, allMoney,
sum(pms.comeAllMoney) as comeAllMoney, comeAllMoney,
pms.create_time as createTime createTime
FROM pay_meeting pm inner join (select pm1s.id,meeting_id,SUM(amount_receivable) AS FROM (select SUM(allMoney) AS
allMoney,SUM(paid_amount) AS comeAllMoney,pm1s.create_time,company_id,company_name allMoney,SUM(comeAllMoney) AS comeAllMoney,pms.create_time as createTime ,company_id,company_name
from pay_meeting_situation pm1s 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) inner join pay_payment_record ppr on(pm1s.id=ppr.project_id)
WHERE ppr.payment_date like WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%') concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY pm1s.company_id) pms on(pm.id=pms.meeting_id) GROUP BY pm1s.id) pms left join pay_meeting pm 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)
<where> <where>
<if test="idList != null and idList != ''"> <if test="idList != null and idList != ''">
pm.director_id in pm.director_id in
@@ -1106,33 +1113,41 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
</where> group by pms.company_id) pmss
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''"> <if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pms.company_id=#{companyComeMoneySearch.chargeCompanyId} AND pmss.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if> </if>
</where> group by pms.company_id </where>
union all union all
SELECT SELECT
tmps.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
tmps.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(tmps.allMoney) as allMoney, allMoney,
sum(tmps.comeAllMoney) as comeAllMoney, comeAllMoney,
tmps.create_time as createTime createTime
FROM tb_member_project tmp inner join (select tmp1s.id,tmp1s.project_id,SUM(amount_receivable) AS FROM (select SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tmp1s.create_time,company_id,company_name 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 from tb_member_project_subitem tmp1s
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id) inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id)
WHERE ppr.payment_date like WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%') concat('%',#{companyComeMoneySearch.year},'%') group by tmp1s.id) tpms
GROUP BY tmp1s.company_id) tmps on(tmp.id=tmps.project_id) left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where> <where>
<if test="idList != null and idList != ''"> <if test="idList != null and idList != ''">
tmp.id =9999999999999999999999999999999999999999 ppp.id =9999999999999999999999999999999999999999
</if> </if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''"> <if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND tmps.company_id=#{companyComeMoneySearch.chargeCompanyId} AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if> </if>
</where> group by tmps.company_id </where>
) pp ) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
<where> <where>
@@ -1152,7 +1167,7 @@
</choose> </choose>
</where> </where>
</select> </select>
<!--首页前十公司统计-->
<select id="queryPageListForCompanyFirstPage" resultType="com.jero.statistics.entity.CompanyComeMoneyList"> <select id="queryPageListForCompanyFirstPage" resultType="com.jero.statistics.entity.CompanyComeMoneyList">
select chargeCompanyTemporaryId as chargeCompanyId, chargeCompanyTemporaryName as select chargeCompanyTemporaryId as chargeCompanyId, chargeCompanyTemporaryName as
chargeCompanyName,allMoney,comeAllMoney,createTime, chargeCompanyName,allMoney,comeAllMoney,createTime,
@@ -1164,79 +1179,85 @@
(SELECT (SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId, pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName, pcm.company_name as chargeCompanyTemporaryName,
sum(allMoney) as allMoney, allMoney,
sum(comeAllMoney) as comeAllMoney, comeAllMoney,
pwgs.create_time as createTime pwgs.create_time as createTime
FROM pay_working_group pwg FROM (
right JOIN ( select pwgs2.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwgs2.create_time
select pwg1s.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwg1s.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) from pay_working_group_subitem pwg1s inner join pay_payment_record ppr on(pwg1s.id=ppr.project_id)
group by pwg1s.id) pwgs2 left join pay_working_group pwg
GROUP BY pwg1s.charge_company_id ON (pwg.id=pwgs2.working_group_id)
GROUP BY pwgs2.charge_company_id
) pwgs ) 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) left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id)
GROUP BY pwgs.charge_company_id
union all union all
SELECT SELECT
pcp.charge_company_id as chargeCompanyTemporaryId, pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName, pcm.company_name as chargeCompanyTemporaryName,
sum(pcp.receivable_amount) as allMoney, sum(pcp1.receivable_amount) as allMoney,
sum(pcp.paid_amount) as comeAllMoney, sum(pcp1.paid_amount) as comeAllMoney,
pcp.create_time as createTime pcp1.create_time as createTime
FROM pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id) FROM
left JOIN sys_user su on(pcp.principal_id=su.id) left join sys_depart sd (select pcp.principal_id,pcp.principal_name,pcp.receivable_amount,pcp.paid_amount,pcp.create_time,pcp.charge_company_id from
on(su.org_code=sd.org_code) pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
left join pay_company_management pcm on(pcm.id=pcp.charge_company_id) where
group by pcp.charge_company_id 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)
group by pcp1.charge_company_id
union all union all
SELECT SELECT
pmps.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
pmps.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(pmps.allMoney) as allMoney, allMoney,
pmps.comeAllMoney as comeAllMoney, comeAllMoney,
pmps.create_time as createTime create_time as createTime
FROM pay_member_project pmp inner join (select FROM (
pmp1s.id,pmp1s.project_id as projectId,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS select projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney ,pmp1s.create_time,company_id,company_name from(
comeAllMoney,pmp1s.create_time,company_id,company_name select pmp2s.id,pmp2s.project_id as projectId,amount_receivable,paid_amount,pmp2s.create_time,company_id,company_name from
from pay_member_project_subitem pmp1s pay_member_project_subitem pmp2s
inner join pay_payment_record ppr on(pmp1s.id=ppr.project_id) inner join pay_payment_record ppr on(pmp2s.id=ppr.project_id)
GROUP BY pmp2s.id) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
GROUP BY pmp1s.company_id) pmps on(pmp.id=pmps.projectId) group by pmp1s.company_id
left JOIN sys_user su on(pmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) ) pmps
group by pmps.company_id
union all union all
SELECT SELECT
pms.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
pms.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(pms.allMoney) as allMoney, allMoney,
sum(pms.comeAllMoney) as comeAllMoney, comeAllMoney,
pms.create_time as createTime createTime
FROM pay_meeting pm inner join (select pm1s.id,meeting_id,SUM(amount_receivable) AS FROM (select SUM(allMoney) AS
allMoney,SUM(paid_amount) AS comeAllMoney,pm1s.create_time,company_id,company_name 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 from pay_meeting_situation pm1s
inner join pay_payment_record ppr on(pm1s.id=ppr.project_id) inner join pay_payment_record ppr on(pm1s.id=ppr.project_id)
GROUP BY pm1s.id) pms left join pay_meeting pm on(pm.id=pms.meeting_id)
GROUP BY pm1s.company_id) pms on(pm.id=pms.meeting_id) group by pms.company_id) pmss
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 pms.company_id
union all union all
SELECT SELECT
tmps.company_id as chargeCompanyTemporaryId, company_id as chargeCompanyTemporaryId,
tmps.company_name as chargeCompanyTemporaryName, company_name as chargeCompanyTemporaryName,
sum(tmps.allMoney) as allMoney, allMoney,
sum(tmps.comeAllMoney) as comeAllMoney, comeAllMoney,
tmps.create_time as createTime createTime
FROM tb_member_project tmp inner join (select tmp1s.id,tmp1s.project_id,SUM(amount_receivable) AS FROM (select SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tmp1s.create_time,company_id,company_name 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 from tb_member_project_subitem tmp1s
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id) 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
GROUP BY tmp1s.company_id) tmps on(tmp.id=tmps.project_id)
group by tmps.company_id
) pp ) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp order by ppp.comeAllMoney desc limit 10 group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
order by ppp.comeAllMoney desc limit 10
</select> </select>
@@ -1253,6 +1274,12 @@ group by pmps.company_id
left join pay_working_group pwg on (pwgs.working_group_id=pwg.id) left join pay_working_group pwg on (pwgs.working_group_id=pwg.id)
<where> <where>
pwgs.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} pwgs.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''"> <if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pwg.working_group_project LIKE AND pwg.working_group_project LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -1289,6 +1316,12 @@ group by pmps.company_id
FROM pay_common_project pcp FROM pay_common_project pcp
<where> <where>
pcp.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} pcp.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
PCP.principal_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''"> <if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pcp.charge_project LIKE AND pcp.charge_project LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) 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) FROM pay_meeting pm right join pay_meeting_situation pms on(pm.id=pms.meeting_id)
<where> <where>
pms.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} pms.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pm.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''"> <if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pm.meeting_name LIKE AND pm.meeting_name LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) 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) FROM pay_member_project pmp right join pay_member_project_subitem pmps on(pmp.id=pmps.project_id)
<where> <where>
pmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId} pmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''"> <if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pmp.project_name LIKE AND pmp.project_name LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%')) concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -157,7 +157,7 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @param companyComeMoneyDetailSearch * @param companyComeMoneyDetailSearch
* @return * @return
*/ */
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch); IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List<String> idList );
/** /**
* 企业来款详情统计导出 * 企业来款详情统计导出
@@ -174,12 +174,25 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
*/ */
List<CompanyComeMoneyList> queryPageListForCompanyExcel(CompanyComeMoneySearch companyComeMoneySearch, List<String> idList); List<CompanyComeMoneyList> queryPageListForCompanyExcel(CompanyComeMoneySearch companyComeMoneySearch, List<String> idList);
/**
* 首页模块统计
* @return
*/
List<PrincipalPeopleList> queryPageListForPrincipalFirstPage(); List<PrincipalPeopleList> queryPageListForPrincipalFirstPage();
/**
* 首页模块统计
* @return
*/
List<PayWorkingGroupStatistics> queryPageListForStatisticsFirstPage(); List<PayWorkingGroupStatistics> queryPageListForStatisticsFirstPage();
/**
* 首页模块统计
* @return
*/
List<CompanyComeMoneyList> queryPageListForCompanyFirstPage(); List<CompanyComeMoneyList> queryPageListForCompanyFirstPage();
/**
* 首页模块统计
* @return
*/
List<DepartStatistics> queryPageListForDepartFirstPage(); List<DepartStatistics> queryPageListForDepartFirstPage();
} }
@@ -252,8 +252,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
* @return * @return
*/ */
@Override @Override
public IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch) { public IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List<String> idList ) {
return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch); return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch,idList);
} }
/** /**
@@ -122,8 +122,28 @@ public class CompanyComeMoneyStatisticsController {
String year = String.valueOf(calendar.get(Calendar.YEAR)); String year = String.valueOf(calendar.get(Calendar.YEAR));
companyComeMoneyDetailSearch.setYear(year); companyComeMoneyDetailSearch.setYear(year);
} }
//根据不同角色加载不同列表的参数
List<String> idList = new ArrayList<>();
//判断登录角色,显示特定工作组内容,判断依据为登录用户的角色和机构编码
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
String roleCode = sysUser.getRoleCode();
//科长
if(constant.BMFZR.equals(roleCode)) {
String orgCode = sysUser.getOrgCode();
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().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<CompanyComeMoneyDetail> page = new Page<>(pageNo, pageSize); Page<CompanyComeMoneyDetail> page = new Page<>(pageNo, pageSize);
IPage<CompanyComeMoneyDetail> pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch); IPage<CompanyComeMoneyDetail> pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch,idList);
HashMap<String, Object> hashMap = new HashMap<>(); HashMap<String, Object> hashMap = new HashMap<>();
double sum=0; double sum=0;
double sum2 =0; double sum2 =0;
@@ -21,7 +21,7 @@ import java.util.List;
* @author zql * @author zql
* @date 2021/9/24 16:08 * @date 2021/9/24 16:08
*/ */
@Api(tags="首页统计") @Api(tags="首页前十统计")
@RestController @RestController
@RequestMapping("/statistics/principalPeople") @RequestMapping("/statistics/principalPeople")
@Slf4j @Slf4j