update 企业来款统计,工作组来款统计改用视图

This commit is contained in:
lijiarao
2022-06-07 18:12:32 +08:00
parent dc19563970
commit 047fae9b39
@@ -125,115 +125,91 @@
<!-- 工作组统计-->
<select id="queryPageListForStatistics" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
select ppp.id,ppp.workGroup, ppp.allMoney,ppp.comeAllMoney,ppp.moneyRate from (SELECT
pwg.id,
pwg.working_group_project AS workGroup,
pwg.principal_id_a as principalId,
pwgs.allMoney,
pwgs.comeAllMoney,
pwgs.createTime,
CONCAT(CAST(ROUND((pwgs.comeAllMoney/pwgs.allMoney)*100,2) AS CHAR),'%') AS moneyRate
FROM pay_working_group pwg left join
(
SELECT id, createTime,working_group_id,
sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney from
(select pwg1s.id,pwg1s.create_time AS createTime,working_group_id,receivable_amount AS
allMoney,paid_amount AS comeAllMoney
from pay_working_group_subitem pwg1s
<!-- left join pay_payment_record ppr on(pwg1s.id=ppr.project_id)-->
<!-- <if test="payWorkingGroupSearch.year !='' and payWorkingGroupSearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{payWorkingGroupSearch.year},'%')-->
<!-- </if>-->
<!-- group by pwg1s.id-->
) pwg2s group by pwg2s.working_group_id
)
pwgs on(pwg.id=pwgs.working_group_id)
<where>
<if test="ids != null and ids != ''">
and pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="ids">
#{item}
</foreach>
</if>
<!-- and pwgs.comeAllMoney is not null -->
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
and pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
</if>
<if test="payWorkingGroupSearch.year != null and payWorkingGroupSearch.year != ''">
AND pwg.year LIKE
concat(#{payWorkingGroupSearch.year},'%')
</if>
<choose>
<when test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != '' and payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) >= #{payWorkingGroupSearch.allMoney} and if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) <![CDATA[<]]>=
#{payWorkingGroupSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) >= #{payWorkingGroupSearch.allMoney}
</if>
<if test="payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) <![CDATA[<]]>= #{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>) ppp where ppp.allMoney is not null and ppp.allMoney !=0
</select>
<!-- 工作组统计总金额-->
<select id="queryPageListForStatistics33" resultType="com.jero.statistics.entity.AllMoney">
select sum(ppp.allMoney) as allMoney,sum(ppp.comeAllMoney) as comeAllMoney from (SELECT
pwg.id,
pwg.working_group_project AS workGroup,
pwg.principal_id_a as principalId,
pwgs.allMoney,
pwgs.comeAllMoney,
pwgs.createTime,
CONCAT(CAST(ROUND((pwgs.comeAllMoney/pwgs.allMoney)*100,2) AS CHAR),'%') AS moneyRate
FROM pay_working_group pwg left join
(
SELECT id, createTime,working_group_id,
sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney from
(select pwg1s.id,pwg1s.create_time AS createTime,working_group_id,receivable_amount AS
allMoney,paid_amount AS comeAllMoney
from pay_working_group_subitem pwg1s
<!-- left join pay_payment_record ppr on(pwg1s.id=ppr.project_id)-->
<!-- <if test="payWorkingGroupSearch.year !='' and payWorkingGroupSearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{payWorkingGroupSearch.year},'%')-->
<!-- </if>-->
<!-- group by pwg1s.id-->
) pwg2s group by pwg2s.working_group_id
)
pwgs on(pwg.id=pwgs.working_group_id)
select id,workGroup, allMoney,comeAllMoney,CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS moneyRate
from (
select
superId as id,
projectName as workGroup,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney
from
v_statistical
<where>
type = 2
<if test="ids != null and ids != ''">
and pwg.principal_id_a in
and principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="ids">
#{item}
</foreach>
</if>
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
and projectName LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
</if>
<if test="payWorkingGroupSearch.year != null and payWorkingGroupSearch.year != ''">
AND year LIKE
concat(#{payWorkingGroupSearch.year},'%')
</if>
<choose>
<when test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != '' and payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) >= #{payWorkingGroupSearch.allMoney} and if(allMoney IS NULL OR allMoney = '', 0, allMoney ) <![CDATA[<]]>=
#{payWorkingGroupSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != ''">
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) >= #{payWorkingGroupSearch.allMoney}
</if>
<if test="payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) <![CDATA[<]]>= #{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
group by superId
) ppp
</select>
<!-- 工作组统计总金额-->
<select id="queryPageListForStatistics33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney
from (
select
superId as id,
projectName as workGroup,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney
from
v_statistical
<where>
type = 2
<if test="ids != null and ids != ''">
and principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="ids">
#{item}
</foreach>
</if>
<!-- and pwgs.comeAllMoney is not null -->
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
and pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
and projectName LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
</if>
<if test="payWorkingGroupSearch.year != null and payWorkingGroupSearch.year != ''">
AND pwg.year LIKE
AND year LIKE
concat(#{payWorkingGroupSearch.year},'%')
</if>
<choose>
<when test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != '' and payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) >= #{payWorkingGroupSearch.allMoney} and if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) <![CDATA[<]]>=
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) >= #{payWorkingGroupSearch.allMoney} and if(allMoney IS NULL OR allMoney = '', 0, allMoney ) <![CDATA[<]]>=
#{payWorkingGroupSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) >= #{payWorkingGroupSearch.allMoney}
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) >= #{payWorkingGroupSearch.allMoney}
</if>
<if test="payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND if(pwgs.allMoney IS NULL OR pwgs.allMoney = '', 0, pwgs.allMoney ) <![CDATA[<]]>= #{payWorkingGroupSearch.allMoneyTwo}
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney ) <![CDATA[<]]>= #{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>) ppp where ppp.allMoney is not null and ppp.allMoney !=0
</where>
group by superId
) ppp
</select>
<!-- 工作组统计ids-->
@@ -2562,227 +2538,24 @@
chargeCompanyTemporaryId,chargeCompanyTemporaryName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
(SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
pwgs.create_time as createTime
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
<!-- left join pay_payment_record ppr on(pwg1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by pwg1s.id-->
) pwgs2 left join pay_working_group pwg
ON (pwg.id=pwgs2.working_group_id)
<where>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pwg.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
<if test="idList != null and idList != ''">
pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</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 != ''">
AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
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,pcp.year from
pay_common_project pcp
<!-- left join pay_payment_record ppr on(pcp.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by pcp.id-->
) pcp1
left join pay_company_management pcm on(pcm.id=pcp1.charge_company_id)
v_statistical v
<where>
<if test="idList != null and idList != ''">
pcp1.principal_id in
principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pcp1.year LIKE
AND year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pcp1.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by pcp1.charge_company_id
union all
SELECT
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
<!-- left join pay_payment_record ppr on(pmp2s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pmp2s.id-->
) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
<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.year != null and companyComeMoneySearch.year != ''">
AND pmp.particular_year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where>
group by pmp1s.company_id
) pmps
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId}
AND chargeCompanyTemporaryId = #{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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
<!-- left join pay_payment_record ppr on(pm1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pm1s.id-->
) pms left join pay_meeting pm on(pm.id=pms.meeting_id)
<where>
<if test="idList != null and idList != ''">
pm.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pm.particular_year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where> group by pms.company_id) pmss
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmss.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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
<!-- left join pay_payment_record ppr on(tmp1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by tmp1s.id-->
) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND tmp.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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_certificate_payment tmp1s
<!-- left join pay_payment_record ppr on(tmp1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by tmp1s.id-->
) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND tmp.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
) pp where pp.allMoney is not null and pp.allMoney !=0
group by pp.chargeCompanyTemporaryId ) ppp
group by v.chargeCompanyTemporaryId
) ppp
<where>
<choose>
<when test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != '' and companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
@@ -2807,227 +2580,24 @@
chargeCompanyTemporaryId,chargeCompanyTemporaryName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
(SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
pwgs.create_time as createTime
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
<!-- left join pay_payment_record ppr on(pwg1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by pwg1s.id-->
) pwgs2 left join pay_working_group pwg
ON (pwg.id=pwgs2.working_group_id)
<where>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pwg.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
<if test="idList != null and idList != ''">
pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</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 != ''">
AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
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,pcp.year from
pay_common_project pcp
<!-- left join pay_payment_record ppr on(pcp.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by pcp.id-->
) pcp1
left join pay_company_management pcm on(pcm.id=pcp1.charge_company_id)
v_statistical v
<where>
<if test="idList != null and idList != ''">
pcp1.principal_id in
principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pcp1.year LIKE
AND year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pcp1.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by pcp1.charge_company_id
union all
SELECT
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
<!-- left join pay_payment_record ppr on(pmp2s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pmp2s.id-->
) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
<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.year != null and companyComeMoneySearch.year != ''">
AND pmp.particular_year LIKE
concat(#{companyComeMoneySearch.year},'%')
AND chargeCompanyTemporaryId = #{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
group by pmp1s.company_id
) pmps
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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
<!-- left join pay_payment_record ppr on(pm1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pm1s.id-->
) pms left join pay_meeting pm on(pm.id=pms.meeting_id)
<where>
<if test="idList != null and idList != ''">
pm.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND pm.particular_year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where> group by pms.company_id) pmss
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmss.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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
<!-- left join pay_payment_record ppr on(tmp1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by tmp1s.id-->
) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND tmp.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
union all
SELECT
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_certificate_payment tmp1s
<!-- left join pay_payment_record ppr on(tmp1s.id=ppr.project_id)-->
<!-- <if test="companyComeMoneySearch.year !='' and companyComeMoneySearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')-->
<!-- </if>-->
<!-- group by tmp1s.id-->
) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND tmp.year LIKE
concat(#{companyComeMoneySearch.year},'%')
</if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where>
) pp where pp.allMoney is not null and pp.allMoney !=0
group by pp.chargeCompanyTemporaryId ) ppp
group by v.chargeCompanyTemporaryId
) ppp
<where>
<choose>
<when test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != '' and companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
@@ -3044,7 +2614,6 @@
</otherwise>
</choose>
</where>
</select>
<!--首页前十公司统计-->
<select id="queryPageListForCompanyFirstPage" resultType="com.jero.statistics.entity.CompanyComeMoneyList">