From bb89bdcd46be7a5ad563260b46fe5c5ebcd1ff54 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Dec 2023 15:26:16 +0800 Subject: [PATCH 01/16] =?UTF-8?q?update=20=E7=BB=9F=E8=AE=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/project/mapper/xml/PayWorkingGroupMapper.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 70030485..df6e6cbe 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 @@ -1141,7 +1141,7 @@ principalNameId = #{principalPeopleDetailSearch.principalNameId} AND projectName LIKE - concat('%'#{principalPeopleDetailSearch.projectName}, '%') + concat('%',#{principalPeopleDetailSearch.projectName}, '%') AND chargeUse = #{principalPeopleDetailSearch.chargeUse} @@ -1241,7 +1241,7 @@ principalNameId = #{principalPeopleDetailSearch.principalNameId} AND projectName LIKE - concat('%'#{principalPeopleDetailSearch.projectName}, '%') + concat('%',#{principalPeopleDetailSearch.projectName}, '%') AND chargeUse = #{principalPeopleDetailSearch.chargeUse} @@ -1624,7 +1624,7 @@ AND projectName LIKE - concat('%'#{CompanyComeMoneyDetailSearch.projectName},'%') + concat('%',#{CompanyComeMoneyDetailSearch.projectName},'%') @@ -1737,7 +1737,7 @@ AND projectName LIKE - concat('%'#{CompanyComeMoneyDetailSearch.projectName}, '%') + concat('%',#{CompanyComeMoneyDetailSearch.projectName}, '%') From d3fecb55c2f54bc507780b861432ba44721d1515 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 29 Dec 2023 15:28:54 +0800 Subject: [PATCH 02/16] =?UTF-8?q?update=20=E7=BB=9F=E8=AE=A1=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/统计视图.sql | 24 +- db/统计视图(新).sql | 505 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 528 insertions(+), 1 deletion(-) create mode 100644 db/统计视图(新).sql diff --git a/db/统计视图.sql b/db/统计视图.sql index fb2fa311..4c0dcd3b 100644 --- a/db/统计视图.sql +++ b/db/统计视图.sql @@ -947,4 +947,26 @@ from (SELECT pwgs.id, left join pay_confirm_payment_record pcpr on tcp.id = pcpr.project_id group by tcp.id ) pp -order by pp.createTime; \ No newline at end of file +order by pp.createTime; + +create view v_confirm_payment_record as +select project_id, + sum(amount_received) as amount_received, + sum(no_tax_amount) as no_tax_amount, + GROUP_CONCAT(DATE_FORMAT(payment_date, '%Y-%m')) as payment_date +from pay_confirm_payment_record +group by project_id; + +create view v_payment_record as +select project_id, + sum(amount_received) as amount_received, + sum(no_tax_amount) as no_tax_amount +from pay_payment_record +group by project_id; + +create view v_mail_bill_project as +select project_id, + sum(invoice_amount) as invoice_amount, + sum(no_tax_amount) as no_tax_amount +from pay_mail_bill_project +group by project_id; \ No newline at end of file diff --git a/db/统计视图(新).sql b/db/统计视图(新).sql new file mode 100644 index 00000000..4b832f9f --- /dev/null +++ b/db/统计视图(新).sql @@ -0,0 +1,505 @@ +drop view v_statistical; +create view v_statistical as +select pp.id as projectId, + pp.superId, + pp.projectName, + principalName, + chargeCompanyId, + chargeCompanyTemporaryId, + chargeCompanyTemporaryName, + chargeUse, + depart, + createTime, + if(pp.pack = 0, '否', '是') as packText, + year, + payStatue, + departId, + departCode, + principalNameId, + type, + receivableAmount, + allMoney, + comeAllMoney, + if(billMoney is null, 0, billMoney) as billMoney, + confirmAmount, + paidNoTaxAmount, + invoiceNoTaxAmount, + confirmNoTaxAmount, + contactsName, + confirmDate, + 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.charge_use as chargeUse, + sd.depart_name as depart, + pwgs.pack as pack, + pwg.year as year, + pwgs.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pwg.principal_id_a as principalNameId, + 2 as type, + pwgs.receivable_amount as receivableAmount, + pwgs.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) as contactsName, + GROUP_CONCAT(DISTINCT DATE_FORMAT(vcpr.payment_date,'%Y-%m')) as confirmDate, + 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.depart_ids = sd.id) + left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id + left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id + left join v_payment_record vpr on pwgs.id = vpr.project_id + left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id + group by pwgs.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pcp.pack as pack, + pcp.year as year, + pcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pcp.principal_id as principalNameId, + 1 as type, + pcp.receivable_amount as receivableAmount, + pcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + contacts_temporary_name as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id + left join v_payment_record vpr on pcp.id = vpr.project_id + left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id + group by pcp.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pmps.pack as pack, + pmp.particular_year as year, + pmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pmp.director_id as principalNameId, + 4 as type, + pmps.amount_receivable as receivableAmount, + pmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + vcpr.payment_date as confirmDate, + pmps.create_time as createTime + FROM pay_member_project_subitem pmps + left join pay_member_project pmp on (pmp.id = pmps.project_id) + left JOIN sys_user su on (pmp.director_id = su.id) + left join sys_depart sd on (su.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id + left join v_payment_record vpr on pmps.id = vpr.project_id + left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id + group by pmps.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pms.pack as pack, + pm.particular_year as year, + pms.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pm.director_id as principalNameId, + 3 as type, + pms.amount_receivable as receivableAmount, + pms.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id + left join v_payment_record vpr on pms.id = vpr.project_id + left join v_mail_bill_project vmbp on pms.id = vmbp.project_id + group by pms.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tmps.pack as pack, + tmp.year as year, + tmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 5 as type, + tmps.amount_receivable as receivableAmount, + tmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id + left join v_payment_record vpr on tmps.id = vpr.project_id + left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id + group by tmps.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tcp.pack as pack, + tmp.year as year, + tcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 6 as type, + tcp.amount_receivable as receivableAmount, + tcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id + left join v_payment_record vpr on tcp.id = vpr.project_id + left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id + group by tcp.id + ) pp +where pp.allMoney is not null + and pp.allMoney != 0 +order by pp.createTime; + +drop view v_statistical_confirm; +create view v_statistical_confirm as +select pp.id as projectId, + pp.superId, + pp.projectName, + principalName, + chargeCompanyId, + chargeCompanyTemporaryId, + chargeCompanyTemporaryName, + chargeUse, + depart, + createTime, + if(pp.pack = 0, '否', '是') as packText, + year, + payStatue, + departId, + departCode, + principalNameId, + type, + receivableAmount, + allMoney, + comeAllMoney, + if(billMoney is null, 0, billMoney) as billMoney, + confirmAmount, + invoiceNoTaxAmount, + paidNoTaxAmount, + confirmNoTaxAmount, + contactsName, + confirmDate, + 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.charge_use as chargeUse, + sd.depart_name as depart, + pwgs.pack as pack, + pwg.year as year, + pwgs.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pwg.principal_id_a as principalNameId, + 2 as type, + pwgs.receivable_amount as receivableAmount, + pwgs.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + (select GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) from pay_working_group_subitem_contacts pwgsc where pwgsc.working_group_sub_id = pwgs.id) as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id + left join pay_confirm_payment_record pcpr on pwgs.id = pcpr.project_id + left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id + left join v_payment_record vpr on pwgs.id = vpr.project_id + left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id + group by pwgs.id,pcpr.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pcp.pack as pack, + pcp.year as year, + pcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pcp.principal_id as principalNameId, + 1 as type, + pcp.receivable_amount as receivableAmount, + pcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + contacts_temporary_name as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left join pay_confirm_payment_record pcpr on pcp.id = pcpr.project_id + left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id + left join v_payment_record vpr on pcp.id = vpr.project_id + left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id + group by pcp.id,pcpr.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pmps.pack as pack, + pmp.particular_year as year, + pmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pmp.director_id as principalNameId, + 4 as type, + pmps.amount_receivable as receivableAmount, + pmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left join pay_confirm_payment_record pcpr on pmps.id = pcpr.project_id + left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id + left join v_payment_record vpr on pmps.id = vpr.project_id + left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id + group by pmps.id,pcpr.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pms.pack as pack, + pm.particular_year as year, + pms.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pm.director_id as principalNameId, + 3 as type, + pms.amount_receivable as receivableAmount, + pms.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left join pay_confirm_payment_record pcpr on pms.id = pcpr.project_id + left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id + left join v_payment_record vpr on pms.id = vpr.project_id + left join v_mail_bill_project vmbp on pms.id = vmbp.project_id + group by pms.id,pcpr.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tmps.pack as pack, + tmp.year as year, + tmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 5 as type, + tmps.amount_receivable as receivableAmount, + tmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left join pay_confirm_payment_record pcpr on tmps.id = pcpr.project_id + left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id + left join v_payment_record vpr on tmps.id = vpr.project_id + left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id + group by tmps.id,pcpr.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tcp.pack as pack, + tmp.year as year, + tcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 6 as type, + tcp.amount_receivable as receivableAmount, + tcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + 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.depart_ids = sd.id) + left join pay_confirm_payment_record pcpr on tcp.id = pcpr.project_id + left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id + left join v_payment_record vpr on tcp.id = vpr.project_id + left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id + group by tcp.id,pcpr.id + ) pp +where pp.allMoney is not null + and pp.allMoney != 0 +order by pp.createTime; \ No newline at end of file From 61f4ae5eee37e1cd2b326c2ea55f3f6357b70272 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 2 Jan 2024 10:11:45 +0800 Subject: [PATCH 03/16] =?UTF-8?q?update=20=E7=A1=AE=E8=AE=A4=E6=94=B6?= =?UTF-8?q?=E5=85=A5=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/统计视图(新).sql | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/db/统计视图(新).sql b/db/统计视图(新).sql index 4b832f9f..fb426024 100644 --- a/db/统计视图(新).sql +++ b/db/统计视图(新).sql @@ -303,18 +303,17 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, (select GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) from pay_working_group_subitem_contacts pwgsc where pwgsc.working_group_sub_id = pwgs.id) as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, - pwgs.create_time as createTime + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id - left join pay_confirm_payment_record pcpr on pwgs.id = pcpr.project_id left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id left join v_payment_record vpr on pwgs.id = vpr.project_id left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id - group by pwgs.id,pcpr.id + group by pwgs.id union all SELECT pcp.id, pcp.id as superId, @@ -341,16 +340,15 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, contacts_temporary_name as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + vcpr.payment_date as confirmDate, 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.depart_ids = sd.id) - left join pay_confirm_payment_record pcpr on pcp.id = pcpr.project_id left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id left join v_payment_record vpr on pcp.id = vpr.project_id left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id - group by pcp.id,pcpr.id + group by pcp.id union all SELECT pmps.id, pmp.id as superId, @@ -377,17 +375,16 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, company_contact_name as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + vcpr.payment_date as confirmDate, 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.depart_ids = sd.id) - left join pay_confirm_payment_record pcpr on pmps.id = pcpr.project_id left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id left join v_payment_record vpr on pmps.id = vpr.project_id left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id - group by pmps.id,pcpr.id + group by pmps.id union all SELECT pms.id, pm.id as superId, @@ -414,17 +411,16 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, company_contact_name as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + vcpr.payment_date as confirmDate, 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.depart_ids = sd.id) - left join pay_confirm_payment_record pcpr on pms.id = pcpr.project_id left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id left join v_payment_record vpr on pms.id = vpr.project_id left join v_mail_bill_project vmbp on pms.id = vmbp.project_id - group by pms.id,pcpr.id + group by pms.id union all SELECT tmps.id, tmp.id as superId, @@ -451,17 +447,16 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, liaison_man as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + vcpr.payment_date as confirmDate, 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.depart_ids = sd.id) - left join pay_confirm_payment_record pcpr on tmps.id = pcpr.project_id left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id left join v_payment_record vpr on tmps.id = vpr.project_id left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id - group by tmps.id,pcpr.id + group by tmps.id union all SELECT tcp.id, tmp.id as superId, @@ -488,17 +483,16 @@ from (SELECT pwgs.id, vmbp.no_tax_amount as invoiceNoTaxAmount, vcpr.no_tax_amount as confirmNoTaxAmount, liaison_man as contactsName, - DATE_FORMAT(pcpr.payment_date,'%Y-%m') as confirmDate, + vcpr.payment_date as confirmDate, 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.depart_ids = sd.id) - left join pay_confirm_payment_record pcpr on tcp.id = pcpr.project_id left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id left join v_payment_record vpr on tcp.id = vpr.project_id left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id - group by tcp.id,pcpr.id + group by tcp.id ) pp where pp.allMoney is not null and pp.allMoney != 0 From 033367eb3bbb16b84ac5a56b6f7c181d0e0a8b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Wed, 3 Jan 2024 19:08:14 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E6=92=A4=E9=94=80?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayMailBillServiceImpl.java | 286 +++++++++--------- .../PayConfirmPaymentRecordController.java | 2 +- .../PayPaymentRecordController.java | 1 + .../service/IPayPaymentRecordService.java | 8 + .../impl/PayPaymentRecordServiceImpl.java | 20 +- 5 files changed, 175 insertions(+), 142 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index e7dc3035..fe4c186c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -25,7 +25,6 @@ import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.config.StaticConfig; import com.jero.contract.common.PayIncomeContractCommon; -import com.jero.mail.commont.constant; import com.jero.mail.entity.BillingInfo; import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBillProject; @@ -64,7 +63,6 @@ import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; @@ -646,150 +644,160 @@ public class PayMailBillServiceImpl extends ServiceImpl queryPayMailBillProject = new LambdaQueryWrapper<>(); - queryPayMailBillProject.eq(PayMailBillProject::getBillId,id); - List list1 = payMailBillProjectService.list(queryPayMailBillProject); - for(PayMailBillProject one:list1) { - if (ObjectUtils.isNotEmpty(one)) { - LambdaQueryWrapper queryPayMailBillProjectTwo = new LambdaQueryWrapper<>(); - queryPayMailBillProjectTwo.eq(PayMailBillProject::getProjectId, one.getProjectId()); - List listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProjectTwo); + public void updateProjectInfo(PayMailBillProject payMailBillProject){ + int makeInvoice=4; + BigDecimal amountReceivable = new BigDecimal("0");//待确收金额 + Integer needInvoice = 0;//是否需要发票 + BigDecimal invoiceAmount = payMailBillProject.getInvoiceAmount(); + if(Objects.isNull(invoiceAmount)){ + invoiceAmount = new BigDecimal("0");//本次开票金额 + } + BigDecimal oldInvoiceAmount;//开票金额 + BigDecimal noTaxAmount = payMailBillProject.getNoTaxAmount(); + BigDecimal tax = payMailBillProject.getTax(); + if (noTaxAmount == null || tax == null){ + noTaxAmount = invoiceAmount.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP); + tax = invoiceAmount.subtract(noTaxAmount); + } + switch (payMailBillProject.getProjectType().toString()) { - // 开票金额 - BigDecimal invoice = new BigDecimal("0.00"); - // 开票次数 - int c = listPayMailBillProject.size(); - // 邮寄次数 - int y = 0; - if (!CollectionUtils.isEmpty(listPayMailBillProject)) { - BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add); - invoice = invoice.add(b); - List list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList()); - LambdaQueryWrapper queryPayMailBill = new LambdaQueryWrapper<>(); - queryPayMailBill.in(PayMailBill::getId, list); - queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1); - List listPayMailBill = payMailBillService.list(queryPayMailBill); - y = listPayMailBill.size(); + // 普通项目 + case PayIncomeContractCommon.PROJECT_TYPE1: + PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payMailBillProject.getProjectId()); + amountReceivable = payCommonProject.getReceivableAmount();//应收 + needInvoice = payCommonProject.getNeedInvoice();//是否需要发票 + oldInvoiceAmount = payCommonProject.getInvoiceAmount(); + if(oldInvoiceAmount==null){ + oldInvoiceAmount= new BigDecimal("0"); } - //获取项目待确收金额 - BigDecimal receivableAmount; - - List listId = new ArrayList<>(); - //判断变更那个项目的邮寄状态 - if (GlobalConstants.ONE.equals(one.getProjectType())) { - PayCommonProject payCommonProjectOld = payCommonProjectService.getById(one.getProjectId()); - if (Objects.isNull(payCommonProjectOld)) { - throw new JeroBootException("项目不存在!"); - } - PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProjectOld.getContactsTemporaryId()); - if (!Objects.isNull(payCommonProjectTemporary)) { - listId.add(payCommonProjectTemporary); - } - - receivableAmount = payCommonProjectOld.getReceivableAmount(); - PayCommonProject payCommonProject = new PayCommonProject(); - if (receivableAmount.compareTo(invoice) == 0 && c == y) { - payCommonProject.setId(one.getProjectId()); - payCommonProject.setMail(constant.ONE); - payCommonProjectService.updateById(payCommonProject); - } else if (y <= c && y > 0) { - payCommonProject.setId(one.getProjectId()); - payCommonProject.setMail(constant.TWO); - payCommonProjectService.updateById(payCommonProject); - } - } else if (GlobalConstants.TWO.equals(one.getProjectType())) { - PayWorkingGroupSubItem payWorkingGroupSubItemOld = payWorkingGroupSubItemService.getById(one.getProjectId()); - if (Objects.isNull(payWorkingGroupSubItemOld)) { - throw new JeroBootException("项目不存在!"); - } - PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupSubItemOld.getWorkingGroupId()); - if (Objects.isNull(payWorkingGroup)) { - throw new JeroBootException("工作组不存在!"); - } - List subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(one.getProjectId()); - for (PayWorkingGroupSubItemContacts subItemContact : subItemContacts) { - PayContactsManagementTemporary payWorkingTemporary = payContactsManagementTemporaryService.getById(subItemContact.getContactsTemporaryId()); - if (!Objects.isNull(payWorkingTemporary)) { - listId.add(payWorkingTemporary); - } - } - - - receivableAmount = payWorkingGroupSubItemOld.getReceivableAmount(); - PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem(); - if (receivableAmount.compareTo(invoice) == 0 && c == y) { - payWorkingGroupSubItem.setId(one.getProjectId()); - payWorkingGroupSubItem.setMail(constant.ONE); - payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem); - } else if (y <= c && y > 0) { - payWorkingGroupSubItem.setId(one.getProjectId()); - payWorkingGroupSubItem.setMail(constant.TWO); - payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem); - } - } else if (GlobalConstants.THREE.equals(one.getProjectType())) { - PayMeetingSituation meetingPayContactsManagementOld = payMeetingSituationService.getById(one.getProjectId()); - if (Objects.isNull(meetingPayContactsManagementOld)) { - throw new JeroBootException("项目不存在!"); - } - PayMeeting payMeeting = payMeetingService.getById(meetingPayContactsManagementOld.getMeetingId()); - if (Objects.isNull(payMeeting)) { - throw new JeroBootException("会议不存在!"); - } - PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meetingPayContactsManagementOld.getContractId()); - if (!Objects.isNull(meetingPayContactsManagement)) { - String str = JSON.toJSONString(meetingPayContactsManagement); - PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str, PayContactsManagementTemporary.class); - listId.add(meetingTemporary); - } - - receivableAmount = meetingPayContactsManagementOld.getAmountReceivable(); - PayMeetingSituation payMeetingSituation = new PayMeetingSituation(); - if (receivableAmount.compareTo(invoice) == 0 && c == y) { - payMeetingSituation.setId(one.getProjectId()); - payMeetingSituation.setMail(constant.ONE); - payMeetingSituationService.updateById(payMeetingSituation); - } else if (y <= c && y > 0) { - payMeetingSituation.setId(one.getProjectId()); - payMeetingSituation.setMail(constant.TWO); - payMeetingSituationService.updateById(payMeetingSituation); - } - } else if (GlobalConstants.FORE.equals(one.getProjectType())) { - PayMemberProjectSubitem payMemberProjectSubitemOld = payMemberProjectSubitemService.getById(one.getProjectId()); - if (Objects.isNull(payMemberProjectSubitemOld)) { - throw new JeroBootException("项目不存在!"); - } - PayMemberProject payMemberProject = memberProjectService.getById(payMemberProjectSubitemOld.getProjectId()); - if (Objects.isNull(payMemberProject)) { - throw new JeroBootException("会员项目不存在!"); - } - PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(payMemberProjectSubitemOld.getCompanyContactTemporaryId()); - if (!Objects.isNull(memberTemporary)) { - listId.add(memberTemporary); - } - - receivableAmount = payMemberProjectSubitemOld.getAmountReceivable(); - PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem(); - if (receivableAmount.compareTo(invoice) == 0 && c == y) { - payMemberProjectSubitem.setId(one.getProjectId()); - payMemberProjectSubitem.setMail(constant.ONE); - payMemberProjectSubitemService.updateById(payMemberProjectSubitem); - } else if (y <= c && y > 0) { - payMemberProjectSubitem.setId(one.getProjectId()); - payMemberProjectSubitem.setMail(constant.TWO); - payMemberProjectSubitemService.updateById(payMemberProjectSubitem); - } + //之前开票总额+本次开票金额 + invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP); + //税额 + noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,payCommonProject.getInvoiceNoTaxAmount()); + tax = payPaymentRecordService.subtractPaidAmount(tax,payCommonProject.getInvoiceTax()); + break; + // 工作组项目 + case PayIncomeContractCommon.PROJECT_TYPE2: + PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(payMailBillProject.getProjectId()); + amountReceivable = workingGroup.getReceivableAmount();//应收 + needInvoice = workingGroup.getNeedInvoice();//是否需要发票 + oldInvoiceAmount = workingGroup.getInvoiceAmount(); + if(oldInvoiceAmount==null){ + oldInvoiceAmount= new BigDecimal("0"); } - } + //之前开票总额+本次开票金额 + invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP); + //税额 + noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,workingGroup.getInvoiceNoTaxAmount()); + tax = payPaymentRecordService.subtractPaidAmount(tax,workingGroup.getInvoiceTax()); + break; + //会议项目 + case PayIncomeContractCommon.PROJECT_TYPE3: + PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payMailBillProject.getProjectId()); + amountReceivable = meeting.getAmountReceivable();//应收 + needInvoice = meeting.getNeedInvoice();//是否需要发票 + oldInvoiceAmount = meeting.getInvoiceAmount(); + if(oldInvoiceAmount==null){ + oldInvoiceAmount= new BigDecimal("0"); + } + //之前开票总额+本次开票金额 + invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP); + //税额 + noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,meeting.getInvoiceNoTaxAmount()); + tax = payPaymentRecordService.subtractPaidAmount(tax,meeting.getInvoiceTax()); + break; + //会员项目 + case PayIncomeContractCommon.PROJECT_TYPE4: + PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId()); + amountReceivable = memberProject.getAmountReceivable();//应收 + needInvoice = memberProject.getNeedInvoice();//是否需要发票 + oldInvoiceAmount = memberProject.getInvoiceAmount(); + if(oldInvoiceAmount==null){ + oldInvoiceAmount= new BigDecimal("0"); + } + //之前开票总额+本次开票金额 + invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP); + //税额 + noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,memberProject.getInvoiceNoTaxAmount()); + tax = payPaymentRecordService.subtractPaidAmount(tax,memberProject.getInvoiceTax()); + break; + default: + break; + } + + if(amountReceivable==null){ + amountReceivable =new BigDecimal("0"); + } + + BigDecimal zero =new BigDecimal("0"); + + //应收=0 || 不需要开票 + if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){ + makeInvoice= 3; + } + //应收>开票总额 && 开票总额!=0 + if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){ + makeInvoice= 2; + } + //开票总额>=应收 + if(invoiceAmount.compareTo(amountReceivable) > -1){ + makeInvoice= 1; + } + //开票总额为0 + if(invoiceAmount.compareTo(zero)==0){ + makeInvoice= 0; + } + + //更新项目表开票状态 + switch (payMailBillProject.getProjectType().toString()) { + // 普通项目 + case PayIncomeContractCommon.PROJECT_TYPE1: + PayCommonProject newCommon = new PayCommonProject(); + newCommon.setId(payMailBillProject.getProjectId()); + newCommon.setMakeInvoice(makeInvoice); + newCommon.setInvoiceAmount(invoiceAmount); + newCommon.setInvoiceNoTaxAmount(noTaxAmount); + newCommon.setInvoiceTax(tax); + payCommonProjectMapper.updateById(newCommon); + break; + // 工作组项目 + case PayIncomeContractCommon.PROJECT_TYPE2: + PayWorkingGroupSubItem newWorkingGroup = new PayWorkingGroupSubItem(); + newWorkingGroup.setId(payMailBillProject.getProjectId()); + newWorkingGroup.setMakeInvoice(makeInvoice); + newWorkingGroup.setInvoiceAmount(invoiceAmount); + newWorkingGroup.setInvoiceNoTaxAmount(noTaxAmount); + newWorkingGroup.setInvoiceTax(tax); + payWorkingGroupSubItemMapper.updateById(newWorkingGroup); + break; + //会议项目 + case PayIncomeContractCommon.PROJECT_TYPE3: + PayMeetingSituation newMeeting = new PayMeetingSituation(); + newMeeting.setId(payMailBillProject.getProjectId()); + newMeeting.setMakeInvoice(makeInvoice); + newMeeting.setInvoiceAmount(invoiceAmount); + newMeeting.setInvoiceNoTaxAmount(noTaxAmount); + newMeeting.setInvoiceTax(tax); + payMeetingSituationMapper.updateById(newMeeting); + break; + //会员项目 + case PayIncomeContractCommon.PROJECT_TYPE4: + PayMemberProjectSubitem newMemberProject = new PayMemberProjectSubitem(); + newMemberProject.setId(payMailBillProject.getProjectId()); + newMemberProject.setMakeInvoice(makeInvoice); + newMemberProject.setInvoiceAmount(invoiceAmount); + newMemberProject.setInvoiceNoTaxAmount(noTaxAmount); + newMemberProject.setInvoiceTax(tax); + payMemberProjectSubitemMapper.updateById(newMemberProject); + break; + default: + break; } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayConfirmPaymentRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayConfirmPaymentRecordController.java index 258959a9..c0f600c8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayConfirmPaymentRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayConfirmPaymentRecordController.java @@ -153,7 +153,7 @@ public class PayConfirmPaymentRecordController extends JeroController backInvoice(@RequestParam String id) { payMailBillService.backInvoice(id); return Result.OK(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java index 80d6a54f..49c3a59a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java @@ -81,6 +81,14 @@ public interface IPayPaymentRecordService extends IService { * @return */ BigDecimal addPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived); + + /** + * 减去实收并四舍五入 + * @param paidAmount 实收 + * @param amountReceived 到账 + * @return + */ + BigDecimal subtractPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived); /** * 得到到账状态 * @param receivableAmount 应收 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java index ecd866dd..ff91cac4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java @@ -1,7 +1,6 @@ package com.jero.payment.service.impl; import cn.hutool.core.collection.CollStreamUtil; -import com.alibaba.druid.sql.visitor.functions.If; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -78,7 +77,6 @@ import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import javax.validation.constraints.DecimalMax; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; @@ -881,6 +879,24 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl Date: Wed, 3 Jan 2024 19:32:52 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=89=93=E5=8C=85?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/service/impl/PayMeetingSituationServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index a5580b39..4ec3710d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1999,6 +1999,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Wed, 3 Jan 2024 19:36:21 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E6=B7=BB=E5=8A=A0=E9=A2=84=E8=AE=A1=E5=88=B0=E8=B4=A6?= =?UTF-8?q?=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/service/impl/PayMeetingSituationServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 4ec3710d..8cd511b3 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -345,6 +345,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Thu, 4 Jan 2024 17:37:01 +0800 Subject: [PATCH 07/16] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E6=9D=A5=E6=AC=BE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF--=E5=B7=A5=E4=BD=9C=E7=BB=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86--=E5=A4=8D=E5=88=B6=E5=90=8E=E6=88=90?= =?UTF-8?q?=E5=91=98=E5=8D=95=E4=BD=8D=E6=98=AF=E7=A9=BA=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/project/service/impl/PayWorkingGroupServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 1a4e87e4..b97a9983 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -251,7 +251,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl Date: Thu, 4 Jan 2024 17:43:57 +0800 Subject: [PATCH 08/16] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E6=9D=A5=E6=AC=BE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF--=E5=B7=A5=E4=BD=9C=E7=BB=84?= =?UTF-8?q?=E6=88=90=E5=91=98--=E5=AF=BC=E5=87=BA=E5=92=8C=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=A8=A1=E6=9D=BF--=E9=A2=84=E8=AE=A1=E5=88=B0?= =?UTF-8?q?=E8=B4=A6=E6=97=A5=E6=9C=9F=E6=94=B9=E4=B8=BA=E9=A2=84=E4=BC=B0?= =?UTF-8?q?=E5=88=B0=E8=B4=A6=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/member/entity/PayMemberProjectSubitem.java | 6 +++--- .../com/jero/project/entity/PayWorkingGroupSubItem.java | 6 +++--- .../jero/project/vo/excel/PayWorkingGroupSubItemExcel.java | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java index c8b254dd..6846005f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java @@ -385,11 +385,11 @@ public class PayMemberProjectSubitem implements Serializable { //@TableField(exist = false) //private String postContactName; - /**预计到账日期*/ + /**预估到账日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期", width = 15,orderNum = "9") + @ApiModelProperty(value = "预估到账日期") + @Excel(name = "预估到账日期", width = 15,orderNum = "9") private String estimatedArrivalDate; /**预计到账开始日期*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index bbee340f..00f34474 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -126,11 +126,11 @@ public class PayWorkingGroupSubItem implements Serializable { @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal receivableAmount; - /**预计到账日期*/ + /**预估到账日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期",width = 15,format = "yyyy-MM-dd") + @ApiModelProperty(value = "预估到账日期") + @Excel(name = "预估到账日期",width = 15,format = "yyyy-MM-dd") private String estimatedArrivalDate; /**实收金额(元)*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java index 07e4934d..a0c45376 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java @@ -54,11 +54,11 @@ public class PayWorkingGroupSubItemExcel implements Serializable { @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal paidAmount; - /**预计到账日期*/ + /**预估到账日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期",width = 15) + @ApiModelProperty(value = "预估到账日期") + @Excel(name = "预估到账日期",width = 15) private String estimatedArrivalDate; /** From 99d3e9b1bf87564b5aaf495d9f576c10d5be5e82 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 5 Jan 2024 11:42:13 +0800 Subject: [PATCH 09/16] =?UTF-8?q?update=20=E7=BB=9F=E8=AE=A1=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/统计视图(新).sql | 249 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) diff --git a/db/统计视图(新).sql b/db/统计视图(新).sql index fb426024..7733a1b6 100644 --- a/db/统计视图(新).sql +++ b/db/统计视图(新).sql @@ -496,4 +496,253 @@ from (SELECT pwgs.id, ) pp where pp.allMoney is not null and pp.allMoney != 0 +order by pp.createTime; + +drop view v_statistical_all; +create view v_statistical_all as +select pp.id as projectId, + pp.superId, + pp.projectName, + principalName, + chargeCompanyId, + chargeCompanyTemporaryId, + chargeCompanyTemporaryName, + chargeUse, + depart, + createTime, + if(pp.pack = 0, '否', '是') as packText, + year, + payStatue, + departId, + departCode, + principalNameId, + type, + receivableAmount, + allMoney, + comeAllMoney, + billMoney as invoiceAmount, + if(billMoney is null, 0, billMoney) as billMoney, + confirmAmount, + invoiceNoTaxAmount, + paidNoTaxAmount, + confirmNoTaxAmount, + contactsName, + confirmDate, + 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.charge_use as chargeUse, + sd.depart_name as depart, + pwgs.pack as pack, + pwg.year as year, + pwgs.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pwg.principal_id_a as principalNameId, + 2 as type, + pwgs.receivable_amount as receivableAmount, + pwgs.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id + left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id + left join v_payment_record vpr on pwgs.id = vpr.project_id + left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id + group by pwgs.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pcp.pack as pack, + pcp.year as year, + pcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pcp.principal_id as principalNameId, + 1 as type, + pcp.receivable_amount as receivableAmount, + pcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + contacts_temporary_name as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id + left join v_payment_record vpr on pcp.id = vpr.project_id + left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id + group by pcp.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pmps.pack as pack, + pmp.particular_year as year, + pmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pmp.director_id as principalNameId, + 4 as type, + pmps.amount_receivable as receivableAmount, + pmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id + left join v_payment_record vpr on pmps.id = vpr.project_id + left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id + group by pmps.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + pms.pack as pack, + pm.particular_year as year, + pms.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + pm.director_id as principalNameId, + 3 as type, + pms.amount_receivable as receivableAmount, + pms.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + company_contact_name as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id + left join v_payment_record vpr on pms.id = vpr.project_id + left join v_mail_bill_project vmbp on pms.id = vmbp.project_id + group by pms.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tmps.pack as pack, + tmp.year as year, + tmps.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 5 as type, + tmps.amount_receivable as receivableAmount, + tmps.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id + left join v_payment_record vpr on tmps.id = vpr.project_id + left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id + group by tmps.id + 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.charge_use as chargeUse, + sd.depart_name as depart, + tcp.pack as pack, + tmp.year as year, + tcp.in_account as payStatue, + sd.org_code as departCode, + sd.id as departId, + tmp.director_id as principalNameId, + 6 as type, + tcp.amount_receivable as receivableAmount, + tcp.no_tax_amount as allMoney, + vpr.amount_received as comeAllMoney, + vmbp.invoice_amount AS billMoney, + vcpr.amount_received as confirmAmount, + vpr.no_tax_amount as paidNoTaxAmount, + vmbp.no_tax_amount as invoiceNoTaxAmount, + vcpr.no_tax_amount as confirmNoTaxAmount, + liaison_man as contactsName, + vcpr.payment_date as confirmDate, + 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.depart_ids = sd.id) + left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id + left join v_payment_record vpr on tcp.id = vpr.project_id + left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id + group by tcp.id + ) pp order by pp.createTime; \ No newline at end of file From 0077db77795dcd41591375f492ba25fe5dfd4d00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 5 Jan 2024 12:35:27 +0800 Subject: [PATCH 10/16] fix:80462 --- .../meeting/service/impl/PayMeetingSituationServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 8cd511b3..574889fd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1939,6 +1939,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); Page page = new Page<>(pageNo, pageSize); + query.groupBy("p3.project_id"); query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + " p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); // 查看分页数据 @@ -1973,6 +1974,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + "p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); + query.groupBy("p3.project_id"); List list = payMeetingSituationMapper.getMeetingPackStatistics(query); // Step.3 AutoPoi 导出Excel @@ -2000,7 +2002,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Fri, 5 Jan 2024 12:49:35 +0800 Subject: [PATCH 11/16] fix:80460 --- .../impl/PayMeetingSituationServiceImpl.java | 18 ++++++++++++++++++ .../entity/MeetingPackStatisticsSearch.java | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 574889fd..9437eeb1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -2002,6 +2002,24 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Fri, 5 Jan 2024 12:55:47 +0800 Subject: [PATCH 12/16] fix:80460 --- .../impl/PayMeetingSituationServiceImpl.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 9437eeb1..3a88c396 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1939,9 +1939,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); Page page = new Page<>(pageNo, pageSize); - query.groupBy("p3.project_id"); - query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + - " p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); + addOrder(metingPackStatisticsSearch, query); // 查看分页数据 IPage pageList = payMeetingSituationMapper.getMeetingPackStatistics(page,query); List list = pageList.getRecords(); @@ -1972,9 +1970,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); - query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + - "p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); - query.groupBy("p3.project_id"); + addOrder(metingPackStatisticsSearch, query); List list = payMeetingSituationMapper.getMeetingPackStatistics(query); // Step.3 AutoPoi 导出Excel @@ -2002,6 +1998,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query) { + query.groupBy("p3.project_id"); + query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + + " p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); // 排序 if(!StringUtils.isBlank(metingPackStatisticsSearch.getColumn()) && !StringUtils.isBlank(metingPackStatisticsSearch.getOrder())){ String column = ""; @@ -2020,6 +2024,5 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Fri, 5 Jan 2024 13:50:54 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=94=B6=E5=85=A5?= =?UTF-8?q?=E8=A1=A8=E4=B8=8E=E4=BC=9A=E8=AE=AE=E6=8A=A5=E5=90=8D=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/24年1月5日上线变更.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/db/24年1月5日上线变更.sql b/db/24年1月5日上线变更.sql index d124c85c..99b2a76a 100644 --- a/db/24年1月5日上线变更.sql +++ b/db/24年1月5日上线变更.sql @@ -19,3 +19,8 @@ update sys_permission SET `name` = '撤销来款' WHERE id = '157059954573882572 -- pay_meeting_situation 添加预计到账日期 ALTER TABLE `pay_meeting_situation` ADD COLUMN `estimated_arrival_date` datetime COMMENT '预计到账日期'; + +-- 添加索引 +ALTER TABLE pay_meeting_situation ADD INDEX pm_situation_idx_meeting_id (meeting_id); +ALTER TABLE pay_confirm_payment_record ADD INDEX pcpr_idx_project_id (project_id); + From a50321946a3fbff5d1ffcf7430d6f874061a13ce Mon Sep 17 00:00:00 2001 From: sunzheng Date: Fri, 5 Jan 2024 16:30:15 +0800 Subject: [PATCH 14/16] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E6=9D=A5=E6=AC=BE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF--=E8=B5=84=E6=96=99=E7=BD=91?= =?UTF-8?q?=E5=91=98--=E9=A2=84=E4=BC=B0=E5=88=B0=E8=B4=A6=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E5=A1=AB=E5=86=99=E4=BA=86--=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/member/vo/PayMemberProjectSubitemExcel.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java index 83a9b4a0..ce8f2819 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java @@ -114,11 +114,11 @@ public class PayMemberProjectSubitemExcel { @NotBlank(message = "需要发票不能为空") private String needInvoice; - /**预计到账日期*/ + /**预估到账日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期", width = 15,orderNum = "5") + @ApiModelProperty(value = "预估到账日期") + @Excel(name = "预估到账日期", width = 15,orderNum = "5") private String estimatedArrivalDate; @Excel(name = "邮寄联系人手机号", width = 17, orderNum = "4") From b10b1222cd36bc63e24adb830976d4f6cfc6e939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 5 Jan 2024 16:30:59 +0800 Subject: [PATCH 15/16] fix:80462 --- .../mapper/PayMeetingSituationMapper.java | 2 ++ .../mapper/xml/PayMeetingSituationMapper.xml | 9 +++++++++ .../impl/PayMeetingSituationServiceImpl.java | 16 ++++++---------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java index 0550cb4f..3bcb7b90 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java @@ -34,4 +34,6 @@ public interface PayMeetingSituationMapper extends BaseMapper getMeetingPackStatistics(Page page,@Param(Constants.WRAPPER) QueryWrapper query); List getMeetingPackStatistics(@Param(Constants.WRAPPER) QueryWrapper query); + + MeetingPackStatistics getMeetingPackStatisticsCount(@Param(Constants.WRAPPER) QueryWrapper query); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml index 588f71bf..6df0d6aa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml @@ -186,4 +186,13 @@ left join pay_confirm_payment_record p3 on p3.project_id = p1.id ${ew.customSqlSegment} + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 3a88c396..c5970902 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1953,16 +1953,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl querySum = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); - querySum.select("case when sum( p1.amount_receivable ) is null then 0 else sum( p1.amount_receivable ) end AS allMoney,\n" + - "\tcase when sum( p1.confirm_amount ) is null then 0 else sum( p1.confirm_amount ) end AS confirm_amount,\n" + - "\tcase when sum( p1.invoice_amount ) is null then 0 else sum( p1.invoice_amount ) end AS billMoney,\n" + - "\tcase when sum( p1.paid_amount ) is null then 0 else sum( p1.paid_amount ) end AS comeAllMoney "); - List sumList = payMeetingSituationMapper.getMeetingPackStatistics(querySum); + MeetingPackStatistics count = payMeetingSituationMapper.getMeetingPackStatisticsCount(querySum); HashMap hashMap = new HashMap<>(); - hashMap.put("sumOfMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getAllMoney())) ? 0 : sumList.get(0).getAllMoney()); - hashMap.put("sumOfReallyMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getComeAllMoney())) ? 0 : sumList.get(0).getComeAllMoney()); - hashMap.put("sumOfBillMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getBillMoney())) ? 0 : sumList.get(0).getBillMoney()); - hashMap.put("sumOfConfirmAmount", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getConfirmAmount())) ? 0 : sumList.get(0).getConfirmAmount()); + hashMap.put("sumOfMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getAllMoney())) ? 0 : count.getAllMoney()); + hashMap.put("sumOfReallyMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getComeAllMoney())) ? 0 : count.getComeAllMoney()); + hashMap.put("sumOfBillMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getBillMoney())) ? 0 : count.getBillMoney()); + hashMap.put("sumOfConfirmAmount", (Objects.isNull(count) || StringUtils.isBlank(count.getConfirmAmount())) ? 0 : count.getConfirmAmount()); hashMap.put("pageList", pageList); return hashMap; } @@ -1998,12 +1994,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query) { - query.groupBy("p3.project_id"); query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + " p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); // 排序 From 017b8f8bcd1a8474bbd839043ca112762f322554 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 8 Jan 2024 15:24:21 +0800 Subject: [PATCH 16/16] =?UTF-8?q?fix=20=E8=B5=84=E6=96=99=E7=BD=91?= =?UTF-8?q?=E5=91=98=E6=A0=B9=E6=8D=AE=E4=BC=9A=E5=91=98=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayMemberProjectSubitemController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java index 2d67af26..62188e81 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java @@ -85,7 +85,8 @@ public class PayMemberProjectSubitemController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, req.getParameterMap()); + Map parameterMap = req.getParameterMap(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, parameterMap); // 预计到账开始日期 String estimatedArrivalStartDate = payMemberProjectSubitem.getEstimatedArrivalStartDate(); // 预计到账结束日期 @@ -105,6 +106,10 @@ public class PayMemberProjectSubitemController extends JeroController page = new Page<>(pageNo, pageSize); IPage pageList = memberProjectSubitemService.getPage(page, queryWrapper); return Result.OK(pageList);