统一财务费用来源入池链路
This commit is contained in:
@@ -2052,3 +2052,44 @@ CREATE TABLE IF NOT EXISTS wh_pallet_batch_item (
|
||||
UNIQUE KEY uk_wh_pallet_batch_item_sequence (batch_id,sequence_no), UNIQUE KEY uk_wh_pallet_batch_item_pallet (pallet_id),
|
||||
KEY idx_wh_pallet_batch_item_batch (batch_id,status)
|
||||
) ENGINE=InnoDB COMMENT='柜级入库计划批量托盘明细与资源锁关联';
|
||||
|
||||
-- 财务 P0:海外费用保留原币、月度汇率和计费依据。
|
||||
USE baiyue_lastleg;
|
||||
DROP PROCEDURE IF EXISTS add_overseas_finance_p0_column;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE add_overseas_finance_p0_column(IN p_column VARCHAR(64), IN p_definition TEXT)
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema='baiyue_lastleg' AND table_name='ll_finance_fee_source' AND column_name=p_column) THEN
|
||||
SET @ddl = CONCAT('ALTER TABLE ll_finance_fee_source ADD COLUMN ', p_column, ' ', p_definition);
|
||||
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
CALL add_overseas_finance_p0_column('original_currency', "VARCHAR(8) NOT NULL DEFAULT 'CNY' COMMENT '原币币种'");
|
||||
CALL add_overseas_finance_p0_column('original_amount', "DECIMAL(18,2) NOT NULL DEFAULT 0 COMMENT '原币金额'");
|
||||
CALL add_overseas_finance_p0_column('exchange_rate', "DECIMAL(18,8) NOT NULL DEFAULT 1 COMMENT '原币折算CNY汇率'");
|
||||
CALL add_overseas_finance_p0_column('exchange_rate_month', "CHAR(7) NULL COMMENT '汇率月份YYYY-MM'");
|
||||
CALL add_overseas_finance_p0_column('chargeable_quantity', "DECIMAL(18,4) NULL COMMENT '计费数量'");
|
||||
CALL add_overseas_finance_p0_column('quantity_unit', "VARCHAR(32) NULL COMMENT '计费单位'");
|
||||
CALL add_overseas_finance_p0_column('unit_price', "DECIMAL(18,4) NULL COMMENT '原币单价'");
|
||||
CALL add_overseas_finance_p0_column('period_start', "DATE NULL COMMENT '周期费用开始日期'");
|
||||
CALL add_overseas_finance_p0_column('period_end', "DATE NULL COMMENT '周期费用结束日期'");
|
||||
DROP PROCEDURE IF EXISTS add_overseas_finance_p0_column;
|
||||
|
||||
DROP PROCEDURE IF EXISTS assert_overseas_finance_p0_ready;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE assert_overseas_finance_p0_ready()
|
||||
BEGIN
|
||||
IF (SELECT COUNT(*) FROM information_schema.columns
|
||||
WHERE table_schema='baiyue_lastleg' AND table_name='ll_finance_fee_source'
|
||||
AND column_name IN ('original_currency','original_amount','exchange_rate','exchange_rate_month',
|
||||
'chargeable_quantity','quantity_unit','unit_price','period_start','period_end')) <> 9 THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='海外财务P0原币、汇率和计费依据字段未完整部署';
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
CALL assert_overseas_finance_p0_ready();
|
||||
DROP PROCEDURE IF EXISTS assert_overseas_finance_p0_ready;
|
||||
|
||||
SELECT 'PASS' AS migration_status, '海外财务P0费用来源字段已就绪' AS message;
|
||||
|
||||
Reference in New Issue
Block a user