Merge branch 'master' into branch20241月中旬
This commit is contained in:
@@ -19,3 +19,8 @@ update sys_permission SET `name` = '撤销来款' WHERE id = '157059954573882572
|
||||
|
||||
-- pay_meeting_situation 添加预计到账日期
|
||||
ALTER TABLE `pay_meeting_situation` ADD COLUMN `estimated_arrival_date` datetime COMMENT '预计到账日期';
|
||||
|
||||
-- 添加索引
|
||||
ALTER TABLE pay_meeting_situation ADD INDEX pm_situation_idx_meeting_id (meeting_id);
|
||||
ALTER TABLE pay_confirm_payment_record ADD INDEX pcpr_idx_project_id (project_id);
|
||||
|
||||
|
||||
+23
-1
@@ -947,4 +947,26 @@ from (SELECT pwgs.id,
|
||||
left join pay_confirm_payment_record pcpr on tcp.id = pcpr.project_id
|
||||
group by tcp.id
|
||||
) pp
|
||||
order by pp.createTime;
|
||||
order by pp.createTime;
|
||||
|
||||
create view v_confirm_payment_record as
|
||||
select project_id,
|
||||
sum(amount_received) as amount_received,
|
||||
sum(no_tax_amount) as no_tax_amount,
|
||||
GROUP_CONCAT(DATE_FORMAT(payment_date, '%Y-%m')) as payment_date
|
||||
from pay_confirm_payment_record
|
||||
group by project_id;
|
||||
|
||||
create view v_payment_record as
|
||||
select project_id,
|
||||
sum(amount_received) as amount_received,
|
||||
sum(no_tax_amount) as no_tax_amount
|
||||
from pay_payment_record
|
||||
group by project_id;
|
||||
|
||||
create view v_mail_bill_project as
|
||||
select project_id,
|
||||
sum(invoice_amount) as invoice_amount,
|
||||
sum(no_tax_amount) as no_tax_amount
|
||||
from pay_mail_bill_project
|
||||
group by project_id;
|
||||
+748
@@ -0,0 +1,748 @@
|
||||
drop view v_statistical;
|
||||
create view v_statistical as
|
||||
select pp.id as projectId,
|
||||
pp.superId,
|
||||
pp.projectName,
|
||||
principalName,
|
||||
chargeCompanyId,
|
||||
chargeCompanyTemporaryId,
|
||||
chargeCompanyTemporaryName,
|
||||
chargeUse,
|
||||
depart,
|
||||
createTime,
|
||||
if(pp.pack = 0, '否', '是') as packText,
|
||||
year,
|
||||
payStatue,
|
||||
departId,
|
||||
departCode,
|
||||
principalNameId,
|
||||
type,
|
||||
receivableAmount,
|
||||
allMoney,
|
||||
comeAllMoney,
|
||||
if(billMoney is null, 0, billMoney) as billMoney,
|
||||
confirmAmount,
|
||||
paidNoTaxAmount,
|
||||
invoiceNoTaxAmount,
|
||||
confirmNoTaxAmount,
|
||||
contactsName,
|
||||
confirmDate,
|
||||
pp.pack
|
||||
from (SELECT pwgs.id,
|
||||
pwg.id as superId,
|
||||
pwg.working_group_project AS projectName,
|
||||
pwg.principal_name_a as principalName,
|
||||
pwgs.charge_company_id AS chargeCompanyId,
|
||||
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pwgs.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pwgs.pack as pack,
|
||||
pwg.year as year,
|
||||
pwgs.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pwg.principal_id_a as principalNameId,
|
||||
2 as type,
|
||||
pwgs.receivable_amount as receivableAmount,
|
||||
pwgs.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) as contactsName,
|
||||
GROUP_CONCAT(DISTINCT DATE_FORMAT(vcpr.payment_date,'%Y-%m')) as confirmDate,
|
||||
pwgs.create_time as createTime
|
||||
FROM pay_working_group pwg
|
||||
right join pay_working_group_subitem pwgs on (pwg.id = pwgs.working_group_id)
|
||||
left JOIN sys_user su on (pwg.principal_id_a = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id
|
||||
left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pwgs.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id
|
||||
group by pwgs.id
|
||||
union all
|
||||
SELECT pcp.id,
|
||||
pcp.id as superId,
|
||||
pcp.charge_project AS projectName,
|
||||
pcp.principal_name as principalName,
|
||||
pcp.charge_company_id AS chargeCompanyId,
|
||||
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pcp.pack as pack,
|
||||
pcp.year as year,
|
||||
pcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pcp.principal_id as principalNameId,
|
||||
1 as type,
|
||||
pcp.receivable_amount as receivableAmount,
|
||||
pcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
contacts_temporary_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pcp.create_time as createTime
|
||||
FROM pay_common_project pcp
|
||||
left JOIN sys_user su on (pcp.principal_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id
|
||||
group by pcp.id
|
||||
union all
|
||||
SELECT pmps.id,
|
||||
pmp.id as superId,
|
||||
pmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pmps.company_id AS chargeCompanyId,
|
||||
pmps.company_id as chargeCompanyTemporaryId,
|
||||
pmps.company_name AS chargeCompanyTemporaryName,
|
||||
pmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pmps.pack as pack,
|
||||
pmp.particular_year as year,
|
||||
pmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pmp.director_id as principalNameId,
|
||||
4 as type,
|
||||
pmps.amount_receivable as receivableAmount,
|
||||
pmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pmps.create_time as createTime
|
||||
FROM pay_member_project_subitem pmps
|
||||
left join pay_member_project pmp on (pmp.id = pmps.project_id)
|
||||
left JOIN sys_user su on (pmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id
|
||||
group by pmps.id
|
||||
union all
|
||||
SELECT pms.id,
|
||||
pm.id as superId,
|
||||
pm.meeting_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pms.company_id AS chargeCompanyId,
|
||||
pms.company_id as chargeCompanyTemporaryId,
|
||||
pms.company_name AS chargeCompanyTemporaryName,
|
||||
pms.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pms.pack as pack,
|
||||
pm.particular_year as year,
|
||||
pms.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pm.director_id as principalNameId,
|
||||
3 as type,
|
||||
pms.amount_receivable as receivableAmount,
|
||||
pms.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pms.create_time as createTime
|
||||
FROM pay_meeting pm
|
||||
right join pay_meeting_situation pms on (pm.id = pms.meeting_id)
|
||||
left JOIN sys_user su on (pm.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pms.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pms.id = vmbp.project_id
|
||||
group by pms.id
|
||||
union all
|
||||
SELECT tmps.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tmps.company_id AS chargeCompanyId,
|
||||
tmps.company_id as chargeCompanyTemporaryId,
|
||||
tmps.company_name AS chargeCompanyTemporaryName,
|
||||
tmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tmps.pack as pack,
|
||||
tmp.year as year,
|
||||
tmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
5 as type,
|
||||
tmps.amount_receivable as receivableAmount,
|
||||
tmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id
|
||||
group by tmps.id
|
||||
union all
|
||||
SELECT tcp.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tcp.company_id AS chargeCompanyId,
|
||||
tcp.company_id as chargeCompanyTemporaryId,
|
||||
tcp.company_name AS chargeCompanyTemporaryName,
|
||||
tcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tcp.pack as pack,
|
||||
tmp.year as year,
|
||||
tcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
6 as type,
|
||||
tcp.amount_receivable as receivableAmount,
|
||||
tcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tcp.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_certificate_payment tcp on (tmp.id = tcp.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id
|
||||
group by tcp.id
|
||||
) pp
|
||||
where pp.allMoney is not null
|
||||
and pp.allMoney != 0
|
||||
order by pp.createTime;
|
||||
|
||||
drop view v_statistical_confirm;
|
||||
create view v_statistical_confirm as
|
||||
select pp.id as projectId,
|
||||
pp.superId,
|
||||
pp.projectName,
|
||||
principalName,
|
||||
chargeCompanyId,
|
||||
chargeCompanyTemporaryId,
|
||||
chargeCompanyTemporaryName,
|
||||
chargeUse,
|
||||
depart,
|
||||
createTime,
|
||||
if(pp.pack = 0, '否', '是') as packText,
|
||||
year,
|
||||
payStatue,
|
||||
departId,
|
||||
departCode,
|
||||
principalNameId,
|
||||
type,
|
||||
receivableAmount,
|
||||
allMoney,
|
||||
comeAllMoney,
|
||||
if(billMoney is null, 0, billMoney) as billMoney,
|
||||
confirmAmount,
|
||||
invoiceNoTaxAmount,
|
||||
paidNoTaxAmount,
|
||||
confirmNoTaxAmount,
|
||||
contactsName,
|
||||
confirmDate,
|
||||
pp.pack
|
||||
from (SELECT pwgs.id,
|
||||
pwg.id as superId,
|
||||
pwg.working_group_project AS projectName,
|
||||
pwg.principal_name_a as principalName,
|
||||
pwgs.charge_company_id AS chargeCompanyId,
|
||||
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pwgs.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pwgs.pack as pack,
|
||||
pwg.year as year,
|
||||
pwgs.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pwg.principal_id_a as principalNameId,
|
||||
2 as type,
|
||||
pwgs.receivable_amount as receivableAmount,
|
||||
pwgs.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
(select GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) from pay_working_group_subitem_contacts pwgsc where pwgsc.working_group_sub_id = pwgs.id) as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pwgs.create_time as createTime
|
||||
FROM pay_working_group pwg
|
||||
right join pay_working_group_subitem pwgs on (pwg.id = pwgs.working_group_id)
|
||||
left JOIN sys_user su on (pwg.principal_id_a = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id
|
||||
left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pwgs.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id
|
||||
group by pwgs.id
|
||||
union all
|
||||
SELECT pcp.id,
|
||||
pcp.id as superId,
|
||||
pcp.charge_project AS projectName,
|
||||
pcp.principal_name as principalName,
|
||||
pcp.charge_company_id AS chargeCompanyId,
|
||||
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pcp.pack as pack,
|
||||
pcp.year as year,
|
||||
pcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pcp.principal_id as principalNameId,
|
||||
1 as type,
|
||||
pcp.receivable_amount as receivableAmount,
|
||||
pcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
contacts_temporary_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pcp.create_time as createTime
|
||||
FROM pay_common_project pcp
|
||||
left JOIN sys_user su on (pcp.principal_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id
|
||||
group by pcp.id
|
||||
union all
|
||||
SELECT pmps.id,
|
||||
pmp.id as superId,
|
||||
pmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pmps.company_id AS chargeCompanyId,
|
||||
pmps.company_id as chargeCompanyTemporaryId,
|
||||
pmps.company_name AS chargeCompanyTemporaryName,
|
||||
pmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pmps.pack as pack,
|
||||
pmp.particular_year as year,
|
||||
pmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pmp.director_id as principalNameId,
|
||||
4 as type,
|
||||
pmps.amount_receivable as receivableAmount,
|
||||
pmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pmps.create_time as createTime
|
||||
FROM pay_member_project pmp
|
||||
right join pay_member_project_subitem pmps on (pmp.id = pmps.project_id)
|
||||
left JOIN sys_user su on (pmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id
|
||||
group by pmps.id
|
||||
union all
|
||||
SELECT pms.id,
|
||||
pm.id as superId,
|
||||
pm.meeting_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pms.company_id AS chargeCompanyId,
|
||||
pms.company_id as chargeCompanyTemporaryId,
|
||||
pms.company_name AS chargeCompanyTemporaryName,
|
||||
pms.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pms.pack as pack,
|
||||
pm.particular_year as year,
|
||||
pms.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pm.director_id as principalNameId,
|
||||
3 as type,
|
||||
pms.amount_receivable as receivableAmount,
|
||||
pms.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pms.create_time as createTime
|
||||
FROM pay_meeting pm
|
||||
right join pay_meeting_situation pms on (pm.id = pms.meeting_id)
|
||||
left JOIN sys_user su on (pm.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pms.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pms.id = vmbp.project_id
|
||||
group by pms.id
|
||||
union all
|
||||
SELECT tmps.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tmps.company_id AS chargeCompanyId,
|
||||
tmps.company_id as chargeCompanyTemporaryId,
|
||||
tmps.company_name AS chargeCompanyTemporaryName,
|
||||
tmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tmps.pack as pack,
|
||||
tmp.year as year,
|
||||
tmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
5 as type,
|
||||
tmps.amount_receivable as receivableAmount,
|
||||
tmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id
|
||||
group by tmps.id
|
||||
union all
|
||||
SELECT tcp.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tcp.company_id AS chargeCompanyId,
|
||||
tcp.company_id as chargeCompanyTemporaryId,
|
||||
tcp.company_name AS chargeCompanyTemporaryName,
|
||||
tcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tcp.pack as pack,
|
||||
tmp.year as year,
|
||||
tcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
6 as type,
|
||||
tcp.amount_receivable as receivableAmount,
|
||||
tcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tcp.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_certificate_payment tcp on (tmp.id = tcp.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id
|
||||
group by tcp.id
|
||||
) pp
|
||||
where pp.allMoney is not null
|
||||
and pp.allMoney != 0
|
||||
order by pp.createTime;
|
||||
|
||||
drop view v_statistical_all;
|
||||
create view v_statistical_all as
|
||||
select pp.id as projectId,
|
||||
pp.superId,
|
||||
pp.projectName,
|
||||
principalName,
|
||||
chargeCompanyId,
|
||||
chargeCompanyTemporaryId,
|
||||
chargeCompanyTemporaryName,
|
||||
chargeUse,
|
||||
depart,
|
||||
createTime,
|
||||
if(pp.pack = 0, '否', '是') as packText,
|
||||
year,
|
||||
payStatue,
|
||||
departId,
|
||||
departCode,
|
||||
principalNameId,
|
||||
type,
|
||||
receivableAmount,
|
||||
allMoney,
|
||||
comeAllMoney,
|
||||
billMoney as invoiceAmount,
|
||||
if(billMoney is null, 0, billMoney) as billMoney,
|
||||
confirmAmount,
|
||||
invoiceNoTaxAmount,
|
||||
paidNoTaxAmount,
|
||||
confirmNoTaxAmount,
|
||||
contactsName,
|
||||
confirmDate,
|
||||
pp.pack
|
||||
from (SELECT pwgs.id,
|
||||
pwg.id as superId,
|
||||
pwg.working_group_project AS projectName,
|
||||
pwg.principal_name_a as principalName,
|
||||
pwgs.charge_company_id AS chargeCompanyId,
|
||||
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pwgs.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pwgs.pack as pack,
|
||||
pwg.year as year,
|
||||
pwgs.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pwg.principal_id_a as principalNameId,
|
||||
2 as type,
|
||||
pwgs.receivable_amount as receivableAmount,
|
||||
pwgs.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pwgs.create_time as createTime
|
||||
FROM pay_working_group pwg
|
||||
right join pay_working_group_subitem pwgs on (pwg.id = pwgs.working_group_id)
|
||||
left JOIN sys_user su on (pwg.principal_id_a = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id
|
||||
left join v_confirm_payment_record vcpr on pwgs.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pwgs.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pwgs.id = vmbp.project_id
|
||||
group by pwgs.id
|
||||
union all
|
||||
SELECT pcp.id,
|
||||
pcp.id as superId,
|
||||
pcp.charge_project AS projectName,
|
||||
pcp.principal_name as principalName,
|
||||
pcp.charge_company_id AS chargeCompanyId,
|
||||
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pcp.pack as pack,
|
||||
pcp.year as year,
|
||||
pcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pcp.principal_id as principalNameId,
|
||||
1 as type,
|
||||
pcp.receivable_amount as receivableAmount,
|
||||
pcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
contacts_temporary_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pcp.create_time as createTime
|
||||
FROM pay_common_project pcp
|
||||
left JOIN sys_user su on (pcp.principal_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pcp.id = vmbp.project_id
|
||||
group by pcp.id
|
||||
union all
|
||||
SELECT pmps.id,
|
||||
pmp.id as superId,
|
||||
pmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pmps.company_id AS chargeCompanyId,
|
||||
pmps.company_id as chargeCompanyTemporaryId,
|
||||
pmps.company_name AS chargeCompanyTemporaryName,
|
||||
pmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pmps.pack as pack,
|
||||
pmp.particular_year as year,
|
||||
pmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pmp.director_id as principalNameId,
|
||||
4 as type,
|
||||
pmps.amount_receivable as receivableAmount,
|
||||
pmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pmps.create_time as createTime
|
||||
FROM pay_member_project pmp
|
||||
right join pay_member_project_subitem pmps on (pmp.id = pmps.project_id)
|
||||
left JOIN sys_user su on (pmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pmps.id = vmbp.project_id
|
||||
group by pmps.id
|
||||
union all
|
||||
SELECT pms.id,
|
||||
pm.id as superId,
|
||||
pm.meeting_name AS projectName,
|
||||
su.realname as principalName,
|
||||
pms.company_id AS chargeCompanyId,
|
||||
pms.company_id as chargeCompanyTemporaryId,
|
||||
pms.company_name AS chargeCompanyTemporaryName,
|
||||
pms.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pms.pack as pack,
|
||||
pm.particular_year as year,
|
||||
pms.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pm.director_id as principalNameId,
|
||||
3 as type,
|
||||
pms.amount_receivable as receivableAmount,
|
||||
pms.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
company_contact_name as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
pms.create_time as createTime
|
||||
FROM pay_meeting pm
|
||||
right join pay_meeting_situation pms on (pm.id = pms.meeting_id)
|
||||
left JOIN sys_user su on (pm.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on pms.id = vcpr.project_id
|
||||
left join v_payment_record vpr on pms.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on pms.id = vmbp.project_id
|
||||
group by pms.id
|
||||
union all
|
||||
SELECT tmps.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tmps.company_id AS chargeCompanyId,
|
||||
tmps.company_id as chargeCompanyTemporaryId,
|
||||
tmps.company_name AS chargeCompanyTemporaryName,
|
||||
tmps.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tmps.pack as pack,
|
||||
tmp.year as year,
|
||||
tmps.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
5 as type,
|
||||
tmps.amount_receivable as receivableAmount,
|
||||
tmps.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tmps.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tmps.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tmps.id = vmbp.project_id
|
||||
group by tmps.id
|
||||
union all
|
||||
SELECT tcp.id,
|
||||
tmp.id as superId,
|
||||
tmp.project_name AS projectName,
|
||||
su.realname as principalName,
|
||||
tcp.company_id AS chargeCompanyId,
|
||||
tcp.company_id as chargeCompanyTemporaryId,
|
||||
tcp.company_name AS chargeCompanyTemporaryName,
|
||||
tcp.charge_use as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
tcp.pack as pack,
|
||||
tmp.year as year,
|
||||
tcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
tmp.director_id as principalNameId,
|
||||
6 as type,
|
||||
tcp.amount_receivable as receivableAmount,
|
||||
tcp.no_tax_amount as allMoney,
|
||||
vpr.amount_received as comeAllMoney,
|
||||
vmbp.invoice_amount AS billMoney,
|
||||
vcpr.amount_received as confirmAmount,
|
||||
vpr.no_tax_amount as paidNoTaxAmount,
|
||||
vmbp.no_tax_amount as invoiceNoTaxAmount,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
tcp.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_certificate_payment tcp on (tmp.id = tcp.project_id)
|
||||
left JOIN sys_user su on (tmp.director_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join v_confirm_payment_record vcpr on tcp.id = vcpr.project_id
|
||||
left join v_payment_record vpr on tcp.id = vpr.project_id
|
||||
left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id
|
||||
group by tcp.id
|
||||
) pp
|
||||
order by pp.createTime;
|
||||
+147
-139
@@ -25,7 +25,6 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.mail.entity.BillingInfo;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
@@ -64,7 +63,6 @@ import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -646,150 +644,160 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
// 删除邮寄票据表
|
||||
removeById(id);
|
||||
|
||||
// 更新项目信息
|
||||
updateProjectInfo(id);
|
||||
|
||||
// 删除邮寄票据关联项目表
|
||||
payMailBillProjectService.removeById(payMailBillProjectObj.getId());
|
||||
// 更新项目信息
|
||||
updateProjectInfo(payMailBillProjectObj);
|
||||
}
|
||||
|
||||
public void updateProjectInfo(String id){
|
||||
//变更5种项目的邮寄状态
|
||||
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
|
||||
queryPayMailBillProject.eq(PayMailBillProject::getBillId,id);
|
||||
List<PayMailBillProject> list1 = payMailBillProjectService.list(queryPayMailBillProject);
|
||||
for(PayMailBillProject one:list1) {
|
||||
if (ObjectUtils.isNotEmpty(one)) {
|
||||
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProjectTwo = new LambdaQueryWrapper<>();
|
||||
queryPayMailBillProjectTwo.eq(PayMailBillProject::getProjectId, one.getProjectId());
|
||||
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProjectTwo);
|
||||
public void updateProjectInfo(PayMailBillProject payMailBillProject){
|
||||
int makeInvoice=4;
|
||||
BigDecimal amountReceivable = new BigDecimal("0");//待确收金额
|
||||
Integer needInvoice = 0;//是否需要发票
|
||||
BigDecimal invoiceAmount = payMailBillProject.getInvoiceAmount();
|
||||
if(Objects.isNull(invoiceAmount)){
|
||||
invoiceAmount = new BigDecimal("0");//本次开票金额
|
||||
}
|
||||
BigDecimal oldInvoiceAmount;//开票金额
|
||||
BigDecimal noTaxAmount = payMailBillProject.getNoTaxAmount();
|
||||
BigDecimal tax = payMailBillProject.getTax();
|
||||
if (noTaxAmount == null || tax == null){
|
||||
noTaxAmount = invoiceAmount.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
tax = invoiceAmount.subtract(noTaxAmount);
|
||||
}
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
|
||||
// 开票金额
|
||||
BigDecimal invoice = new BigDecimal("0.00");
|
||||
// 开票次数
|
||||
int c = listPayMailBillProject.size();
|
||||
// 邮寄次数
|
||||
int y = 0;
|
||||
if (!CollectionUtils.isEmpty(listPayMailBillProject)) {
|
||||
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
invoice = invoice.add(b);
|
||||
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
||||
queryPayMailBill.in(PayMailBill::getId, list);
|
||||
queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
|
||||
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
|
||||
y = listPayMailBill.size();
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = payCommonProject.getReceivableAmount();//应收
|
||||
needInvoice = payCommonProject.getNeedInvoice();//是否需要发票
|
||||
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//获取项目待确收金额
|
||||
BigDecimal receivableAmount;
|
||||
|
||||
List<PayContactsManagementTemporary> listId = new ArrayList<>();
|
||||
//判断变更那个项目的邮寄状态
|
||||
if (GlobalConstants.ONE.equals(one.getProjectType())) {
|
||||
PayCommonProject payCommonProjectOld = payCommonProjectService.getById(one.getProjectId());
|
||||
if (Objects.isNull(payCommonProjectOld)) {
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProjectOld.getContactsTemporaryId());
|
||||
if (!Objects.isNull(payCommonProjectTemporary)) {
|
||||
listId.add(payCommonProjectTemporary);
|
||||
}
|
||||
|
||||
receivableAmount = payCommonProjectOld.getReceivableAmount();
|
||||
PayCommonProject payCommonProject = new PayCommonProject();
|
||||
if (receivableAmount.compareTo(invoice) == 0 && c == y) {
|
||||
payCommonProject.setId(one.getProjectId());
|
||||
payCommonProject.setMail(constant.ONE);
|
||||
payCommonProjectService.updateById(payCommonProject);
|
||||
} else if (y <= c && y > 0) {
|
||||
payCommonProject.setId(one.getProjectId());
|
||||
payCommonProject.setMail(constant.TWO);
|
||||
payCommonProjectService.updateById(payCommonProject);
|
||||
}
|
||||
} else if (GlobalConstants.TWO.equals(one.getProjectType())) {
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItemOld = payWorkingGroupSubItemService.getById(one.getProjectId());
|
||||
if (Objects.isNull(payWorkingGroupSubItemOld)) {
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupSubItemOld.getWorkingGroupId());
|
||||
if (Objects.isNull(payWorkingGroup)) {
|
||||
throw new JeroBootException("工作组不存在!");
|
||||
}
|
||||
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(one.getProjectId());
|
||||
for (PayWorkingGroupSubItemContacts subItemContact : subItemContacts) {
|
||||
PayContactsManagementTemporary payWorkingTemporary = payContactsManagementTemporaryService.getById(subItemContact.getContactsTemporaryId());
|
||||
if (!Objects.isNull(payWorkingTemporary)) {
|
||||
listId.add(payWorkingTemporary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
receivableAmount = payWorkingGroupSubItemOld.getReceivableAmount();
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
|
||||
if (receivableAmount.compareTo(invoice) == 0 && c == y) {
|
||||
payWorkingGroupSubItem.setId(one.getProjectId());
|
||||
payWorkingGroupSubItem.setMail(constant.ONE);
|
||||
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
|
||||
} else if (y <= c && y > 0) {
|
||||
payWorkingGroupSubItem.setId(one.getProjectId());
|
||||
payWorkingGroupSubItem.setMail(constant.TWO);
|
||||
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
|
||||
}
|
||||
} else if (GlobalConstants.THREE.equals(one.getProjectType())) {
|
||||
PayMeetingSituation meetingPayContactsManagementOld = payMeetingSituationService.getById(one.getProjectId());
|
||||
if (Objects.isNull(meetingPayContactsManagementOld)) {
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayMeeting payMeeting = payMeetingService.getById(meetingPayContactsManagementOld.getMeetingId());
|
||||
if (Objects.isNull(payMeeting)) {
|
||||
throw new JeroBootException("会议不存在!");
|
||||
}
|
||||
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meetingPayContactsManagementOld.getContractId());
|
||||
if (!Objects.isNull(meetingPayContactsManagement)) {
|
||||
String str = JSON.toJSONString(meetingPayContactsManagement);
|
||||
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str, PayContactsManagementTemporary.class);
|
||||
listId.add(meetingTemporary);
|
||||
}
|
||||
|
||||
receivableAmount = meetingPayContactsManagementOld.getAmountReceivable();
|
||||
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
|
||||
if (receivableAmount.compareTo(invoice) == 0 && c == y) {
|
||||
payMeetingSituation.setId(one.getProjectId());
|
||||
payMeetingSituation.setMail(constant.ONE);
|
||||
payMeetingSituationService.updateById(payMeetingSituation);
|
||||
} else if (y <= c && y > 0) {
|
||||
payMeetingSituation.setId(one.getProjectId());
|
||||
payMeetingSituation.setMail(constant.TWO);
|
||||
payMeetingSituationService.updateById(payMeetingSituation);
|
||||
}
|
||||
} else if (GlobalConstants.FORE.equals(one.getProjectType())) {
|
||||
PayMemberProjectSubitem payMemberProjectSubitemOld = payMemberProjectSubitemService.getById(one.getProjectId());
|
||||
if (Objects.isNull(payMemberProjectSubitemOld)) {
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayMemberProject payMemberProject = memberProjectService.getById(payMemberProjectSubitemOld.getProjectId());
|
||||
if (Objects.isNull(payMemberProject)) {
|
||||
throw new JeroBootException("会员项目不存在!");
|
||||
}
|
||||
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(payMemberProjectSubitemOld.getCompanyContactTemporaryId());
|
||||
if (!Objects.isNull(memberTemporary)) {
|
||||
listId.add(memberTemporary);
|
||||
}
|
||||
|
||||
receivableAmount = payMemberProjectSubitemOld.getAmountReceivable();
|
||||
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
|
||||
if (receivableAmount.compareTo(invoice) == 0 && c == y) {
|
||||
payMemberProjectSubitem.setId(one.getProjectId());
|
||||
payMemberProjectSubitem.setMail(constant.ONE);
|
||||
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
|
||||
} else if (y <= c && y > 0) {
|
||||
payMemberProjectSubitem.setId(one.getProjectId());
|
||||
payMemberProjectSubitem.setMail(constant.TWO);
|
||||
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,payCommonProject.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.subtractPaidAmount(tax,payCommonProject.getInvoiceTax());
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = workingGroup.getReceivableAmount();//应收
|
||||
needInvoice = workingGroup.getNeedInvoice();//是否需要发票
|
||||
oldInvoiceAmount = workingGroup.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,workingGroup.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.subtractPaidAmount(tax,workingGroup.getInvoiceTax());
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = meeting.getAmountReceivable();//应收
|
||||
needInvoice = meeting.getNeedInvoice();//是否需要发票
|
||||
oldInvoiceAmount = meeting.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,meeting.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.subtractPaidAmount(tax,meeting.getInvoiceTax());
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = memberProject.getAmountReceivable();//应收
|
||||
needInvoice = memberProject.getNeedInvoice();//是否需要发票
|
||||
oldInvoiceAmount = memberProject.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,memberProject.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.subtractPaidAmount(tax,memberProject.getInvoiceTax());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
|
||||
makeInvoice= 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
|
||||
makeInvoice= 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if(invoiceAmount.compareTo(amountReceivable) > -1){
|
||||
makeInvoice= 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if(invoiceAmount.compareTo(zero)==0){
|
||||
makeInvoice= 0;
|
||||
}
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject newCommon = new PayCommonProject();
|
||||
newCommon.setId(payMailBillProject.getProjectId());
|
||||
newCommon.setMakeInvoice(makeInvoice);
|
||||
newCommon.setInvoiceAmount(invoiceAmount);
|
||||
newCommon.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newCommon.setInvoiceTax(tax);
|
||||
payCommonProjectMapper.updateById(newCommon);
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem newWorkingGroup = new PayWorkingGroupSubItem();
|
||||
newWorkingGroup.setId(payMailBillProject.getProjectId());
|
||||
newWorkingGroup.setMakeInvoice(makeInvoice);
|
||||
newWorkingGroup.setInvoiceAmount(invoiceAmount);
|
||||
newWorkingGroup.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newWorkingGroup.setInvoiceTax(tax);
|
||||
payWorkingGroupSubItemMapper.updateById(newWorkingGroup);
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation newMeeting = new PayMeetingSituation();
|
||||
newMeeting.setId(payMailBillProject.getProjectId());
|
||||
newMeeting.setMakeInvoice(makeInvoice);
|
||||
newMeeting.setInvoiceAmount(invoiceAmount);
|
||||
newMeeting.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMeeting.setInvoiceTax(tax);
|
||||
payMeetingSituationMapper.updateById(newMeeting);
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem newMemberProject = new PayMemberProjectSubitem();
|
||||
newMemberProject.setId(payMailBillProject.getProjectId());
|
||||
newMemberProject.setMakeInvoice(makeInvoice);
|
||||
newMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
newMemberProject.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMemberProject.setInvoiceTax(tax);
|
||||
payMemberProjectSubitemMapper.updateById(newMemberProject);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -34,4 +34,6 @@ public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituatio
|
||||
IPage<MeetingPackStatistics> getMeetingPackStatistics(Page<PayMeetingSituation> page,@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
List<MeetingPackStatistics> getMeetingPackStatistics(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
MeetingPackStatistics getMeetingPackStatisticsCount(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
}
|
||||
|
||||
+9
@@ -186,4 +186,13 @@
|
||||
left join pay_confirm_payment_record p3 on p3.project_id = p1.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getMeetingPackStatisticsCount" resultType="com.jero.statistics.entity.MeetingPackStatistics">
|
||||
select sum(amount_receivable ) AS allMoney,sum(confirm_amount ) AS confirm_amount, sum(invoice_amount ) AS billMoney,sum(paid_amount ) AS comeAllMoney from
|
||||
(
|
||||
select p1.amount_receivable, p1.confirm_amount, p1.invoice_amount, p1.paid_amount from pay_meeting_situation p1
|
||||
left join pay_meeting p2 on p1.meeting_id = p2.id
|
||||
left join pay_confirm_payment_record p3 on p3.project_id = p1.id
|
||||
${ew.customSqlSegment}
|
||||
) a
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+33
-13
@@ -345,6 +345,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
//处理校验参会人信息
|
||||
payMeetingSituation.setAmountReceivable(new BigDecimal("0"));
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
|
||||
payMeetingSituation1.setEstimatedArrivalDate(payMeeting.getStartTime());
|
||||
saveMeetingSituation(payMeetingSituation1);
|
||||
//处理打包
|
||||
//handlePack(payMeetingSituation1);
|
||||
@@ -1945,8 +1946,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
Integer pageSize) {
|
||||
QueryWrapper<PayMeetingSituation> query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch);
|
||||
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
|
||||
query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" +
|
||||
" p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year");
|
||||
addOrder(metingPackStatisticsSearch, query);
|
||||
// 查看分页数据
|
||||
IPage<MeetingPackStatistics> pageList = payMeetingSituationMapper.getMeetingPackStatistics(page,query);
|
||||
List<MeetingPackStatistics> list = pageList.getRecords();
|
||||
@@ -1960,16 +1960,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
|
||||
// 查看汇总价格
|
||||
QueryWrapper<PayMeetingSituation> querySum = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch);
|
||||
querySum.select("case when sum( p1.amount_receivable ) is null then 0 else sum( p1.amount_receivable ) end AS allMoney,\n" +
|
||||
"\tcase when sum( p1.confirm_amount ) is null then 0 else sum( p1.confirm_amount ) end AS confirm_amount,\n" +
|
||||
"\tcase when sum( p1.invoice_amount ) is null then 0 else sum( p1.invoice_amount ) end AS billMoney,\n" +
|
||||
"\tcase when sum( p1.paid_amount ) is null then 0 else sum( p1.paid_amount ) end AS comeAllMoney ");
|
||||
List<MeetingPackStatistics> sumList = payMeetingSituationMapper.getMeetingPackStatistics(querySum);
|
||||
MeetingPackStatistics count = payMeetingSituationMapper.getMeetingPackStatisticsCount(querySum);
|
||||
HashMap<String, Object> hashMap = new HashMap<>();
|
||||
hashMap.put("sumOfMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getAllMoney())) ? 0 : sumList.get(0).getAllMoney());
|
||||
hashMap.put("sumOfReallyMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getComeAllMoney())) ? 0 : sumList.get(0).getComeAllMoney());
|
||||
hashMap.put("sumOfBillMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getBillMoney())) ? 0 : sumList.get(0).getBillMoney());
|
||||
hashMap.put("sumOfConfirmAmount", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getConfirmAmount())) ? 0 : sumList.get(0).getConfirmAmount());
|
||||
hashMap.put("sumOfMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getAllMoney())) ? 0 : count.getAllMoney());
|
||||
hashMap.put("sumOfReallyMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getComeAllMoney())) ? 0 : count.getComeAllMoney());
|
||||
hashMap.put("sumOfBillMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getBillMoney())) ? 0 : count.getBillMoney());
|
||||
hashMap.put("sumOfConfirmAmount", (Objects.isNull(count) || StringUtils.isBlank(count.getConfirmAmount())) ? 0 : count.getConfirmAmount());
|
||||
hashMap.put("pageList", pageList);
|
||||
return hashMap;
|
||||
}
|
||||
@@ -1977,8 +1973,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
@Override
|
||||
public ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch) {
|
||||
QueryWrapper<PayMeetingSituation> query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch);
|
||||
query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" +
|
||||
"p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year");
|
||||
addOrder(metingPackStatisticsSearch, query);
|
||||
List<MeetingPackStatistics> list = payMeetingSituationMapper.getMeetingPackStatistics(query);
|
||||
|
||||
// Step.3 AutoPoi 导出Excel
|
||||
@@ -2006,6 +2001,31 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (!StringUtils.isBlank(metingPackStatisticsSearch.getPaymentYear())) {
|
||||
query.eq("DATE_FORMAT(p3.payment_date,'%Y')", metingPackStatisticsSearch.getPaymentYear());
|
||||
}
|
||||
query.groupBy("p3.project_id");
|
||||
return query;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private void addOrder(MeetingPackStatisticsSearch metingPackStatisticsSearch,QueryWrapper<PayMeetingSituation> query) {
|
||||
query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" +
|
||||
" p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year");
|
||||
// 排序
|
||||
if(!StringUtils.isBlank(metingPackStatisticsSearch.getColumn()) && !StringUtils.isBlank(metingPackStatisticsSearch.getOrder())){
|
||||
String column = "";
|
||||
switch (metingPackStatisticsSearch.getColumn()){
|
||||
case "allMoney": column = "p1.amount_receivable";break;
|
||||
case "confirmAmount": column = "p1.confirm_amount";break;
|
||||
case "billMoney": column = "p1.invoice_amount";break;
|
||||
case "comeAllMoney": column = "p1.paid_amount";break;
|
||||
default:break;
|
||||
}
|
||||
if(!StringUtils.isBlank(column)){
|
||||
if(Objects.equals(metingPackStatisticsSearch.getOrder(),"asc")){
|
||||
query.orderByAsc(column);
|
||||
}else{
|
||||
query.orderByDesc(column);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+6
-1
@@ -85,7 +85,8 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<PayMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, req.getParameterMap());
|
||||
Map<String, String[]> parameterMap = req.getParameterMap();
|
||||
QueryWrapper<PayMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, parameterMap);
|
||||
// 预计到账开始日期
|
||||
String estimatedArrivalStartDate = payMemberProjectSubitem.getEstimatedArrivalStartDate();
|
||||
// 预计到账结束日期
|
||||
@@ -105,6 +106,10 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
if (!rolePermissionService.getRolePermission("safeguardMember:search")) {
|
||||
queryWrapper.eq("pmp.director_id",sysUser.getId());
|
||||
}
|
||||
if (parameterMap.containsKey("pmps.companyName")){
|
||||
String[] strings = parameterMap.get("pmps.companyName");
|
||||
queryWrapper.like("pmps.company_name", strings[0]);
|
||||
}
|
||||
Page<PayMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayMemberProjectSubitem> pageList = memberProjectSubitemService.getPage(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
|
||||
+3
-3
@@ -385,11 +385,11 @@ public class PayMemberProjectSubitem implements Serializable {
|
||||
//@TableField(exist = false)
|
||||
//private String postContactName;
|
||||
|
||||
/**预计到账日期*/
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
@Excel(name = "预计到账日期", width = 15,orderNum = "9")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期", width = 15,orderNum = "9")
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
/**预计到账开始日期*/
|
||||
|
||||
+3
-3
@@ -114,11 +114,11 @@ public class PayMemberProjectSubitemExcel {
|
||||
@NotBlank(message = "需要发票不能为空")
|
||||
private String needInvoice;
|
||||
|
||||
/**预计到账日期*/
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
@Excel(name = "预计到账日期", width = 15,orderNum = "5")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期", width = 15,orderNum = "5")
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
@Excel(name = "邮寄联系人手机号", width = 17, orderNum = "4")
|
||||
|
||||
+1
-1
@@ -153,7 +153,7 @@ public class PayConfirmPaymentRecordController extends JeroController<PayConfir
|
||||
/**
|
||||
* 确认收入-撤销
|
||||
*/
|
||||
// @RequiresPermissions({"incomePaymentAndInvoiving:confirmPayment","packProject:confirmPayment"})
|
||||
@RequiresPermissions({"incomePaymentAndInvoicing:revokeConfirm"})
|
||||
@AutoLog(value = "确认来款-撤销")
|
||||
@ApiOperation(value="确认来款-撤销", notes="确认来款-撤销")
|
||||
@PostMapping(value = "/backIncoming")
|
||||
|
||||
+1
@@ -273,6 +273,7 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
|
||||
@AutoLog(value = "开票-撤销")
|
||||
@ApiOperation(value = "开票-撤销", notes = "开票-撤销")
|
||||
@PostMapping(value = "/backInvoice")
|
||||
@RequiresPermissions("incomePaymentAndInvoicing:revokeInvoice")
|
||||
public Result<?> backInvoice(@RequestParam String id) {
|
||||
payMailBillService.backInvoice(id);
|
||||
return Result.OK();
|
||||
|
||||
+8
@@ -81,6 +81,14 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
* @return
|
||||
*/
|
||||
BigDecimal addPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived);
|
||||
|
||||
/**
|
||||
* 减去实收并四舍五入
|
||||
* @param paidAmount 实收
|
||||
* @param amountReceived 到账
|
||||
* @return
|
||||
*/
|
||||
BigDecimal subtractPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived);
|
||||
/**
|
||||
* 得到到账状态
|
||||
* @param receivableAmount 应收
|
||||
|
||||
+18
-2
@@ -1,7 +1,6 @@
|
||||
package com.jero.payment.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import com.alibaba.druid.sql.visitor.functions.If;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -78,7 +77,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.constraints.DecimalMax;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -881,6 +879,24 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
return paidAmount.add(amountReceived).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
* 减去实收并四舍五入
|
||||
* @param paidAmount 实收
|
||||
* @param amountReceived 到账
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BigDecimal subtractPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived){
|
||||
|
||||
if(paidAmount == null){
|
||||
paidAmount = new BigDecimal("0");
|
||||
}
|
||||
if (amountReceived == null){
|
||||
amountReceived = BigDecimal.ZERO;
|
||||
}
|
||||
return paidAmount.subtract(amountReceived).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
* 相减
|
||||
* @param paidAmount 实收
|
||||
|
||||
+3
-3
@@ -126,11 +126,11 @@ public class PayWorkingGroupSubItem implements Serializable {
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal receivableAmount;
|
||||
|
||||
/**预计到账日期*/
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
@Excel(name = "预计到账日期",width = 15,format = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期",width = 15,format = "yyyy-MM-dd")
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
/**实收金额(元)*/
|
||||
|
||||
+4
-4
@@ -1141,7 +1141,7 @@
|
||||
principalNameId = #{principalPeopleDetailSearch.principalNameId}
|
||||
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
|
||||
AND projectName LIKE
|
||||
concat('%'#{principalPeopleDetailSearch.projectName}, '%')
|
||||
concat('%',#{principalPeopleDetailSearch.projectName}, '%')
|
||||
</if>
|
||||
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
|
||||
AND chargeUse = #{principalPeopleDetailSearch.chargeUse}
|
||||
@@ -1241,7 +1241,7 @@
|
||||
principalNameId = #{principalPeopleDetailSearch.principalNameId}
|
||||
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
|
||||
AND projectName LIKE
|
||||
concat('%'#{principalPeopleDetailSearch.projectName}, '%')
|
||||
concat('%',#{principalPeopleDetailSearch.projectName}, '%')
|
||||
</if>
|
||||
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
|
||||
AND chargeUse = #{principalPeopleDetailSearch.chargeUse}
|
||||
@@ -1624,7 +1624,7 @@
|
||||
</if>
|
||||
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
|
||||
AND projectName LIKE
|
||||
concat('%'#{CompanyComeMoneyDetailSearch.projectName},'%')
|
||||
concat('%',#{CompanyComeMoneyDetailSearch.projectName},'%')
|
||||
</if>
|
||||
|
||||
<if test="CompanyComeMoneyDetailSearch.inAccountStatue != null and CompanyComeMoneyDetailSearch.inAccountStatue != ''">
|
||||
@@ -1737,7 +1737,7 @@
|
||||
</if>
|
||||
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
|
||||
AND projectName LIKE
|
||||
concat('%'#{CompanyComeMoneyDetailSearch.projectName}, '%')
|
||||
concat('%',#{CompanyComeMoneyDetailSearch.projectName}, '%')
|
||||
</if>
|
||||
|
||||
<if test="CompanyComeMoneyDetailSearch.inAccountStatue != null and CompanyComeMoneyDetailSearch.inAccountStatue != ''">
|
||||
|
||||
+1
-1
@@ -272,7 +272,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId());
|
||||
}else{
|
||||
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getId());
|
||||
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getCompanyId());
|
||||
payCompanyManagementTemporary.setId(null);
|
||||
payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
|
||||
}
|
||||
|
||||
+3
-3
@@ -54,11 +54,11 @@ public class PayWorkingGroupSubItemExcel implements Serializable {
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal paidAmount;
|
||||
|
||||
/**预计到账日期*/
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
@Excel(name = "预计到账日期",width = 15)
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期",width = 15)
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
/**
|
||||
|
||||
+6
@@ -19,4 +19,10 @@ public class MeetingPackStatisticsSearch implements Serializable {
|
||||
private String paymentYear;
|
||||
@ApiModelProperty(value = "来款方式(默认打包)")
|
||||
private String payMode;
|
||||
|
||||
@ApiModelProperty(value = "字段")
|
||||
private String column;
|
||||
|
||||
@ApiModelProperty(value = "排序规则")
|
||||
private String order;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user