增加文件类型识别以及错误数据校验

This commit is contained in:
2025-07-01 15:42:52 +08:00
parent 9c3470e60b
commit fcacab52c2
11 changed files with 486 additions and 548 deletions

127
log/seat_allocation_log.txt Normal file
View File

@@ -0,0 +1,127 @@
[2025-07-01 15:41:09] ============================================================
[2025-07-01 15:41:09] 座位分配系统 - 文件校验
[2025-07-01 15:41:09] ============================================================
[2025-07-01 15:41:09] === 开始加载数据 ===
[2025-07-01 15:41:09] 正在读取人员信息文件: 人员信息.xlsx
[2025-07-01 15:41:09] 正在读取座位信息文件: 座位信息.xlsx
[2025-07-01 15:41:09] 开始过滤座位数据...
[2025-07-01 15:41:09] 原始数据行数: 17
[2025-07-01 15:41:09] 过滤后数据行数: 6
[2025-07-01 15:41:09] 移除无效行数: 11
[2025-07-01 15:41:09] ✅ 已过滤掉 11 行无效数据(空行、示例数据等)
[2025-07-01 15:41:09] 有效座位区域: 西北门入口场地A5区
[2025-07-01 15:41:09] 有效座位楼层: 场地
[2025-07-01 15:41:09] 清理文字数据中的空格...
[2025-07-01 15:41:09] ✅ 文字数据清理完成
[2025-07-01 15:41:09] ✅ 文件加载成功
[2025-07-01 15:41:09] 人员信息: 6 行 × 6 列
[2025-07-01 15:41:09] 座位信息: 6 行 × 12 列
[2025-07-01 15:41:09]
=== 人员信息结构校验 ===
[2025-07-01 15:41:09] ✅ 所有必需列都存在
[2025-07-01 15:41:09]
数据完整性检查:
[2025-07-01 15:41:09] ✅ 姓名 列数据完整
[2025-07-01 15:41:09] ✅ 证件类型 列数据完整
[2025-07-01 15:41:09] ✅ 证件号 列数据完整
[2025-07-01 15:41:09] ✅ 手机号 列数据完整
[2025-07-01 15:41:09] ✅ 姓名无重复
[2025-07-01 15:41:09]
=== 连坐组校验 ===
[2025-07-01 15:41:09] ✅ 第 1 组: 叶一帆 (单独)
[2025-07-01 15:41:09] ✅ 第 2 组: 刘泽 (单独)
[2025-07-01 15:41:09] ✅ 第 3 组: 黄锡恩 (单独)
[2025-07-01 15:41:09] ✅ 第 4 组: 胡中, 丁逸夫 (2人连坐)
[2025-07-01 15:41:09] ✅ 第 5 组: 沈佳琰 (单独)
[2025-07-01 15:41:09]
=== 座位信息结构校验 ===
[2025-07-01 15:41:09] ✅ 所有必需列都存在
[2025-07-01 15:41:09] ✅ 区域 列数据完整
[2025-07-01 15:41:09] ✅ 楼层 列数据完整
[2025-07-01 15:41:09] ✅ 排号 列数据完整
[2025-07-01 15:41:09] ✅ 座位号 列数据完整
[2025-07-01 15:41:09]
座位结构分析:
[2025-07-01 15:41:09]
座位结构分析:
[2025-07-01 15:41:09] ✅ 西北门入口场地A5区-场地-19排: 6 个座位完全连续 (1-6)
[2025-07-01 15:41:09]
=== 容量和可行性校验 ===
[2025-07-01 15:41:09] 总人数: 6
[2025-07-01 15:41:09] 总座位数: 6
[2025-07-01 15:41:09] ✅ 座位充足: 剩余 0 个座位
[2025-07-01 15:41:09]
连坐组需求分析:
[2025-07-01 15:41:09] 最大连坐组: 2 人
[2025-07-01 15:41:09]
连续座位可行性分析:
[2025-07-01 15:41:09] 西北门入口场地A5区-场地-19排: 最大连续 6 个座位
[2025-07-01 15:41:09]
全场最大连续座位: 6 个
[2025-07-01 15:41:09] ✅ 可以容纳最大连坐组
[2025-07-01 15:41:09] 可容纳最大连坐组的排数: 1 个
[2025-07-01 15:41:09]
连坐组分布:
[2025-07-01 15:41:09] 单人组: 4 个
[2025-07-01 15:41:09] 2人连坐组: 1 个
[2025-07-01 15:41:09]
============================================================
[2025-07-01 15:41:09] 校验结果总结
[2025-07-01 15:41:09] ============================================================
[2025-07-01 15:41:09] 人员信息结构: ✅ 通过
[2025-07-01 15:41:09] 连坐组完整性: ✅ 通过
[2025-07-01 15:41:09] 座位信息结构: ✅ 通过
[2025-07-01 15:41:09] 容量可行性: ✅ 通过
[2025-07-01 15:41:09]
总体校验结果: ✅ 全部通过
[2025-07-01 15:41:09]
🎉 文件校验通过,可以进行座位分配!
[2025-07-01 15:41:19]
============================================================
[2025-07-01 15:41:19] 开始座位分配
[2025-07-01 15:41:19] ============================================================
[2025-07-01 15:41:19]
=== 人员连坐需求分析 ===
[2025-07-01 15:41:19] 总共识别出 5 个座位组:
[2025-07-01 15:41:19] 单人组: 4 个
[2025-07-01 15:41:19] 2人连坐组: 1 个
[2025-07-01 15:41:19]
=== 高级座位结构分析 ===
[2025-07-01 15:41:19] ✅ 西北门入口场地A5区-场地-19排: 6 个座位完全连续
[2025-07-01 15:41:19]
=== 开始智能座位分配 ===
[2025-07-01 15:41:19] 需要分配 5 个组
[2025-07-01 15:41:19]
处理第 1 组: 胡中 (group, 2 人)
[2025-07-01 15:41:19] 分配到 西北门入口场地A5区-场地-19排 (连续座位: 1-2)
[2025-07-01 15:41:19] 胡中 -> 1号
[2025-07-01 15:41:19] 丁逸夫 -> 2号
[2025-07-01 15:41:19]
处理第 2 组: 叶一帆 (single, 1 人)
[2025-07-01 15:41:19] 分配到 西北门入口场地A5区-场地-19排: 叶一帆 -> 3号
[2025-07-01 15:41:19]
处理第 3 组: 刘泽 (single, 1 人)
[2025-07-01 15:41:19] 分配到 西北门入口场地A5区-场地-19排: 刘泽 -> 4号
[2025-07-01 15:41:19]
处理第 4 组: 黄锡恩 (single, 1 人)
[2025-07-01 15:41:19] 分配到 西北门入口场地A5区-场地-19排: 黄锡恩 -> 5号
[2025-07-01 15:41:19]
处理第 5 组: 沈佳琰 (single, 1 人)
[2025-07-01 15:41:19] 分配到 西北门入口场地A5区-场地-19排: 沈佳琰 -> 6号
[2025-07-01 15:41:19]
座位分配结果已保存到: log/座位信息_最终分配.xlsx
[2025-07-01 15:41:19] 分配日志已保存到: log/最终座位分配日志.xlsx
[2025-07-01 15:41:19]
=== 分配统计 ===
[2025-07-01 15:41:19] 总共分配了 6 个座位
[2025-07-01 15:41:19]
按组大小统计:
[2025-07-01 15:41:19] 单人组: 4 个组, 4 人
[2025-07-01 15:41:19] 2人连坐组: 1 个组, 2 人
[2025-07-01 15:41:19]
=== 连续性验证 ===
[2025-07-01 15:41:19] ✅ 组 1 (胡中): 2人连坐座位连续 [1, 2]
[2025-07-01 15:41:19]
连续性检查结果: 1/1 个多人组座位连续 (100.0%)
[2025-07-01 15:41:19]
🎉 座位分配完成!

Binary file not shown.

Binary file not shown.