| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- CREATE DATABASE IF NOT EXISTS `fm-scheduling`;
- CREATE TABLE
- IF
- NOT EXISTS `work_rule` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- -- `parent_id` int(8) COMMENT '上一级规则节点的id 这个主要用于XX岗位/专业在XX时间段的在岗人数 带有复合条件的规则 ',
- `rule_type` int(1) NOT NULL COMMENT '规则类型 1 日排班规则 2 月排班规则 0 特殊日期',
- `rule_operator` int(8) COMMENT '比较符号 1大于 -1 小于 0 等于 2 大于等于 -2 小于等于',
- `rule_value` double(10, 2) COMMENT '规则的限定值',
- `rule_content_ids` varchar (255) COMMENT '规则内容ids',
- `enable` tinyint (1) NOT NULL DEFAULT 1 COMMENT '规则是否启用',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作规则表';
- CREATE TABLE
- IF
- NOT EXISTS `work_rule_content` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `rule_desc` VARCHAR ( 64 ) COMMENT 'rule描述',
- `rule_value` VARCHAR ( 64 ) COMMENT 'rule的值',
- `filed_ref` int(2) COMMENT '字段关联 以满足规则内容里的不同类型 这样好做字段层面的条件的判断 1 岗位 2 专业 3 班次 4 领导检查 5 安全日检查 ',
- `filed_ref_value` int(2) COMMENT '与字段相关联的值',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作规则内容表';
- CREATE TABLE
- IF
- NOT EXISTS `work_shift` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `shift_abbr` VARCHAR ( 5 ) NOT NULL COMMENT '班次的简称',
- `shift_name` VARCHAR ( 255 ) NOT NULL COMMENT '班次的全称',
- `shift_start_time` VARCHAR ( 64 ) NOT NULL COMMENT '班次的开始时间',
- `shift_end_time` VARCHAR ( 64 ) NOT NULL COMMENT '班次的结束时间',
- `positionIds` VARCHAR ( 64 ) NOT NULL COMMENT '班次需要的岗位',
- `shift_type` int(1) NOT NULL COMMENT '班次类型 1 集团统一 0 项目统一',
- `real_work_duration` INT ( 8 ) NOT NULL COMMENT '班次的真实工作时间以分钟后为单位',
- `work_rule_id` INT ( 8 ) NOT NULL COMMENT '班次的真实工作时间以分钟后为单位',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作班次表';
- CREATE TABLE
- IF
- NOT EXISTS `work_shift_duration` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `work_shift_id` VARCHAR ( 64 ) NOT NULL COMMENT '工作班次id',
- `duration_start` date NOT NULL COMMENT '适用时间的开始时间',
- `duration_end` date NOT NULL COMMENT '适用时间的结束时间',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作班次适用日期表';
- CREATE TABLE
- IF
- NOT EXISTS `work_shift_rest` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `work_shift_id` VARCHAR ( 64 ) NOT NULL COMMENT '班次的id',
- `rest_start_time` VARCHAR ( 64 ) NULL COMMENT '班次的休息开始时间',
- `rest_end_time` VARCHAR ( 64 ) NULL COMMENT '班次的休息结束时间',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作班次休息时间表';
- CREATE TABLE
- IF
- NOT EXISTS `work_shift_conflict` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `source_work_shift_id` VARCHAR ( 64 ) NOT NULL COMMENT '被比较的班次的id',
- `current_work_shift_id` VARCHAR ( 64 ) NULL COMMENT '当前的班次的id',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作班次冲突表';
- CREATE TABLE
- IF
- NOT EXISTS `work_staff` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `person_id` VARCHAR ( 64 ) NOT NULL COMMENT '工作人员id',
- `dept_id` VARCHAR ( 64) NOT NULL COMMENT '部门id',
- `project_id` VARCHAR ( 64 ) NOT NULL COMMENT '项目id',
- `position_id` VARCHAR ( 64 ) NOT NULL COMMENT '主职位id',
- `position_deputy_ids` VARCHAR ( 64 ) NULL COMMENT '副岗ids',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作人员档案表';
- CREATE TABLE
- IF
- NOT EXISTS `work_schedule` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `year` INT ( 11 ) NOT NULL COMMENT '年',
- `month` INT ( 11 ) NOT NULL COMMENT '月',
- `day` INT ( 11 ) NOT NULL COMMENT '日',
- `work_shift_id` VARCHAR ( 11 ) NOT NULL COMMENT '班次id',
- `work_staff_id` VARCHAR ( 64 ) NOT NULL COMMENT '工作人员id',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作排班表';
- CREATE INDEX idx_year_month_day USING BTREE ON work_schedule ( `year`, `month`, `day` );
- CREATE INDEX idx_work_time_type USING HASH ON work_schedule ( `work_time_type` );
- CREATE TABLE
- IF
- NOT EXISTS `work_time` (
- `id` VARCHAR ( 64 ) NOT NULL COMMENT '主键',
- `work_shift_id` VARCHAR ( 11 ) NOT NULL COMMENT '班次id',
- `work_staff_id` VARCHAR ( 64 ) NOT NULL COMMENT '工作人员id',
- `real_start_time` datetime NOT NULL COMMENT '工作人员的真实上班时间',
- `real_end_time` datetime NOT NULL COMMENT '工作人员真实下班时间',
- `leave` tinyint(1) NOT NULL COMMENT '工作人员是否请假',
- `leave_start_time` datetime default null COMMENT '工作人员的请假开始时间',
- `leave_end_time` datetime default null COMMENT '工作人员的请假结束时间',
- `real_work_time` int(8) NOT NULL COMMENT '工作人员的真实工作时长 以分钟计',
- `ts` TIMESTAMP NULL NOT NULL COMMENT '乐观锁',
- `creator` VARCHAR ( 32 ) NOT NULL COMMENT '创建人',
- `creation_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `modifier` VARCHAR ( 32 ) NOT NULL COMMENT '最后修改人',
- `modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
- `valid` INT ( 11 ) NOT NULL COMMENT '合法标识',
- PRIMARY KEY ( `id` )) ENGINE = INNODB CHARSET = utf8mb4 COMMENT '工作时间表';
|