Files
shanxia2.0/docs/sql/20260606_bx_tables.sql
T
2026-06-07 00:40:01 +08:00

299 lines
18 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
报销系统(bx_*)表结构迁移 — shanxia2.0 门户标准字段适配
来源:docs/sql/sx.sql 中 bx_* 业务表(排除 bx_user / bx_role / bx_role_user / bx_menu / bx_menu_role)
适配:主键 UUID(varchar64)、tenant_no、order_num、create_dept_id、del_flag smallint 等公共字段
说明:仅建表,不导入数据
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for bx_expense_item
-- ----------------------------
DROP TABLE IF EXISTS `bx_expense_item`;
CREATE TABLE `bx_expense_item` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`parent_id` varchar(64) NOT NULL DEFAULT '0' COMMENT '父级项目ID(0为一级项目)',
`item_name` varchar(128) NOT NULL COMMENT '项目名称',
`item_code` varchar(64) DEFAULT NULL COMMENT '项目编码',
`level` tinyint(4) NOT NULL DEFAULT '1' COMMENT '层级:1-一级 2-二级',
`sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-启用 0-禁用',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_parent_id` (`parent_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-费用项目表';
-- ----------------------------
-- Table structure for bx_workflow_def
-- ----------------------------
DROP TABLE IF EXISTS `bx_workflow_def`;
CREATE TABLE `bx_workflow_def` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`biz_type` varchar(32) NOT NULL COMMENT '业务类型:advance-备用金 reimburse-报销单',
`wf_name` varchar(128) NOT NULL COMMENT '工作流名称',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-启用 0-禁用',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_biz_type` (`biz_type`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-工作流定义表';
-- ----------------------------
-- Table structure for bx_workflow_node
-- ----------------------------
DROP TABLE IF EXISTS `bx_workflow_node`;
CREATE TABLE `bx_workflow_node` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`wf_id` varchar(64) NOT NULL COMMENT '工作流定义ID',
`node_name` varchar(128) NOT NULL COMMENT '节点名称(如:主管审批、财务复核)',
`node_order` int(11) NOT NULL DEFAULT '0' COMMENT '节点顺序(从小到大执行)',
`approver_id` varchar(64) DEFAULT NULL COMMENT '审批人用户ID',
`approver_name` varchar(64) DEFAULT NULL COMMENT '审批人姓名(冗余)',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_wf_id` (`wf_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-工作流节点表';
-- ----------------------------
-- Table structure for bx_advance_apply
-- ----------------------------
DROP TABLE IF EXISTS `bx_advance_apply`;
CREATE TABLE `bx_advance_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`apply_code` varchar(32) NOT NULL COMMENT '申请单号(如 BYJ20260424001)',
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
`applicant_name` varchar(64) NOT NULL COMMENT '申请人姓名(冗余)',
`reason` varchar(1024) NOT NULL COMMENT '申请原因',
`purpose` varchar(1024) DEFAULT NULL COMMENT '申请目的',
`expense_item_id` varchar(64) DEFAULT NULL COMMENT '费用项目ID',
`amount` decimal(14,2) NOT NULL COMMENT '申请金额',
`status` varchar(32) NOT NULL DEFAULT 'draft' COMMENT '状态:draft-草稿 pending-待审批 approved-审批通过 rejected-审批驳回 issued-已发放',
`current_node` varchar(128) DEFAULT NULL COMMENT '当前审批节点名称',
`wf_id` varchar(64) DEFAULT NULL COMMENT '关联工作流定义ID',
`issue_status` varchar(32) DEFAULT NULL COMMENT '发放状态:unissued-未发放 issued-已发放',
`issue_time` datetime DEFAULT NULL COMMENT '发放时间',
`issue_user_id` varchar(64) DEFAULT NULL COMMENT '发放操作人ID',
`issue_user_name` varchar(64) DEFAULT NULL COMMENT '发放操作人姓名',
`issue_remark` varchar(512) DEFAULT NULL COMMENT '发放备注',
`actual_amount` decimal(14,2) DEFAULT NULL COMMENT '实际发放金额',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_apply_code` (`apply_code`) USING BTREE,
KEY `idx_applicant_id` (`applicant_id`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-备用金申请单';
-- ----------------------------
-- Table structure for bx_advance_approval
-- ----------------------------
DROP TABLE IF EXISTS `bx_advance_approval`;
CREATE TABLE `bx_advance_approval` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`apply_id` varchar(64) NOT NULL COMMENT '备用金申请单ID',
`node_order` int(11) NOT NULL COMMENT '节点顺序',
`node_name` varchar(128) NOT NULL COMMENT '节点名称',
`approver_id` varchar(64) NOT NULL COMMENT '审批人用户ID',
`approver_name` varchar(64) NOT NULL COMMENT '审批人姓名',
`approval_status` varchar(32) NOT NULL COMMENT '审批结果:approved-通过 rejected-驳回',
`approval_opinion` varchar(1024) DEFAULT NULL COMMENT '审批意见',
`approval_time` datetime NOT NULL COMMENT '审批时间',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_apply_id` (`apply_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-备用金审批记录表';
-- ----------------------------
-- Table structure for bx_reimburse_apply
-- ----------------------------
DROP TABLE IF EXISTS `bx_reimburse_apply`;
CREATE TABLE `bx_reimburse_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`apply_code` varchar(32) NOT NULL COMMENT '报销单号(如 BX20260424001)',
`title` varchar(256) NOT NULL COMMENT '报销标题',
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
`applicant_name` varchar(64) NOT NULL COMMENT '申请人姓名(冗余)',
`expense_id` varchar(64) NOT NULL COMMENT '费用项目ID(二级项目)',
`expense_name` varchar(128) NOT NULL COMMENT '费用项目名称(冗余)',
`amount` decimal(14,2) NOT NULL COMMENT '报销金额',
`invoice_count` int(11) NOT NULL DEFAULT '0' COMMENT '发票数量',
`attach_count` int(11) NOT NULL DEFAULT '0' COMMENT '附件数量',
`status` varchar(32) NOT NULL DEFAULT 'draft' COMMENT '状态:draft-草稿 pending-待审批 approved-审批通过 rejected-审批驳回 paid-已发放 offset-已冲抵',
`current_node` varchar(128) DEFAULT NULL COMMENT '当前审批节点名称',
`wf_id` varchar(64) DEFAULT NULL COMMENT '关联工作流定义ID',
`pay_status` varchar(32) DEFAULT NULL COMMENT '支付状态:unpaid-未支付 paid-已发放 offset-已冲抵',
`pay_time` datetime DEFAULT NULL COMMENT '支付时间',
`pay_user_id` varchar(64) DEFAULT NULL COMMENT '支付操作人ID',
`pay_user_name` varchar(64) DEFAULT NULL COMMENT '支付操作人姓名',
`actual_amount` decimal(14,2) DEFAULT NULL COMMENT '实际发放金额',
`offset_advance_id` varchar(64) DEFAULT NULL COMMENT '冲抵关联的备用金单ID',
`offset_amount` decimal(14,2) DEFAULT NULL COMMENT '冲抵金额',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注说明',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_apply_code` (`apply_code`) USING BTREE,
KEY `idx_applicant_id` (`applicant_id`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_expense_id` (`expense_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-报销申请单';
-- ----------------------------
-- Table structure for bx_reimburse_detail
-- ----------------------------
DROP TABLE IF EXISTS `bx_reimburse_detail`;
CREATE TABLE `bx_reimburse_detail` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`reimburse_id` varchar(64) NOT NULL COMMENT '报销单ID',
`expense_id` varchar(64) NOT NULL COMMENT '费用项目ID',
`expense_name` varchar(128) NOT NULL COMMENT '费用项目名称',
`amount` decimal(14,2) NOT NULL COMMENT '报销金额',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_reimburse_id` (`reimburse_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-报销明细';
-- ----------------------------
-- Table structure for bx_reimburse_approval
-- ----------------------------
DROP TABLE IF EXISTS `bx_reimburse_approval`;
CREATE TABLE `bx_reimburse_approval` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`apply_id` varchar(64) NOT NULL COMMENT '报销申请单ID',
`node_order` int(11) NOT NULL COMMENT '节点顺序',
`node_name` varchar(128) NOT NULL COMMENT '节点名称',
`approver_id` varchar(64) NOT NULL COMMENT '审批人用户ID',
`approver_name` varchar(64) NOT NULL COMMENT '审批人姓名',
`approval_status` varchar(32) NOT NULL COMMENT '审批结果:approved-通过 rejected-驳回',
`approval_opinion` varchar(1024) DEFAULT NULL COMMENT '审批意见',
`approval_time` datetime NOT NULL COMMENT '审批时间',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_apply_id` (`apply_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-报销审批记录表';
-- ----------------------------
-- Table structure for bx_reimburse_offset
-- ----------------------------
DROP TABLE IF EXISTS `bx_reimburse_offset`;
CREATE TABLE `bx_reimburse_offset` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`reimburse_id` varchar(64) NOT NULL COMMENT '报销申请单ID',
`advance_id` varchar(64) NOT NULL COMMENT '备用金申请单ID',
`offset_amount` decimal(14,2) NOT NULL COMMENT '冲抵金额',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_reimburse_id` (`reimburse_id`) USING BTREE,
KEY `idx_advance_id` (`advance_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-报销单备用金冲抵关联表';
-- ----------------------------
-- Table structure for bx_attachment
-- ----------------------------
DROP TABLE IF EXISTS `bx_attachment`;
CREATE TABLE `bx_attachment` (
`id` varchar(64) NOT NULL COMMENT '主键ID(UUID)',
`biz_type` varchar(32) NOT NULL COMMENT '业务类型:advance-备用金 reimburse-报销 advance_issue-备用金发放',
`biz_id` varchar(64) NOT NULL COMMENT '业务单据ID',
`file_name` varchar(256) NOT NULL COMMENT '文件名',
`file_path` varchar(512) NOT NULL COMMENT '文件存储路径',
`file_type` varchar(128) DEFAULT NULL COMMENT '文件MIME类型',
`file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)',
`attach_type` varchar(32) DEFAULT 'attachment' COMMENT '附件类型:invoice-发票 attachment-普通附件 issue_proof-发放截图',
`sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号(公共)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_biz` (`biz_type`,`biz_id`) USING BTREE,
KEY `idx_tenant_no` (`tenant_no`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销-附件表';
SET FOREIGN_KEY_CHECKS = 1;