add:合同变更

This commit is contained in:
zhangqinlin
2022-04-01 18:09:41 +08:00
parent 1ce08f3600
commit a8db9f916b
20 changed files with 982 additions and 109 deletions
@@ -195,4 +195,10 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
AllMoney queryPageListForCompanyDetail33(@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch, @Param("idList") List<String> idList);
AllMoney queryPageListForStatistics33(@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch, @Param("ids") List<String> ids);
AllMoney queryPageListForPrincipal33(@Param("principalPeopleSearch") PrincipalPeopleSearch principalPeopleSearch, @Param("idList") List<String> idList);
AllMoney queryPageListForPrincipalDetail33(@Param("principalPeopleDetailSearch") PrincipalPeopleDetailSearch principalPeopleDetailSearch);
}
@@ -7,6 +7,7 @@ import com.jero.project.entity.PayWorkingGroupSubItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.vo.SetChargeInput;
import com.jero.statistics.entity.AllMoney;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
@@ -51,4 +52,7 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper<PayWorkingGroup
List<PayWorkGroupSubletStatistics> importExcelStatistics2(@Param("payWorkingGroupSubletSearch") PayWorkingGroupSubletSearch payWorkingGroupSubletSearch,@Param("id") String id,@Param("selections") ArrayList<String> selections);
AllMoney queryPageList233(@Param("payWorkingGroupSubletSearch") PayWorkingGroupSubletSearch payWorkingGroupSubletSearch, @Param("id") String id);
}
@@ -179,6 +179,62 @@
</choose>
</where>) ppp
</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)
<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 pwgs.createTime 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
</select>
<!-- 工作组统计ids-->
<select id="queryPageListForStatisticsIds" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
@@ -1949,6 +2005,263 @@
</choose>
</where>
</select>
<!--个人来款统计-->
<select id="queryPageListForPrincipal33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney from
(select
principalId,principalName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
(SELECT
pwg.principal_id_a as principalId,
pwg.principal_name_a as principalName,
sum(pwgs.allMoney) as allMoney,
sum(pwgs.comeAllMoney) as comeAllMoney,
pwg.create_time as createTime
FROM pay_working_group pwg
right JOIN (
select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,
create_time
from (select
pwg1s.id,working_group_id,receivable_amount,paid_amount,create_time
from pay_working_group_subitem pwg1s
<!-- left join pay_payment_record ppr on(pwg1s.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- group by pwg1s.id-->
) pwgs2
GROUP BY 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)
<where>
<if test="idList != null and idList != ''">
pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND pwg.principal_id_a=#{principalPeopleSearch.principalId}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND pwgs.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
</where> GROUP BY pwg.principal_id_a
union all
SELECT
pcp1.principal_id as principalId,
pcp1.principal_name as principalName,
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 from
pay_common_project pcp
<!-- left join pay_payment_record ppr on(pcp.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- group by pcp.id-->
) pcp1
left JOIN sys_user su on(pcp1.principal_id=su.id) left join sys_depart sd
on(su.org_code=sd.org_code)
<where>
<if test="idList != null and idList != ''">
pcp1.principal_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND pcp1.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND pcp1.principal_id=#{principalPeopleSearch.principalId}
</if>
</where> group by pcp1.principal_id
union all
select
pmp.director_id as principalId,
su.realname as principalName,
SUM(pmps.allMoney) AS allMoney,
SUM(pmps.comeAllMoney) AS comeAllMoney,
pmp.create_time as createTime
FROM pay_member_project pmp
right join (
select id,projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney,create_time from(
select pmp1s.id,pmp1s.project_id as projectId,amount_receivable,paid_amount,create_time from
pay_member_project_subitem pmp1s
<!-- left join pay_payment_record ppr on(pmp1s.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pmp1s.id-->
) pmp1s group by pmp1s.projectId ) 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)
<where>
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND pmps.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND pmp.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by pmp.director_id
union all
SELECT
pm.director_id as principalId,
su.realname as principalName,
sum(pms.allMoney) as allMoney,
sum(pms.comeAllMoney) as comeAllMoney,
pm.create_time as createTime
FROM pay_meeting pm right join (
select id,meeting_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,create_time
from
(select pm1s.id,meeting_id,amount_receivable,paid_amount,create_time from pay_meeting_situation pm1s
<!-- left join pay_payment_record ppr on(pm1s.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pm1s.id-->
) pms1 group by pms1.meeting_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)
<where>
<if test="idList != null and idList != ''">
pm.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND pms.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND pm.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by pm.director_id
union all
SELECT
tmp.director_id as principalId,
su.realname as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,create_time
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,create_time from tb_member_project_subitem tmps1
<!-- left join pay_payment_record ppr on(tmps1.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- 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)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND tmps.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND tmp.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by tmp.director_id
union all
SELECT
tmp.director_id as principalId,
su.realname as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,create_time
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount ,create_time from tb_certificate_payment tmps1
<!-- left join pay_payment_record ppr on(tmps1.id=ppr.project_id)-->
<!-- <if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">-->
<!-- WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')-->
<!-- </if>-->
<!-- 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)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND tmps.create_time LIKE
concat(#{principalPeopleSearch.year},'%')
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND tmp.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by tmp.director_id
) pp
group by pp.principalId order by pp.createTime) ppp
<where>
<choose>
<when test="principalPeopleSearch.allMoney != null and principalPeopleSearch.allMoney != '' and principalPeopleSearch.allMoneyTwo != null and principalPeopleSearch.allMoneyTwo != ''">
ppp.allMoney >= #{principalPeopleSearch.allMoney} and ppp.allMoney <![CDATA[<]]>=
#{principalPeopleSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleSearch.allMoney != null and principalPeopleSearch.allMoney != ''">
AND ppp.allMoney >= #{principalPeopleSearch.allMoney}
</if>
<if test="principalPeopleSearch.allMoneyTwo != null and principalPeopleSearch.allMoneyTwo != ''">
AND ppp.allMoney <![CDATA[<]]>= #{principalPeopleSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
<!--首页个人前十-->
<select id="queryPageListForPrincipalFirstPage" resultType="com.jero.statistics.entity.PrincipalPeopleList">
select principalId, principalName,allMoney,comeAllMoney,createTime,
@@ -2382,6 +2695,322 @@
<!-- ) pprr on(pp.id=pprr.id)-->
<!-- order by pprr.payment_date desc-->
</select>
<!-- 个人来款详情总金额-->
<select id="queryPageListForPrincipalDetail33" resultType="com.jero.statistics.entity.AllMoney">
select sum(pp.allMoney) as allMoney, sum(pp.comeAllMoney) as comeAllMoney from (SELECT
pwgs.create_time as createTime,
pwgs.id,
pwgs.charge_company_temporary_name as chargeCompanyTemporaryName,
pwg.working_group_project as projectName,
pwg.principal_id_a as principalId,
pwgs.receivable_amount AS allMoney,
pwgs.paid_amount AS comeAllMoney,
pwgs.pack as pack,
pwgs.charge_use as chargeUse
FROM pay_working_group_subitem pwgs
inner join pay_working_group pwg on (pwgs.working_group_id=pwg.id)
<where>
pwg.principal_id_a = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND pwg.working_group_project LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND pwgs.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND pwgs.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND pwgs.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pwgs.receivable_amount >= #{principalPeopleDetailSearch.allMoney} and pwgs.receivable_amount <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND pwgs.receivable_amount >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pwgs.receivable_amount <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
union ALL
SELECT
pcp.create_time as createTime,
pcp.id,
pcp.charge_company_temporary_name as chargeCompanyTemporaryName,
pcp.charge_project as projectName,
pcp.principal_id as principalId,
pcp.receivable_amount AS allMoney,
pcp.paid_amount AS comeAllMoney,
pcp.pack as pack,
pcp.charge_use as chargeUse
FROM pay_common_project pcp
<where>
pcp.principal_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND pcp.charge_project LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND pcp.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND pcp.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND pcp.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pcp.receivable_amount >= #{principalPeopleDetailSearch.allMoney} and pcp.receivable_amount <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND pcp.receivable_amount >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pcp.receivable_amount <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
union ALL
SELECT
pms.create_time as createTime,
pms.id,
pms.company_name as chargeCompanyTemporaryName,
pm.meeting_name as projectName,
pm.director_id as principalId,
pms.amount_receivable AS allMoney,
pms.paid_amount AS comeAllMoney,
pms.pack as pack,
pms.charge_use as chargeUse
FROM pay_meeting pm inner join pay_meeting_situation pms on(pm.id=pms.meeting_id)
<where>
pm.director_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND pm.meeting_name LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND pms.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND pms.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND pms.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pms.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and pms.amount_receivable <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND pms.amount_receivable >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pms.amount_receivable <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
union ALL
SELECT
pmps.create_time as createTime,
pmps.id,
pmps.company_name as chargeCompanyTemporaryName,
pmp.project_name as projectName,
pmp.director_id as principalId,
pmps.amount_receivable AS allMoney,
pmps.paid_amount AS comeAllMoney,
pmps.pack as pack,
pmps.charge_use as chargeUse
FROM pay_member_project pmp inner join pay_member_project_subitem pmps on(pmp.id=pmps.project_id)
<where>
pmp.director_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND pmp.project_name LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND pmps.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND pmps.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND pmps.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and pmps.amount_receivable <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND pmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND pmps.amount_receivable <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
union ALL
SELECT
tmps.create_time as createTime,
tmps.id,
tmps.company_name as chargeCompanyTemporaryName,
tmp.project_name as projectName,
tmp.director_id as principalId,
tmps.amount_receivable AS allMoney,
tmps.paid_amount AS comeAllMoney,
tmps.pack as pack,
tmps.charge_use as chargeUse
FROM tb_member_project tmp inner join tb_member_project_subitem tmps on(tmp.id=tmps.project_id)
<where>
tmp.director_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND tmp.project_name LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND tmps.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND tmps.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND tmps.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and tmps.amount_receivable <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
union ALL
SELECT
tmps.create_time as createTime,
tmps.id,
tmps.company_name as chargeCompanyTemporaryName,
tmp.project_name as projectName,
tmp.director_id as principalId,
tmps.amount_receivable AS allMoney,
tmps.paid_amount AS comeAllMoney,
tmps.pack as pack,
tmps.charge_use as chargeUse
FROM tb_member_project tmp inner join tb_certificate_payment tmps on(tmp.id=tmps.project_id)
<where>
tmp.director_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND tmp.project_name LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.year != null and principalPeopleDetailSearch.year != ''">
AND tmps.create_time LIKE
concat(#{principalPeopleDetailSearch.year},'%')
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND tmps.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND tmps.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and tmps.amount_receivable <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
) pp
<!-- left join-->
<!-- &lt;!&ndash; 判断来款项目的来款年份&ndash;&gt;-->
<!-- (select pwgs.id as id,max(ppr.payment_date) as payment_date-->
<!-- from pay_working_group_subitem pwgs-->
<!-- inner join pay_payment_record ppr on(pwgs.id=ppr.project_id)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pwgs.id-->
<!-- union ALL-->
<!-- SELECT-->
<!-- pcp.id as id,max(ppr.payment_date) as payment_date-->
<!-- FROM pay_common_project pcp inner JOIN pay_payment_record ppr on(pcp.id=ppr.project_id)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- group by pcp.id-->
<!-- union all-->
<!-- SELECT-->
<!-- pmps.id as id,max(ppr.payment_date) as payment_date from-->
<!-- pay_member_project_subitem pmps inner join pay_payment_record ppr on(pmps.id=ppr.project_id)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- group by pmps.id-->
<!-- union all-->
<!-- SELECT-->
<!-- pms.id as id ,max(ppr.payment_date) as payment_date from pay_meeting_situation pms inner join pay_payment_record ppr on (pms.id=ppr.project_id)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- 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)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- group by tmps.id-->
<!-- union all-->
<!-- SELECT-->
<!-- tmps.id as id ,max(ppr.payment_date) as payment_date from tb_certificate_payment tmps inner join pay_payment_record ppr on (tmps.id=ppr.project_id)-->
<!-- <if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">-->
<!-- WHERE ppr.payment_date like-->
<!-- concat('%',#{principalPeopleDetailSearch.year},'%')-->
<!-- </if>-->
<!-- group by tmps.id-->
<!-- ) pprr on(pp.id=pprr.id)-->
<!-- order by pprr.payment_date desc-->
</select>
<!-- 个人来款详情导出ids-->
<select id="queryPageListForPrincipalDetailTwo" resultType="com.jero.statistics.entity.PrincipalPeopleDetail">
select * from (SELECT
@@ -3947,4 +4576,5 @@
<!-- order by pprr.payment_date desc-->
</select>
</mapper>
@@ -128,6 +128,69 @@
<!-- ) pwg2 on (pwg2.id=pwg1.id)-->
<!-- order by pwg2.payment_date-->
</select>
<!--工作组详情总金额-->
<select id="queryPageList233" resultType="com.jero.statistics.entity.AllMoney">
select sum(pwg1.allMoney) as allMoney,sum(pwg1.comeAllMoney) as comeAllMoney from (SELECT
pwgs.id,
pwg.principal_id_a as principalId,
pwg.principal_name_a as principalName,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.receivable_amount AS allMoney,
pwgs.paid_amount AS comeAllMoney,
pwgs.charge_use as chargeUse,
pwgs.pack,
pwgs.create_time
FROM pay_working_group_subitem pwgs
left join pay_working_group pwg on(pwgs.working_group_id=pwg.id)
<where>
pwgs.working_group_id = #{id}
<if test="payWorkingGroupSubletSearch.projectName != null and payWorkingGroupSubletSearch.projectName != ''">
AND pwg.working_group_project LIKE
concat('%',concat(#{payWorkingGroupSubletSearch.projectName},'%'))
</if>
<if test="payWorkingGroupSubletSearch.year != null and payWorkingGroupSubletSearch.year != ''">
AND pwgs.create_time LIKE
concat(#{payWorkingGroupSubletSearch.year},'%')
</if>
<if test="payWorkingGroupSubletSearch.chargeUse != null and payWorkingGroupSubletSearch.chargeUse != ''">
AND pwgs.charge_use=#{payWorkingGroupSubletSearch.chargeUse}
</if>
<if test="payWorkingGroupSubletSearch.chargeCompanyTemporaryName != null and payWorkingGroupSubletSearch.chargeCompanyTemporaryName != ''">
AND pwgs.charge_company_temporary_name LIKE
concat('%',concat(#{payWorkingGroupSubletSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="payWorkingGroupSubletSearch.inAccountStatue != null and payWorkingGroupSubletSearch.inAccountStatue != ''">
AND pwgs.in_account= #{payWorkingGroupSubletSearch.inAccountStatue}
</if>
<if test="payWorkingGroupSubletSearch.principalNameId != null and payWorkingGroupSubletSearch.principalNameId != ''">
AND pwg.principal_id_a=#{payWorkingGroupSubletSearch.principalNameId}
</if>
<choose>
<when test="payWorkingGroupSubletSearch.allMoney != null and payWorkingGroupSubletSearch.allMoney != '' and payWorkingGroupSubletSearch.allMoneyTwo != null and payWorkingGroupSubletSearch.allMoneyTwo != ''">
AND if(pwgs.receivable_amount IS NULL OR pwgs.receivable_amount = '', 0, pwgs.receivable_amount ) >= #{payWorkingGroupSubletSearch.allMoney} and if(pwgs.receivable_amount IS NULL OR pwgs.receivable_amount = '', 0, pwgs.receivable_amount ) <![CDATA[<]]>= #{payWorkingGroupSubletSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSubletSearch.allMoney != null and payWorkingGroupSubletSearch.allMoney != ''">
AND if(pwgs.receivable_amount IS NULL OR pwgs.receivable_amount = '', 0, pwgs.receivable_amount ) >= #{payWorkingGroupSubletSearch.allMoney}
</if>
<if test="payWorkingGroupSubletSearch.allMoneyTwo != null and payWorkingGroupSubletSearch.allMoneyTwo != ''">
AND if(pwgs.receivable_amount IS NULL OR pwgs.receivable_amount = '', 0, pwgs.receivable_amount ) <![CDATA[<]]>= #{payWorkingGroupSubletSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
group by pwgs.id) pwg1 order by pwg1.create_time desc
<!-- inner join-->
<!-- (select pwgs.id as id,working_group_id,max(ppr.payment_date) as payment_date-->
<!-- from pay_working_group_subitem pwgs-->
<!-- left join pay_payment_record ppr on(pwgs.id=ppr.project_id)-->
<!-- <if test="payWorkingGroupSubletSearch.year !='' and payWorkingGroupSubletSearch.year !=null">-->
<!-- WHERE ppr.payment_date like concat('%',#{payWorkingGroupSubletSearch.year},'%')-->
<!-- </if>-->
<!-- GROUP BY pwgs.id-->
<!-- ) pwg2 on (pwg2.id=pwg1.id)-->
<!-- order by pwg2.payment_date-->
</select>
<!-- 工作组详情导出 -->
<select id="importExcelStatistics2" resultType="com.jero.project.entity.PayWorkGroupSubletStatistics">
@@ -226,4 +226,11 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
AllMoney queryPageListForCompanyDetail33(CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch, List<String> idList);
AllMoney queryPageListForStatistics33(PayWorkingGroupSearch payWorkingGroupSearch,List<String> idList);
AllMoney queryPageListForPrincipal33(PrincipalPeopleSearch principalPeopleSearch, List<String> idList);
AllMoney queryPageListForPrincipalDetail33(PrincipalPeopleDetailSearch principalPeopleDetailSearch);
}
@@ -7,6 +7,7 @@ import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.vo.SetChargeInput;
import com.jero.statistics.entity.AllMoney;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
@@ -108,4 +109,7 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
* @Exception
*/
List<String> setCharge(SetChargeInput input);
AllMoney queryPageList233(PayWorkingGroupSubletSearch payWorkingGroupSubletSearch, String id);
}
@@ -579,6 +579,22 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
return payWorkingGroupMapper.queryPageListForCompanyDetail33(companyComeMoneyDetailSearch,idList);
}
@Override
public AllMoney queryPageListForStatistics33(PayWorkingGroupSearch payWorkingGroupSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageListForStatistics33(payWorkingGroupSearch,idList);
}
@Override
public AllMoney queryPageListForPrincipal33(PrincipalPeopleSearch principalPeopleSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageListForPrincipal33(principalPeopleSearch,idList);
}
@Override
public AllMoney queryPageListForPrincipalDetail33(PrincipalPeopleDetailSearch principalPeopleDetailSearch) {
return payWorkingGroupMapper.queryPageListForPrincipalDetail33(principalPeopleDetailSearch);
}
/**
* @Description 校验是存在关联合同的项目
@@ -46,6 +46,7 @@ import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.vo.SetChargeInput;
import com.jero.statistics.entity.AllMoney;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
@@ -934,6 +935,11 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
return listMsg;
}
@Override
public AllMoney queryPageList233(PayWorkingGroupSubletSearch payWorkingGroupSubletSearch, String id) {
return this.baseMapper.queryPageList233(payWorkingGroupSubletSearch,id);
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt