调整结算模块

This commit is contained in:
2026-09-07 19:37:08 +08:00
parent 2e7ab6f508
commit 4d34525b7b
8 changed files with 208 additions and 40 deletions
@@ -6,7 +6,7 @@ CREATE TABLE IF NOT EXISTS `blade_transport_reconciliation` (
`reconciliation_no` varchar(100) NOT NULL, `formal_settlement_id` bigint(20) NOT NULL, `formal_settlement_no` varchar(100) NOT NULL,
`pre_settlement_nos` varchar(1000) DEFAULT NULL, `settlement_type` varchar(30) NOT NULL, `reconciliation_mode` varchar(30) NOT NULL,
`project_id` bigint(20) DEFAULT NULL, `project_name` varchar(100) DEFAULT NULL, `dept_id` bigint(20) DEFAULT NULL, `dept_name` varchar(100) DEFAULT NULL,
`contract_id` bigint(20) DEFAULT NULL, `contract_no` varchar(100) DEFAULT NULL, `contract_name` varchar(200) DEFAULT NULL,
`contract_id` bigint(20) DEFAULT NULL, `contract_no` varchar(100) DEFAULT NULL, `contract_name` varchar(200) DEFAULT NULL, `customer_name` varchar(200) DEFAULT NULL COMMENT '客户/承运商',
`payer_name` varchar(200) DEFAULT NULL, `payee_name` varchar(200) DEFAULT NULL, `currency` varchar(20) DEFAULT 'RMB',
`settlement_amount` decimal(18,2) DEFAULT 0, `paid_amount` decimal(18,2) DEFAULT 0, `reconciler_id` bigint(20) DEFAULT NULL,
`reconciler_name` varchar(100) DEFAULT NULL, `reconciliation_date` date DEFAULT NULL, `reconciliation_status` varchar(30) NOT NULL DEFAULT 'unfinished',
@@ -0,0 +1,25 @@
SET @db_name = DATABASE();
SET @column_exists = 0;
SELECT COUNT(*)
INTO @column_exists
FROM information_schema.columns
WHERE table_schema = @db_name
AND table_name = 'blade_transport_reconciliation'
AND column_name = 'customer_name';
SET @alter_sql = IF(
@column_exists = 0,
'ALTER TABLE `blade_transport_reconciliation` ADD COLUMN `customer_name` varchar(200) DEFAULT NULL COMMENT ''客户/承运商'' AFTER `contract_name`',
'SELECT 1'
);
PREPARE alter_statement FROM @alter_sql;
EXECUTE alter_statement;
DEALLOCATE PREPARE alter_statement;
UPDATE `blade_transport_reconciliation`
SET `customer_name` = CASE
WHEN `settlement_type` = 'receivable' THEN `payer_name`
ELSE `payee_name`
END
WHERE `customer_name` IS NULL OR `customer_name` = '';