项目基本完成

This commit is contained in:
yovinchen 2025-06-30 21:07:53 +08:00
parent 18d7a4d0a1
commit b437f3ffc1

284
Windows部署说明.md Normal file
View File

@ -0,0 +1,284 @@
# 座位分配系统 - Windows部署说明
## 目录
- [概述](#概述)
- [系统要求](#系统要求)
- [开发者构建指南](#开发者构建指南)
- [用户使用指南](#用户使用指南)
- [故障排除](#故障排除)
- [技术支持](#技术支持)
## 概述
本文档说明如何在Windows系统上构建和部署座位分配系统。该系统支持1-10人连坐需求能够处理不连续座位分配。
**主要功能:**
- 智能座位分配算法
- 支持连坐组合1-10人
- 完整的文件校验
- 详细的分配日志
- 用户友好的命令行界面
## 系统要求
### 开发环境要求
- **操作系统**: Windows 7/10/11 (64位)
- **Python版本**: Python 3.8 或更高版本
- **内存**: 至少 2GB RAM
- **磁盘空间**: 至少 500MB 可用空间
- **网络**: 需要网络连接以下载依赖包
### 运行环境要求(最终用户)
- **操作系统**: Windows 7/10/11 (64位)
- **内存**: 至少 1GB RAM
- **磁盘空间**: 至少 100MB 可用空间
- **Excel**: Microsoft Excel 2010 或更高版本(查看结果文件)
## 开发者构建指南
### 1. 环境准备
#### 1.1 安装Python
从 [Python官网](https://www.python.org/downloads/) 下载并安装Python 3.8+
确保安装时勾选:
- ✅ Add Python to PATH
- ✅ Install pip
#### 1.2 验证安装
```cmd
python --version
pip --version
```
### 2. 下载源代码
```cmd
git clone <repository-url>
cd TableSynthesis
```
### 3. 自动构建(推荐)
#### 3.1 运行构建脚本
```cmd
python windows_build.py
```
构建脚本将自动完成:
- ✅ 检查系统环境
- ✅ 安装必要依赖
- ✅ 构建独立exe文件
- ✅ 创建分发包
#### 3.2 构建输出
构建成功后,会生成:
```
座位分配系统_Windows_分发包/
├── 座位分配系统.exe # 主程序
├── 运行座位分配系统.bat # 启动脚本
├── 使用说明.txt # 使用说明
├── 人员信息_示例.xlsx # 示例文件
└── 座位信息_示例.xlsx # 示例文件
```
### 4. 手动构建(可选)
如果自动构建失败,可以手动构建:
#### 4.1 安装依赖
```cmd
pip install pandas>=1.3.0 openpyxl>=3.0.0 numpy>=1.20.0 pyinstaller>=4.0
```
#### 4.2 使用PyInstaller构建
```cmd
pyinstaller --clean --noconfirm seat_allocation.spec
```
#### 4.3 手动创建分发包
```cmd
mkdir 座位分配系统_Windows_分发包
copy dist\座位分配系统.exe 座位分配系统_Windows_分发包\
copy 人员信息.xlsx 座位分配系统_Windows_分发包\人员信息_示例.xlsx
copy 座位信息.xlsx 座位分配系统_Windows_分发包\座位信息_示例.xlsx
copy 运行座位分配系统.bat 座位分配系统_Windows_分发包\
```
## 用户使用指南
### 1. 获取分发包
从开发者处获取 `座位分配系统_Windows_分发包` 文件夹,或下载已构建的发布版本。
### 2. 准备数据文件
#### 2.1 复制示例文件
```
人员信息_示例.xlsx → 人员信息.xlsx
座位信息_示例.xlsx → 座位信息.xlsx
```
#### 2.2 填写人员信息.xlsx
**必需列:**
- **姓名**: 人员姓名
- **证件类型**: 身份证、护照等
- **证件号**: 证件号码
- **手机号**: 联系电话
- **备注**: 连坐人数(留空表示单独坐)
**连坐规则:**
- 单人坐位:备注列留空
- 连坐组合:第一人填写总人数,其他人留空
**示例:**
| 姓名 | 证件类型 | 证件号 | 手机号 | 备注 |
|------|----------|--------|--------|------|
| 张三 | 身份证 | 123456789012345678 | 13800138000 | 3 |
| 李四 | 身份证 | 123456789012345679 | 13800138001 | |
| 王五 | 身份证 | 123456789012345680 | 13800138002 | |
| 赵六 | 身份证 | 123456789012345681 | 13800138003 | |
上述示例表示张三、李四、王五需要3人连坐赵六单独坐。
#### 2.3 填写座位信息.xlsx
**必需列:**
- **区域**: 座位区域(如"A区"、"B区"
- **楼层**: 楼层信息(如"1层"、"2层"
- **排号**: 排号(如"第1排"、"第2排"
- **座位号**: 具体座位号(如"1号"、"2号"
**示例:**
| 区域 | 楼层 | 排号 | 座位号 |
|------|------|------|--------|
| A区 | 1层 | 第1排 | 1号 |
| A区 | 1层 | 第1排 | 2号 |
| A区 | 1层 | 第1排 | 3号 |
### 3. 运行程序
#### 3.1 推荐方式使用bat脚本
双击 `运行座位分配系统.bat`
脚本会自动:
- ✅ 检查环境和文件
- ✅ 提供友好的错误提示
- ✅ 运行主程序
- ✅ 显示运行结果
#### 3.2 直接运行
双击 `座位分配系统.exe`
### 4. 查看结果
程序运行成功后,会生成以下文件:
- **座位信息_最终分配.xlsx**: 最终座位分配结果
- **最终座位分配日志.xlsx**: 详细分配记录
- **seat_allocation_log.txt**: 运行日志
使用Excel打开xlsx文件查看分配结果。
## 故障排除
### 常见问题
#### Q1: 程序无法启动
**可能原因:**
- 系统不兼容需要Windows 7+
- 缺少Visual C++ Redistributable
**解决方案:**
1. 确认系统版本Windows 7/10/11 64位
2. 下载安装 [Microsoft Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
#### Q2: 提示缺少依赖包
**可能原因:**
- 网络连接问题
- 权限不足
**解决方案:**
1. 确保网络连接正常
2. 以管理员身份运行
3. 手动安装:`pip install pandas openpyxl numpy`
#### Q3: 文件权限错误
**可能原因:**
- Excel文件被占用
- 程序目录只读
**解决方案:**
1. 关闭所有Excel窗口
2. 确保程序目录有写入权限
3. 避免在系统盘根目录运行
#### Q4: 数据文件格式错误
**可能原因:**
- 列名不匹配
- 数据类型错误
- 编码问题
**解决方案:**
1. 对照示例文件检查列名
2. 确保数据格式正确
3. 使用UTF-8编码保存
#### Q5: 无法找到连续座位
**可能原因:**
- 座位信息不连续
- 连坐组过大
**解决方案:**
1. 检查座位信息的连续性
2. 适当调整连坐组大小
3. 增加座位数量
### 日志分析
查看 `seat_allocation_log.txt` 文件可获取详细错误信息:
- **文件加载错误**: 检查文件路径和格式
- **数据校验错误**: 检查数据完整性
- **分配算法错误**: 检查座位和人员匹配
### 性能优化
#### 大数据处理
- **人员数量**: 建议不超过1000人
- **座位数量**: 建议不超过2000个
- **连坐组大小**: 建议不超过8人
#### 内存使用
- 小型场景(<100人: 约50MB内存
- 中型场景100-500人: 约100MB内存
- 大型场景500-1000人: 约200MB内存
## 技术支持
### 获取帮助
1. **查看日志文件**: `seat_allocation_log.txt`
2. **检查使用说明**: `使用说明.txt`
3. **参考示例文件**: 确保数据格式正确
### 报告问题
报告问题时,请提供:
- 系统信息(操作系统版本)
- 错误截图或错误信息
- 数据文件(脱敏后)
- seat_allocation_log.txt 内容
### 更新与维护
- 定期检查更新版本
- 备份重要数据文件
- 保持系统和依赖包更新
---
**版本**: v1.0
**最后更新**: 2024年12月
**兼容性**: Windows 7/10/11 (64位)