新增功能
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
-- 医生排班表
|
||||
CREATE TABLE IF NOT EXISTS `zyt_doctor_roster` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`doctor_id` int(11) NOT NULL COMMENT '医生ID(对应 zyt_admin 表的 id,role_id=1)',
|
||||
`date` date NOT NULL COMMENT '日期',
|
||||
`period` varchar(20) NOT NULL COMMENT '时段 morning-上午 afternoon-下午',
|
||||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1-出诊 2-停诊 3-休息 4-请假',
|
||||
`quota` int(11) DEFAULT '0' COMMENT '号源数',
|
||||
`max_patients` int(11) DEFAULT '0' COMMENT '最大接诊数',
|
||||
`booked_count` int(11) DEFAULT '0' COMMENT '已预约数',
|
||||
`remark` varchar(500) DEFAULT '' COMMENT '备注',
|
||||
`create_time` int(11) NOT NULL COMMENT '创建时间',
|
||||
`update_time` int(11) NOT NULL COMMENT '更新时间',
|
||||
`delete_time` int(11) DEFAULT NULL COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_doctor_date_period` (`doctor_id`,`date`,`period`,`delete_time`),
|
||||
KEY `idx_date` (`date`),
|
||||
KEY `idx_doctor` (`doctor_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医生排班表';
|
||||
|
||||
-- 注意:医生数据来自 zyt_admin 表,筛选条件为 role_id=1
|
||||
-- 不需要单独的医生表、医院表、科室表
|
||||
|
||||
-- 插入示例排班数据(假设 zyt_admin 表中 id=1 和 id=2 的用户是医生,role_id=1)
|
||||
INSERT INTO `la_doctor_roster` (`doctor_id`, `date`, `period`, `status`, `quota`, `max_patients`, `booked_count`, `create_time`, `update_time`) VALUES
|
||||
-- 医生1本周排班
|
||||
(1, CURDATE(), 'morning', 1, 20, 30, 5, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, CURDATE(), 'afternoon', 1, 20, 30, 3, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'morning', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'morning', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'afternoon', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 3 DAY), 'morning', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 4 DAY), 'morning', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 4 DAY), 'afternoon', 1, 20, 30, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周末休息
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 5 DAY), 'morning', 3, 0, 0, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 5 DAY), 'afternoon', 3, 0, 0, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 6 DAY), 'morning', 3, 0, 0, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL 6 DAY), 'afternoon', 3, 0, 0, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
|
||||
Reference in New Issue
Block a user