智能排班系统说明文档
系统概述
智能排班系统是一个基于Python和Tkinter开发的图形界面应用程序,主要用于管理和生成节假日及周末的值班安排。系统支持从Excel文件导入人员信息,自动获取节假日数据,并生成合理的排班表。
主要功能
- Excel人员信息导入
- 节假日数据自动获取
- 智能排班生成
- 排班结果导出(支持Excel和CSV格式)
- 上次导入文件自动加载
核心模块说明
1. 数据库管理(DatabaseManager类)
负责系统数据的持久化存储,主要功能包括:
- 创建和管理SQLite数据库
- 存储节假日信息
- 记录最近使用的JSON文件路径
- 提供数据查询接口
2. 人员管理(PeopleManager类)
处理人员信息的导入和转换,主要功能:
- 从Excel文件导入人员信息
- 将人员信息转换为JSON格式
- 数据格式验证
3. 排班核心逻辑(Scheduler类)
实现排班算法和节假日管理:
- 在线获取节假日数据
- 生成指定时间范围的排班表
- 处理节假日和周末的特殊排班
4. 主界面(MainApplication类)
提供图形用户界面,包含:
- 文件导入导出功能
- 排班参数设置
- 排班结果显示
- 状态信息提示
数据结构
人员信息格式
{
"name": "姓名",
"phone": "电话号码"
}
排班结果格式
{
"date": "日期",
"name": "值班人员",
"phone": "联系电话",
"type": "节假日/周末"
}
使用说明
-
准备人员Excel文件
- 必须包含"姓名"列
- 可选包含"电话"列
-
导入人员信息
- 点击"导入Excel"按钮
- 选择Excel文件
- 系统自动转换为JSON格式并保存
-
设置排班参数
- 选择开始日期(默认为当天)
- 输入需要排班的天数(1-366之间)
-
生成排班表
- 点击"生成排班"按钮
- 系统自动获取节假日信息
- 生成排班结果
-
导出结果
- 点击"导出结果"按钮
- 选择导出格式(Excel或CSV)
- 选择保存位置
注意事项
- 确保网络连接正常,以便获取节假日数据
- Excel文件路径避免使用中文或特殊字符
- 排班天数需在1-366天之间
- 日期格式必须为YYYY-MM-DD
- 电话号码为可选信息,未提供时显示为N/A


