feat(ccdi-project): harden bank statement dedup import
This commit is contained in:
33
assets/database/2026-03-10-bank-statement-dedup.sql
Normal file
33
assets/database/2026-03-10-bank-statement-dedup.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
DELETE FROM ccdi_bank_statement
|
||||
WHERE project_id IS NULL
|
||||
OR LE_ACCOUNT_NO IS NULL
|
||||
OR ACCOUNTING_DATE_ID IS NULL;
|
||||
|
||||
UPDATE ccdi_bank_statement
|
||||
SET LE_ACCOUNT_NO = TRIM(LE_ACCOUNT_NO);
|
||||
|
||||
DELETE t1
|
||||
FROM ccdi_bank_statement t1
|
||||
JOIN ccdi_bank_statement t2
|
||||
ON t1.bank_statement_id > t2.bank_statement_id
|
||||
AND t1.project_id = t2.project_id
|
||||
AND t1.LE_ACCOUNT_NO = t2.LE_ACCOUNT_NO
|
||||
AND t1.ACCOUNTING_DATE_ID = t2.ACCOUNTING_DATE_ID
|
||||
AND t1.AMOUNT_DR = t2.AMOUNT_DR
|
||||
AND t1.AMOUNT_CR = t2.AMOUNT_CR;
|
||||
|
||||
ALTER TABLE ccdi_bank_statement
|
||||
MODIFY COLUMN project_id bigint(20) NOT NULL COMMENT '关联项目ID',
|
||||
MODIFY COLUMN LE_ACCOUNT_NO varchar(240) NOT NULL DEFAULT '' COMMENT '企业银行账号',
|
||||
MODIFY COLUMN ACCOUNTING_DATE_ID int(11) NOT NULL COMMENT '账号日期ID';
|
||||
|
||||
ALTER TABLE ccdi_bank_statement
|
||||
ADD UNIQUE KEY uk_bank_statement_dedup (
|
||||
project_id,
|
||||
LE_ACCOUNT_NO,
|
||||
ACCOUNTING_DATE_ID,
|
||||
AMOUNT_DR,
|
||||
AMOUNT_CR
|
||||
);
|
||||
Reference in New Issue
Block a user