调整结算管理
This commit is contained in:
@@ -11,7 +11,9 @@ CREATE TABLE IF NOT EXISTS `blade_formal_settlement` (
|
||||
`payee_name` varchar(200) DEFAULT NULL, `currency` varchar(20) NOT NULL DEFAULT 'RMB', `settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
|
||||
`local_currency` varchar(20) NOT NULL DEFAULT 'RMB', `local_settlement_amount` decimal(18,2) DEFAULT NULL,
|
||||
`applied_payment_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '申请付款金额含预付',
|
||||
`paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已收已付合计',
|
||||
`paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已收已付合计含预付',
|
||||
`remaining_payable_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '剩余可付金额',
|
||||
`invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '发票金额',
|
||||
`exchange_rate_date` date DEFAULT NULL, `exchange_rate` decimal(18,6) DEFAULT NULL,
|
||||
`invoice_status` varchar(30) NOT NULL DEFAULT 'unreceived', `payment_status` varchar(30) NOT NULL DEFAULT 'unpaid',
|
||||
`approval_status` varchar(30) NOT NULL DEFAULT 'draft', `current_node` varchar(100) DEFAULT NULL, `current_processor` varchar(200) DEFAULT NULL,
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
-- 正式结算列表补充剩余可付金额、发票金额
|
||||
|
||||
ALTER TABLE `blade_formal_settlement`
|
||||
ADD COLUMN `remaining_payable_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '剩余可付金额' AFTER `paid_amount`,
|
||||
ADD COLUMN `invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '发票金额' AFTER `remaining_payable_amount`;
|
||||
|
||||
UPDATE `blade_formal_settlement`
|
||||
SET `remaining_payable_amount` = GREATEST(`settlement_amount` - `paid_amount`, 0)
|
||||
WHERE `is_deleted` = 0;
|
||||
|
||||
UPDATE `blade_formal_settlement` settlement
|
||||
LEFT JOIN (
|
||||
SELECT invoice_relation.`formal_settlement_id`, SUM(invoice_relation.`allocated_invoice_amount`) AS `invoice_amount`
|
||||
FROM (
|
||||
SELECT relation.`formal_settlement_id`, relation.`allocated_invoice_amount`
|
||||
FROM `blade_invoice_application_settlement` relation
|
||||
INNER JOIN `blade_invoice_application` application
|
||||
ON application.`id` = relation.`invoice_application_id`
|
||||
AND application.`is_deleted` = 0
|
||||
AND application.`approval_status` <> 'voided'
|
||||
WHERE relation.`is_deleted` = 0
|
||||
UNION ALL
|
||||
SELECT relation.`formal_settlement_id`, relation.`allocated_invoice_amount`
|
||||
FROM `blade_invoice_receipt_settlement` relation
|
||||
INNER JOIN `blade_invoice_receipt` receipt
|
||||
ON receipt.`id` = relation.`invoice_receipt_id`
|
||||
AND receipt.`is_deleted` = 0
|
||||
AND receipt.`approval_status` <> 'voided'
|
||||
WHERE relation.`is_deleted` = 0
|
||||
) invoice_relation
|
||||
GROUP BY invoice_relation.`formal_settlement_id`
|
||||
) invoice_summary ON invoice_summary.`formal_settlement_id` = settlement.`id`
|
||||
SET settlement.`invoice_amount` = COALESCE(invoice_summary.`invoice_amount`, 0)
|
||||
WHERE settlement.`is_deleted` = 0;
|
||||
@@ -0,0 +1,35 @@
|
||||
-- MySQL 5.7+ 兼容:为应收应付货物费用明细增加来源。
|
||||
-- 请在 transport 数据库执行。本脚本使用 information_schema 判断,可重复执行。
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS `upgrade_receivable_payable_cargo_fee_data_source_20260825`$$
|
||||
CREATE PROCEDURE `upgrade_receivable_payable_cargo_fee_data_source_20260825`()
|
||||
BEGIN
|
||||
DECLARE db_name varchar(128);
|
||||
SET db_name = DATABASE();
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = db_name
|
||||
AND table_name = 'blade_receivable_payable_cargo_fee'
|
||||
AND column_name = 'data_source'
|
||||
) THEN
|
||||
ALTER TABLE `blade_receivable_payable_cargo_fee`
|
||||
ADD COLUMN `data_source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
|
||||
NOT NULL DEFAULT '自动生成'
|
||||
COMMENT '来源:自动生成/手工录入' AFTER `line_no`;
|
||||
|
||||
END IF;
|
||||
|
||||
UPDATE `blade_receivable_payable_cargo_fee`
|
||||
SET `data_source` = '手工录入'
|
||||
WHERE `billing_factor` = '手工调整'
|
||||
AND `data_source` <> '手工录入';
|
||||
END$$
|
||||
|
||||
CALL `upgrade_receivable_payable_cargo_fee_data_source_20260825`()$$
|
||||
DROP PROCEDURE `upgrade_receivable_payable_cargo_fee_data_source_20260825`$$
|
||||
|
||||
DELIMITER ;
|
||||
@@ -64,12 +64,13 @@ CREATE TABLE IF NOT EXISTS `blade_receivable_payable_cargo_fee` (
|
||||
`detail_id` bigint(20) NOT NULL COMMENT '应收应付明细ID',
|
||||
`waybill_id` bigint(20) DEFAULT NULL COMMENT '运单ID',
|
||||
`line_no` varchar(30) DEFAULT NULL COMMENT '行号',
|
||||
`data_source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '自动生成' COMMENT '来源:自动生成/手工录入',
|
||||
`cargo_name` varchar(100) DEFAULT NULL COMMENT '货物名称',
|
||||
`cargo_type` varchar(100) DEFAULT NULL COMMENT '货物类型',
|
||||
`specification` varchar(255) DEFAULT NULL COMMENT '规格',
|
||||
`model` varchar(255) DEFAULT NULL COMMENT '型号',
|
||||
`billing_factor` varchar(100) DEFAULT NULL COMMENT '运费计费要素',
|
||||
`billing_type` varchar(100) DEFAULT NULL COMMENT '运费计费类型',
|
||||
`billing_factor` varchar(100) DEFAULT NULL COMMENT '计费要素',
|
||||
`billing_type` varchar(100) DEFAULT NULL COMMENT '计费类型',
|
||||
`transport_quantity` decimal(18,6) DEFAULT NULL COMMENT '运输量',
|
||||
`quantity_unit` varchar(50) DEFAULT NULL COMMENT '数量单位',
|
||||
`price_unit` varchar(50) DEFAULT NULL COMMENT '运费计算单位',
|
||||
|
||||
@@ -11,7 +11,8 @@ CREATE TABLE IF NOT EXISTS `blade_settlement_adjustment` (
|
||||
`original_settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '原结算金额',
|
||||
`adjusted_settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '调整后结算金额',
|
||||
`approval_status` varchar(30) NOT NULL DEFAULT 'draft', `current_node` varchar(100) DEFAULT NULL,
|
||||
`current_processor` varchar(200) DEFAULT NULL, `kingdee_sync_status` varchar(30) DEFAULT NULL COMMENT '关联正式单金蝶状态', `remark` varchar(200) DEFAULT NULL, `approved_time` datetime DEFAULT NULL,
|
||||
`current_processor` varchar(200) DEFAULT NULL, `kingdee_sync_status` varchar(30) DEFAULT NULL COMMENT '关联正式单金蝶状态',
|
||||
`attachments_json` longtext COLLATE utf8mb4_general_ci COMMENT '附件材料JSON', `remark` varchar(200) DEFAULT NULL, `approved_time` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`id`), UNIQUE KEY `uk_settlement_adjustment_no` (`tenant_id`,`adjustment_no`),
|
||||
KEY `idx_adjustment_formal` (`formal_settlement_id`), KEY `idx_adjustment_status` (`approval_status`), KEY `idx_adjustment_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='结算调整单';
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
-- 结算调整单增加附件材料字段
|
||||
ALTER TABLE `blade_settlement_adjustment`
|
||||
ADD COLUMN `attachments_json` longtext COLLATE utf8mb4_general_ci NULL COMMENT '附件材料JSON' AFTER `kingdee_sync_status`;
|
||||
Reference in New Issue
Block a user