Files
tms-erp-api/doc/sql/transport/blade_pre_settlement_20260818.sql
T
b2894lxlx 154cc4a7cb 1、新增预结算单
2、新增正式结算单
3、调整IAM认证登录
2026-08-18 21:31:59 +08:00

215 lines
16 KiB
SQL

-- 结算管理 / 预结算
CREATE TABLE IF NOT EXISTS `blade_pre_settlement` (
`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 '是否已删除',
`pre_settlement_no` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '预结算单号',
`source_type` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '应收应付' COMMENT '来源',
`settlement_type` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'payable' COMMENT '结算类型',
`project_id` bigint(20) DEFAULT NULL COMMENT '项目ID',
`project_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '项目名称',
`dept_id` bigint(20) DEFAULT NULL COMMENT '所属组织ID',
`dept_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属组织',
`contract_id` bigint(20) NOT NULL COMMENT '合同ID',
`contract_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同编号',
`contract_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '合同名称',
`payer_name` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '付款方',
`payee_name` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '收款方',
`currency` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'RMB' COMMENT '结算币种',
`settlement_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '结算金额',
`local_currency` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'RMB' COMMENT '本位币',
`local_settlement_amount` decimal(18,2) DEFAULT NULL COMMENT '本位币合计',
`exchange_rate_date` date DEFAULT NULL COMMENT '汇率日期',
`exchange_rate` decimal(18,6) DEFAULT NULL COMMENT '结算汇率',
`approval_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'draft' COMMENT '审核状态',
`current_node` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当前节点',
`current_processor` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当前处理人',
`advance_no` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '预付单号',
`advance_applied_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '申请预付金额',
`advance_paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已付款金额',
`formal_settlement_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '正式结算单号',
`attachments_json` longtext COLLATE utf8mb4_general_ci COMMENT '附件JSON',
`remark` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
`approved_time` datetime DEFAULT NULL COMMENT '审核通过时间',
`formal_settled_time` datetime DEFAULT NULL COMMENT '正式结算时间',
`void_reason` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '作废原因',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_pre_settlement_no` (`tenant_id`,`pre_settlement_no`) USING BTREE,
KEY `idx_pre_settlement_contract` (`contract_id`) USING BTREE,
KEY `idx_pre_settlement_project` (`project_id`) USING BTREE,
KEY `idx_pre_settlement_approval` (`approval_status`) USING BTREE,
KEY `idx_pre_settlement_create_time` (`create_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='预结算单';
CREATE TABLE IF NOT EXISTS `blade_pre_settlement_detail` (
`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 '是否已删除',
`pre_settlement_id` bigint(20) NOT NULL COMMENT '预结算单ID',
`source_detail_id` bigint(20) NOT NULL COMMENT '应收应付明细ID',
`line_no` int(11) NOT NULL COMMENT '行号',
`document_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '单据号',
`waybill_id` bigint(20) DEFAULT NULL COMMENT '运单ID',
`waybill_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '运单号',
`vehicle_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '车号',
`departure_address` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发货地址',
`arrival_address` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '到货地址',
`actual_departure_time` datetime DEFAULT NULL COMMENT '实际发货时间',
`actual_completion_time` datetime DEFAULT NULL COMMENT '实际完成时间',
`transport_type` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '运输类型',
`cargo_name` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货物名称',
`cargo_type` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货物类型',
`transport_quantity` decimal(18,6) DEFAULT NULL COMMENT '运输总量',
`quantity_unit` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数量单位',
`mileage` decimal(18,2) DEFAULT NULL COMMENT '里程',
`batch_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '批次号',
`unit_price` decimal(18,2) DEFAULT NULL COMMENT '运输单价',
`freight_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '运费',
`fee_items_json` longtext COLLATE utf8mb4_general_ci COMMENT '费用项JSON',
`original_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '原金额',
`adjust_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '调整金额',
`settlement_amount_tax` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '结算金额(含税)',
`settlement_amount_no_tax` decimal(18,2) DEFAULT NULL COMMENT '结算金额(不含税)',
`currency` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'RMB' COMMENT '币种',
`remark` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pre_settlement_source_detail` (`source_detail_id`) USING BTREE,
KEY `idx_pre_settlement_detail_bill` (`pre_settlement_id`) USING BTREE,
KEY `idx_pre_settlement_detail_waybill` (`waybill_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='预结算明细';
CREATE TABLE IF NOT EXISTS `blade_pre_settlement_detail_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 '是否已删除',
`pre_settlement_detail_id` bigint(20) NOT NULL COMMENT '预结算明细ID',
`source_fee_id` bigint(20) DEFAULT NULL COMMENT '源费用行ID',
`line_no` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '行号',
`cargo_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货物名称',
`cargo_type` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货物类型',
`transport_quantity` decimal(18,6) DEFAULT NULL COMMENT '运输量',
`quantity_unit` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数量单位',
`mileage` decimal(18,2) DEFAULT NULL COMMENT '里程',
`unit_price` decimal(18,2) DEFAULT NULL COMMENT '运输单价',
`freight_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '运费',
`fee_items_json` longtext COLLATE utf8mb4_general_ci COMMENT '费用项JSON',
`original_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '原金额',
`adjust_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '调整金额',
`settlement_amount_tax` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '结算金额(含税)',
`settlement_amount_no_tax` decimal(18,2) DEFAULT NULL COMMENT '结算金额(不含税)',
`remark` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pre_settlement_detail_fee_detail` (`pre_settlement_detail_id`) USING BTREE,
KEY `idx_pre_settlement_detail_fee_source` (`source_fee_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='预结算明细费用快照';
CREATE TABLE IF NOT EXISTS `blade_pre_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 '是否已删除',
`pre_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_pre_settlement_summary_bill` (`pre_settlement_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='预结算合计费用';
CREATE TABLE IF NOT EXISTS `blade_pre_settlement_advance` (
`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 '是否已删除',
`pre_settlement_id` bigint(20) NOT NULL COMMENT '预结算单ID',
`advance_no` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '预付单号',
`applied_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '申请预付金额',
`paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已付款金额',
`bill_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'reviewing' COMMENT '单据状态',
`kingdee_advance_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '金蝶预付单号',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_pre_settlement_advance_no` (`tenant_id`,`advance_no`) USING BTREE,
KEY `idx_pre_settlement_advance_bill` (`pre_settlement_id`) USING BTREE,
KEY `idx_pre_settlement_advance_status` (`bill_status`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='预结算预付记录';
CREATE TABLE IF NOT EXISTS `blade_pre_settlement_change_record` (
`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 '是否已删除',
`pre_settlement_id` bigint(20) NOT NULL COMMENT '预结算单ID',
`change_type` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '变更类型',
`line_no` int(11) DEFAULT NULL COMMENT '行号',
`operation_type` varchar(30) COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作类型',
`change_content` text COLLATE utf8mb4_general_ci NOT NULL COMMENT '变更内容',
`operator_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作人',
`change_reason` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更原因',
`change_time` datetime NOT NULL COMMENT '变更时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pre_settlement_change_bill` (`pre_settlement_id`) USING BTREE,
KEY `idx_pre_settlement_change_time` (`change_time`) USING BTREE
) 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
(2090000000000001020, 2090000000000001000, 'pre_settlement', '预结算', 'pre_settlement', '/settlement/pre-settlement', 'iconfont icon-caidanguanli', 3, 1, 0, 1, NULL, '', 0),
(2090000000000001021, 2090000000000001020, 'pre_settlement_view', '查看', 'pre_settlement_view', '', '', 1, 2, 0, 1, NULL, '', 0),
(2090000000000001022, 2090000000000001020, 'pre_settlement_add', '新增', 'pre_settlement_add', '', '', 2, 2, 0, 1, NULL, '', 0),
(2090000000000001023, 2090000000000001020, 'pre_settlement_edit', '编辑', 'pre_settlement_edit', '', '', 3, 2, 0, 1, NULL, '', 0),
(2090000000000001024, 2090000000000001020, 'pre_settlement_delete', '删除', 'pre_settlement_delete', '', '', 4, 2, 0, 1, NULL, '', 0),
(2090000000000001025, 2090000000000001020, 'pre_settlement_submit', '提交审批', 'pre_settlement_submit', '', '', 5, 2, 0, 1, NULL, '', 0),
(2090000000000001026, 2090000000000001020, 'pre_settlement_approve', '审批', 'pre_settlement_approve', '', '', 6, 2, 0, 1, NULL, '', 0),
(2090000000000001027, 2090000000000001020, 'pre_settlement_advance', '预付申请', 'pre_settlement_advance', '', '', 7, 2, 0, 1, NULL, '', 0),
(2090000000000001028, 2090000000000001020, 'pre_settlement_formal', '尾款结算', 'pre_settlement_formal', '', '', 8, 2, 0, 1, NULL, '', 0),
(2090000000000001029, 2090000000000001020, 'pre_settlement_print', '打印结算单', 'pre_settlement_print', '', '', 9, 2, 0, 1, NULL, '', 0),
(2090000000000001030, 2090000000000001020, 'pre_settlement_export', '导出', 'pre_settlement_export', '', '', 10, 2, 0, 1, NULL, '', 0),
(2090000000000001031, 2090000000000001020, 'pre_settlement_adjust', '明细调整', 'pre_settlement_adjust', '', '', 11, 2, 0, 1, NULL, '', 0),
(2090000000000001032, 2090000000000001020, 'pre_settlement_void', '作废', 'pre_settlement_void', '', '', 12, 2, 0, 1, NULL, '', 0)
ON DUPLICATE KEY UPDATE
`name` = VALUES(`name`),
`path` = VALUES(`path`),
`sort` = VALUES(`sort`),
`is_deleted` = 0;