Merge remote-tracking branch 'origin/test' into dev

# Conflicts:
#	lastleg-service/src/main/java/com/baiyue/lastleg/relabel/service/RelabelApplicationService.java
#	lastleg-service/src/test/java/com/baiyue/lastleg/relabel/service/RelabelApplicationServiceTest.java
This commit is contained in:
2026-09-09 16:49:46 +08:00
36 changed files with 444 additions and 197 deletions
@@ -2278,3 +2278,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;