feat: deliver first finance preview with setup wizard
Release / release (push) Failing after 18s

This commit is contained in:
Qiufeng
2026-08-17 14:08:40 +08:00
parent 47403fd337
commit c8b0151769
558 changed files with 140774 additions and 3 deletions
@@ -0,0 +1,4 @@
finance:
crypto:
field-key: ${FIELD_ENCRYPTION_KEY:MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=}
reject-default: false
@@ -0,0 +1,422 @@
SET @finance_id = (SELECT id FROM iam_user WHERE username = 'finance');
SET @project_user_id = (SELECT id FROM iam_user WHERE username = 'project');
SET @finance_public_id = (SELECT public_id FROM iam_user WHERE username = 'finance');
SET @template_id = (SELECT id FROM src_template WHERE form_type = 'OA-06' AND status = 'ACTIVE' ORDER BY template_version DESC LIMIT 1);
SET @payable_template_id = (SELECT id FROM src_template WHERE form_type = 'OA-04' AND status = 'ACTIVE' ORDER BY template_version DESC LIMIT 1);
SET @definition_version_id = (SELECT version.id FROM wf_definition_version version JOIN wf_definition definition ON definition.id = version.definition_id WHERE definition.code = 'SOURCE_STANDARD_REVIEW' AND version.status = 'ACTIVE' LIMIT 1);
INSERT INTO md_company (public_id, business_no, name, status, created_by, updated_by)
VALUES ('80000000000000000000000001', 'GS-REPORT-001', '报表集成测试公司', 'ACTIVE', @finance_id, @finance_id);
INSERT INTO md_company (public_id, business_no, name, status, created_by, updated_by)
VALUES ('80000000000000000000000030', 'GS-REPORT-002', '报表范围错配公司', 'ACTIVE', @finance_id, @finance_id);
INSERT INTO md_counterparty
(public_id, business_no, counterparty_type, name, status, created_by, updated_by)
VALUES ('80000000000000000000000002', 'GY-REPORT-001', 'BOTH', '报表集成测试往来单位', 'ACTIVE', @finance_id, @finance_id);
INSERT INTO md_project
(public_id, company_id, business_no, name, customer_id, owner_user_id, start_date,
currency, stage, finance_status, archive_status, status, created_by, updated_by)
SELECT '80000000000000000000000003', company.id, 'XM-REPORT-001', '报表集成测试项目', counterparty.id,
@project_user_id, CURRENT_DATE(), 'CNY', 'EXECUTION', 'IN_PROGRESS', 'RETURNED', 'ACTIVE',
@finance_id, @finance_id
FROM md_company company
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO md_contract
(public_id, company_id, project_id, counterparty_id, business_no, name, original_amount,
approved_change_amount, settlement_amount, currency, status, created_by, updated_by)
SELECT '80000000000000000000000004', company.id, project.id, counterparty.id,
'HT-REPORT-001', '报表集成测试合同', 1000.00, 100.00, 900.00, 'CNY', 'ACTIVE',
@finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO src_source_document
(public_id, business_no, form_type, source_system, source_no, normalized_source_no,
source_version, normalized_source_version, template_id, company_id, project_id,
status, created_by, updated_by)
SELECT '80000000000000000000000005', 'OA06-REPORT-001', 'OA-06', 'MANUAL', 'REPORT-001',
'REPORT-001', '1', '1', @template_id, company.id, project.id, 'APPROVED', @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO src_document_version
(public_id, source_document_id, version_no, template_id, snapshot_sha256, submitted_at, created_by)
SELECT '80000000000000000000000006', document.id, 1, @template_id,
REPEAT('a', 64), UTC_TIMESTAMP(3), @finance_id
FROM src_source_document document
WHERE document.public_id = '80000000000000000000000005';
UPDATE src_source_document document
JOIN src_document_version version ON version.public_id = '80000000000000000000000006'
SET document.current_version_id = version.id
WHERE document.public_id = '80000000000000000000000005';
INSERT INTO src_source_document
(public_id, business_no, form_type, source_system, source_no, normalized_source_no,
source_version, normalized_source_version, template_id, company_id, project_id,
status, created_by, updated_by)
SELECT source.public_id, source.business_no, 'OA-04', 'MANUAL', source.source_no,
source.source_no, '1', '1', @payable_template_id, company.id, project.id,
'APPROVED', @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN (
SELECT '80000000000000000000000038' AS public_id,
'OA04-REPORT-001' AS business_no, 'REPORT-PAYABLE-001' AS source_no
UNION ALL
SELECT '80000000000000000000000039',
'OA04-REPORT-002', 'REPORT-PAYABLE-002'
) source
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO src_document_version
(public_id, source_document_id, version_no, template_id, snapshot_sha256, submitted_at, created_by)
SELECT CASE document.public_id
WHEN '80000000000000000000000038' THEN '80000000000000000000000040'
ELSE '80000000000000000000000041'
END,
document.id, 1, @payable_template_id, REPEAT('f', 64), UTC_TIMESTAMP(3), @finance_id
FROM src_source_document document
WHERE document.public_id IN (
'80000000000000000000000038', '80000000000000000000000039'
);
UPDATE src_source_document document
JOIN src_document_version version ON version.source_document_id = document.id
SET document.current_version_id = version.id
WHERE document.public_id IN (
'80000000000000000000000038', '80000000000000000000000039'
);
INSERT INTO wf_instance
(public_id, definition_version_id, source_version_id, current_node_code, status,
created_by, updated_by)
SELECT CASE document.public_id
WHEN '80000000000000000000000038' THEN '80000000000000000000000042'
ELSE '80000000000000000000000043'
END,
@definition_version_id, version.id, NULL, 'APPROVED', @finance_id, @finance_id
FROM src_source_document document
JOIN src_document_version version ON version.id = document.current_version_id
WHERE document.public_id IN (
'80000000000000000000000038', '80000000000000000000000039'
);
INSERT INTO src_approval_snapshot
(public_id, document_version_id, node_code, actor_name, actor_id, action, opinion, acted_at)
SELECT '80000000000000000000000007', version.id, 'FINANCE_REVIEW', '财务测试用户',
@finance_id, 'APPROVE', '报表测试审批通过', UTC_TIMESTAMP(3)
FROM src_document_version version
WHERE version.public_id = '80000000000000000000000006';
INSERT INTO wf_instance
(public_id, definition_version_id, source_version_id, current_node_code, status,
created_by, updated_by, created_at, updated_at)
SELECT '80000000000000000000000008', @definition_version_id, version.id,
'FINANCE_REVIEW', 'RUNNING', @finance_id, @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 2 MINUTE), DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 2 MINUTE)
FROM src_document_version version
WHERE version.public_id = '80000000000000000000000006';
INSERT INTO wf_task
(public_id, instance_id, node_code, sequence_no, assignee_id, status, created_at, updated_at)
SELECT '80000000000000000000000009', instance.id, 'FINANCE_REVIEW', 1,
@finance_id, 'PENDING', DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 2 MINUTE),
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 2 MINUTE)
FROM wf_instance instance
WHERE instance.public_id = '80000000000000000000000008';
INSERT INTO wf_action
(public_id, task_id, sequence_no, action, opinion, actor_id, acted_at, request_id)
SELECT '80000000000000000000000010', task.id, 1, 'RETURN', '报表测试退回',
@finance_id, DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 1 MINUTE), '80000000000000000000000011'
FROM wf_task task
WHERE task.public_id = '80000000000000000000000009';
INSERT INTO md_bank_account_version
(public_id, owner_type, counterparty_id, account_category, account_name, bank_name,
account_no_ciphertext, account_no_hash, masked_account_no, version_no, valid_from,
status, created_by, updated_by)
SELECT '80000000000000000000000012', 'COUNTERPARTY', counterparty.id, 'BASIC',
'报表测试账户', '报表测试银行', X'01', REPEAT('b', 64), '****0001', 1,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 1 DAY), 'ACTIVE', @finance_id, @finance_id
FROM md_counterparty counterparty
WHERE counterparty.public_id = '80000000000000000000000002';
INSERT INTO fin_payable
(public_id, business_no, company_id, project_id, contract_id, counterparty_id,
source_document_id, cost_category_id, business_date, amount, invoiced_amount,
paid_amount, status, confirmed_by, confirmed_at, created_by, updated_by)
SELECT '80000000000000000000000013', 'YF-REPORT-001', company.id, project.id, contract.id,
counterparty.id, document.id, category.id, CURRENT_DATE(), 600.00, 200.00, 150.00,
'PART_PAID', @finance_id, UTC_TIMESTAMP(3), @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_contract contract ON contract.public_id = '80000000000000000000000004'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN src_source_document document ON document.public_id = '80000000000000000000000038'
JOIN md_cost_category category ON category.code = 'MATERIAL'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_payable
(public_id, business_no, company_id, project_id, contract_id, counterparty_id,
source_document_id, cost_category_id, business_date, amount, invoiced_amount,
paid_amount, status, created_by, updated_by)
SELECT '80000000000000000000000037', 'YF-REPORT-PENDING-001', company.id, project.id, contract.id,
counterparty.id, document.id, category.id, CURRENT_DATE(), 75.00, 0.00, 0.00,
'PENDING', @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_contract contract ON contract.public_id = '80000000000000000000000004'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN src_source_document document ON document.public_id = '80000000000000000000000039'
JOIN md_cost_category category ON category.code = 'MATERIAL'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_receipt
(public_id, business_no, company_id, project_id, customer_id, source_document_id, source_version_id,
receipt_date, amount, allocated_amount, currency, payer_name, reference_no,
status, confirmed_by, confirmed_at, created_by, updated_by)
SELECT '80000000000000000000000014', '=SUM(A1:A2)', company.id, project.id,
counterparty.id, document.id, document.current_version_id, CURRENT_DATE(), 300.00, 100.00, 'CNY',
'报表测试付款方', 'BANK-REPORT-001', 'PARTIALLY_ALLOCATED', @finance_id, UTC_TIMESTAMP(3),
@finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN src_source_document document ON document.public_id = '80000000000000000000000005'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_invoice
(public_id, business_no, company_id, project_id, contract_id, counterparty_id,
source_document_id, source_version_id, invoice_type, amount, currency, tax_rate, requested_date, invoice_no,
issued_date, status, submitted_by, reviewed_by, result_recorded_by, created_by, updated_by)
SELECT '80000000000000000000000015', 'FP-REPORT-001', company.id, project.id, contract.id,
counterparty.id, document.id, document.current_version_id, 'SPECIAL', 200.00, 'CNY', 0.13, CURRENT_DATE(),
'INV-REPORT-001', CURRENT_DATE(), 'ISSUED', @project_user_id, @finance_id,
@finance_id, @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_contract contract ON contract.public_id = '80000000000000000000000004'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN src_source_document document ON document.public_id = '80000000000000000000000005'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_receivable
(public_id, business_no, source_document_id, source_invoice_id, company_id, project_id,
contract_id, counterparty_id, business_date, amount, outstanding_amount, currency,
status, created_by, updated_by)
SELECT '80000000000000000000000016', 'YS-REPORT-001', document.id, invoice.id,
company.id, project.id, contract.id, counterparty.id, CURRENT_DATE(), 1000.00,
700.00, 'CNY', 'PARTIALLY_SETTLED', @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_contract contract ON contract.public_id = '80000000000000000000000004'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN src_source_document document ON document.public_id = '80000000000000000000000005'
JOIN fin_invoice invoice ON invoice.public_id = '80000000000000000000000015'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_payment_request
(public_id, business_no, company_id, project_id, contract_id, payable_id, supplier_id,
bank_account_version_id, source_document_id, source_version_id, requested_amount, approved_amount,
requested_date, purpose, status, submitted_by, checked_by, approved_by,
submitted_at, checked_at, approved_at, created_by, updated_by)
SELECT '80000000000000000000000017', 'FK-REPORT-001', company.id, project.id, contract.id,
payable.id, counterparty.id, bank.id, document.id, document.current_version_id,
400.00, 400.00, CURRENT_DATE(),
'报表集成测试付款', 'PART_PAID', @project_user_id, @finance_id, @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 3 HOUR), DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 2 HOUR),
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 1 HOUR), @finance_id, @finance_id
FROM md_company company
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_contract contract ON contract.public_id = '80000000000000000000000004'
JOIN fin_payable payable ON payable.public_id = '80000000000000000000000013'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
JOIN md_bank_account_version bank ON bank.public_id = '80000000000000000000000012'
JOIN src_source_document document ON document.public_id = '80000000000000000000000005'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO fin_payment_result
(public_id, result_no, payment_id, result_type, paid_date, amount, transaction_no,
recorded_by, recorded_at, verified_by, verified_at, status)
SELECT '80000000000000000000000018', 'PAY-RESULT-REPORT-001', payment.id,
'SUCCESS', CURRENT_DATE(), 200.00, 'TX-REPORT-001', @project_user_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 30 MINUTE), @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 25 MINUTE), 'VERIFIED'
FROM fin_payment_request payment
WHERE payment.public_id = '80000000000000000000000017';
INSERT INTO fin_payment_result
(public_id, result_no, payment_id, result_type, paid_date, amount, transaction_no,
recorded_by, recorded_at, verified_by, verified_at, status)
SELECT '80000000000000000000000031', 'PAY-RESULT-REPORT-002', payment.id,
'SUCCESS', CURRENT_DATE(), 200.00, 'TX-REPORT-002', @project_user_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 20 MINUTE), @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 15 MINUTE), 'VERIFIED'
FROM fin_payment_request payment
WHERE payment.public_id = '80000000000000000000000017';
INSERT INTO fin_payment_result
(public_id, result_no, payment_id, result_type, paid_date, amount, transaction_no,
recorded_by, recorded_at, verified_by, verified_at, status)
SELECT '80000000000000000000000032', 'PAY-RESULT-REPORT-003', payment.id,
'REFUND', CURRENT_DATE(), 50.00, 'TX-REPORT-003', @project_user_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 10 MINUTE), @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 5 MINUTE), 'VERIFIED'
FROM fin_payment_request payment
WHERE payment.public_id = '80000000000000000000000017';
INSERT INTO fin_payment_result
(public_id, result_no, payment_id, result_type, paid_date, amount, transaction_no,
recorded_by, recorded_at, status)
SELECT '80000000000000000000000033', 'PAY-RESULT-REPORT-004', payment.id,
'SUCCESS', CURRENT_DATE(), 999.00, 'TX-REPORT-PENDING', @project_user_id,
UTC_TIMESTAMP(3), 'PENDING_VERIFY'
FROM fin_payment_request payment
WHERE payment.public_id = '80000000000000000000000017';
UPDATE fin_payment_request
SET paid_amount = 350.00
WHERE public_id = '80000000000000000000000017';
INSERT INTO acc_event
(public_id, business_no, event_type, source_type, source_public_id, company_id,
project_id, counterparty_id, business_date, period, amount, currency, status, created_by)
SELECT '80000000000000000000000019', 'SJ-REPORT-001', 'PAYMENT', 'PAYMENT', result.public_id,
company.id, project.id, counterparty.id, CURRENT_DATE(), DATE_FORMAT(CURRENT_DATE(), '%Y-%m'),
350.00, 'CNY', 'COMPLETED', @finance_id
FROM fin_payment_result result
JOIN md_company company ON company.public_id = '80000000000000000000000001'
JOIN md_project project ON project.public_id = '80000000000000000000000003'
JOIN md_counterparty counterparty ON counterparty.public_id = '80000000000000000000000002'
WHERE result.public_id = '80000000000000000000000018';
INSERT INTO acc_voucher
(public_id, business_no, event_id, company_id, project_id, period, business_date,
summary, debit_total, credit_total, status, external_voucher_no, result_at,
result_recorded_by, result_recorded_at, result_verified_by, result_verified_at,
created_by, updated_by)
SELECT '80000000000000000000000020', 'PZ-REPORT-001', event.id, company.id, project.id,
DATE_FORMAT(CURRENT_DATE(), '%Y-%m'), CURRENT_DATE(), '报表集成测试凭证',
350.00, 350.00, 'COMPLETED', 'EXT-REPORT-001', CURRENT_DATE(),
@project_user_id, DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 15 MINUTE), @finance_id,
DATE_SUB(UTC_TIMESTAMP(3), INTERVAL 10 MINUTE), @finance_id, @finance_id
FROM acc_event event
JOIN md_company company ON company.public_id = '80000000000000000000000001'
JOIN md_project project ON project.public_id = '80000000000000000000000003'
WHERE event.public_id = '80000000000000000000000019';
UPDATE acc_event event
JOIN acc_voucher voucher ON voucher.public_id = '80000000000000000000000020'
SET event.voucher_id = voucher.id
WHERE event.public_id = '80000000000000000000000019';
INSERT INTO arc_package
(public_id, business_no, company_id, project_id, package_version, completeness,
missing_count, status, created_by, updated_by)
SELECT '80000000000000000000000021', 'ARC-REPORT-001-V01', company.id, project.id,
1, 90.00, 0, 'ARCHIVED', @finance_id, @finance_id
FROM md_company company JOIN md_project project ON project.public_id = '80000000000000000000000003'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO arc_package
(public_id, business_no, company_id, project_id, package_version, completeness,
missing_count, status, created_by, updated_by)
SELECT '80000000000000000000000022', 'ARC-REPORT-001-V02', company.id, project.id,
2, 75.00, 1, 'RETURNED', @finance_id, @finance_id
FROM md_company company JOIN md_project project ON project.public_id = '80000000000000000000000003'
WHERE company.public_id = '80000000000000000000000001';
INSERT INTO file_object
(public_id, original_name, storage_key, media_type, extension, size_bytes,
sha256, scan_status, uploaded_by)
VALUES ('80000000000000000000000023', 'report-proof.pdf', 'reporting/report-proof.pdf',
'application/pdf', 'pdf', 128, REPEAT('c', 64), 'AVAILABLE', @finance_public_id);
INSERT INTO file_object
(public_id, original_name, storage_key, media_type, extension, size_bytes,
sha256, scan_status, uploaded_by)
VALUES ('80000000000000000000000035', 'wrong-receipt-proof.pdf', 'reporting/wrong-receipt-proof.pdf',
'application/pdf', 'pdf', 128, REPEAT('d', 64), 'AVAILABLE', @finance_public_id),
('80000000000000000000000036', 'wrong-workflow-proof.pdf', 'reporting/wrong-workflow-proof.pdf',
'application/pdf', 'pdf', 128, REPEAT('e', 64), 'AVAILABLE', @finance_public_id);
INSERT INTO file_link
(file_id, object_type, object_public_id, series_public_id, company_public_id, project_public_id,
form_type, document_type, original_type, archive_status, version_no, active, linked_by)
SELECT file.id, 'SOURCE_DOCUMENT', document.public_id, file.public_id, company.public_id, project.public_id,
document.form_type, 'PAYMENT_SUPPORT', 'PDF', 'ACTIVE', 1, TRUE, @finance_public_id
FROM file_object file
JOIN src_source_document document ON document.public_id = '80000000000000000000000005'
JOIN md_company company ON company.public_id = '80000000000000000000000001'
JOIN md_project project ON project.public_id = '80000000000000000000000003'
WHERE file.public_id = '80000000000000000000000023';
INSERT INTO file_link
(file_id, object_type, object_public_id, series_public_id, company_public_id, project_public_id,
document_type, original_type, archive_status, version_no, active, linked_by)
SELECT file.id, 'RECEIPT', '80000000000000000000000014', file.public_id,
'80000000000000000000000030', '80000000000000000000000003',
'RECEIPT_PROOF', 'PDF', 'ACTIVE', 1, TRUE, @finance_public_id
FROM file_object file WHERE file.public_id = '80000000000000000000000035';
INSERT INTO file_link
(file_id, object_type, object_public_id, series_public_id, company_public_id, project_public_id,
document_type, original_type, archive_status, version_no, active, linked_by)
SELECT file.id, 'WORKFLOW_TASK', '80000000000000000000000009', file.public_id,
'80000000000000000000000030', '80000000000000000000000003',
'WORKFLOW_PROOF', 'PDF', 'ACTIVE', 1, TRUE, @finance_public_id
FROM file_object file WHERE file.public_id = '80000000000000000000000036';
INSERT INTO fin_payment_attachment (public_id, payment_id, file_id, document_type, uploaded_by)
SELECT '80000000000000000000000024', payment.id, file.id, 'PAYMENT_SUPPORT', @finance_id
FROM fin_payment_request payment JOIN file_object file ON file.public_id = '80000000000000000000000023'
WHERE payment.public_id = '80000000000000000000000017';
UPDATE fin_payment_result result
JOIN file_object file ON file.public_id = '80000000000000000000000023'
SET result.receipt_file_id = file.id
WHERE result.public_id = '80000000000000000000000018';
INSERT INTO fin_payment_result_file (public_id, payment_result_id, file_id, created_by)
SELECT '80000000000000000000000025', result.id, file.id, @finance_id
FROM fin_payment_result result JOIN file_object file ON file.public_id = '80000000000000000000000023'
WHERE result.public_id = '80000000000000000000000018';
INSERT INTO fin_payment_result_file (public_id, payment_result_id, file_id, created_by)
SELECT '80000000000000000000000034', result.id, file.id, @finance_id
FROM fin_payment_result result JOIN file_object file ON file.public_id = '80000000000000000000000023'
WHERE result.public_id = '80000000000000000000000033';
INSERT INTO arc_package_item
(public_id, package_id, item_type, item_name, object_type, object_public_id,
file_id, file_link_id, file_sha256, required_flag, status)
SELECT '80000000000000000000000026', package.id, 'PAYMENT_PROOF', '付款回单',
'PAYMENT', '80000000000000000000000017', file.id, link.id, file.sha256, TRUE, 'PRESENT'
FROM arc_package package
JOIN file_object file ON file.public_id = '80000000000000000000000023'
JOIN file_link link ON link.file_id = file.id
WHERE package.public_id = '80000000000000000000000022';
INSERT INTO arc_package_item
(public_id, package_id, item_type, item_name, required_flag, status, missing_reason)
SELECT '80000000000000000000000027', package.id, 'INVOICE', '发票资料', TRUE, 'MISSING', '待补发票附件'
FROM arc_package package WHERE package.public_id = '80000000000000000000000022';
INSERT INTO arc_package_item
(public_id, package_id, item_type, item_name, required_flag, status, not_applicable_reason)
SELECT '80000000000000000000000028', package.id, 'TAX', '税务资料', FALSE, 'NOT_APPLICABLE', '本项目不涉及'
FROM arc_package package WHERE package.public_id = '80000000000000000000000022';
INSERT INTO arc_package_item
(public_id, package_id, item_type, item_name, required_flag, status)
SELECT '80000000000000000000000029', package.id, 'OLD_VERSION', '旧版资料', FALSE, 'SUPERSEDED'
FROM arc_package package WHERE package.public_id = '80000000000000000000000022';