From c2dce605d08f75a14c5641257a16d69952c36070 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 15 Jul 2024 18:06:46 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BF=AE=E6=94=B9=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/统计视图(新).sql | 778 +++++++++++++++--- .../jero/index/contoller/IndexController.java | 5 +- .../com/jero/index/service/IndexService.java | 9 +- .../mapper/xml/PayPaymentRecordMapper.xml | 6 + .../project/mapper/PayWorkingGroupMapper.java | 4 +- .../mapper/xml/PayWorkingGroupMapper.xml | 351 +------- 6 files changed, 711 insertions(+), 442 deletions(-) diff --git a/db/统计视图(新).sql b/db/统计视图(新).sql index e30e8e0b..00ef2e6e 100644 --- a/db/统计视图(新).sql +++ b/db/统计视图(新).sql @@ -250,43 +250,6 @@ from (SELECT pwgs.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 - union all - SELECT - `ppc`.`id` AS `id`, - `ppc`.`id` AS `superId`, - `ppc`.`company_temporary_name` AS `projectName`, - `ppc`.`pack_principal_name` AS `principalName`, - `ppc`.`company_id` AS `chargeCompanyId`, - `ppc`.`company_temporary_id` AS `chargeCompanyTemporaryId`, - `ppc`.`company_temporary_name` AS `chargeCompanyTemporaryName`, - 22 AS `chargeUse`, - `sd`.`depart_name` AS `depart`, - 1 AS `pack`, - `ppc`.`pack_year` AS `year`, - `ppc`.`in_account` AS `payStatue`, - `sd`.`org_code` AS `departCode`, - `sd`.`id` AS `departId`, - `ppc`.`pack_principal_id` AS `principalNameId`, - 8 AS `type`, - `ppc`.`receivable_amount` AS `receivableAmount`, - `ppc`.`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`, - `ppc`.`pack_contact_temporary_name` AS `contactsName`, - `vcpr`.`payment_date` AS `confirmDate`, - `ppc`.`estimated_arrival_date` AS `estimatedArrivalDate`, - `ppc`.`create_time` AS `createTime` - FROM `pay_pack_company` `ppc` - LEFT JOIN `sys_user` `su` ON `ppc`.`pack_principal_id` = `su`.`id` - LEFT JOIN `sys_depart` `sd` ON `su`.`depart_ids` = `sd`.`id` - LEFT JOIN `v_confirm_payment_record` `vcpr` ON `ppc`.`id` = `vcpr`.`project_id` - LEFT JOIN `v_payment_record` `vpr` ON `ppc`.`id` = `vpr`.`project_id` - LEFT JOIN `v_mail_bill_project` `vmbp` ON `ppc`.`id` = `vmbp`.`project_id` - GROUP BY `ppc`.`id` ) pp where pp.allMoney is not null and pp.allMoney != 0 @@ -544,43 +507,6 @@ from (SELECT pwgs.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 - UNION ALL - SELECT - `ppc`.`id` AS `id`, - `ppc`.`id` AS `superId`, - `ppc`.`company_temporary_name` AS `projectName`, - `ppc`.`pack_principal_name` AS `principalName`, - `ppc`.`company_id` AS `chargeCompanyId`, - `ppc`.`company_temporary_id` AS `chargeCompanyTemporaryId`, - `ppc`.`company_temporary_name` AS `chargeCompanyTemporaryName`, - 22 AS `chargeUse`, - `sd`.`depart_name` AS `depart`, - 1 AS `pack`, - `ppc`.`pack_year` AS `year`, - `ppc`.`in_account` AS `payStatue`, - `sd`.`org_code` AS `departCode`, - `sd`.`id` AS `departId`, - `ppc`.`pack_principal_id` AS `principalNameId`, - 8 AS `type`, - `ppc`.`receivable_amount` AS `receivableAmount`, - `ppc`.`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`, - `ppc`.`pack_contact_temporary_name` AS `contactsName`, - `vcpr`.`payment_date` AS `confirmDate`, - `ppc`.`estimated_arrival_date` AS `estimatedArrivalDate`, - `ppc`.`create_time` AS `createTime` - FROM `pay_pack_company` `ppc` - LEFT JOIN `sys_user` `su` ON `ppc`.`pack_principal_id` = `su`.`id` - LEFT JOIN `sys_depart` `sd` ON `su`.`depart_ids` = `sd`.`id` - LEFT JOIN `v_confirm_payment_record` `vcpr` ON `ppc`.`id` = `vcpr`.`project_id` - LEFT JOIN `v_payment_record` `vpr` ON `ppc`.`id` = `vpr`.`project_id` - LEFT JOIN `v_mail_bill_project` `vmbp` ON `ppc`.`id` = `vmbp`.`project_id` - GROUP BY `ppc`.`id` ) pp where pp.allMoney is not null and pp.allMoney != 0 @@ -652,6 +578,7 @@ from (SELECT 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 + where pack = 0 group by pwgs.id union all SELECT pcp.id, @@ -687,6 +614,7 @@ from (SELECT pwgs.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 + where pack = 0 group by pcp.id union all SELECT pmps.id, @@ -723,6 +651,7 @@ from (SELECT pwgs.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 + where pack = 0 group by pmps.id union all SELECT pms.id, @@ -759,6 +688,7 @@ from (SELECT pwgs.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 + where pack = 0 group by pms.id union all SELECT tmps.id, @@ -795,6 +725,7 @@ from (SELECT pwgs.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 + where pack = 0 group by tmps.id union all SELECT tcp.id, @@ -831,42 +762,43 @@ from (SELECT pwgs.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 + where pack = 0 group by tcp.id - UNION ALL - SELECT - `ppc`.`id` AS `id`, - `ppc`.`id` AS `superId`, - `ppc`.`company_temporary_name` AS `projectName`, - `ppc`.`pack_principal_name` AS `principalName`, - `ppc`.`company_id` AS `chargeCompanyId`, - `ppc`.`company_temporary_id` AS `chargeCompanyTemporaryId`, - `ppc`.`company_temporary_name` AS `chargeCompanyTemporaryName`, - 22 AS `chargeUse`, - `sd`.`depart_name` AS `depart`, - 1 AS `pack`, - `ppc`.`pack_year` AS `year`, - `ppc`.`in_account` AS `payStatue`, - `sd`.`org_code` AS `departCode`, - `sd`.`id` AS `departId`, - `ppc`.`pack_principal_id` AS `principalNameId`, - 8 AS `type`, - `ppc`.`receivable_amount` AS `receivableAmount`, - `ppc`.`no_tax_amount` AS `allMoney`, - `ppc`.`paid_amount` AS comeAllMoney, - `ppc`.`invoice_amount` AS `billMoney`, - `ppc`.`confirm_amount` AS `confirmAmount`, - `ppc`.`paid_no_tax_amount` AS `paidNoTaxAmount`, - `ppc`.`invoice_no_tax_amount` AS `invoiceNoTaxAmount`, - `ppc`.`confirm_no_tax_amount` AS `confirmNoTaxAmount`, - `ppc`.`pack_contact_temporary_name` AS `contactsName`, - group_concat( date_format( `pcpr`.`payment_date`, '%Y-%m' ) SEPARATOR ',' ) AS `confirmDate`, - `ppc`.`create_time` AS `createTime` - FROM `pay_pack_company` `ppc` - LEFT JOIN `sys_user` `su` ON `ppc`.`pack_principal_id` = `su`.`id` - LEFT JOIN `sys_depart` `sd` ON `su`.`depart_ids` = `sd`.`id` - LEFT JOIN `pay_confirm_payment_record` `pcpr` ON `ppc`.`id` = `pcpr`.`project_id` - GROUP BY - `ppc`.`id` +# UNION ALL +# SELECT +# ppc.id AS id, +# ppc.id AS superId, +# ppc.company_temporary_name AS projectName, +# ppc.pack_principal_name AS principalName, +# ppc.company_id AS chargeCompanyId, +# ppc.company_temporary_id AS chargeCompanyTemporaryId, +# ppc.company_temporary_name AS chargeCompanyTemporaryName, +# 22 AS chargeUse, +# sd.depart_name AS depart, +# 1 AS pack, +# ppc.pack_year AS year, +# ppc.in_account AS payStatue, +# sd.org_code AS departCode, +# sd.id AS departId, +# ppc.pack_principal_id AS principalNameId, +# 8 AS type, +# ppc.receivable_amount AS receivableAmount, +# ppc.no_tax_amount AS allMoney, +# ppc.paid_amount AS comeAllMoney, +# ppc.invoice_amount AS billMoney, +# ppc.confirm_amount AS confirmAmount, +# ppc.paid_no_tax_amount AS paidNoTaxAmount, +# ppc.invoice_no_tax_amount AS invoiceNoTaxAmount, +# ppc.confirm_no_tax_amount AS confirmNoTaxAmount, +# ppc.pack_contact_temporary_name AS contactsName, +# group_concat( date_format( pcpr.payment_date, '%Y-%m' ) SEPARATOR ',' ) AS confirmDate, +# ppc.create_time AS createTime +# FROM pay_pack_company ppc +# LEFT JOIN sys_user su ON ppc.pack_principal_id = su.id +# LEFT JOIN sys_depart sd ON su.depart_ids = sd.id +# LEFT JOIN pay_confirm_payment_record pcpr ON ppc.id = pcpr.project_id +# GROUP BY +# ppc.id ) pp order by pp.createTime; @@ -904,30 +836,630 @@ FROM drop view v_project_id; create view v_project_id as SELECT - `pay_working_group_subitem`.`id` AS `id` + pay_working_group_subitem.id AS id FROM - `pay_working_group_subitem` UNION ALL + pay_working_group_subitem UNION ALL SELECT - `pay_common_project`.`id` AS `id` + pay_common_project.id AS id FROM - `pay_common_project` UNION ALL + pay_common_project UNION ALL SELECT - `pay_member_project_subitem`.`id` AS `id` + pay_member_project_subitem.id AS id FROM - `pay_member_project_subitem` UNION ALL + pay_member_project_subitem UNION ALL SELECT - `pay_meeting_situation`.`id` AS `id` + pay_meeting_situation.id AS id FROM - `pay_meeting_situation` UNION ALL + pay_meeting_situation UNION ALL SELECT - `tb_member_project_subitem`.`id` AS `id` + tb_member_project_subitem.id AS id FROM - `tb_member_project_subitem` UNION ALL + tb_member_project_subitem UNION ALL SELECT - `tb_certificate_payment`.`id` AS `id` + tb_certificate_payment.id AS id FROM - `tb_certificate_payment` UNION ALL + tb_certificate_payment UNION ALL SELECT - `pay_pack_company`.`id` AS `id` + pay_pack_company.id AS id FROM - `pay_pack_company`; + pay_pack_company; + +drop view if exists v_statistical_pack; +create view v_statistical_pack 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, + estimatedArrivalDate, + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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, + null as estimatedArrivalDate, + 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 + where pack = 0 + 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, + null as estimatedArrivalDate, + 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 + where pack = 0 + group by tcp.id + union all + SELECT + ppc.id AS id, + ppc.id AS superId, + ppc.company_temporary_name AS projectName, + ppc.pack_principal_name AS principalName, + ppc.company_id AS chargeCompanyId, + ppc.company_temporary_id AS chargeCompanyTemporaryId, + ppc.company_temporary_name AS chargeCompanyTemporaryName, + 22 AS chargeUse, + sd.depart_name AS depart, + 1 AS pack, + ppc.pack_year AS year, + ppc.in_account AS payStatue, + sd.org_code AS departCode, + sd.id AS departId, + ppc.pack_principal_id AS principalNameId, + 8 AS type, + ppc.receivable_amount AS receivableAmount, + ppc.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, + ppc.pack_contact_temporary_name AS contactsName, + vcpr.payment_date AS confirmDate, + ppc.estimated_arrival_date AS estimatedArrivalDate, + ppc.create_time AS createTime + FROM pay_pack_company ppc + LEFT JOIN sys_user su ON ppc.pack_principal_id = su.id + LEFT JOIN sys_depart sd ON su.depart_ids = sd.id + LEFT JOIN v_confirm_payment_record vcpr ON ppc.id = vcpr.project_id + LEFT JOIN v_payment_record vpr ON ppc.id = vpr.project_id + LEFT JOIN v_mail_bill_project vmbp ON ppc.id = vmbp.project_id + GROUP BY ppc.id + ) pp +where pp.allMoney is not null + and pp.allMoney != 0 +order by pp.createTime; + +drop view if exists v_statistical_confirm_pack; +create view v_statistical_confirm_pack 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, + estimatedArrivalDate, + 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, + vcpr.payment_date as confirmDate, + pwgs.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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.estimated_arrival_date as estimatedArrivalDate, + 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 + where pack = 0 + 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, + null as estimatedArrivalDate, + 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 + where pack = 0 + 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, + null as estimatedArrivalDate, + 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 + where pack = 0 + group by tcp.id + UNION ALL + SELECT + ppc.id AS id, + ppc.id AS superId, + ppc.company_temporary_name AS projectName, + ppc.pack_principal_name AS principalName, + ppc.company_id AS chargeCompanyId, + ppc.company_temporary_id AS chargeCompanyTemporaryId, + ppc.company_temporary_name AS chargeCompanyTemporaryName, + 22 AS chargeUse, + sd.depart_name AS depart, + 1 AS pack, + ppc.pack_year AS year, + ppc.in_account AS payStatue, + sd.org_code AS departCode, + sd.id AS departId, + ppc.pack_principal_id AS principalNameId, + 8 AS type, + ppc.receivable_amount AS receivableAmount, + ppc.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, + ppc.pack_contact_temporary_name AS contactsName, + vcpr.payment_date AS confirmDate, + ppc.estimated_arrival_date AS estimatedArrivalDate, + ppc.create_time AS createTime + FROM pay_pack_company ppc + LEFT JOIN sys_user su ON ppc.pack_principal_id = su.id + LEFT JOIN sys_depart sd ON su.depart_ids = sd.id + LEFT JOIN v_confirm_payment_record vcpr ON ppc.id = vcpr.project_id + LEFT JOIN v_payment_record vpr ON ppc.id = vpr.project_id + LEFT JOIN v_mail_bill_project vmbp ON ppc.id = vmbp.project_id + GROUP BY ppc.id + ) pp +where pp.allMoney is not null + and pp.allMoney != 0 +order by pp.createTime; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java index 65d1e8a1..7d9b64d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java @@ -68,8 +68,9 @@ public class IndexController { @ApiOperation(value = "科室总体统计") @GetMapping(value = "/overallDepartmentStatistics") - public Result> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year) { - List histogramVOS = indexService.overallDepartmentStatistics(year); + public Result> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year, + @RequestParam(name = "type",required = false) String type) { + List histogramVOS = indexService.overallDepartmentStatistics(year,type); return Result.OK(histogramVOS); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java index c614c789..24c162ba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java @@ -182,12 +182,15 @@ public class IndexService { return list; } - public List overallDepartmentStatistics(String year) { + public List overallDepartmentStatistics(String year, String type) { if(StringUtils.isBlank(year)){ year = String.valueOf(DateUtil.year(new DateTime())); } - List records = payWorkingGroupMapper.overallDepartmentStatistics(year); - List all = payWorkingGroupMapper.allDepartmentStatistics(year); + if(StringUtils.isBlank(type)){ + type = "1"; + } + List records = payWorkingGroupMapper.overallDepartmentStatistics(year,type); + List all = payWorkingGroupMapper.allDepartmentStatistics(year,type); for (DepartStatistics a : all) { String departName = a.getDepartName(); for (DepartStatistics record : records) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml index 4881a519..f2e488c9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml @@ -57,6 +57,7 @@ where c.receivable_amount ]]> 0 and c.receivable_amount is not null + and c.pack = 0 AND c.principal_id = #{payCommonProject.principalId} @@ -93,6 +94,7 @@ where gsub.receivable_amount ]]> 0 and gsub.receivable_amount is not null + and gsub.pack = 0 AND g.principal_id_a = #{payCommonProject.principalId} @@ -128,6 +130,7 @@ where sit.amount_receivable ]]> 0 and sit.amount_receivable is not null + and sit.pack = 0 AND meeting.director_id = #{payCommonProject.principalId} @@ -163,6 +166,7 @@ where msub.amount_receivable ]]> 0 and msub.amount_receivable is not null + and msub.pack = 0 AND pmp.director_id = #{payCommonProject.principalId} @@ -202,6 +206,7 @@ where tmsub.amount_receivable ]]> 0 and tmsub.amount_receivable is not null + and tmsub.pack = 0 AND tmember.director_id = #{payCommonProject.principalId} @@ -244,6 +249,7 @@ where tcp.amount_receivable ]]> 0 and tcp.amount_receivable is not null + and tcp.pack = 0 AND tmember.director_id = #{payCommonProject.principalId} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index de3f4c2c..19e09f0b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -250,7 +250,7 @@ public interface PayWorkingGroupMapper extends BaseMapper { AllMoney invoiceAmountList33(@Param("start") Integer start, @Param("end") Integer end, @Param("departCode") String departCode); - List overallDepartmentStatistics(@Param("year") String year); + List overallDepartmentStatistics(@Param("year") String year, @Param("type") String type); - List allDepartmentStatistics(@Param("year") String year); + List allDepartmentStatistics(@Param("year") String year, @Param("type") String type); } 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 29ceac74..64f5358b 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 @@ -462,12 +462,12 @@ year from - v_statistical v + v_statistical_pack v (select - from v_statistical_confirm v + from v_statistical_confirm_pack v @@ -596,12 +596,12 @@ sum(confirmNoTaxAmount) as confirmAmount from - v_statistical v + v_statistical_pack v (select - from v_statistical_confirm v + from v_statistical_confirm_pack v @@ -1331,12 +1331,12 @@ sum(confirmNoTaxAmount) as confirmAmount from - v_statistical v + v_statistical_pack v (select - from v_statistical_confirm v + from v_statistical_confirm_pack v @@ -2089,7 +2089,7 @@ SELECT chargeUse, ifnull(SUM(pcpr.${column}),0) as money - FROM pay_confirm_payment_record pcpr left join v_statistical v on pcpr.project_id = v.projectId + FROM pay_confirm_payment_record pcpr left join v_statistical_pack v on pcpr.project_id = v.projectId and payment_date like concat('%',#{year},'%') @@ -2113,304 +2113,8 @@ select sum(allMoney) as allMoney, year - from v_statistical v + from v_statistical_pack v group by year @@ -2460,7 +2164,13 @@ select sum(no_tax_amount) as confirmAmount, v.depart as departName - from pay_confirm_payment_record pcpr left join v_statistical v on pcpr.project_id = v.projectId + from pay_confirm_payment_record pcpr + + left join v_statistical_pack v on pcpr.project_id = v.projectId + + + left join v_statistical v on pcpr.project_id = v.projectId + DATE_FORMAT (payment_date,'%Y') like concat(#{year}, '%') @@ -2475,7 +2185,12 @@ select sum(allMoney) as allMoney, v.depart as departName + + from v_statistical_pack v + + from v_statistical v + year = #{year} @@ -2590,13 +2305,25 @@