add 统计增加排序功能增加完成

回显确认金额
This commit is contained in:
lijiarao
2022-06-09 18:28:20 +08:00
parent be734da2a2
commit c03d0234bf
13 changed files with 483 additions and 258 deletions
+182 -165
View File
@@ -1,166 +1,177 @@
create view v_statistical as
select pp.id as projectId,
pp.superId,
pp.projectName,
principalName,
chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
chargeUse,
depart,
createTime,
if(pp.pack = 0, '', '') as packText,
year,
payStatue,
departCode,
confirmAmount,
principalNameId,
type,
pp.pack
from (SELECT pwgs.id,
pwg.id as superId,
pwg.working_group_project AS projectName,
pwg.principal_name_a as principalName,
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.receivable_amount as allMoney,
pwgs.paid_amount as comeAllMoney,
pwgs.charge_use as chargeUse,
sd.depart_name as depart,
pwgs.pack as pack,
pwg.year as year,
pwgs.in_account as payStatue,
su.org_code as departCode,
pcpr.amount_received as confirmAmount,
pwg.principal_id_a as principalNameId,
2 as type,
pwgs.create_time as createTime
FROM pay_working_group pwg
right join pay_working_group_subitem pwgs on (pwg.id = pwgs.working_group_id)
left JOIN pay_confirm_payment_record pcpr on (pwgs.id = pcpr.project_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)
union all
SELECT pcp.id,
pcp.id as superId,
pcp.charge_project AS projectName,
pcp.principal_name as principalName,
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
pcp.receivable_amount as allMoney,
pcp.paid_amount as comeAllMoney,
pcp.charge_use as chargeUse,
sd.depart_name as depart,
pcp.pack as pack,
pcp.year as year,
pcp.in_account as payStatue,
su.org_code as departCode,
pcpr.amount_received as confirmAmount,
pcp.principal_id as principalNameId,
1 as type,
pcp.create_time as createTime
FROM pay_common_project pcp
left JOIN pay_confirm_payment_record pcpr on (pcp.id = pcpr.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)
union all
SELECT pmps.id,
pmp.id as superId,
pmp.project_name AS projectName,
su.realname as principalName,
pmps.company_id as chargeCompanyTemporaryId,
pmps.company_name AS chargeCompanyTemporaryName,
pmps.amount_receivable as allMoney,
pmps.paid_amount as comeAllMoney,
pmps.charge_use as chargeUse,
sd.depart_name as depart,
pmps.pack as pack,
pmp.particular_year as year,
pmps.in_account as payStatue,
su.org_code as departCode,
pcpr.amount_received as confirmAmount,
pmp.director_id as principalNameId,
4 as type,
pmps.create_time as createTime
FROM pay_member_project pmp
right join pay_member_project_subitem pmps on (pmp.id = pmps.project_id)
left JOIN pay_confirm_payment_record pcpr on (pmp.id = pcpr.project_id)
left JOIN sys_user su on (pmp.director_id = su.id)
left join sys_depart sd on (su.org_code = sd.org_code)
union all
SELECT pms.id,
pm.id as superId,
pm.meeting_name AS projectName,
su.realname as principalName,
pms.company_id as chargeCompanyTemporaryId,
pms.company_name AS chargeCompanyTemporaryName,
pms.amount_receivable as allMoney,
pms.paid_amount as comeAllMoney,
pms.charge_use as chargeUse,
sd.depart_name as depart,
pms.pack as pack,
pm.particular_year as year,
pms.in_account as payStatue,
su.org_code as departCode,
0 as confirmAmount,
pm.director_id as principalNameId,
3 as type,
pms.create_time as createTime
FROM pay_meeting pm
right join pay_meeting_situation 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)
union all
SELECT tmps.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tmps.company_id as chargeCompanyTemporaryId,
tmps.company_name AS chargeCompanyTemporaryName,
tmps.amount_receivable as allMoney,
tmps.paid_amount as comeAllMoney,
tmps.charge_use as chargeUse,
sd.depart_name as depart,
tmps.pack as pack,
tmp.year as year,
tmps.in_account as payStatue,
su.org_code as departCode,
0 as confirmAmount,
tmp.director_id as principalNameId,
5 as type,
tmps.create_time as createTime
FROM tb_member_project tmp
left join tb_member_project_subitem 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)
union all
SELECT tcp.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tcp.company_id as chargeCompanyTemporaryId,
tcp.company_name AS chargeCompanyTemporaryName,
tcp.amount_receivable as allMoney,
tcp.paid_amount as comeAllMoney,
tcp.charge_use as chargeUse,
sd.depart_name as depart,
tcp.pack as pack,
tmp.year as year,
tcp.in_account as payStatue,
su.org_code as departCode,
0 as confirmAmount,
tmp.director_id as principalNameId,
6 as type,
tcp.create_time as createTime
FROM tb_member_project tmp
left join tb_certificate_payment tcp on (tmp.id = tcp.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)
) pp
where pp.allMoney is not null
and pp.allMoney != 0
order by pp.createTime;
select pp.id as projectId,
pp.superId,
pp.projectName,
principalName,
chargeCompanyId,
chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
chargeUse,
depart,
createTime,
if(pp.pack = 0, '', '') as packText,
year,
payStatue,
departCode,
principalNameId,
type,
billMoney,
confirmAmount,
pp.pack
from (SELECT pwgs.id,
pwg.id as superId,
pwg.working_group_project AS projectName,
pwg.principal_name_a as principalName,
pwgs.charge_company_id AS chargeCompanyId,
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.receivable_amount as allMoney,
pwgs.paid_amount as comeAllMoney,
pwgs.charge_use as chargeUse,
sd.depart_name as depart,
pwgs.pack as pack,
pwg.year as year,
pwgs.in_account as payStatue,
su.org_code as departCode,
pwg.principal_id_a as principalNameId,
2 as type,
pwgs.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
pwgs.create_time as createTime
FROM pay_working_group pwg
right join pay_working_group_subitem 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)
union all
SELECT pcp.id,
pcp.id as superId,
pcp.charge_project AS projectName,
pcp.principal_name as principalName,
pcp.charge_company_id AS chargeCompanyId,
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
pcp.receivable_amount as allMoney,
pcp.paid_amount as comeAllMoney,
pcp.charge_use as chargeUse,
sd.depart_name as depart,
pcp.pack as pack,
pcp.year as year,
pcp.in_account as payStatue,
su.org_code as departCode,
pcp.principal_id as principalNameId,
1 as type,
pcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
pcp.create_time as createTime
FROM pay_common_project pcp
left JOIN sys_user su on (pcp.principal_id = su.id)
left join sys_depart sd on (su.org_code = sd.org_code)
union all
SELECT pmps.id,
pmp.id as superId,
pmp.project_name AS projectName,
su.realname as principalName,
pmps.company_id AS chargeCompanyId,
pmps.company_id as chargeCompanyTemporaryId,
pmps.company_name AS chargeCompanyTemporaryName,
pmps.amount_receivable as allMoney,
pmps.paid_amount as comeAllMoney,
pmps.charge_use as chargeUse,
sd.depart_name as depart,
pmps.pack as pack,
pmp.particular_year as year,
pmps.in_account as payStatue,
su.org_code as departCode,
pmp.director_id as principalNameId,
4 as type,
pmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
pmps.create_time as createTime
FROM pay_member_project pmp
right join pay_member_project_subitem pmps on (pmp.id = pmps.project_id)
left JOIN sys_user su on (pmp.director_id = su.id)
left join sys_depart sd on (su.org_code = sd.org_code)
union all
SELECT pms.id,
pm.id as superId,
pm.meeting_name AS projectName,
su.realname as principalName,
pms.company_id AS chargeCompanyId,
pms.company_id as chargeCompanyTemporaryId,
pms.company_name AS chargeCompanyTemporaryName,
pms.amount_receivable as allMoney,
pms.paid_amount as comeAllMoney,
pms.charge_use as chargeUse,
sd.depart_name as depart,
pms.pack as pack,
pm.particular_year as year,
pms.in_account as payStatue,
su.org_code as departCode,
pm.director_id as principalNameId,
3 as type,
pms.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
pms.create_time as createTime
FROM pay_meeting pm
right join pay_meeting_situation 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)
union all
SELECT tmps.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tmps.company_id AS chargeCompanyId,
tmps.company_id as chargeCompanyTemporaryId,
tmps.company_name AS chargeCompanyTemporaryName,
tmps.amount_receivable as allMoney,
tmps.paid_amount as comeAllMoney,
tmps.charge_use as chargeUse,
sd.depart_name as depart,
tmps.pack as pack,
tmp.year as year,
tmps.in_account as payStatue,
su.org_code as departCode,
tmp.director_id as principalNameId,
5 as type,
tmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
tmps.create_time as createTime
FROM tb_member_project tmp
left join tb_member_project_subitem 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)
union all
SELECT tcp.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tcp.company_id AS chargeCompanyId,
tcp.company_id as chargeCompanyTemporaryId,
tcp.company_name AS chargeCompanyTemporaryName,
tcp.amount_receivable as allMoney,
tcp.paid_amount as comeAllMoney,
tcp.charge_use as chargeUse,
sd.depart_name as depart,
tcp.pack as pack,
tmp.year as year,
tcp.in_account as payStatue,
su.org_code as departCode,
tmp.director_id as principalNameId,
6 as type,
tcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
tcp.create_time as createTime
FROM tb_member_project tmp
left join tb_certificate_payment tcp on (tmp.id = tcp.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)
) pp
where pp.allMoney is not null
and pp.allMoney != 0
order by pp.createTime;
create table pay_confirm_payment_record
(
@@ -176,8 +187,14 @@ create table pay_confirm_payment_record
remark varchar(200) null comment '备注'
) comment '确认来款记录表';
alter table pay_common_project
add column confirm_amount decimal(12, 2) null comment '确认金额';
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
alter table pay_working_group_subitem
add column confirm_amount decimal(12, 2) null comment '确认金额';
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
alter table pay_member_project_subitem
add column confirm_amount decimal(12, 2) null comment '确认金额';
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
alter table pay_meeting_situation
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
alter table tb_member_project_subitem
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
alter table tb_certificate_payment
add column confirm_amount decimal(12, 2) default 0 null comment '确认金额';
@@ -28,4 +28,10 @@ public class PayWorkingGroupSearch {
@ApiModelProperty(value = "来款年份")
private String year;
@ApiModelProperty(value = "字段")
private String column;
@ApiModelProperty(value = "排序规则")
private String order;
}
@@ -125,15 +125,20 @@
<!-- 工作组统计-->
<select id="queryPageListForStatistics" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
select id,workGroup, allMoney,comeAllMoney,CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS moneyRate
select *
from (
select
superId as id,
projectName as workGroup,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney
sum(comeAllMoney) as comeAllMoney,
CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS moneyRate,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from
v_statistical
v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
type = 2
@@ -166,19 +171,44 @@
</choose>
</where>
group by superId
) ppp
) p
<if test="payWorkingGroupSearch.column != null and payWorkingGroupSearch.column != ''">
<if test="payWorkingGroupSearch.column == 'allMoney' and payWorkingGroupSearch.order == 'desc'">
order by allMoney desc
</if>
<if test="payWorkingGroupSearch.column == 'comeAllMoney' and payWorkingGroupSearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="payWorkingGroupSearch.column == 'billMoney' and payWorkingGroupSearch.order == 'desc'">
order by billMoney desc
</if>
<if test="payWorkingGroupSearch.column == 'allMoney' and payWorkingGroupSearch.order == 'asc'">
order by allMoney
</if>
<if test="payWorkingGroupSearch.column == 'comeAllMoney' and payWorkingGroupSearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="payWorkingGroupSearch.column == 'billMoney' and payWorkingGroupSearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!-- 工作组统计总金额-->
<select id="queryPageListForStatistics33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney
select sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
SUM(ppp.billMoney) as billMoney,
SUM(ppp.confirmAmount) as confirmAmount
from (
select
superId as id,
projectName as workGroup,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney
from
v_statistical
select superId as id,
projectName as workGroup,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
type = 2
<if test="ids != null and ids != ''">
@@ -188,23 +218,25 @@
</foreach>
</if>
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
and projectName LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
and projectName LIKE concat('%', concat(#{payWorkingGroupSearch.workGroup}, '%'))
</if>
<if test="payWorkingGroupSearch.year != null and payWorkingGroupSearch.year != ''">
AND year LIKE
concat(#{payWorkingGroupSearch.year},'%')
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}
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}
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}
AND if(allMoney IS NULL OR allMoney = '', 0, allMoney) <![CDATA[<]]>=
#{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
@@ -314,7 +346,8 @@
createTime,
packText,
pack,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
@@ -374,21 +407,23 @@
</where>
group by v.projectId) p
<if test="allProjectStatisticsSearch.column != null and allProjectStatisticsSearch.column != ''">
order by
<if test="allProjectStatisticsSearch.column == 'allMoney'">
allMoney
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'desc'">
order by allMoney desc
</if>
<if test="allProjectStatisticsSearch.column == 'comeAllMoney'">
comeAllMoney
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="allProjectStatisticsSearch.column == 'billMoney'">
billMoney
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'desc'">
order by billMoney desc
</if>
<if test="allProjectStatisticsSearch.order == 'desc'">
desc
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'asc'">
order by allMoney
</if>
<if test="allProjectStatisticsSearch.order == 'asc'">
asc
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
@@ -396,7 +431,8 @@
<select id="queryPageList33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
@@ -1030,13 +1066,25 @@
<!--个人来款统计-->
<select id="queryPageListForPrincipal" resultType="com.jero.statistics.entity.PrincipalPeopleList">
select principalId, principalName,allMoney,comeAllMoney,createTime,
CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS finishRate from
(select
principalNameId as principalId,principalName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
select principalId,
principalName,
allMoney,
comeAllMoney,
createTime,
CONCAT(CAST(ROUND((comeAllMoney / allMoney) * 100, 2) AS CHAR), '%') AS finishRate,
billMoney,
confirmAmount
from
v_statistical
(select principalNameId as principalId,
principalName,
SUM(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
createTime,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
<if test="idList != null and idList != ''">
principalNameId in
@@ -1045,22 +1093,23 @@
</foreach>
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND principalNameId=#{principalPeopleSearch.principalId}
AND principalNameId = #{principalPeopleSearch.principalId}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND year LIKE
concat('%',#{principalPeopleSearch.year},'%')
concat('%', #{principalPeopleSearch.year}, '%')
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND departCode =#{principalPeopleSearch.departCode}
AND departCode = #{principalPeopleSearch.departCode}
</if>
</where>
group by principalId ) 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}
ppp.allMoney >= #{principalPeopleSearch.allMoney}
and ppp.allMoney <![CDATA[<]]>=
#{principalPeopleSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleSearch.allMoney != null and principalPeopleSearch.allMoney != ''">
@@ -1072,15 +1121,43 @@
</otherwise>
</choose>
</where>
<if test="principalPeopleSearch.column != null and principalPeopleSearch.column != ''">
<if test="principalPeopleSearch.column == 'allMoney' and principalPeopleSearch.order == 'desc'">
order by allMoney desc
</if>
<if test="principalPeopleSearch.column == 'comeAllMoney' and principalPeopleSearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="principalPeopleSearch.column == 'billMoney' and principalPeopleSearch.order == 'desc'">
order by billMoney desc
</if>
<if test="principalPeopleSearch.column == 'allMoney' and principalPeopleSearch.order == 'asc'">
order by allMoney
</if>
<if test="principalPeopleSearch.column == 'comeAllMoney' and principalPeopleSearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="principalPeopleSearch.column == 'billMoney' and principalPeopleSearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!--个人来款统计-->
<select id="queryPageListForPrincipal33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney from
(select
principalNameId as principalId,principalName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
v_statistical
select sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
sum(billMoney) as billMoney,
sum(confirmAmount) as confirmAmount from
(select principalNameId as principalId,
principalName,
SUM(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
createTime,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
<if test="idList != null and idList != ''">
principalNameId in
@@ -1089,22 +1166,23 @@
</foreach>
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND principalNameId=#{principalPeopleSearch.principalId}
AND principalNameId = #{principalPeopleSearch.principalId}
</if>
<if test="principalPeopleSearch.year != null and principalPeopleSearch.year != ''">
AND year LIKE
concat('%',#{principalPeopleSearch.year},'%')
concat('%', #{principalPeopleSearch.year}, '%')
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND departCode =#{principalPeopleSearch.departCode}
AND departCode = #{principalPeopleSearch.departCode}
</if>
</where>
group by principalId ) 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}
ppp.allMoney >= #{principalPeopleSearch.allMoney}
and ppp.allMoney <![CDATA[<]]>=
#{principalPeopleSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleSearch.allMoney != null and principalPeopleSearch.allMoney != ''">
@@ -1586,14 +1664,25 @@
<!--企业来款统计-->
<select id="queryPageListForCompany" resultType="com.jero.statistics.entity.CompanyComeMoneyList">
select chargeCompanyTemporaryId as chargeCompanyId, chargeCompanyTemporaryName as
chargeCompanyName,allMoney,comeAllMoney,createTime,
CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS finishRate from
(select
chargeCompanyId as chargeCompanyTemporaryId,chargeCompanyTemporaryName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
v_statistical v
select * from (
select chargeCompanyTemporaryId as chargeCompanyId,
chargeCompanyTemporaryName as chargeCompanyName,
allMoney,
comeAllMoney,
createTime,
CONCAT(CAST(ROUND((comeAllMoney / allMoney) * 100, 2) AS CHAR), '%') AS finishRate,
billMoney,
confirmAmount from
(select chargeCompanyId as chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
SUM(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
createTime,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
<if test="idList != null and idList != ''">
principalNameId in
@@ -1603,7 +1692,7 @@
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND year LIKE
concat(#{companyComeMoneySearch.year},'%')
concat(#{companyComeMoneySearch.year}, '%')
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND chargeCompanyId = #{companyComeMoneySearch.chargeCompanyId}
@@ -1614,8 +1703,9 @@
<where>
<choose>
<when test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != '' and companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
ppp.allMoney >= #{companyComeMoneySearch.allMoney} and ppp.allMoney <![CDATA[<]]>=
#{companyComeMoneySearch.allMoneyTwo}
ppp.allMoney >= #{companyComeMoneySearch.allMoney}
and ppp.allMoney <![CDATA[<]]>=
#{companyComeMoneySearch.allMoneyTwo}
</when>
<otherwise>
<if test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != ''">
@@ -1627,15 +1717,44 @@
</otherwise>
</choose>
</where>
) p
<if test="companyComeMoneySearch.column != null and companyComeMoneySearch.column != ''">
<if test="companyComeMoneySearch.column == 'allMoney' and companyComeMoneySearch.order == 'desc'">
order by allMoney desc
</if>
<if test="companyComeMoneySearch.column == 'comeAllMoney' and companyComeMoneySearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="companyComeMoneySearch.column == 'billMoney' and companyComeMoneySearch.order == 'desc'">
order by billMoney desc
</if>
<if test="companyComeMoneySearch.column == 'allMoney' and companyComeMoneySearch.order == 'asc'">
order by allMoney
</if>
<if test="companyComeMoneySearch.column == 'comeAllMoney' and companyComeMoneySearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="companyComeMoneySearch.column == 'billMoney' and companyComeMoneySearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!--企业来款统计统计总金额-->
<select id="queryPageListForCompany33" resultType="com.jero.statistics.entity.AllMoney">
select SUM(ppp.allMoney) as allMoney,SUM(ppp.comeAllMoney) as comeAllMoney from
(select
chargeCompanyTemporaryId,chargeCompanyTemporaryName,SUM(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney,
createTime
from
v_statistical v
select SUM(ppp.allMoney) as allMoney,
SUM(ppp.comeAllMoney) as comeAllMoney,
SUM(ppp.billMoney) as billMoney,
SUM(ppp.confirmAmount) as confirmAmount from
(select chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
SUM(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
createTime,
if(sum(pmb.invoice_amount) is null, 0.00, sum(pmb.invoice_amount)) as billMoney,
sum(confirmAmount) as confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
<if test="idList != null and idList != ''">
principalNameId in
@@ -1645,7 +1764,7 @@
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND year LIKE
concat(#{companyComeMoneySearch.year},'%')
concat(#{companyComeMoneySearch.year}, '%')
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND chargeCompanyId = #{companyComeMoneySearch.chargeCompanyId}
@@ -1656,8 +1775,9 @@
<where>
<choose>
<when test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != '' and companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
ppp.allMoney >= #{companyComeMoneySearch.allMoney} and ppp.allMoney <![CDATA[<]]>=
#{companyComeMoneySearch.allMoneyTwo}
ppp.allMoney >= #{companyComeMoneySearch.allMoney}
and ppp.allMoney <![CDATA[<]]>=
#{companyComeMoneySearch.allMoneyTwo}
</when>
<otherwise>
<if test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != ''">
@@ -1784,9 +1904,13 @@
<!-- 企业来款详情统计-->
<select id="queryPageListForCompanyDetail" resultType="com.jero.statistics.entity.CompanyComeMoneyDetail">
select projectId,projectName,allMoney,comeAllMoney,chargeUse,packText,pack
from
v_statistical
select * from(
select projectId,projectName,allMoney,comeAllMoney,chargeUse,packText,pack,
pmb.invoice_amount as billMoney,
confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
chargeCompanyId = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
@@ -1826,14 +1950,46 @@
</if>
</otherwise>
</choose>
</where>
</where>) p
<if test="CompanyComeMoneyDetailSearch.column != null and CompanyComeMoneyDetailSearch.column != ''">
<if test="CompanyComeMoneyDetailSearch.column == 'allMoney' and CompanyComeMoneyDetailSearch.order == 'desc'">
order by allMoney desc
</if>
<if test="CompanyComeMoneyDetailSearch.column == 'comeAllMoney' and CompanyComeMoneyDetailSearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="CompanyComeMoneyDetailSearch.column == 'billMoney' and CompanyComeMoneyDetailSearch.order == 'desc'">
order by billMoney desc
</if>
<if test="CompanyComeMoneyDetailSearch.column == 'allMoney' and CompanyComeMoneyDetailSearch.order == 'asc'">
order by allMoney
</if>
<if test="CompanyComeMoneyDetailSearch.column == 'comeAllMoney' and CompanyComeMoneyDetailSearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="CompanyComeMoneyDetailSearch.column == 'billMoney' and CompanyComeMoneyDetailSearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!-- 企业来款详情统计总金额-->
<select id="queryPageListForCompanyDetail33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,sum(comeAllMoney) as comeAllMoney from (
select projectId,projectName,allMoney,comeAllMoney,chargeUse,packText,pack
from
v_statistical
select sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
sum(billMoney) as billMoney,
sum(confirmAmount) as confirmAmount from (
select projectId,
projectName,
allMoney,
comeAllMoney,
chargeUse,
packText,
pack,
pmb.invoice_amount as billMoney,
confirmAmount
from v_statistical v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmbp.bill_id = pmb.id
<where>
chargeCompanyId = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
@@ -1844,25 +2000,26 @@
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND projectName LIKE
concat('%'#{CompanyComeMoneyDetailSearch.projectName},'%')
concat('%'#{CompanyComeMoneyDetailSearch.projectName}, '%')
</if>
<if test="CompanyComeMoneyDetailSearch.inAccountStatue != null and CompanyComeMoneyDetailSearch.inAccountStatue != ''">
AND payStatue =#{CompanyComeMoneyDetailSearch.inAccountStatue}
AND payStatue = #{CompanyComeMoneyDetailSearch.inAccountStatue}
</if>
<if test="CompanyComeMoneyDetailSearch.year != null and CompanyComeMoneyDetailSearch.year != ''">
AND year LIKE
concat('%',#{CompanyComeMoneyDetailSearch.year},'%')
concat('%', #{CompanyComeMoneyDetailSearch.year}, '%')
</if>
<if test="CompanyComeMoneyDetailSearch.chargeUse != null and CompanyComeMoneyDetailSearch.chargeUse != ''">
AND chargeUse=#{CompanyComeMoneyDetailSearch.chargeUse}
AND chargeUse = #{CompanyComeMoneyDetailSearch.chargeUse}
</if>
<choose>
<when test="CompanyComeMoneyDetailSearch.allMoney != null and CompanyComeMoneyDetailSearch.allMoney != '' and CompanyComeMoneyDetailSearch.allMoneyTwo != null and CompanyComeMoneyDetailSearch.allMoneyTwo != ''">
AND allMoney >= #{CompanyComeMoneyDetailSearch.allMoney} and allMoney <![CDATA[<]]>=
#{CompanyComeMoneyDetailSearch.allMoneyTwo}
AND allMoney >= #{CompanyComeMoneyDetailSearch.allMoney}
and allMoney <![CDATA[<]]>=
#{CompanyComeMoneyDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="CompanyComeMoneyDetailSearch.allMoney != null and CompanyComeMoneyDetailSearch.allMoney != ''">
@@ -95,6 +95,8 @@ public class AllProjectStatisticsController {
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
@@ -162,6 +164,8 @@ public class AllProjectStatisticsController {
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
@@ -80,6 +80,8 @@ public class CompanyComeMoneyStatisticsController {
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
@@ -128,6 +130,8 @@ public class CompanyComeMoneyStatisticsController {
AllMoney allMoney = payWorkingGroupService.queryPageListForCompanyDetail33(companyComeMoneyDetailSearch, null);
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
}
@@ -90,6 +90,8 @@ public class PayWorkingGroupStatisticsController {
hashMap.put("pageList", pageList.setRecords(records));
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
return Result.OK(hashMap);
}
@@ -179,6 +181,8 @@ public class PayWorkingGroupStatisticsController {
hashMap.put("pageList", pageList);
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
return Result.OK(hashMap);
}
@@ -98,12 +98,6 @@ public class PrincipalPeopleStatisticsController {
AllMoney allMoney = payWorkingGroupService.queryPageListForPrincipal33(principalPeopleSearch, idList);
HashMap<String, Object> hashMap = new HashMap<>();
// double sum=0;
// double sumTwo =0;
// if(ObjectUtils.isNotEmpty(pageList.getRecords())) {
// sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0" : t.getAllMoney())).sum() : 0;
// sumTwo = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0" : t.getComeAllMoney())).sum() : 0;
// }
//处理为空数据为0
for (PrincipalPeopleList s : pageList.getRecords()) {
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
@@ -119,6 +113,8 @@ public class PrincipalPeopleStatisticsController {
DecimalFormat df = new DecimalFormat("#,##0.00");
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
@@ -158,6 +154,8 @@ public class PrincipalPeopleStatisticsController {
}
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
hashMap.put("sumOfBillMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getBillMoney());
hashMap.put("sumOfConfirmAmount", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getConfirmAmount());
hashMap.put("pageList", pageList);
return Result.OK(hashMap);
}
@@ -12,4 +12,6 @@ public class AllMoney {
private String comeAllMoney;
private String billMoney;
private String confirmAmount;
}
@@ -34,6 +34,10 @@ public class AllProjectStatistics {
@ApiModelProperty(value = "开票金额")
private String billMoney;
@Excel(name = "确认金额", width = 15)
@ApiModelProperty(value = "确认金额")
private String confirmAmount;
@ApiModelProperty(value = "来款用途编码")
private String chargeUse;
@@ -26,6 +26,14 @@ public class CompanyComeMoneyDetail {
@ApiModelProperty(value = "实收金额")
private String comeAllMoney;
@Excel(name = "开票金额", width = 15)
@ApiModelProperty(value = "开票金额")
private String billMoney;
@Excel(name = "确认金额", width = 15)
@ApiModelProperty(value = "确认金额")
private String confirmAmount;
@ApiModelProperty(value = "来款用途编码")
private String chargeUse;
@@ -25,6 +25,15 @@ public class CompanyComeMoneyList {
@Excel(name = "实收总金额", width = 15)
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Excel(name = "开票金额", width = 15)
@ApiModelProperty(value = "开票金额")
private String billMoney;
@Excel(name = "确认金额", width = 15)
@ApiModelProperty(value = "确认金额")
private String confirmAmount;
@Excel(name = "到账率", width = 15)
@ApiModelProperty(value = "到账率")
private String finishRate;
@@ -19,5 +19,9 @@ public class DepartStatistics {
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Excel(name = "开票金额", width = 15)
@ApiModelProperty(value = "开票金额")
private String billMoney;
private String departName;
}
@@ -26,6 +26,14 @@ public class PrincipalPeopleList {
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Excel(name = "开票金额", width = 15)
@ApiModelProperty(value = "开票金额")
private String billMoney;
@Excel(name = "确认金额", width = 15)
@ApiModelProperty(value = "确认金额")
private String confirmAmount;
@Excel(name = "个人完成率", width = 15)
@ApiModelProperty(value = "个人完成率")
private String finishRate;