Files
tms-erp-api/doc/sql/transport/blade_formal_settlement_20260818.sql
T
2026-09-09 15:39:21 +08:00

140 lines
14 KiB
SQL

-- 结算管理 / 正式结算单
CREATE TABLE IF NOT EXISTS `blade_formal_settlement` (
`id` bigint(20) NOT NULL COMMENT '主键', `tenant_id` varchar(12) NOT NULL DEFAULT '000000' COMMENT '租户ID',
`create_user` bigint(20) DEFAULT NULL, `create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL,
`update_user` bigint(20) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_no` varchar(100) NOT NULL COMMENT '正式结算单号', `source_type` varchar(30) NOT NULL DEFAULT '预结算合并',
`settlement_type` 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) NOT NULL,
`contract_no` varchar(100) DEFAULT NULL, `contract_name` varchar(100) NOT NULL, `payer_name` varchar(200) DEFAULT NULL,
`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 '已收已付合计含预付',
`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,
`kingdee_bill_no` varchar(100) DEFAULT NULL, `kingdee_sync_status` varchar(30) NOT NULL DEFAULT 'unsynced',
`attachments_json` longtext, `remark` varchar(200) DEFAULT NULL, `approved_time` datetime DEFAULT NULL, `synced_time` datetime DEFAULT NULL,
`void_reason` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_formal_settlement_no` (`tenant_id`,`formal_settlement_no`),
KEY `idx_formal_contract` (`contract_id`), KEY `idx_formal_approval` (`approval_status`), KEY `idx_formal_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算单';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_invoice` (
`id` bigint(20) NOT NULL COMMENT '主键', `tenant_id` varchar(12) NOT NULL DEFAULT '000000' COMMENT '租户ID',
`create_user` bigint(20) DEFAULT NULL, `create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL,
`update_user` bigint(20) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_id` bigint(20) NOT NULL COMMENT '正式结算单ID', `line_no` int(11) NOT NULL COMMENT '行号',
`invoice_no` varchar(32) NOT NULL COMMENT '发票号', `invoice_date` date DEFAULT NULL COMMENT '开票日期',
`invoice_type` varchar(50) DEFAULT NULL COMMENT '发票类型', `tax_rate` decimal(8,4) DEFAULT NULL COMMENT '税率',
`invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '发票金额(含税)',
`available_invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '可匹配发票金额(含税)',
`matched_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '匹配结算单金额(含税)',
`attachment_json` longtext COMMENT '发票附件JSON', PRIMARY KEY (`id`),
UNIQUE KEY `uk_formal_settlement_invoice_no` (`tenant_id`,`formal_settlement_id`,`invoice_no`),
KEY `idx_formal_settlement_invoice` (`formal_settlement_id`,`line_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算发票明细';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_change_record` (
`id` bigint(20) NOT NULL COMMENT '主键', `tenant_id` varchar(12) NOT NULL DEFAULT '000000' COMMENT '租户ID',
`create_user` bigint(20) DEFAULT NULL, `create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL,
`update_user` bigint(20) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_id` bigint(20) NOT NULL COMMENT '正式结算单ID', `change_type` varchar(50) NOT NULL COMMENT '变更类型',
`line_no` int(11) DEFAULT NULL COMMENT '行号', `operation_type` varchar(30) NOT NULL COMMENT '操作类型',
`change_content` text NOT NULL COMMENT '变更内容', `change_reason` varchar(200) DEFAULT NULL COMMENT '变更原因',
`operator_name` varchar(100) DEFAULT NULL COMMENT '操作人', `change_time` datetime NOT NULL COMMENT '变更时间',
PRIMARY KEY (`id`), KEY `idx_formal_settlement_change_bill` (`formal_settlement_id`),
KEY `idx_formal_settlement_change_time` (`change_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算变更记录';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_source` (
`id` bigint(20) NOT NULL, `tenant_id` varchar(12) NOT NULL DEFAULT '000000', `create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_id` bigint(20) NOT NULL, `pre_settlement_id` bigint(20) NOT NULL, `pre_settlement_no` varchar(100) NOT NULL,
`settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `advance_applied_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
`advance_paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`),
KEY `idx_formal_source_pre` (`pre_settlement_id`), KEY `idx_formal_source_bill` (`formal_settlement_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算来源预结算';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_detail` (
`id` bigint(20) NOT NULL, `tenant_id` varchar(12) NOT NULL DEFAULT '000000', `create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_id` bigint(20) NOT NULL, `source_pre_settlement_id` bigint(20) DEFAULT NULL,
`source_pre_settlement_detail_id` bigint(20) DEFAULT NULL, `source_detail_id` bigint(20) NOT NULL, `line_no` int(11) NOT NULL,
`document_no` varchar(100) DEFAULT NULL, `waybill_id` bigint(20) DEFAULT NULL, `waybill_no` varchar(100) DEFAULT NULL,
`vehicle_no` varchar(100) DEFAULT NULL, `departure_address` varchar(500) DEFAULT NULL, `arrival_address` varchar(500) DEFAULT NULL,
`departure_contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发货联系人',
`departure_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发货联系方式',
`arrival_contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收货联系人',
`arrival_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收货联系方式',
`actual_departure_time` datetime DEFAULT NULL, `actual_completion_time` datetime DEFAULT NULL, `transport_type` varchar(100) DEFAULT NULL,
`cargo_name` varchar(500) DEFAULT NULL, `cargo_type` varchar(500) DEFAULT NULL, `transport_quantity` decimal(18,6) DEFAULT NULL,
`quantity_unit` varchar(50) DEFAULT NULL, `mileage` decimal(18,2) DEFAULT NULL, `batch_no` varchar(100) DEFAULT NULL,
`unit_price` decimal(18,2) DEFAULT NULL, `freight_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `fee_items_json` longtext,
`original_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `adjust_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
`settlement_amount_tax` decimal(18,2) NOT NULL DEFAULT '0.00', `settlement_amount_no_tax` decimal(18,2) DEFAULT NULL,
`currency` varchar(20) NOT NULL DEFAULT 'RMB', `remark` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`),
KEY `idx_formal_detail_bill` (`formal_settlement_id`), KEY `idx_formal_detail_source` (`source_detail_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算明细快照';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_detail_fee` (
`id` bigint(20) NOT NULL, `tenant_id` varchar(12) NOT NULL DEFAULT '000000', `create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_detail_id` bigint(20) NOT NULL, `source_fee_id` bigint(20) DEFAULT NULL, `line_no` varchar(30) DEFAULT NULL,
`cargo_name` varchar(100) DEFAULT NULL, `cargo_type` varchar(100) DEFAULT NULL, `transport_quantity` decimal(18,6) DEFAULT NULL,
`quantity_unit` varchar(50) DEFAULT NULL, `mileage` decimal(18,2) DEFAULT NULL, `unit_price` decimal(18,2) DEFAULT NULL,
`freight_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `fee_items_json` longtext, `original_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
`adjust_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `settlement_amount_tax` decimal(18,2) NOT NULL DEFAULT '0.00',
`settlement_amount_no_tax` decimal(18,2) DEFAULT NULL, `remark` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`),
KEY `idx_formal_detail_fee_detail` (`formal_settlement_detail_id`), KEY `idx_formal_detail_fee_source` (`source_fee_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算货物费用快照';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_summary_fee` (
`id` bigint(20) NOT NULL COMMENT '主键', `tenant_id` varchar(12) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户ID',
`create_user` bigint(20) DEFAULT NULL COMMENT '创建人', `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间', `status` int(11) DEFAULT '1' COMMENT '状态',
`is_deleted` int(11) DEFAULT '0' COMMENT '是否已删除', `formal_settlement_id` bigint(20) NOT NULL COMMENT '正式结算单ID',
`line_no` int(11) NOT NULL COMMENT '行号', `fee_type` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '费用类型',
`fee_item` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '费用项',
`original_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '原金额',
`adjust_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '调整金额',
`settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '结算金额',
`remark` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
`manual_flag` int(11) NOT NULL DEFAULT '0' COMMENT '是否手工添加', PRIMARY KEY (`id`) USING BTREE,
KEY `idx_formal_settlement_summary_bill` (`formal_settlement_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算合计费用';
CREATE TABLE IF NOT EXISTS `blade_formal_settlement_payment` (
`id` bigint(20) NOT NULL, `tenant_id` varchar(12) NOT NULL DEFAULT '000000', `create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT NULL, `status` int(11) DEFAULT '1', `is_deleted` int(11) DEFAULT '0',
`formal_settlement_id` bigint(20) NOT NULL, `payment_no` varchar(100) NOT NULL, `payment_type` varchar(30) NOT NULL DEFAULT 'final',
`applied_amount` decimal(18,2) NOT NULL DEFAULT '0.00', `paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
`bill_status` varchar(30) NOT NULL DEFAULT 'reviewing', `kingdee_bill_no` varchar(100) DEFAULT NULL, `remark` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`), UNIQUE KEY `uk_formal_payment_no` (`tenant_id`,`payment_no`),
KEY `idx_formal_payment_bill` (`formal_settlement_id`), KEY `idx_formal_payment_status` (`bill_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='正式结算付款申请';
INSERT INTO `blade_menu` (`id`,`parent_id`,`code`,`name`,`alias`,`path`,`source`,`sort`,`category`,`action`,`is_open`,`component`,`remark`,`is_deleted`) VALUES
(2090000000000001040,2090000000000001000,'formal_settlement','正式结算单','formal_settlement','/settlement/formal-settlement','iconfont icon-caidanguanli',4,1,0,1,NULL,'',0),
(2090000000000001041,2090000000000001040,'formal_settlement_view','查看','formal_settlement_view','','',1,2,0,1,NULL,'',0),
(2090000000000001042,2090000000000001040,'formal_settlement_add','新增','formal_settlement_add','','',2,2,0,1,NULL,'',0),
(2090000000000001043,2090000000000001040,'formal_settlement_edit','编辑','formal_settlement_edit','','',3,2,0,1,NULL,'',0),
(2090000000000001044,2090000000000001040,'formal_settlement_delete','删除','formal_settlement_delete','','',4,2,0,1,NULL,'',0),
(2090000000000001045,2090000000000001040,'formal_settlement_submit','提交审批','formal_settlement_submit','','',5,2,0,1,NULL,'',0),
(2090000000000001046,2090000000000001040,'formal_settlement_approve','审批','formal_settlement_approve','','',6,2,0,1,NULL,'',0),
(2090000000000001047,2090000000000001040,'formal_settlement_sync','同步金蝶','formal_settlement_sync','','',7,2,0,1,NULL,'',0),
(2090000000000001048,2090000000000001040,'formal_settlement_print','打印','formal_settlement_print','','',8,2,0,1,NULL,'',0),
(2090000000000001049,2090000000000001040,'formal_settlement_export','导出','formal_settlement_export','','',9,2,0,1,NULL,'',0),
(2090000000000001050,2090000000000001040,'formal_settlement_void','作废','formal_settlement_void','','',10,2,0,1,NULL,'',0),
(2090000000000001051,2090000000000001040,'formal_settlement_adjust','明细调整','formal_settlement_adjust','','',11,2,0,1,NULL,'',0),
(2090000000000001052,2090000000000001040,'formal_settlement_payment','付款申请','formal_settlement_payment','','',12,2,0,1,NULL,'',0)
ON DUPLICATE KEY UPDATE `name`=VALUES(`name`),`path`=VALUES(`path`),`is_deleted`=0;