|
@@ -0,0 +1,168 @@
|
|
|
+CREATE DATABASE IF NOT EXISTS `fm-scheduling`;
|
|
|
+
|
|
|
+CREATE TABLE
|
|
|
+ IF
|
|
|
+ NOT EXISTS `work_rule`
|
|
|
+(
|
|
|
+ `id` VARCHAR(64) NOT NULL COMMENT '主键',
|
|
|
+ `type` int(1) NOT NULL COMMENT '规则类型 1 日排班规则 2 月排班规则 0 特殊日期',
|
|
|
+ `operator` int(8) COMMENT '比较符号 1大于 -1 小于 0 等于 2 大于等于 -2 小于等于',
|
|
|
+ `value` double(10, 2) COMMENT '规则的限定值',
|
|
|
+ `validator` varchar(64) COMMENT '规则的校验器标记',
|
|
|
+ `enable` tinyint(1) NOT NULL DEFAULT 1 COMMENT '规则是否启用',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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(64) NOT NULL COMMENT '班次的简称',
|
|
|
+ `shift_name` VARCHAR(255) NOT NULL COMMENT '班次的全称',
|
|
|
+ `start_time` VARCHAR(64) NOT NULL COMMENT '班次的开始时间',
|
|
|
+ `end_time` VARCHAR(64) NOT NULL COMMENT '班次的结束时间',
|
|
|
+ `work_duration` INT(8) NOT NULL COMMENT '班次的工作时间以分钟后为单位',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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 '主键',
|
|
|
+ `shift_id` VARCHAR(64) NOT NULL COMMENT '工作班次id',
|
|
|
+ `start_time` date NOT NULL COMMENT '适用时间的开始时间',
|
|
|
+ `end_time` date NOT NULL COMMENT '适用时间的结束时间',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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 '主键',
|
|
|
+ `shift_id` VARCHAR(64) NOT NULL COMMENT '班次的id',
|
|
|
+ `start_time` VARCHAR(64) NULL COMMENT '班次的休息开始时间',
|
|
|
+ `end_time` VARCHAR(64) NULL COMMENT '班次的休息结束时间',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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_shift_id` VARCHAR(64) NOT NULL COMMENT '被比较的班次的id',
|
|
|
+ `current_shift_id` VARCHAR(64) NULL COMMENT '当前的班次的id',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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_person`
|
|
|
+(
|
|
|
+ `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',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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 '主键',
|
|
|
+ `work_day` datetime NOT NULL COMMENT '上班的日期',
|
|
|
+ `shift_id` VARCHAR(11) NOT NULL COMMENT '班次id',
|
|
|
+ `person_id` VARCHAR(64) NOT NULL COMMENT '工作人员id',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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_time`
|
|
|
+(
|
|
|
+ `id` VARCHAR(64) NOT NULL COMMENT '主键',
|
|
|
+ `shift_id` VARCHAR(11) NOT NULL COMMENT '班次id',
|
|
|
+ `staff_id` VARCHAR(64) NOT NULL COMMENT '工作人员id',
|
|
|
+ `start_time` datetime NOT NULL COMMENT '工作人员的真实上班时间',
|
|
|
+ `end_time` datetime NOT NULL COMMENT '工作人员真实下班时间',
|
|
|
+ `work_times` int(8) NOT NULL COMMENT '工作人员的真实工作时长 以分钟计',
|
|
|
+ `ts` TIMESTAMP default current_timestamp on update current_timestamp 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 '员工工作时长表';
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|