/* 报销系统(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;