-- ============================================================ -- 报销系统数据库模型(bx_ 前缀) -- 字段规范:沿用 CRM 系统现有规范 -- 生成日期:2026-04-24 -- ============================================================ -- ============================================================ -- 一、基础管理(用户 / 角色 / 菜单 / 权限) -- ============================================================ -- 1. 用户表 CREATE TABLE bx_user ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', username VARCHAR(64) NOT NULL COMMENT '用户名(登录账号)', password VARCHAR(128) NOT NULL COMMENT '密码(加密存储)', real_name VARCHAR(64) DEFAULT NULL COMMENT '真实姓名', phone VARCHAR(20) DEFAULT NULL COMMENT '手机号', email VARCHAR(128) DEFAULT NULL COMMENT '邮箱', avatar VARCHAR(256) DEFAULT NULL COMMENT '头像URL', status TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-启用 0-禁用', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表'; -- 2. 角色表 CREATE TABLE bx_role ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', role_name VARCHAR(64) NOT NULL COMMENT '角色名称', role_code VARCHAR(64) NOT NULL COMMENT '角色编码(如 ADMIN、FINANCE、EMPLOYEE)', sort_order INT NOT NULL DEFAULT 0 COMMENT '排序号', status TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-启用 0-禁用', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), UNIQUE KEY uk_role_code (role_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表'; -- 3. 角色-用户关联表 CREATE TABLE bx_role_user ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', role_id BIGINT NOT NULL COMMENT '角色ID', user_id BIGINT NOT NULL COMMENT '用户ID', create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (id), UNIQUE KEY uk_role_user (role_id, user_id), KEY idx_user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色-用户关联表'; -- 4. 报销系统菜单表 CREATE TABLE bx_menu ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', parent_id BIGINT NOT NULL DEFAULT 0 COMMENT '父级菜单ID(0为顶级)', menu_name VARCHAR(64) NOT NULL COMMENT '菜单名称', menu_code VARCHAR(64) DEFAULT NULL COMMENT '菜单编码(前端路由标识)', menu_type TINYINT NOT NULL COMMENT '菜单类型:1-目录 2-菜单页 3-按钮/操作', path VARCHAR(256) DEFAULT NULL COMMENT '路由路径', icon VARCHAR(64) DEFAULT NULL COMMENT '菜单图标', sort_order INT NOT NULL DEFAULT 0 COMMENT '排序号', visible TINYINT NOT NULL DEFAULT 1 COMMENT '是否可见:1-可见 0-隐藏', status TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-启用 0-禁用', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), KEY idx_parent_id (parent_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销系统菜单表'; -- 5. 菜单-角色关联表 CREATE TABLE bx_menu_role ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', menu_id BIGINT NOT NULL COMMENT '菜单ID', role_id BIGINT NOT NULL COMMENT '角色ID', create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (id), UNIQUE KEY uk_menu_role (menu_id, role_id), KEY idx_role_id (role_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单-角色关联表'; -- ============================================================ -- 二、费用项目管理 -- ============================================================ -- 6. 费用项目表(支持一级、二级) CREATE TABLE bx_expense_item ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', parent_id BIGINT NOT NULL DEFAULT 0 COMMENT '父级项目ID(0为一级项目)', item_name VARCHAR(128) NOT NULL COMMENT '项目名称', item_code VARCHAR(64) DEFAULT NULL COMMENT '项目编码', level TINYINT NOT NULL DEFAULT 1 COMMENT '层级:1-一级 2-二级', sort_order INT NOT NULL DEFAULT 0 COMMENT '排序号', status TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-启用 0-禁用', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), KEY idx_parent_id (parent_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='费用项目表'; -- ============================================================ -- 三、工作流配置 -- ============================================================ -- 7. 工作流定义表 CREATE TABLE bx_workflow_def ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', biz_type VARCHAR(32) NOT NULL COMMENT '业务类型:advance-备用金 reimburse-报销单', wf_name VARCHAR(128) NOT NULL COMMENT '工作流名称', status TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-启用 0-禁用', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), KEY idx_biz_type (biz_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流定义表'; -- 8. 工作流节点表(顺序审批节点) CREATE TABLE bx_workflow_node ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', wf_id BIGINT NOT NULL COMMENT '工作流定义ID', node_name VARCHAR(128) NOT NULL COMMENT '节点名称(如:主管审批、财务复核)', node_order INT NOT NULL DEFAULT 0 COMMENT '节点顺序(从小到大执行)', approver_id BIGINT DEFAULT NULL COMMENT '审批人用户ID', approver_name VARCHAR(64) DEFAULT NULL COMMENT '审批人姓名(冗余)', create_by VARCHAR(64) DEFAULT NULL 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 '更新时间', PRIMARY KEY (id), KEY idx_wf_id (wf_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流节点表'; -- ============================================================ -- 四、备用金管理 -- ============================================================ -- 9. 备用金申请单 CREATE TABLE bx_advance_apply ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', apply_code VARCHAR(32) NOT NULL COMMENT '申请单号(如 BYJ20260424001)', applicant_id BIGINT NOT NULL COMMENT '申请人用户ID', applicant_name VARCHAR(64) NOT NULL COMMENT '申请人姓名(冗余)', reason VARCHAR(1024) NOT NULL COMMENT '申请原因', purpose VARCHAR(1024) DEFAULT NULL COMMENT '申请目的', 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 BIGINT DEFAULT NULL COMMENT '关联工作流定义ID', issue_status VARCHAR(32) DEFAULT NULL COMMENT '发放状态:unissued-未发放 issued-已发放', issue_time DATETIME DEFAULT NULL COMMENT '发放时间', issue_user_id BIGINT DEFAULT NULL COMMENT '发放操作人ID', issue_user_name VARCHAR(64) DEFAULT NULL COMMENT '发放操作人姓名', issue_remark VARCHAR(512) DEFAULT NULL COMMENT '发放备注', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), UNIQUE KEY uk_apply_code (apply_code), KEY idx_applicant_id (applicant_id), KEY idx_status (status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备用金申请单'; -- 10. 备用金审批记录表 CREATE TABLE bx_advance_approval ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', apply_id BIGINT NOT NULL COMMENT '备用金申请单ID', node_order INT NOT NULL COMMENT '节点顺序', node_name VARCHAR(128) NOT NULL COMMENT '节点名称', approver_id BIGINT 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 '审批时间', PRIMARY KEY (id), KEY idx_apply_id (apply_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备用金审批记录表'; -- ============================================================ -- 五、报销管理 -- ============================================================ -- 11. 报销申请单 CREATE TABLE bx_reimburse_apply ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', apply_code VARCHAR(32) NOT NULL COMMENT '报销单号(如 BX20260424001)', title VARCHAR(256) NOT NULL COMMENT '报销标题', applicant_id BIGINT NOT NULL COMMENT '申请人用户ID', applicant_name VARCHAR(64) NOT NULL COMMENT '申请人姓名(冗余)', expense_id BIGINT NOT NULL COMMENT '费用项目ID(二级项目)', expense_name VARCHAR(128) NOT NULL COMMENT '费用项目名称(冗余)', amount DECIMAL(14,2) NOT NULL COMMENT '报销金额', invoice_count INT NOT NULL DEFAULT 0 COMMENT '发票数量', attach_count INT 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 BIGINT DEFAULT NULL COMMENT '关联工作流定义ID', pay_status VARCHAR(32) DEFAULT NULL COMMENT '支付状态:unpaid-未支付 paid-已发放 offset-已冲抵', pay_time DATETIME DEFAULT NULL COMMENT '支付时间', pay_user_id BIGINT DEFAULT NULL COMMENT '支付操作人ID', pay_user_name VARCHAR(64) DEFAULT NULL COMMENT '支付操作人姓名', offset_advance_id BIGINT DEFAULT NULL COMMENT '冲抵关联的备用金单ID', offset_amount DECIMAL(14,2) DEFAULT NULL COMMENT '冲抵金额', remark VARCHAR(512) DEFAULT NULL COMMENT '备注说明', create_by VARCHAR(64) DEFAULT NULL 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 TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), UNIQUE KEY uk_apply_code (apply_code), KEY idx_applicant_id (applicant_id), KEY idx_status (status), KEY idx_expense_id (expense_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销申请单'; -- 12. 报销审批记录表 CREATE TABLE bx_reimburse_approval ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', apply_id BIGINT NOT NULL COMMENT '报销申请单ID', node_order INT NOT NULL COMMENT '节点顺序', node_name VARCHAR(128) NOT NULL COMMENT '节点名称', approver_id BIGINT 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 '审批时间', PRIMARY KEY (id), KEY idx_apply_id (apply_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销审批记录表'; -- 13. 报销单-备用金冲抵关联表 CREATE TABLE bx_reimburse_offset ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', reimburse_id BIGINT NOT NULL COMMENT '报销申请单ID', advance_id BIGINT NOT NULL COMMENT '备用金申请单ID', offset_amount DECIMAL(14,2) NOT NULL COMMENT '冲抵金额', remark VARCHAR(512) DEFAULT NULL COMMENT '备注', create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (id), KEY idx_reimburse_id (reimburse_id), KEY idx_advance_id (advance_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销单-备用金冲抵关联表'; -- ============================================================ -- 六、附件管理 -- ============================================================ -- 14. 附件表(通用,关联多种业务单据) CREATE TABLE bx_attachment ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', biz_type VARCHAR(32) NOT NULL COMMENT '业务类型:advance-备用金 reimburse-报销 advance_issue-备用金发放', biz_id BIGINT NOT NULL COMMENT '业务单据ID', file_name VARCHAR(256) NOT NULL COMMENT '文件名', file_path VARCHAR(512) NOT NULL COMMENT '文件存储路径', file_type VARCHAR(32) DEFAULT NULL COMMENT '文件类型(如 jpg/png/pdf/doc)', file_size BIGINT DEFAULT NULL COMMENT '文件大小(字节)', attach_type VARCHAR(32) DEFAULT 'attachment' COMMENT '附件类型:invoice-发票 attachment-普通附件 issue_proof-发放截图', sort_order INT NOT NULL DEFAULT 0 COMMENT '排序号', create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (id), KEY idx_biz (biz_type, biz_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='附件表'; -- ============================================================ -- 七、初始数据 -- ============================================================ -- 初始角色 INSERT INTO bx_role (role_name, role_code, sort_order, remark) VALUES ('管理员', 'ADMIN', 1, '系统管理员,拥有全部权限'), ('员工', 'EMPLOYEE', 2, '普通员工,可发起申请'), ('财务人员', 'FINANCE', 3, '负责发放、冲抵等财务操作'), ('总经理', 'GENERAL_MANAGER', 4, '查看全部申请单'); -- 初始菜单(三级结构) -- L1:首页(工作台,一级菜单) INSERT INTO bx_menu (id, parent_id, menu_name, menu_code, menu_type, path, sort_order) VALUES (90, 0, '首页', 'dashboard', 2, '/home', 0); -- L1:基础管理 INSERT INTO bx_menu (id, parent_id, menu_name, menu_code, menu_type, path, sort_order) VALUES (100, 0, '基础管理', NULL, 1, NULL, 1), (101, 100, '用户管理', 'user-manage', 2, '/base/user', 1), (102, 100, '角色管理', 'role-manage', 2, '/base/role', 2), (103, 100, '菜单管理', 'menu-manage', 2, '/base/menu', 3); -- L1:基础配置 INSERT INTO bx_menu (id, parent_id, menu_name, menu_code, menu_type, path, sort_order) VALUES (200, 0, '基础配置', NULL, 1, NULL, 2), (201, 200, '费用项目管理', 'project', 2, '/config/expense', 1), (202, 200, '工作流配置(备用金)', 'wf-advance', 2, '/config/wf-advance', 2), (203, 200, '工作流配置(报销单)', 'wf-reimburse', 2, '/config/wf-reimburse', 3); -- L1:我的、待办、发放/冲抵(一级目录;不再使用「报销业务」父级 id=300) INSERT INTO bx_menu (id, parent_id, menu_name, menu_code, menu_type, path, sort_order) VALUES (310, 0, '我的', NULL, 1, NULL, 3), (311, 310, '备用金申请', 'advance-apply', 2, '/biz/advance-apply', 1), (321, 310, '报销申请', 'reimburse-apply', 2, '/biz/reimburse-apply', 2), (320, 0, '待办', NULL, 1, NULL, 4), (312, 320, '备用金审批', 'advance-approve', 2, '/biz/advance-approve', 1), (322, 320, '报销审批', 'reimburse-approve', 2, '/biz/reimburse-approve', 2), (330, 0, '发放/冲抵', NULL, 1, NULL, 5), (313, 330, '备用金发放管理', 'advance-issue', 2, '/biz/advance-issue', 1), (323, 330, '支付管理(发放/冲抵)', 'payment', 2, '/biz/payment', 2); -- L1:视图中心 INSERT INTO bx_menu (id, parent_id, menu_name, menu_code, menu_type, path, sort_order) VALUES (400, 0, '视图中心', NULL, 1, NULL, 6), (401, 400, '我的申请单', 'mine', 2, '/view/mine', 1), (402, 400, '待我审批', 'todo', 2, '/view/todo', 2), (403, 400, '全部申请单(总经理)', 'all', 2, '/view/all', 3); -- 初始费用项目(一级 + 二级) INSERT INTO bx_expense_item (parent_id, item_name, item_code, level, sort_order) VALUES (0, '差旅费', 'TRAVEL', 1, 1), (0, '办公费', 'OFFICE', 1, 2), (0, '培训费', 'TRAINING', 1, 3), (0, '交通费', 'TRANSPORT', 1, 4), (0, '设备维护费', 'EQUIPMENT', 1, 5), (0, '宣传费', 'PROMOTION', 1, 6), (0, '会务费', 'CONFERENCE', 1, 7), (0, '活动费', 'ACTIVITY', 1, 8); -- 二级项目(以差旅费为例) INSERT INTO bx_expense_item (parent_id, item_name, item_code, level, sort_order) SELECT id, '住宿费', 'TRAVEL_HOTEL', 2, 1 FROM bx_expense_item WHERE item_code = 'TRAVEL' UNION ALL SELECT id, '交通费', 'TRAVEL_TRANSPORT', 2, 2 FROM bx_expense_item WHERE item_code = 'TRAVEL' UNION ALL SELECT id, '打车费', 'TRAVEL_TAXI', 2, 3 FROM bx_expense_item WHERE item_code = 'TRAVEL'; -- 二级项目(办公费) INSERT INTO bx_expense_item (parent_id, item_name, item_code, level, sort_order) SELECT id, '耗材', 'OFFICE_CONSUMABLE', 2, 1 FROM bx_expense_item WHERE item_code = 'OFFICE' UNION ALL SELECT id, '文具', 'OFFICE_STATIONERY', 2, 2 FROM bx_expense_item WHERE item_code = 'OFFICE' UNION ALL SELECT id, '打印', 'OFFICE_PRINT', 2, 3 FROM bx_expense_item WHERE item_code = 'OFFICE' UNION ALL SELECT id, '网络服务', 'OFFICE_NETWORK', 2, 4 FROM bx_expense_item WHERE item_code = 'OFFICE'; -- 二级项目(培训费) INSERT INTO bx_expense_item (parent_id, item_name, item_code, level, sort_order) SELECT id, '会务费', 'TRAINING_CONFERENCE', 2, 1 FROM bx_expense_item WHERE item_code = 'TRAINING' UNION ALL SELECT id, '资料费', 'TRAINING_MATERIAL', 2, 2 FROM bx_expense_item WHERE item_code = 'TRAINING' UNION ALL SELECT id, '报名费', 'TRAINING_REGISTRATION', 2, 3 FROM bx_expense_item WHERE item_code = 'TRAINING'; -- 二级项目(交通费) INSERT INTO bx_expense_item (parent_id, item_name, item_code, level, sort_order) SELECT id, '网约车', 'TRANSPORT_RIDE', 2, 1 FROM bx_expense_item WHERE item_code = 'TRANSPORT' UNION ALL SELECT id, '高铁', 'TRANSPORT_HSR', 2, 2 FROM bx_expense_item WHERE item_code = 'TRANSPORT' UNION ALL SELECT id, '机票', 'TRANSPORT_FLIGHT', 2, 3 FROM bx_expense_item WHERE item_code = 'TRANSPORT' UNION ALL SELECT id, '市内交通', 'TRANSPORT_LOCAL', 2, 4 FROM bx_expense_item WHERE item_code = 'TRANSPORT'; -- 初始工作流(备用金) INSERT INTO bx_workflow_def (biz_type, wf_name, remark) VALUES ('advance', '备用金审批流程', '备用金申请默认审批流程'); INSERT INTO bx_workflow_node (wf_id, node_name, node_order, approver_id, approver_name) VALUES (1, '发起人主管审批', 1, NULL, '待配置'), (1, '财务复核', 2, NULL, '待配置'), (1, '总经理审批', 3, NULL, '待配置'); -- 初始工作流(报销单) INSERT INTO bx_workflow_def (biz_type, wf_name, remark) VALUES ('reimburse', '报销单审批流程', '报销申请默认审批流程'); INSERT INTO bx_workflow_node (wf_id, node_name, node_order, approver_id, approver_name) VALUES (2, '发起人主管审批', 1, NULL, '待配置'), (2, '财务复核', 2, NULL, '待配置'), (2, '总经理审批', 3, NULL, '待配置');