diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/seat_allocation.spec b/seat_allocation.spec new file mode 100644 index 0000000..7c38a5d --- /dev/null +++ b/seat_allocation.spec @@ -0,0 +1,128 @@ +# -*- mode: python ; coding: utf-8 -*- +# 完全独立的PyInstaller配置 +# 包含Python解释器和所有依赖,无需目标机器安装Python + +import sys +from pathlib import Path + +block_cipher = None + +a = Analysis( + ['seat_allocation_system.py'], + pathex=[str(Path.cwd())], + binaries=[], + datas=[ + # 包含必要的数据文件(如果有的话) + ], + hiddenimports=[ + # 核心依赖 + 'pandas', + 'openpyxl', + 'numpy', + 'xlsxwriter', + 'xlrd', + 'datetime', + 'pathlib', + 'subprocess', + 'platform', + 'sys', + 'os', + + # openpyxl相关 + 'openpyxl.workbook', + 'openpyxl.worksheet', + 'openpyxl.styles', + 'openpyxl.utils', + 'openpyxl.writer.excel', + 'openpyxl.reader.excel', + 'openpyxl.cell', + 'openpyxl.formatting', + 'openpyxl.formatting.rule', + + # pandas相关 + 'pandas.io.excel', + 'pandas.io.common', + 'pandas.io.parsers', + 'pandas.io.formats', + 'pandas.io.formats.excel', + 'pandas._libs.tslibs.timedeltas', + 'pandas._libs.tslibs.np_datetime', + 'pandas._libs.tslibs.nattype', + 'pandas._libs.skiplist', + + # numpy相关 + 'numpy.core.multiarray', + 'numpy.core.umath', + 'numpy.core._methods', + 'numpy.lib.format', + 'numpy.random._pickle', + + # 编码相关 + 'encodings', + 'encodings.utf_8', + 'encodings.gbk', + 'encodings.cp1252', + + # 其他必要模块 + 'pkg_resources.py2_warn', + '_ctypes', + 'ctypes.util' + ], + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[ + # 排除不必要的大型库 + 'matplotlib', + 'scipy', + 'IPython', + 'jupyter', + 'notebook', + 'tkinter', + 'PyQt5', + 'PyQt6', + 'PySide2', + 'PySide6', + 'test', + 'tests', + 'unittest', + 'doctest', + 'pdb', + 'pydoc', + 'setuptools', + 'pip', + 'wheel', + 'distutils' + ], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False, +) + +# 过滤和优化 +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='座位分配系统', + debug=False, + bootloader_ignore_signals=False, + strip=False, # 保留符号信息以便调试 + upx=False, # 不使用UPX压缩以提高兼容性 + upx_exclude=[], + runtime_tmpdir=None, + console=True, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, + # 确保包含Python运行时 + exclude_binaries=False, +) \ No newline at end of file diff --git a/seat_allocation_log.txt b/seat_allocation_log.txt new file mode 100644 index 0000000..6c6c342 --- /dev/null +++ b/seat_allocation_log.txt @@ -0,0 +1,465 @@ +[2025-06-30 20:58:50] ============================================================ +[2025-06-30 20:58:50] 座位分配系统 - 文件校验 +[2025-06-30 20:58:50] ============================================================ +[2025-06-30 20:58:50] === 开始加载数据 === +[2025-06-30 20:58:50] 清理文字数据中的空格... +[2025-06-30 20:58:50] ✅ 文字数据清理完成 +[2025-06-30 20:58:50] ✅ 文件加载成功 +[2025-06-30 20:58:50] 人员信息: 100 行 × 6 列 +[2025-06-30 20:58:50] 座位信息: 100 行 × 12 列 +[2025-06-30 20:58:50] +=== 人员信息结构校验 === +[2025-06-30 20:58:50] ✅ 所有必需列都存在 +[2025-06-30 20:58:50] +数据完整性检查: +[2025-06-30 20:58:50] ✅ 姓名 列数据完整 +[2025-06-30 20:58:50] ✅ 证件类型 列数据完整 +[2025-06-30 20:58:50] ✅ 证件号 列数据完整 +[2025-06-30 20:58:50] ✅ 手机号 列数据完整 +[2025-06-30 20:58:50] ✅ 姓名无重复 +[2025-06-30 20:58:50] +=== 连坐组校验 === +[2025-06-30 20:58:50] ✅ 第 1 组: 安春利, 杨茗珺 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 2 组: 侯俊帆, 杨璇羽 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 3 组: 刘金龙, 杨宇航 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 4 组: 张城, 张倩 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 5 组: 陈新闻, 刘佳欢 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 6 组: 王鹏舒 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 7 组: 孙昊, 晋秋跃 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 8 组: 刘晓雨, 李宇峥, 李霞 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 9 组: 常洁, 陈媛, 王晨婧, 胡艳彬 (4人连坐) +[2025-06-30 20:58:50] ✅ 第 10 组: 高尚谦, 胡梦幻 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 11 组: 郝罡, 林杰 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 12 组: 王璐瑶, 刘昌昊 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 13 组: 吴旭 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 14 组: 刘捷 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 15 组: 尹泽, 尹依伊, 夏明慧, 贾娜 (4人连坐) +[2025-06-30 20:58:50] ✅ 第 16 组: 张艺馨 (单独) +[2025-06-30 20:58:50] ✅ 第 17 组: 陈宇, 房晨 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 18 组: 赵瑞, 郭闯远 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 19 组: 张然殊 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 20 组: 王莲 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 21 组: 王建华, 赵雅楠, 王格 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 22 组: 尚校, 尚冕 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 23 组: 徐金瑞, 赵春颖 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 24 组: 赵占博, 孙羽佳, 季海洋, 刘柳 (4人连坐) +[2025-06-30 20:58:50] ✅ 第 25 组: 解子辰 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 26 组: 杨文, 马新雨 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 27 组: 白建新, 李海生, 李苓 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 28 组: 周勇, 常佳琦 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 29 组: 马志鑫, 肖金玲, 马学利 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 30 组: 张瑞 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 31 组: 李慧, 白杨 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 32 组: 赵欣悦, 金子昂 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 33 组: 马梓涵, 宋晓娟 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 34 组: 杨文彦, 彭玉荣, 袁会池, 杨文芳, 张艳芳 (5人连坐) +[2025-06-30 20:58:50] ✅ 第 35 组: 张春红, 蒋梦娇 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 36 组: 肖垚, 韩文娟 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 37 组: 朱仁龙, 肖俊斌, 孙铭泽 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 38 组: 黄鹤, 张刚, 张宸宁 (3人连坐) +[2025-06-30 20:58:50] ✅ 第 39 组: 粘旻环, 李怡台 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 40 组: 文志, 刘薇 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 41 组: 李薏 (单独) +[2025-06-30 20:58:50] ✅ 第 42 组: 于浩, 王雅暄 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 43 组: 高跃, 李敏 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 44 组: 张松 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 45 组: 吴晓辉, 王子宁 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 46 组: 丁勇, 焦雯 (2人连坐) +[2025-06-30 20:58:50] ✅ 第 47 组: 游伊萌 (1人连坐) +[2025-06-30 20:58:50] ✅ 第 48 组: 田悦, 叶贵天 (2人连坐) +[2025-06-30 20:58:50] +=== 座位信息结构校验 === +[2025-06-30 20:58:50] ✅ 所有必需列都存在 +[2025-06-30 20:58:50] ✅ 区域 列数据完整 +[2025-06-30 20:58:50] ✅ 楼层 列数据完整 +[2025-06-30 20:58:50] ✅ 排号 列数据完整 +[2025-06-30 20:58:50] ✅ 座位号 列数据完整 +[2025-06-30 20:58:50] +座位结构分析: +[2025-06-30 20:58:50] +座位结构分析: +[2025-06-30 20:58:50] ✅ L区7895通道-五层-8排: 4 个座位完全连续 (1-4) +[2025-06-30 20:58:50] ✅ L区7895通道-五层-9排: 10 个座位完全连续 (1-10) +[2025-06-30 20:58:50] ✅ L区7895通道-五层-10排: 5 个座位完全连续 (1-5) +[2025-06-30 20:58:50] ✅ A区136通道-五层-10排: 5 个座位完全连续 (6-10) +[2025-06-30 20:58:50] 📊 A区136通道-五层-11排: 11 个座位,2 个连续段: 1-2, 5-13 +[2025-06-30 20:58:50] 最大连续段: 9 个座位 +[2025-06-30 20:58:50] ✅ A区136通道-五层-12排: 1 个座位完全连续 (1-1) +[2025-06-30 20:58:50] ✅ A区136通道-三层-12排: 10 个座位完全连续 (2-11) +[2025-06-30 20:58:50] ✅ L区552通道-三层-12排: 2 个座位完全连续 (12-13) +[2025-06-30 20:58:50] ✅ L区552通道-三层-13排: 13 个座位完全连续 (1-13) +[2025-06-30 20:58:50] ✅ L区552通道-三层-14排: 9 个座位完全连续 (1-9) +[2025-06-30 20:58:50] ✅ L区552通道-五层-14排: 4 个座位完全连续 (10-13) +[2025-06-30 20:58:50] 📊 L区552通道-五层-15排: 11 个座位,2 个连续段: 1-7, 10-13 +[2025-06-30 20:58:50] 最大连续段: 7 个座位 +[2025-06-30 20:58:50] ✅ L区552通道-五层-16排: 13 个座位完全连续 (1-13) +[2025-06-30 20:58:50] ✅ L区552通道-五层-17排: 2 个座位完全连续 (1-2) +[2025-06-30 20:58:50] +=== 容量和可行性校验 === +[2025-06-30 20:58:50] 总人数: 100 +[2025-06-30 20:58:50] 总座位数: 100 +[2025-06-30 20:58:50] ✅ 座位充足: 剩余 0 个座位 +[2025-06-30 20:58:50] +连坐组需求分析: +[2025-06-30 20:58:50] 最大连坐组: 5 人 +[2025-06-30 20:58:50] +连续座位可行性分析: +[2025-06-30 20:58:50] L区7895通道-五层-8排: 最大连续 4 个座位 +[2025-06-30 20:58:50] L区7895通道-五层-9排: 最大连续 10 个座位 +[2025-06-30 20:58:50] L区7895通道-五层-10排: 最大连续 5 个座位 +[2025-06-30 20:58:50] A区136通道-五层-10排: 最大连续 5 个座位 +[2025-06-30 20:58:50] A区136通道-五层-11排: 最大连续 9 个座位 +[2025-06-30 20:58:50] A区136通道-五层-12排: 最大连续 1 个座位 +[2025-06-30 20:58:50] A区136通道-三层-12排: 最大连续 10 个座位 +[2025-06-30 20:58:50] L区552通道-三层-12排: 最大连续 2 个座位 +[2025-06-30 20:58:50] L区552通道-三层-13排: 最大连续 13 个座位 +[2025-06-30 20:58:50] L区552通道-三层-14排: 最大连续 9 个座位 +[2025-06-30 20:58:50] L区552通道-五层-14排: 最大连续 4 个座位 +[2025-06-30 20:58:50] L区552通道-五层-15排: 最大连续 7 个座位 +[2025-06-30 20:58:50] L区552通道-五层-16排: 最大连续 13 个座位 +[2025-06-30 20:58:50] L区552通道-五层-17排: 最大连续 2 个座位 +[2025-06-30 20:58:50] +全场最大连续座位: 13 个 +[2025-06-30 20:58:50] ✅ 可以容纳最大连坐组 +[2025-06-30 20:58:50] 可容纳最大连坐组的排数: 9 个 +[2025-06-30 20:58:50] +连坐组分布: +[2025-06-30 20:58:50] 单人组: 11 个 +[2025-06-30 20:58:50] 2人连坐组: 27 个 +[2025-06-30 20:58:50] 3人连坐组: 6 个 +[2025-06-30 20:58:50] 4人连坐组: 3 个 +[2025-06-30 20:58:50] 5人连坐组: 1 个 +[2025-06-30 20:58:50] +============================================================ +[2025-06-30 20:58:50] 校验结果总结 +[2025-06-30 20:58:50] ============================================================ +[2025-06-30 20:58:50] 人员信息结构: ✅ 通过 +[2025-06-30 20:58:50] 连坐组完整性: ✅ 通过 +[2025-06-30 20:58:50] 座位信息结构: ✅ 通过 +[2025-06-30 20:58:50] 容量可行性: ✅ 通过 +[2025-06-30 20:58:50] +总体校验结果: ✅ 全部通过 +[2025-06-30 20:58:50] +🎉 文件校验通过,可以进行座位分配! +[2025-06-30 20:58:53] +============================================================ +[2025-06-30 20:58:53] 开始座位分配 +[2025-06-30 20:58:53] ============================================================ +[2025-06-30 20:58:53] +=== 人员连坐需求分析 === +[2025-06-30 20:58:53] 总共识别出 48 个座位组: +[2025-06-30 20:58:53] 单人组: 11 个 +[2025-06-30 20:58:53] 2人连坐组: 27 个 +[2025-06-30 20:58:53] 3人连坐组: 6 个 +[2025-06-30 20:58:53] 4人连坐组: 3 个 +[2025-06-30 20:58:53] 5人连坐组: 1 个 +[2025-06-30 20:58:53] +=== 高级座位结构分析 === +[2025-06-30 20:58:53] ✅ L区7895通道-五层-8排: 4 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区7895通道-五层-9排: 10 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区7895通道-五层-10排: 5 个座位完全连续 +[2025-06-30 20:58:53] ✅ A区136通道-五层-10排: 5 个座位完全连续 +[2025-06-30 20:58:53] 📊 A区136通道-五层-11排: 11 个座位,2 段: 1-2, 5-13 +[2025-06-30 20:58:53] 最大连续段: 9 个座位 +[2025-06-30 20:58:53] ✅ A区136通道-五层-12排: 1 个座位完全连续 +[2025-06-30 20:58:53] ✅ A区136通道-三层-12排: 10 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区552通道-三层-12排: 2 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区552通道-三层-13排: 13 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区552通道-三层-14排: 9 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区552通道-五层-14排: 4 个座位完全连续 +[2025-06-30 20:58:53] 📊 L区552通道-五层-15排: 11 个座位,2 段: 1-7, 10-13 +[2025-06-30 20:58:53] 最大连续段: 7 个座位 +[2025-06-30 20:58:53] ✅ L区552通道-五层-16排: 13 个座位完全连续 +[2025-06-30 20:58:53] ✅ L区552通道-五层-17排: 2 个座位完全连续 +[2025-06-30 20:58:53] +=== 开始智能座位分配 === +[2025-06-30 20:58:53] 需要分配 48 个组 +[2025-06-30 20:58:53] +处理第 1 组: 杨文彦 (group, 5 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-9排 (连续座位: 1-5) +[2025-06-30 20:58:53] 杨文彦 -> 1号 +[2025-06-30 20:58:53] 彭玉荣 -> 2号 +[2025-06-30 20:58:53] 袁会池 -> 3号 +[2025-06-30 20:58:53] 杨文芳 -> 4号 +[2025-06-30 20:58:53] 张艳芳 -> 5号 +[2025-06-30 20:58:53] +处理第 2 组: 常洁 (group, 4 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-8排 (连续座位: 1-4) +[2025-06-30 20:58:53] 常洁 -> 1号 +[2025-06-30 20:58:53] 陈媛 -> 2号 +[2025-06-30 20:58:53] 王晨婧 -> 3号 +[2025-06-30 20:58:53] 胡艳彬 -> 4号 +[2025-06-30 20:58:53] +处理第 3 组: 尹泽 (group, 4 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-9排 (连续座位: 6-9) +[2025-06-30 20:58:53] 尹泽 -> 6号 +[2025-06-30 20:58:53] 尹依伊 -> 7号 +[2025-06-30 20:58:53] 夏明慧 -> 8号 +[2025-06-30 20:58:53] 贾娜 -> 9号 +[2025-06-30 20:58:53] +处理第 4 组: 赵占博 (group, 4 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-10排 (连续座位: 1-4) +[2025-06-30 20:58:53] 赵占博 -> 1号 +[2025-06-30 20:58:53] 孙羽佳 -> 2号 +[2025-06-30 20:58:53] 季海洋 -> 3号 +[2025-06-30 20:58:53] 刘柳 -> 4号 +[2025-06-30 20:58:53] +处理第 5 组: 刘晓雨 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-10排 (连续座位: 6-8) +[2025-06-30 20:58:53] 刘晓雨 -> 6号 +[2025-06-30 20:58:53] 李宇峥 -> 7号 +[2025-06-30 20:58:53] 李霞 -> 8号 +[2025-06-30 20:58:53] +处理第 6 组: 王建华 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-11排 (连续座位: 5-7) +[2025-06-30 20:58:53] 王建华 -> 5号 +[2025-06-30 20:58:53] 赵雅楠 -> 6号 +[2025-06-30 20:58:53] 王格 -> 7号 +[2025-06-30 20:58:53] +处理第 7 组: 白建新 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-11排 (连续座位: 8-10) +[2025-06-30 20:58:53] 白建新 -> 8号 +[2025-06-30 20:58:53] 李海生 -> 9号 +[2025-06-30 20:58:53] 李苓 -> 10号 +[2025-06-30 20:58:53] +处理第 8 组: 马志鑫 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-11排 (连续座位: 11-13) +[2025-06-30 20:58:53] 马志鑫 -> 11号 +[2025-06-30 20:58:53] 肖金玲 -> 12号 +[2025-06-30 20:58:53] 马学利 -> 13号 +[2025-06-30 20:58:53] +处理第 9 组: 朱仁龙 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-三层-12排 (连续座位: 2-4) +[2025-06-30 20:58:53] 朱仁龙 -> 2号 +[2025-06-30 20:58:53] 肖俊斌 -> 3号 +[2025-06-30 20:58:53] 孙铭泽 -> 4号 +[2025-06-30 20:58:53] +处理第 10 组: 黄鹤 (group, 3 人) +[2025-06-30 20:58:53] 分配到 A区136通道-三层-12排 (连续座位: 5-7) +[2025-06-30 20:58:53] 黄鹤 -> 5号 +[2025-06-30 20:58:53] 张刚 -> 6号 +[2025-06-30 20:58:53] 张宸宁 -> 7号 +[2025-06-30 20:58:53] +处理第 11 组: 安春利 (group, 2 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-10排 (连续座位: 9-10) +[2025-06-30 20:58:53] 安春利 -> 9号 +[2025-06-30 20:58:53] 杨茗珺 -> 10号 +[2025-06-30 20:58:53] +处理第 12 组: 侯俊帆 (group, 2 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-11排 (连续座位: 1-2) +[2025-06-30 20:58:53] 侯俊帆 -> 1号 +[2025-06-30 20:58:53] 杨璇羽 -> 2号 +[2025-06-30 20:58:53] +处理第 13 组: 刘金龙 (group, 2 人) +[2025-06-30 20:58:53] 分配到 A区136通道-三层-12排 (连续座位: 8-9) +[2025-06-30 20:58:53] 刘金龙 -> 8号 +[2025-06-30 20:58:53] 杨宇航 -> 9号 +[2025-06-30 20:58:53] +处理第 14 组: 张城 (group, 2 人) +[2025-06-30 20:58:53] 分配到 A区136通道-三层-12排 (连续座位: 10-11) +[2025-06-30 20:58:53] 张城 -> 10号 +[2025-06-30 20:58:53] 张倩 -> 11号 +[2025-06-30 20:58:53] +处理第 15 组: 陈新闻 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-12排 (连续座位: 12-13) +[2025-06-30 20:58:53] 陈新闻 -> 12号 +[2025-06-30 20:58:53] 刘佳欢 -> 13号 +[2025-06-30 20:58:53] +处理第 16 组: 孙昊 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 1-2) +[2025-06-30 20:58:53] 孙昊 -> 1号 +[2025-06-30 20:58:53] 晋秋跃 -> 2号 +[2025-06-30 20:58:53] +处理第 17 组: 高尚谦 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 3-4) +[2025-06-30 20:58:53] 高尚谦 -> 3号 +[2025-06-30 20:58:53] 胡梦幻 -> 4号 +[2025-06-30 20:58:53] +处理第 18 组: 郝罡 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 5-6) +[2025-06-30 20:58:53] 郝罡 -> 5号 +[2025-06-30 20:58:53] 林杰 -> 6号 +[2025-06-30 20:58:53] +处理第 19 组: 王璐瑶 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 7-8) +[2025-06-30 20:58:53] 王璐瑶 -> 7号 +[2025-06-30 20:58:53] 刘昌昊 -> 8号 +[2025-06-30 20:58:53] +处理第 20 组: 陈宇 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 9-10) +[2025-06-30 20:58:53] 陈宇 -> 9号 +[2025-06-30 20:58:53] 房晨 -> 10号 +[2025-06-30 20:58:53] +处理第 21 组: 赵瑞 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排 (连续座位: 11-12) +[2025-06-30 20:58:53] 赵瑞 -> 11号 +[2025-06-30 20:58:53] 郭闯远 -> 12号 +[2025-06-30 20:58:53] +处理第 22 组: 尚校 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-14排 (连续座位: 1-2) +[2025-06-30 20:58:53] 尚校 -> 1号 +[2025-06-30 20:58:53] 尚冕 -> 2号 +[2025-06-30 20:58:53] +处理第 23 组: 徐金瑞 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-14排 (连续座位: 3-4) +[2025-06-30 20:58:53] 徐金瑞 -> 3号 +[2025-06-30 20:58:53] 赵春颖 -> 4号 +[2025-06-30 20:58:53] +处理第 24 组: 杨文 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-14排 (连续座位: 5-6) +[2025-06-30 20:58:53] 杨文 -> 5号 +[2025-06-30 20:58:53] 马新雨 -> 6号 +[2025-06-30 20:58:53] +处理第 25 组: 周勇 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-14排 (连续座位: 7-8) +[2025-06-30 20:58:53] 周勇 -> 7号 +[2025-06-30 20:58:53] 常佳琦 -> 8号 +[2025-06-30 20:58:53] +处理第 26 组: 李慧 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-14排 (连续座位: 10-11) +[2025-06-30 20:58:53] 李慧 -> 10号 +[2025-06-30 20:58:53] 白杨 -> 11号 +[2025-06-30 20:58:53] +处理第 27 组: 赵欣悦 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-14排 (连续座位: 12-13) +[2025-06-30 20:58:53] 赵欣悦 -> 12号 +[2025-06-30 20:58:53] 金子昂 -> 13号 +[2025-06-30 20:58:53] +处理第 28 组: 马梓涵 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排 (连续座位: 1-2) +[2025-06-30 20:58:53] 马梓涵 -> 1号 +[2025-06-30 20:58:53] 宋晓娟 -> 2号 +[2025-06-30 20:58:53] +处理第 29 组: 张春红 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排 (连续座位: 3-4) +[2025-06-30 20:58:53] 张春红 -> 3号 +[2025-06-30 20:58:53] 蒋梦娇 -> 4号 +[2025-06-30 20:58:53] +处理第 30 组: 肖垚 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排 (连续座位: 5-6) +[2025-06-30 20:58:53] 肖垚 -> 5号 +[2025-06-30 20:58:53] 韩文娟 -> 6号 +[2025-06-30 20:58:53] +处理第 31 组: 粘旻环 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排 (连续座位: 10-11) +[2025-06-30 20:58:53] 粘旻环 -> 10号 +[2025-06-30 20:58:53] 李怡台 -> 11号 +[2025-06-30 20:58:53] +处理第 32 组: 文志 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排 (连续座位: 12-13) +[2025-06-30 20:58:53] 文志 -> 12号 +[2025-06-30 20:58:53] 刘薇 -> 13号 +[2025-06-30 20:58:53] +处理第 33 组: 于浩 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排 (连续座位: 1-2) +[2025-06-30 20:58:53] 于浩 -> 1号 +[2025-06-30 20:58:53] 王雅暄 -> 2号 +[2025-06-30 20:58:53] +处理第 34 组: 高跃 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排 (连续座位: 3-4) +[2025-06-30 20:58:53] 高跃 -> 3号 +[2025-06-30 20:58:53] 李敏 -> 4号 +[2025-06-30 20:58:53] +处理第 35 组: 吴晓辉 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排 (连续座位: 5-6) +[2025-06-30 20:58:53] 吴晓辉 -> 5号 +[2025-06-30 20:58:53] 王子宁 -> 6号 +[2025-06-30 20:58:53] +处理第 36 组: 丁勇 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排 (连续座位: 7-8) +[2025-06-30 20:58:53] 丁勇 -> 7号 +[2025-06-30 20:58:53] 焦雯 -> 8号 +[2025-06-30 20:58:53] +处理第 37 组: 田悦 (group, 2 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排 (连续座位: 9-10) +[2025-06-30 20:58:53] 田悦 -> 9号 +[2025-06-30 20:58:53] 叶贵天 -> 10号 +[2025-06-30 20:58:53] +处理第 38 组: 王鹏舒 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-9排: 王鹏舒 -> 10号 +[2025-06-30 20:58:53] +处理第 39 组: 吴旭 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区7895通道-五层-10排: 吴旭 -> 5号 +[2025-06-30 20:58:53] +处理第 40 组: 刘捷 (single, 1 人) +[2025-06-30 20:58:53] 分配到 A区136通道-五层-12排: 刘捷 -> 1号 +[2025-06-30 20:58:53] +处理第 41 组: 张艺馨 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-13排: 张艺馨 -> 13号 +[2025-06-30 20:58:53] +处理第 42 组: 张然殊 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-三层-14排: 张然殊 -> 9号 +[2025-06-30 20:58:53] +处理第 43 组: 王莲 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-15排: 王莲 -> 7号 +[2025-06-30 20:58:53] +处理第 44 组: 解子辰 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排: 解子辰 -> 11号 +[2025-06-30 20:58:53] +处理第 45 组: 张瑞 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排: 张瑞 -> 12号 +[2025-06-30 20:58:53] +处理第 46 组: 李薏 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-16排: 李薏 -> 13号 +[2025-06-30 20:58:53] +处理第 47 组: 张松 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-17排: 张松 -> 1号 +[2025-06-30 20:58:53] +处理第 48 组: 游伊萌 (single, 1 人) +[2025-06-30 20:58:53] 分配到 L区552通道-五层-17排: 游伊萌 -> 2号 +[2025-06-30 20:58:53] +座位分配结果已保存到: 座位信息_最终分配.xlsx +[2025-06-30 20:58:53] 分配日志已保存到: 最终座位分配日志.xlsx +[2025-06-30 20:58:53] +=== 分配统计 === +[2025-06-30 20:58:53] 总共分配了 100 个座位 +[2025-06-30 20:58:53] +按组大小统计: +[2025-06-30 20:58:53] 单人组: 11 个组, 11 人 +[2025-06-30 20:58:53] 2人连坐组: 27 个组, 54 人 +[2025-06-30 20:58:53] 3人连坐组: 6 个组, 18 人 +[2025-06-30 20:58:53] 4人连坐组: 3 个组, 12 人 +[2025-06-30 20:58:53] 5人连坐组: 1 个组, 5 人 +[2025-06-30 20:58:53] +=== 连续性验证 === +[2025-06-30 20:58:53] ✅ 组 1 (杨文彦): 5人连坐,座位连续 [1, 2, 3, 4, 5] +[2025-06-30 20:58:53] ✅ 组 2 (常洁): 4人连坐,座位连续 [1, 2, 3, 4] +[2025-06-30 20:58:53] ✅ 组 3 (尹泽): 4人连坐,座位连续 [6, 7, 8, 9] +[2025-06-30 20:58:53] ✅ 组 4 (赵占博): 4人连坐,座位连续 [1, 2, 3, 4] +[2025-06-30 20:58:53] ✅ 组 5 (刘晓雨): 3人连坐,座位连续 [6, 7, 8] +[2025-06-30 20:58:53] ✅ 组 6 (王建华): 3人连坐,座位连续 [5, 6, 7] +[2025-06-30 20:58:53] ✅ 组 7 (白建新): 3人连坐,座位连续 [8, 9, 10] +[2025-06-30 20:58:53] ✅ 组 8 (马志鑫): 3人连坐,座位连续 [11, 12, 13] +[2025-06-30 20:58:53] ✅ 组 9 (朱仁龙): 3人连坐,座位连续 [2, 3, 4] +[2025-06-30 20:58:53] ✅ 组 10 (黄鹤): 3人连坐,座位连续 [5, 6, 7] +[2025-06-30 20:58:53] ✅ 组 11 (安春利): 2人连坐,座位连续 [9, 10] +[2025-06-30 20:58:53] ✅ 组 12 (侯俊帆): 2人连坐,座位连续 [1, 2] +[2025-06-30 20:58:53] ✅ 组 13 (刘金龙): 2人连坐,座位连续 [8, 9] +[2025-06-30 20:58:53] ✅ 组 14 (张城): 2人连坐,座位连续 [10, 11] +[2025-06-30 20:58:53] ✅ 组 15 (陈新闻): 2人连坐,座位连续 [12, 13] +[2025-06-30 20:58:53] ✅ 组 16 (孙昊): 2人连坐,座位连续 [1, 2] +[2025-06-30 20:58:53] ✅ 组 17 (高尚谦): 2人连坐,座位连续 [3, 4] +[2025-06-30 20:58:53] ✅ 组 18 (郝罡): 2人连坐,座位连续 [5, 6] +[2025-06-30 20:58:53] ✅ 组 19 (王璐瑶): 2人连坐,座位连续 [7, 8] +[2025-06-30 20:58:53] ✅ 组 20 (陈宇): 2人连坐,座位连续 [9, 10] +[2025-06-30 20:58:53] ✅ 组 21 (赵瑞): 2人连坐,座位连续 [11, 12] +[2025-06-30 20:58:53] ✅ 组 22 (尚校): 2人连坐,座位连续 [1, 2] +[2025-06-30 20:58:53] ✅ 组 23 (徐金瑞): 2人连坐,座位连续 [3, 4] +[2025-06-30 20:58:53] ✅ 组 24 (杨文): 2人连坐,座位连续 [5, 6] +[2025-06-30 20:58:53] ✅ 组 25 (周勇): 2人连坐,座位连续 [7, 8] +[2025-06-30 20:58:53] ✅ 组 26 (李慧): 2人连坐,座位连续 [10, 11] +[2025-06-30 20:58:53] ✅ 组 27 (赵欣悦): 2人连坐,座位连续 [12, 13] +[2025-06-30 20:58:53] ✅ 组 28 (马梓涵): 2人连坐,座位连续 [1, 2] +[2025-06-30 20:58:53] ✅ 组 29 (张春红): 2人连坐,座位连续 [3, 4] +[2025-06-30 20:58:53] ✅ 组 30 (肖垚): 2人连坐,座位连续 [5, 6] +[2025-06-30 20:58:53] ✅ 组 31 (粘旻环): 2人连坐,座位连续 [10, 11] +[2025-06-30 20:58:53] ✅ 组 32 (文志): 2人连坐,座位连续 [12, 13] +[2025-06-30 20:58:53] ✅ 组 33 (于浩): 2人连坐,座位连续 [1, 2] +[2025-06-30 20:58:53] ✅ 组 34 (高跃): 2人连坐,座位连续 [3, 4] +[2025-06-30 20:58:53] ✅ 组 35 (吴晓辉): 2人连坐,座位连续 [5, 6] +[2025-06-30 20:58:53] ✅ 组 36 (丁勇): 2人连坐,座位连续 [7, 8] +[2025-06-30 20:58:53] ✅ 组 37 (田悦): 2人连坐,座位连续 [9, 10] +[2025-06-30 20:58:53] +连续性检查结果: 37/37 个多人组座位连续 (100.0%) +[2025-06-30 20:58:53] +🎉 座位分配完成! \ No newline at end of file diff --git a/人员信息.xlsx b/人员信息.xlsx index 366820a..3c32e21 100644 Binary files a/人员信息.xlsx and b/人员信息.xlsx differ diff --git a/座位信息_最终分配.xlsx b/座位信息_最终分配.xlsx new file mode 100644 index 0000000..b920e9d Binary files /dev/null and b/座位信息_最终分配.xlsx differ diff --git a/最终座位分配日志.xlsx b/最终座位分配日志.xlsx new file mode 100644 index 0000000..ff1efc2 Binary files /dev/null and b/最终座位分配日志.xlsx differ