40 lines
2.1 KiB
SQL
40 lines
2.1 KiB
SQL
-- 结算单业务表与明细子表(可重复执行)
|
||
-- 目标库:db_gxtyzx(master)
|
||
-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql
|
||
-- -> 04-approval_role_grants.sql -> 05-approval_phase2.sql -> 06-approval-settlement.sql
|
||
--
|
||
-- 覆盖 ADR 0011(结算单):三部门会签、明细行(金额服务端重算、合计不落库)、
|
||
-- 外单位盖章件(SIGNED)必传。业务表 1:1 实例,明细子表按 instance_id + line_no 唯一。
|
||
|
||
CREATE TABLE IF NOT EXISTS approval_settlement_form (
|
||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||
tenant_id INT NOT NULL DEFAULT 10150,
|
||
instance_id BIGINT NOT NULL,
|
||
settlement_reason VARCHAR(500) NOT NULL COMMENT '结算事由',
|
||
settlement_period VARCHAR(100) DEFAULT NULL COMMENT '结算期间',
|
||
counterparty_name VARCHAR(200) NOT NULL COMMENT '结算对象名称',
|
||
contract_no VARCHAR(100) DEFAULT NULL COMMENT '合同/项目编号',
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY uk_instance (instance_id)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='结算单';
|
||
|
||
CREATE TABLE IF NOT EXISTS approval_settlement_item (
|
||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||
tenant_id INT NOT NULL DEFAULT 10150,
|
||
instance_id BIGINT NOT NULL,
|
||
line_no INT NOT NULL COMMENT '行号,按提交顺序重排为 1..N',
|
||
item_name VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||
spec VARCHAR(200) DEFAULT NULL COMMENT '规格说明',
|
||
quantity DECIMAL(12,3) NOT NULL COMMENT '数量',
|
||
unit VARCHAR(20) NOT NULL COMMENT '单位',
|
||
unit_price DECIMAL(12,2) NOT NULL COMMENT '单价',
|
||
amount DECIMAL(12,2) NOT NULL COMMENT '金额,服务端按数量×单价重算',
|
||
remark VARCHAR(200) DEFAULT NULL COMMENT '备注',
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY uk_instance_line (instance_id, line_no)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='结算单明细';
|