Files
yunzerwebsiteallinone/sql/yz_backend_organization.sql
T
2026-08-28 13:06:54 +08:00

70 lines
4.3 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.
-- 全局组织架构相关表:组织机构、员工、职位
-- 说明:组织架构已从 ERP 模块独立为全局基础功能,表名不带 erp 前缀
-- tenant 隔离:通过 tid 字段实现租户间数据隔离
-- 对应模型:go/models/erp.go(BackendErpOrganization / BackendErpEmployee / BackendErpPosition)
-- DDL 与线上 go-platform 库实际结构一致(2026-08 导出)
-- 组织架构表(OA 组织机构、通讯录、组织机构管理页依赖)
CREATE TABLE IF NOT EXISTS `yz_backend_organization` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tid` bigint(20) unsigned NOT NULL COMMENT '租户ID',
`org_name` varchar(128) NOT NULL COMMENT '组织/部门名称',
`org_code` varchar(64) NOT NULL COMMENT '组织/部门编码',
`parent_id` bigint(20) unsigned DEFAULT '0' COMMENT '上级组织ID',
`sort` int(10) unsigned DEFAULT '0' COMMENT '排序号',
`leader_id` bigint(20) unsigned DEFAULT NULL COMMENT '部门负责人ID',
`is_company` int(11) DEFAULT '0' COMMENT '是否是公司 0-不是 1-是',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-启用,2-停用,0-删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`remark` varchar(512) DEFAULT NULL COMMENT '备注信息',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tid_code` (`tid`,`org_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='组织架构表';
-- 员工信息表(account 全局唯一)
CREATE TABLE IF NOT EXISTS `yz_backend_employee` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tid` int(11) DEFAULT NULL COMMENT '租户ID',
`account` varchar(50) NOT NULL COMMENT '员工账号',
`password` varchar(64) NOT NULL DEFAULT '' COMMENT '密码',
`name` varchar(30) NOT NULL COMMENT '员工姓名',
`gender` tinyint(4) NOT NULL DEFAULT '0' COMMENT '性别 0=未知 1=男 2=女',
`birthday` date DEFAULT NULL COMMENT '生日',
`affiliate_unit` varchar(100) DEFAULT NULL COMMENT '隶属单位',
`department` varchar(50) DEFAULT NULL COMMENT '部门',
`position` varchar(50) DEFAULT NULL COMMENT '职位',
`education` varchar(20) DEFAULT NULL COMMENT '学历',
`nation` varchar(20) DEFAULT NULL COMMENT '民族',
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
`wechat` varchar(50) DEFAULT NULL COMMENT '微信号',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`home_address` varchar(255) DEFAULT NULL COMMENT '家庭住址',
`account_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '账号状态 0=禁用 1=正常 2=离职',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_account` (`account`) USING BTREE,
KEY `idx_tid_account` (`tid`,`account`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='员工信息表';
-- 职位表
CREATE TABLE IF NOT EXISTS `yz_backend_position` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tid` bigint(20) unsigned NOT NULL COMMENT '租户ID',
`department_id` bigint(20) unsigned NOT NULL COMMENT '部门ID',
`position_code` varchar(50) NOT NULL COMMENT '职位编码',
`position_name` varchar(100) NOT NULL COMMENT '职位名称',
`position_type` tinyint(4) DEFAULT '0' COMMENT '职位类型:0-普通职位 1-管理职位 2-技术职位',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:0-禁用 1-启用',
`sort` int(10) unsigned DEFAULT '0' COMMENT '排序',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tid_code` (`tid`,`position_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='职位表';