Merge branch 'master' into 24年二季度其他

# Conflicts:
#	jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java
This commit is contained in:
lijiarao
2024-07-18 09:42:16 +08:00
18 changed files with 1324 additions and 493 deletions
+5
View File
@@ -101,3 +101,8 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `com
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094623023812610', '1802631077112610817', '批量删除', NULL, NULL, NULL, NULL, 2, 'safetyCenter:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:26', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094527150411777', '1802631077112610817', '新增', NULL, NULL, NULL, NULL, 2, 'safetyCenter:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:03', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094461882847233', '1802631077112610817', '查询', '', NULL, NULL, NULL, 2, 'safetyCenter:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:04:47', NULL, NULL, 0, 0, '1', 0, 1);
insert into sys_permission (id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external, external_terminal_show)
values ('1802970571397451777', '1430376424950026242', '功能安全中心会议维护', '/functionalSafetyCenter/FunctionalSafetyConferenceMaintenance', 'functionalSafetyCenter/FunctionalSafetyConferenceMaintenance', null, null, 1, null, '1', 28, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:44:16', null, null, 0, 0, '1', 0, 1),
('1802969401866113025', '1430376424950026242', '功能安全中心参会情况', '/incomePayments/meetManage/AttendanceFunctionalSafetyCenter', 'incomePayments/meetManage/Attendance', null, null, 1, null, '1', 29, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:39:38', 'LKGLZ', '2024-06-18 15:40:36', 0, 0, '1', 0, 1),
('1802967227660554241', '1430376424950026242', '功能安全中心成员维护', '/functionalSafetyCenter/FunctionalSafetyMemberUnitMaintenance', 'functionalSafetyCenter/FunctionalSafetyMemberUnitMaintenance', null, null, 1, null, '1', 26, 0, null, 1, 0, 0, 1, null, 'LKGLZ', '2024-06-18 15:30:59', 'LKGLZ', '2024-06-18 15:31:11', 0, 0, '1', 0, 1),
('1802631077112610817', '', '功能安全中心', '/functionalSafetyCenter', 'functionalSafetyCenter/FunctionalSafetyCenter', null, null, 0, null, '1', 3.2, 0, 'safety', 1, 0, 0, 0, null, 'LKGLZ', '2024-06-17 17:15:15', 'LKGLZ', '2024-07-01 09:46:42', 0, 0, '1', 0, 1);
+655 -123
View File
@@ -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;
@@ -347,4 +347,6 @@ public interface ISysBaseAPI extends CommonAPI {
* @param templateParas 参数
*/
void sendMessage(String phone, String sender,String templateId,String signature,String templateParas);
List<JSONObject> getLogByRequestParam(String requestParam);
}
@@ -631,7 +631,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
projectOutput.setId(p.getId());
// 合同选择了打包
if(Objects.equals(payIncomeContract.getPack(), PackCommon.PACKAGING1)){
payPackCompanyProjectService.setAmountReceivableZero(p.getProjectId(),p.getProjectType()+"");
//
//payPackCompanyProjectService.setAmountReceivableZero(p.getProjectId(),p.getProjectType()+"");
// 获取项目负责人,发送消息
if(StringUtils.isEmpty(principalId)){
return;
@@ -68,8 +68,9 @@ public class IndexController {
@ApiOperation(value = "科室总体统计")
@GetMapping(value = "/overallDepartmentStatistics")
public Result<List<HistogramVO>> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year) {
List<HistogramVO> histogramVOS = indexService.overallDepartmentStatistics(year);
public Result<List<HistogramVO>> overallDepartmentStatistics(@RequestParam(name = "year",required = false) String year,
@RequestParam(name = "type",required = false) String type) {
List<HistogramVO> histogramVOS = indexService.overallDepartmentStatistics(year,type);
return Result.OK(histogramVOS);
}
@@ -182,12 +182,15 @@ public class IndexService {
return list;
}
public List<HistogramVO> overallDepartmentStatistics(String year) {
public List<HistogramVO> overallDepartmentStatistics(String year, String type) {
if(StringUtils.isBlank(year)){
year = String.valueOf(DateUtil.year(new DateTime()));
}
List<DepartStatistics> records = payWorkingGroupMapper.overallDepartmentStatistics(year);
List<DepartStatistics> all = payWorkingGroupMapper.allDepartmentStatistics(year);
if(StringUtils.isBlank(type)){
type = "1";
}
List<DepartStatistics> records = payWorkingGroupMapper.overallDepartmentStatistics(year,type);
List<DepartStatistics> all = payWorkingGroupMapper.allDepartmentStatistics(year,type);
for (DepartStatistics a : all) {
String departName = a.getDepartName();
for (DepartStatistics record : records) {
@@ -242,7 +245,7 @@ public class IndexService {
companyComeMoneySearch.setYear(year);
companyComeMoneySearch.setColumn("allMoney");
companyComeMoneySearch.setOrder("desc");
IPage<CompanyComeMoneyList> pageList = payWorkingGroupService.queryPageListForCompany(page, companyComeMoneySearch, null);
IPage<CompanyComeMoneyList> pageList = payWorkingGroupService.queryPageListForCompanyIndex(page, companyComeMoneySearch, null);
List<CompanyComeMoneyList> records = pageList.getRecords();
return convertCompanyComeMoneyList(records);
@@ -122,9 +122,6 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
LambdaUpdateWrapper<PayMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
update.eq(PayMemberProjectSubitem::getId,payMemberProjectSubitem.getId());
update.set(PayMemberProjectSubitem::getPack,PayProjectCommon.PACKAGING1);
update.set(PayMemberProjectSubitem::getAmountReceivable,BigDecimal.ZERO);
update.set(PayMemberProjectSubitem::getTax,BigDecimal.ZERO);
update.set(PayMemberProjectSubitem::getNoTaxAmount,BigDecimal.ZERO);
update(update);
}
}
@@ -197,9 +194,6 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem.getCompanyContactId(),payIncomeContractAdd.getPackYear(),payMemberProjectSubitem.getId(),PayProjectCommon.PROJECT_TYPE4,payIncomeContractAdd.getPack());
payMemberProjectSubitem.setAmountReceivable(BigDecimal.ZERO);
payMemberProjectSubitem.setTax(BigDecimal.ZERO);
payMemberProjectSubitem.setNoTaxAmount(BigDecimal.ZERO);
}
}
//无法更改状态
@@ -194,9 +194,6 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
LambdaUpdateWrapper<TbMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
update.eq(TbMemberProjectSubitem::getId, tbMemberProjectSubitem.getId());
update.set(TbMemberProjectSubitem::getPack, PayProjectCommon.PACKAGING1);
update.set(TbMemberProjectSubitem::getAmountReceivable,BigDecimal.ZERO);
update.set(TbMemberProjectSubitem::getTax,BigDecimal.ZERO);
update.set(TbMemberProjectSubitem::getNoTaxAmount,BigDecimal.ZERO);
tbMemberProjectSubitemService.update(update);
}
}
@@ -392,9 +389,6 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
LambdaUpdateWrapper<TbMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
update.eq(TbMemberProjectSubitem::getId, tbMemberProjectSubitem.getId());
update.set(TbMemberProjectSubitem::getPack, PayProjectCommon.PACKAGING1);
update.set(TbMemberProjectSubitem::getAmountReceivable,BigDecimal.ZERO);
update.set(TbMemberProjectSubitem::getTax,BigDecimal.ZERO);
update.set(TbMemberProjectSubitem::getNoTaxAmount,BigDecimal.ZERO);
tbMemberProjectSubitemService.update(update);
}
}
@@ -463,9 +457,6 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
if (!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(), PayProjectCommon.PACKAGING1)) {
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
payPackCompanyProjectService.setPack(companyId, liaisonManId, payIncomeContractAdd.getPackYear(), subitemId, PayProjectCommon.PROJECT_TYPE5, payIncomeContractAdd.getPack());
tbMemberProjectSubitem.setAmountReceivable(BigDecimal.ZERO);
tbMemberProjectSubitem.setTax(BigDecimal.ZERO);
tbMemberProjectSubitem.setNoTaxAmount(BigDecimal.ZERO);
}
}
updateById(tbMemberProjectSubitem);
@@ -1,5 +1,6 @@
package com.jero.pack.service.impl;
import cn.hutool.core.thread.ThreadUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -11,11 +12,14 @@ import com.jero.common.mapper.ProjectDetailMapper;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.service.ProjectPackService;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.config.StaticConfig;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbCertificatePayment;
import com.jero.member.entity.TbMemberProjectSubitem;
@@ -23,6 +27,7 @@ import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.mapper.TbCertificatePaymentMapper;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
@@ -36,8 +41,10 @@ import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.pack.vo.PayProjectExcel;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -48,7 +55,10 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
@@ -81,6 +91,8 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
@Resource
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
@Resource
private PayWorkingGroupMapper payWorkingGroupMapper;
@Resource
private PayMeetingSituationMapper payMeetingSituationMapper;
@Resource
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
@@ -89,6 +101,10 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
@Resource
private TbCertificatePaymentMapper certificatePaymentMapper;
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private IPayMemberProjectService payMemberProjectService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@@ -158,7 +174,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
});
payPackCompanyProjectService.saveBatch(listPayPackCompanyProject);
// 将对应的project的待确收金额设为0
setAmountReceivableZero(listPayPackCompanyProject);
//setAmountReceivableZero(listPayPackCompanyProject);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 获取项目负责人,发送消息
@@ -198,7 +214,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
private void setAmountReceivableZero(List<PayPackCompanyProject> listPayPackCompanyProject) {
listPayPackCompanyProject.forEach(p -> {
setAmountReceivableZero(p.getProjectId(), String.valueOf(p.getProjectType()));
//setAmountReceivableZero(p.getProjectId(), String.valueOf(p.getProjectType()));
});
}
@@ -407,10 +423,143 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
List<PayPackCompanyProject> list = this.list(wrapper1);
ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10);
for (PayPackCompanyProject project : list) {
setAmountReceivableZero(project.getProjectId(),project.getProjectType()+"");
fixedThreadPool.submit(() -> {
String projectId = project.getProjectId();
String projectType = project.getProjectType().toString();
// 普通项目
if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){
PayCommonProject old = payCommonProjectMapper.selectById(projectId);
if (old == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) {
return;
}
PayCommonProject payCommonProject = null;
//普通项目管理-添加
List<JSONObject> jsonObjects = sysBaseAPI.getLogByRequestParam(projectId);
if (jsonObjects.isEmpty()) {
return;
}
for (JSONObject jsonObject : jsonObjects) {
String logContent = jsonObject.getString("logContent");
if ("普通项目管理-添加".equals(logContent)) {
String requestParam = jsonObject.getString("requestParam");
requestParam = requestParam.substring(1, requestParam.length() - 1);
payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class);
}
}
if (payCommonProject == null) {
return;
}
PayCommonProject project1 = new PayCommonProject();
project1.setId(projectId);
project1.setReceivableAmount(payCommonProject.getReceivableAmount());
project1.setNoTaxAmount(payCommonProject.getNoTaxAmount());
project1.setTax(payCommonProject.getTax());
payCommonProjectMapper.updateById(project1);
}else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){
// 工作组项目
//工作组成员-修改 工作组成员-添加
PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId);
if (old1 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) {
return;
}
String workingGroupId = old1.getWorkingGroupId();
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId);
BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) {
yearChargeA = new BigDecimal("0.00");
}
PayWorkingGroupSubItem payWorking = null;
List<JSONObject> jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId);
for (JSONObject jsonObject : jsonObjects1) {
String logContent = jsonObject.getString("logContent");
if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) {
String requestParam = jsonObject.getString("requestParam");
requestParam = requestParam.substring(1, requestParam.length() - 1);
PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class);
BigDecimal receivableAmount = obj.getReceivableAmount();
if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) {
return;
} else {
payWorking = obj;
}
}
}
if (payWorking == null) {
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
project2.setId(projectId);
project2.setReceivableAmount(yearChargeA);
BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
project2.setNoTaxAmount(noTaxAmount);
project2.setTax(yearChargeA.subtract(noTaxAmount));
payWorkingGroupSubItemMapper.updateById(project2);
} else {
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
project2.setId(projectId);
project2.setReceivableAmount(payWorking.getReceivableAmount());
project2.setNoTaxAmount(payWorking.getNoTaxAmount());
project2.setTax(payWorking.getTax());
payWorkingGroupSubItemMapper.updateById(project2);
}
}else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
//会员项目
PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId);
if (old2 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) {
return;
}
String memberProjectId = old2.getProjectId();
PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId);
PayMemberProjectSubitem member = new PayMemberProjectSubitem();
member.setId(projectId);
member.setAmountReceivable(memberProject.getChargeStandard());
BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
member.setNoTaxAmount(noTaxAmount);
member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount));
payMemberProjectSubitemMapper.updateById(member);
}else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){
//标协会员
TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId);
if (old3 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) {
return;
}
TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem();
Integer memberNature = old3.getMemberNature();
BigDecimal amountReceivable = null;
if (memberNature.equals(1)) {
amountReceivable = new BigDecimal("5000");
} else {
amountReceivable = new BigDecimal("2000");
}
tbMember.setId(projectId);
tbMember.setAmountReceivable(amountReceivable);
BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
tbMember.setNoTaxAmount(noTaxAmount1);
tbMember.setTax(amountReceivable.subtract(noTaxAmount1));
tbMemberProjectSubitemMapper.updateById(tbMember);
}
});
}
//if (!fixedThreadPool.isShutdown()) {
// fixedThreadPool.shutdown();
//}
//try {
// fixedThreadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
//} catch (InterruptedException e) {
//}
}
}
@@ -57,6 +57,7 @@
where
c.receivable_amount <![CDATA[<>]]> 0
and c.receivable_amount is not null
and c.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND c.principal_id = #{payCommonProject.principalId}
</if>
@@ -93,6 +94,7 @@
where
gsub.receivable_amount <![CDATA[<>]]> 0
and gsub.receivable_amount is not null
and gsub.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND g.principal_id_a = #{payCommonProject.principalId}
</if>
@@ -128,6 +130,7 @@
where
sit.amount_receivable <![CDATA[<>]]> 0
and sit.amount_receivable is not null
and sit.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND meeting.director_id = #{payCommonProject.principalId}
</if>
@@ -163,6 +166,7 @@
where
msub.amount_receivable <![CDATA[<>]]> 0
and msub.amount_receivable is not null
and msub.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND pmp.director_id = #{payCommonProject.principalId}
</if>
@@ -202,6 +206,7 @@
where
tmsub.amount_receivable <![CDATA[<>]]> 0
and tmsub.amount_receivable is not null
and tmsub.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND tmember.director_id = #{payCommonProject.principalId}
</if>
@@ -244,6 +249,7 @@
where
tcp.amount_receivable <![CDATA[<>]]> 0
and tcp.amount_receivable is not null
and tcp.pack = 0
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND tmember.director_id = #{payCommonProject.principalId}
</if>
@@ -103,17 +103,22 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
* @Return
* @Exception
*/
List<AllProjectStatistics> queryPageList3(@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
List<AllProjectStatistics> queryPageListPack3(@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
/**
* @Description 企业来款查询和全所统计
* @Description 全所统计
* @Author zql
* @Date 2021/9/17
* @Param
* @Return
* @Exception
*/
IPage<AllProjectStatistics> queryPageList3(Page<AllProjectStatistics> page, @Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
IPage<AllProjectStatistics> queryPageListPack3(Page<AllProjectStatistics> page, @Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
/**
* @Description 科室统计
*/
IPage<AllProjectStatistics> queryPageListProject(Page<AllProjectStatistics> page, @Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
/**
* 个人来款统计
@@ -149,6 +154,15 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
*/
IPage<PrincipalPeopleDetail> queryPageListForPrincipalDetail(Page<PrincipalPeopleDetail> page, @Param("principalPeopleDetailSearch") PrincipalPeopleDetailSearch principalPeopleDetailSearch);
/**
* 企业来款统计
*
* @param page
* @param companyComeMoneySearch
* @param idList
* @return
*/
IPage<CompanyComeMoneyList> queryPageListForCompanyIndex(Page<CompanyComeMoneyList> page, @Param("companyComeMoneySearch") CompanyComeMoneySearch companyComeMoneySearch, @Param("idList") List<String> idList);
/**
* 企业来款统计
*
@@ -197,8 +211,16 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
List<DepartStatistics> queryPageListForDepartFirstPage();
/**
* 全所统计总计
*/
AllMoney queryPageList33(@Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
/**
* 科室统计总计
*/
AllMoney queryPageListProjectTotal(@Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
AllMoney queryPageListForCompany33(@Param("companyComeMoneySearch") CompanyComeMoneySearch companyComeMoneySearch, @Param("idList") List<String> idList);
AllMoney queryPageListForCompanyDetail33(@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch, @Param("idList") List<String> idList);
@@ -250,7 +272,7 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
AllMoney invoiceAmountList33(@Param("start") Integer start, @Param("end") Integer end, @Param("departCode") String departCode);
List<DepartStatistics> overallDepartmentStatistics(@Param("year") String year);
List<DepartStatistics> overallDepartmentStatistics(@Param("year") String year, @Param("type") String type);
List<DepartStatistics> allDepartmentStatistics(@Param("year") String year);
List<DepartStatistics> allDepartmentStatistics(@Param("year") String year, @Param("type") String type);
}
@@ -448,7 +448,260 @@
</select>
<!-- 全所统计-->
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
<select id="queryPageListPack3" resultType="com.jero.statistics.entity.AllProjectStatistics">
select * from
(select projectId,
projectName,
principalName,
chargeCompanyTemporaryName,
allMoney,
paidNoTaxAmount as comeAllMoney,
chargeUse,
depart,
createTime,
packText,
pack,
invoiceNoTaxAmount as billMoney,
confirmNoTaxAmount as confirmAmount,
year
from
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
v_statistical_pack v
</if>
<if test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
(select
<include refid="v_statistical_confirm_sql"/>
from v_statistical_confirm_pack v
<where>
<choose>
<when test="allProjectStatisticsSearch.paymentMonth != null and allProjectStatisticsSearch.paymentMonth != ''">
and confirmDate like
concat('%',#{allProjectStatisticsSearch.paymentYear},'-',#{allProjectStatisticsSearch.paymentMonth},'%')
</when>
<when test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'%')
</when>
</choose>
</where>
group by projectId
) v
</if>
<where>
<if test="idList != null and idList != ''">
principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND projectName LIKE
concat('%', #{allProjectStatisticsSearch.projectName}, '%')
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND year LIKE
concat(#{allProjectStatisticsSearch.year}, '%')
</if>
<if test="allProjectStatisticsSearch.payStatue != null and allProjectStatisticsSearch.payStatue != ''">
AND payStatue LIKE
concat('%', #{allProjectStatisticsSearch.payStatue}, '%')
</if>
<if test="allProjectStatisticsSearch.departCode != null and allProjectStatisticsSearch.departCode != ''">
AND departCode = #{allProjectStatisticsSearch.departCode}
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND chargeUse = #{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND chargeCompanyTemporaryName LIKE
concat('%', #{allProjectStatisticsSearch.chargeCompanyTemporaryName}, '%')
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND principalNameId = #{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pack = #{allProjectStatisticsSearch.pack}
</if>
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '1'.toString()">
AND estimatedArrivalDate is null
</if>
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '0'.toString()">
AND estimatedArrivalDate is not null
</if>
<choose>
<when test="allProjectStatisticsSearch.estimatedArrivalMonth != null and allProjectStatisticsSearch.estimatedArrivalMonth != ''">
and estimatedArrivalDate like
concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'-',#{allProjectStatisticsSearch.estimatedArrivalMonth},'%')
</when>
<when test="allProjectStatisticsSearch.estimatedArrivalYear != null and allProjectStatisticsSearch.estimatedArrivalYear != ''">
and estimatedArrivalDate like concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'%')
</when>
</choose>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
and allMoney <![CDATA[<]]>=
#{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND allMoney <![CDATA[<]]>= #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
<!--<choose>
<when test="allProjectStatisticsSearch.paymentMonth != null and allProjectStatisticsSearch.paymentMonth != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'-',#{allProjectStatisticsSearch.paymentMonth},'%')
</when>
<when test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'%')
</when>
</choose>-->
<if test="allProjectStatisticsSearch.companyContactName != null and allProjectStatisticsSearch.companyContactName != ''">
and contactsName like concat('%', #{allProjectStatisticsSearch.companyContactName}, '%')
</if>
</where>
group by v.projectId) p
<if test="allProjectStatisticsSearch.column != null and allProjectStatisticsSearch.column != ''">
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'desc'">
order by allMoney desc
</if>
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'desc'">
order by billMoney desc
</if>
<if test="allProjectStatisticsSearch.column == 'confirmAmount' and allProjectStatisticsSearch.order == 'desc'">
order by confirmAmount desc
</if>
<if test="allProjectStatisticsSearch.column == 'confirmAmount' and allProjectStatisticsSearch.order == 'asc'">
order by confirmAmount
</if>
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'asc'">
order by allMoney
</if>
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!-- 全所统计总计-->
<select id="queryPageList33" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,
sum(paidNoTaxAmount) as comeAllMoney,
sum(invoiceNoTaxAmount) as billMoney,
sum(confirmNoTaxAmount) as confirmAmount
from
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
v_statistical_pack v
</if>
<if test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
(select
<include refid="v_statistical_confirm_sql"/>
from v_statistical_confirm_pack v
<where>
<choose>
<when test="allProjectStatisticsSearch.paymentMonth != null and allProjectStatisticsSearch.paymentMonth != ''">
and confirmDate like
concat('%',#{allProjectStatisticsSearch.paymentYear},'-',#{allProjectStatisticsSearch.paymentMonth},'%')
</when>
<when test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'%')
</when>
</choose>
</where>
group by projectId
) v
</if>
<where>
<if test="idList != null and idList != ''">
principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND projectName LIKE
concat('%', #{allProjectStatisticsSearch.projectName}, '%')
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND year LIKE
concat(#{allProjectStatisticsSearch.year}, '%')
</if>
<if test="allProjectStatisticsSearch.payStatue != null and allProjectStatisticsSearch.payStatue != ''">
AND payStatue LIKE
concat('%', #{allProjectStatisticsSearch.payStatue}, '%')
</if>
<if test="allProjectStatisticsSearch.departCode != null and allProjectStatisticsSearch.departCode != ''">
AND departCode = #{allProjectStatisticsSearch.departCode}
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND chargeUse = #{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND chargeCompanyTemporaryName LIKE
concat('%', #{allProjectStatisticsSearch.chargeCompanyTemporaryName}, '%')
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND principalNameId = #{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pack = #{allProjectStatisticsSearch.pack}
</if>
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '1'.toString()">
AND estimatedArrivalDate is null
</if>
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '0'.toString()">
AND estimatedArrivalDate is not null
</if>
<choose>
<when test="allProjectStatisticsSearch.estimatedArrivalMonth != null and allProjectStatisticsSearch.estimatedArrivalMonth != ''">
and estimatedArrivalDate like
concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'-',#{allProjectStatisticsSearch.estimatedArrivalMonth},'%')
</when>
<when test="allProjectStatisticsSearch.estimatedArrivalYear != null and allProjectStatisticsSearch.estimatedArrivalYear != ''">
and estimatedArrivalDate like concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'%')
</when>
</choose>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
and allMoney <![CDATA[<]]>=
#{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND allMoney <![CDATA[<]]>= #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
<!--<choose>
<when test="allProjectStatisticsSearch.paymentMonth != null and allProjectStatisticsSearch.paymentMonth != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'-',#{allProjectStatisticsSearch.paymentMonth},'%')
</when>
<when test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'%')
</when>
</choose>-->
<if test="allProjectStatisticsSearch.companyContactName != null and allProjectStatisticsSearch.companyContactName != ''">
and contactsName like concat('%', #{allProjectStatisticsSearch.companyContactName}, '%')
</if>
</where>
</select>
<!-- 科室统计-->
<select id="queryPageListProject" resultType="com.jero.statistics.entity.AllProjectStatistics">
select * from
(select projectId,
projectName,
@@ -592,8 +845,8 @@
</if>
</select>
<!-- 全所统计总金额统-->
<select id="queryPageList33" resultType="com.jero.statistics.entity.AllMoney">
<!-- 科室统计总计-->
<select id="queryPageListProjectTotal" resultType="com.jero.statistics.entity.AllMoney">
select sum(allMoney) as allMoney,
sum(paidNoTaxAmount) as comeAllMoney,
sum(invoiceNoTaxAmount) as billMoney,
@@ -1316,6 +1569,119 @@
) pp
</select>
<!--企业来款统计首页-->
<select id="queryPageListForCompanyIndex" resultType="com.jero.statistics.entity.CompanyComeMoneyList">
select * from (
select chargeCompanyTemporaryId as chargeCompanyId,
pcm.company_name as chargeCompanyName,
allMoney,
comeAllMoney,
createTime,
CONCAT(CAST(ROUND((confirmAmount / allMoney) * 100, 2) AS CHAR), '%') AS finishRate,
billMoney,
confirmAmount from
(select chargeCompanyId as chargeCompanyTemporaryId,
SUM(allMoney) as allMoney,
sum(paidNoTaxAmount) as comeAllMoney,
createTime,
sum(invoiceNoTaxAmount) as billMoney,
sum(confirmNoTaxAmount) as confirmAmount
from
<if test="companyComeMoneySearch.paymentYear == null or companyComeMoneySearch.paymentYear == ''">
v_statistical_pack v
</if>
<if test="companyComeMoneySearch.paymentYear != null and companyComeMoneySearch.paymentYear != ''">
(select
<include refid="v_statistical_confirm_sql"/>
from v_statistical_confirm_pack v
<where>
<choose>
<when test="companyComeMoneySearch.paymentMonth != null and companyComeMoneySearch.paymentMonth != ''">
and confirmDate like
concat('%',#{companyComeMoneySearch.paymentYear},'-',#{companyComeMoneySearch.paymentMonth},'%')
</when>
<when test="companyComeMoneySearch.paymentYear != null and companyComeMoneySearch.paymentYear != ''">
and confirmDate like concat('%',#{companyComeMoneySearch.paymentYear},'%')
</when>
</choose>
</where>
group by projectId
) v
</if>
<where>
<if test="idList != null and idList != ''">
principalNameId in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.year != null and companyComeMoneySearch.year != ''">
AND year LIKE
concat(#{companyComeMoneySearch.year}, '%')
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
<foreach item="item" index="index" collection="companyComeMoneySearch.chargeCompanyIds"
open="AND chargeCompanyId in (" separator="," close=")">
#{item}
</foreach>
</if>
<!--<choose>
<when test="companyComeMoneySearch.paymentMonth != null and companyComeMoneySearch.paymentMonth != ''">
and confirmDate like concat('%',#{companyComeMoneySearch.paymentYear},'-',#{companyComeMoneySearch.paymentMonth},'%')
</when>
<when test="companyComeMoneySearch.paymentYear != null and companyComeMoneySearch.paymentYear != ''">
and confirmDate like concat('%',#{companyComeMoneySearch.paymentYear},'%')
</when>
</choose>-->
</where>
group by chargeCompanyId
) ppp left join pay_company_management pcm on ppp.chargeCompanyTemporaryId = pcm.id
<where>
<choose>
<when test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != '' and companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
ppp.allMoney >= #{companyComeMoneySearch.allMoney}
and ppp.allMoney <![CDATA[<]]>=
#{companyComeMoneySearch.allMoneyTwo}
</when>
<otherwise>
<if test="companyComeMoneySearch.allMoney != null and companyComeMoneySearch.allMoney != ''">
AND ppp.allMoney >= #{companyComeMoneySearch.allMoney}
</if>
<if test="companyComeMoneySearch.allMoneyTwo != null and companyComeMoneySearch.allMoneyTwo != ''">
AND ppp.allMoney <![CDATA[<]]>= #{companyComeMoneySearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
) p
<if test="companyComeMoneySearch.column != null and companyComeMoneySearch.column != ''">
<if test="companyComeMoneySearch.column == 'allMoney' and companyComeMoneySearch.order == 'desc'">
order by allMoney desc
</if>
<if test="companyComeMoneySearch.column == 'comeAllMoney' and companyComeMoneySearch.order == 'desc'">
order by comeAllMoney desc
</if>
<if test="companyComeMoneySearch.column == 'billMoney' and companyComeMoneySearch.order == 'desc'">
order by billMoney desc
</if>
<if test="companyComeMoneySearch.column == 'confirmAmount' and companyComeMoneySearch.order == 'desc'">
order by confirmAmount desc
</if>
<if test="companyComeMoneySearch.column == 'confirmAmount' and companyComeMoneySearch.order == 'asc'">
order by confirmAmount
</if>
<if test="companyComeMoneySearch.column == 'allMoney' and companyComeMoneySearch.order == 'asc'">
order by allMoney
</if>
<if test="companyComeMoneySearch.column == 'comeAllMoney' and companyComeMoneySearch.order == 'asc'">
order by comeAllMoney
</if>
<if test="companyComeMoneySearch.column == 'billMoney' and companyComeMoneySearch.order == 'asc'">
order by billMoney
</if>
</if>
</select>
<!--企业来款统计-->
<select id="queryPageListForCompany" resultType="com.jero.statistics.entity.CompanyComeMoneyList">
select * from (
@@ -2093,7 +2459,7 @@
<select id="amountClass2" resultType="com.jero.index.vo.AmountClassDTO">
SELECT chargeUse,
ifnull(SUM(${column}),0) as money
FROM v_statistical v
FROM v_statistical_pack v
<where>
year like concat('%',#{year},'%')
<if test="departCode != null and departCode != ''">
@@ -2106,7 +2472,7 @@
<select id="amountClass" resultType="com.jero.index.vo.AmountClassDTO">
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
<where>
and payment_date like concat('%',#{year},'%')
<if test="departCode != null and departCode != ''">
@@ -2117,304 +2483,8 @@
</select>
<select id="amountClass1" resultType="com.jero.index.vo.AmountClassDTO">
SELECT chargeUse,
ifnull(SUM(${column}),0) as money
FROM (select pp.id as projectId,
pp.superId,
pp.projectName,
principalName,
chargeCompanyId,
chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
chargeUse,
depart,
createTime,
if(pp.pack = 0, '否', '是') as packText,
year,
payStatue,
departId,
departCode,
principalNameId,
type,
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.no_tax_amount as allMoney,
pwgs.paid_amount as comeAllMoney,
16 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.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_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(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
where pwgs.charge_way = 2
group by pwgs.id
union all
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.no_tax_amount as allMoney,
pwgs.paid_amount as comeAllMoney,
pwgs.charge_use as chargeUse,
sd.depart_name as depart,
pwgs.pack as pack,
pwg.year as year,
pwgs.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pwg.principal_id_a as principalNameId,
2 as type,
pwgs.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_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(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
where pwgs.charge_way != 2
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.no_tax_amount as allMoney,
pcp.paid_amount as comeAllMoney,
pcp.charge_use as chargeUse,
sd.depart_name as depart,
pcp.pack as pack,
pcp.year as year,
pcp.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pcp.principal_id as principalNameId,
1 as type,
pcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
contacts_temporary_name as contactsName,
GROUP_CONCAT(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
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.no_tax_amount as allMoney,
pmps.paid_amount as comeAllMoney,
pmps.charge_use as chargeUse,
sd.depart_name as depart,
pmps.pack as pack,
pmp.particular_year as year,
pmps.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pmp.director_id as principalNameId,
4 as type,
pmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
company_contact_name as contactsName,
GROUP_CONCAT(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
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.no_tax_amount as allMoney,
pms.paid_amount as comeAllMoney,
pms.charge_use as chargeUse,
sd.depart_name as depart,
pms.pack as pack,
pm.particular_year as year,
pms.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pm.director_id as principalNameId,
3 as type,
pms.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
company_contact_name as contactsName,
GROUP_CONCAT(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
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.no_tax_amount as allMoney,
tmps.paid_amount as comeAllMoney,
tmps.charge_use as chargeUse,
sd.depart_name as depart,
tmps.pack as pack,
tmp.year as year,
tmps.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
tmp.director_id as principalNameId,
5 as type,
tmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
liaison_man as contactsName,
GROUP_CONCAT(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
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.no_tax_amount as allMoney,
tcp.paid_amount as comeAllMoney,
tcp.charge_use as chargeUse,
sd.depart_name as depart,
tcp.pack as pack,
tmp.year as year,
tcp.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
tmp.director_id as principalNameId,
6 as type,
tcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
liaison_man as contactsName,
GROUP_CONCAT(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
group by tcp.id
union all
SELECT pcp.id,
pcp.id as superId,
pcp.company_temporary_name AS projectName,
pcp.pack_principal_name as principalName,
pcp.company_id AS chargeCompanyId,
pcp.company_temporary_id as chargeCompanyTemporaryId,
pcp.company_temporary_name AS chargeCompanyTemporaryName,
pcp.no_tax_amount as allMoney,
pcp.paid_amount as comeAllMoney,
22 as chargeUse,
sd.depart_name as depart,
1 as pack,
pcp.pack_year as year,
pcp.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pcp.pack_principal_id as principalNameId,
1 as type,
pcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
pack_contact_temporary_name as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
pcp.create_time as createTime
FROM pay_pack_company pcp
left JOIN sys_user su on (pcp.pack_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
group by pcp.id
) pp
where pp.allMoney is not null
and pp.allMoney != 0
order by pp.createTime) v
ifnull(SUM(${column}),0) as money
FROM v_statistical_pack v
<where>
year like concat('%',#{year},'%')
<if test="departCode != null and departCode != ''">
@@ -2426,7 +2496,7 @@
<select id="getYearMoneyDTO" resultType="com.jero.index.dto.YearMoneyDTO">
select sum(allMoney) as allMoney, year
from v_statistical v
from v_statistical_pack v
group by year
</select>
@@ -2464,7 +2534,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
<if test="type == 1">
left join v_statistical_pack v on pcpr.project_id = v.projectId
</if>
<if test="type == 2">
left join v_statistical v on pcpr.project_id = v.projectId
</if>
<where>
DATE_FORMAT (payment_date,'%Y') like concat(#{year}, '%')
</where>
@@ -2479,7 +2555,12 @@
select
sum(allMoney) as allMoney,
v.depart as departName
<if test="type == 1">
from v_statistical_pack v
</if>
<if test="type == 2">
from v_statistical v
</if>
<where>
year = #{year}
</where>
@@ -2594,13 +2675,25 @@
<select id="cumulativeListEstimatedArrivalMoney"
resultType="com.jero.statistics.entity.AllProjectStatistics">
select DATE_FORMAT(paymentDate, '%Y-%m') as paymentDate,sum(estimatedArrivalMoney) as estimatedArrivalMoney from (
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate from pay_common_project where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
from pay_common_project
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
and pack = 0
union all
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate from pay_working_group_subitem where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
from pay_working_group_subitem
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
and pack = 0
union all
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate from pay_meeting_situation where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
from pay_meeting_situation
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
and pack = 0
union all
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate from pay_member_project_subitem where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
from pay_member_project_subitem
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
and pack = 0
) dataAll group by DATE_FORMAT(paymentDate, '%Y-%m') order by paymentDate
</select>
</mapper>
@@ -101,6 +101,9 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* 全所查询
*/
IPage<AllProjectStatistics> queryPageList(Page<AllProjectStatistics> page , AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList );
AllMoney queryPageListTotal(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
/**
* 全所查询导出
*/
@@ -160,6 +163,14 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @param idList
* @return
*/
IPage<CompanyComeMoneyList> queryPageListForCompanyIndex(Page<CompanyComeMoneyList> page, CompanyComeMoneySearch companyComeMoneySearch, List<String> idList);
/**
* 企业来款统计
* @param page
* @param companyComeMoneySearch
* @param idList
* @return
*/
IPage<CompanyComeMoneyList> queryPageListForCompany(Page<CompanyComeMoneyList> page, CompanyComeMoneySearch companyComeMoneySearch, List<String> idList);
/**
@@ -217,7 +228,7 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
*/
IPage<AllProjectStatistics> queryPageListForProject(Page<AllProjectStatistics> page, AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
AllMoney queryPageList33(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
AllMoney queryPageListProjectTotal(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
AllMoney queryPageListForCompany33(CompanyComeMoneySearch companyComeMoneySearch, List<String> idList);
@@ -132,9 +132,6 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
update.eq(PayCommonProject::getId,payCommonProject.getId());
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
update.set(PayCommonProject::getReceivableAmount,BigDecimal.ZERO);
update.set(PayCommonProject::getTax,BigDecimal.ZERO);
update.set(PayCommonProject::getNoTaxAmount,BigDecimal.ZERO);
payCommonProjectService.update(update);
}
}
@@ -228,9 +225,6 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContractAdd.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContractAdd.getPack());
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
payCommonProject.setReceivableAmount(BigDecimal.ZERO);
payCommonProject.setTax(BigDecimal.ZERO);
payCommonProject.setNoTaxAmount(BigDecimal.ZERO);
}
}
@@ -443,7 +443,15 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
*/
@Override
public IPage<AllProjectStatistics> queryPageList(Page<AllProjectStatistics> page ,AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList ) {
return payWorkingGroupMapper.queryPageList3(page,allProjectStatisticsSearch,idList);
return payWorkingGroupMapper.queryPageListPack3(page,allProjectStatisticsSearch,idList);
}
/**
* 全所统计总计
*/
@Override
public AllMoney queryPageListTotal(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList);
}
/**
@@ -453,7 +461,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
*/
@Override
public List<AllProjectStatistics> queryPageListExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageList3(allProjectStatisticsSearch,idList);
return payWorkingGroupMapper.queryPageListPack3(allProjectStatisticsSearch,idList);
}
/**
@@ -504,6 +512,17 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
return payWorkingGroupMapper.queryPageListForPrincipalDetail(principalPeopleDetailSearch);
}
/**
* 企业来款统计
* @param page
* @param companyComeMoneySearch
* @param idList
* @return
*/
@Override
public IPage<CompanyComeMoneyList> queryPageListForCompanyIndex(Page<CompanyComeMoneyList> page, CompanyComeMoneySearch companyComeMoneySearch, List<String> idList) {
return payWorkingGroupMapper.queryPageListForCompanyIndex(page,companyComeMoneySearch,idList);
}
/**
* 企业来款统计
* @param page
@@ -569,14 +588,21 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
return payWorkingGroupMapper.queryPageListForDepartFirstPage();
}
/**
* 科室统计
*/
@Override
public IPage<AllProjectStatistics> queryPageListForProject(Page<AllProjectStatistics> page, AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageList3(page,allProjectStatisticsSearch,idList);
return payWorkingGroupMapper.queryPageListProject(page,allProjectStatisticsSearch,idList);
}
/**
* 科室统计总计
*/
@Override
public AllMoney queryPageList33(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList);
public AllMoney queryPageListProjectTotal(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
return payWorkingGroupMapper.queryPageListProjectTotal(allProjectStatisticsSearch, idList);
}
@Override
@@ -275,9 +275,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
update.eq(PayWorkingGroupSubItem::getId, payWorkingGroupSubItem.getId());
update.set(PayWorkingGroupSubItem::getPack, PayProjectCommon.PACKAGING1);
update.set(PayWorkingGroupSubItem::getReceivableAmount,BigDecimal.ZERO);
update.set(PayWorkingGroupSubItem::getTax,BigDecimal.ZERO);
update.set(PayWorkingGroupSubItem::getNoTaxAmount,BigDecimal.ZERO);
payWorkingGroupSubItemService.update(update);
}
}
@@ -411,10 +408,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if (!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(), PayProjectCommon.PACKAGING1)) {
String masterContactsId = payWorkingGroupSubItemContactsMapper.getMasterContactsId(workingGroupSubItemId);
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(), masterContactsId, payIncomeContractAdd.getPackYear(), workingGroupSubItemId, PayProjectCommon.PROJECT_TYPE2, payIncomeContractAdd.getPack());
payWorkingGroupSubItem.setReceivableAmount(BigDecimal.ZERO);
payWorkingGroupSubItem.setTax(BigDecimal.ZERO);
payWorkingGroupSubItem.setNoTaxAmount(BigDecimal.ZERO);
}
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
@@ -590,10 +583,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if (!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(), PayProjectCommon.PACKAGING1)) {
String masterContactsId = payWorkingGroupSubItemContactsMapper.getMasterContactsId(workingGroupSubItemId);
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(), masterContactsId, payIncomeContractAdd.getPackYear(), workingGroupSubItemId, PayProjectCommon.PROJECT_TYPE2, payIncomeContractAdd.getPack());
payWorkingGroupSubItem.setReceivableAmount(BigDecimal.ZERO);
payWorkingGroupSubItem.setTax(BigDecimal.ZERO);
payWorkingGroupSubItem.setNoTaxAmount(BigDecimal.ZERO);
}
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
@@ -941,9 +930,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
update.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
update.set(PayWorkingGroupSubItem::getPack, PayProjectCommon.PACKAGING1);
update.set(PayWorkingGroupSubItem::getReceivableAmount,BigDecimal.ZERO);
update.set(PayWorkingGroupSubItem::getTax,BigDecimal.ZERO);
update.set(PayWorkingGroupSubItem::getNoTaxAmount,BigDecimal.ZERO);
payWorkingGroupSubItemService.update(update);
}
});
@@ -3,7 +3,6 @@ package com.jero.statistics.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
@@ -90,7 +89,7 @@ public class AllProjectStatisticsController {
}
}
AllMoney allMoney = payWorkingGroupService.queryPageList33(allProjectStatisticsSearch, null);
AllMoney allMoney = payWorkingGroupService.queryPageListTotal(allProjectStatisticsSearch, null);
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
@@ -159,7 +158,7 @@ public class AllProjectStatisticsController {
}
}
AllMoney allMoney = payWorkingGroupService.queryPageList33(allProjectStatisticsSearch, idList);
AllMoney allMoney = payWorkingGroupService.queryPageListProjectTotal(allProjectStatisticsSearch, idList);
hashMap.put("sumOfMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getAllMoney());
hashMap.put("sumOfReallyMoney", ObjectUtils.isEmpty(allMoney) ? 0 : allMoney.getComeAllMoney());
@@ -1154,7 +1154,23 @@ public class SysBaseApiImpl implements ISysBaseAPI {
huaWeiSmsUtil.sendMessageNotice( phone, sender, templateId, signature, templateParas);
}
/**
@Override
public List<JSONObject> getLogByRequestParam(String requestParam) {
LambdaQueryWrapper<SysLog> wrapper = new LambdaQueryWrapper<>();
wrapper.like(SysLog::getRequestParam,requestParam);
wrapper.ne(SysLog::getLogContent,"打包项目维护-添加");
wrapper.ne(SysLog::getLogContent,"收入合同-关联");
wrapper.orderByAsc(SysLog::getCreateTime);
List<SysLog> sysLogs = sysLogMapper.selectList(wrapper);
List<JSONObject> jsonObjects = new ArrayList<>();
for (SysLog sysLog : sysLogs) {
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(sysLog));
jsonObjects.add(jsonObject);
}
return jsonObjects;
}
/**
* 根据部门id查询部门所有的父级(不包含自己)
* @author 马志朝
* @date 2021/3/24 8:50