From c03d0234bf60b57b35864dd31d7bf7c2b407f266 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 9 Jun 2022 18:27:44 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E7=BB=9F=E8=AE=A1=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=8A=A0=E5=AE=8C?= =?UTF-8?q?=E6=88=90=20=E5=9B=9E=E6=98=BE=E7=A1=AE=E8=AE=A4=E9=87=91?= =?UTF-8?q?=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/统计视图.sql | 347 +++++++++--------- .../project/entity/PayWorkingGroupSearch.java | 6 + .../mapper/xml/PayWorkingGroupMapper.xml | 331 ++++++++++++----- .../AllProjectStatisticsController.java | 4 + .../CompanyComeMoneyStatisticsController.java | 4 + .../PayWorkingGroupStatisticsController.java | 4 + .../PrincipalPeopleStatisticsController.java | 10 +- .../com/jero/statistics/entity/AllMoney.java | 2 + .../entity/AllProjectStatistics.java | 4 + .../entity/CompanyComeMoneyDetail.java | 8 + .../entity/CompanyComeMoneyList.java | 9 + .../statistics/entity/DepartStatistics.java | 4 + .../entity/PrincipalPeopleList.java | 8 + 13 files changed, 483 insertions(+), 258 deletions(-) diff --git a/db/统计视图.sql b/db/统计视图.sql index dc4040cb..881f8852 100644 --- a/db/统计视图.sql +++ b/db/统计视图.sql @@ -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 '确认金额'; \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSearch.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSearch.java index d5e38f9c..da793cff 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSearch.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSearch.java @@ -28,4 +28,10 @@ public class PayWorkingGroupSearch { @ApiModelProperty(value = "来款年份") private String year; + @ApiModelProperty(value = "字段") + private String column; + + @ApiModelProperty(value = "排序规则") + private String order; + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index 91810a7e..95600083 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -125,15 +125,20 @@ @@ -396,7 +431,8 @@ - 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 principalNameId in @@ -1045,22 +1093,23 @@ - AND principalNameId=#{principalPeopleSearch.principalId} + AND principalNameId = #{principalPeopleSearch.principalId} AND year LIKE - concat('%',#{principalPeopleSearch.year},'%') + concat('%', #{principalPeopleSearch.year}, '%') - AND departCode =#{principalPeopleSearch.departCode} + AND departCode = #{principalPeopleSearch.departCode} group by principalId ) ppp - ppp.allMoney >= #{principalPeopleSearch.allMoney} and ppp.allMoney = - #{principalPeopleSearch.allMoneyTwo} + ppp.allMoney >= #{principalPeopleSearch.allMoney} + and ppp.allMoney = + #{principalPeopleSearch.allMoneyTwo} @@ -1072,15 +1121,43 @@ + + + order by allMoney desc + + + order by comeAllMoney desc + + + order by billMoney desc + + + order by allMoney + + + order by comeAllMoney + + + order by billMoney + + - 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 principalNameId in @@ -1603,7 +1692,7 @@ AND year LIKE - concat(#{companyComeMoneySearch.year},'%') + concat(#{companyComeMoneySearch.year}, '%') AND chargeCompanyId = #{companyComeMoneySearch.chargeCompanyId} @@ -1614,8 +1703,9 @@ - ppp.allMoney >= #{companyComeMoneySearch.allMoney} and ppp.allMoney = - #{companyComeMoneySearch.allMoneyTwo} + ppp.allMoney >= #{companyComeMoneySearch.allMoney} + and ppp.allMoney = + #{companyComeMoneySearch.allMoneyTwo} @@ -1627,15 +1717,44 @@ + ) p + + + order by allMoney desc + + + order by comeAllMoney desc + + + order by billMoney desc + + + order by allMoney + + + order by comeAllMoney + + + order by billMoney + + - 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 chargeCompanyId = #{CompanyComeMoneyDetailSearch.chargeCompanyId} @@ -1826,14 +1950,46 @@ - + ) p + + + order by allMoney desc + + + order by comeAllMoney desc + + + order by billMoney desc + + + order by allMoney + + + order by comeAllMoney + + + order by billMoney + +