--- name: 出勤记录 description: 查询和管理学生出勤情况,支持按学生姓名、班级、时间范围查询 --- # 📊 出勤记录查询系统 ## 功能说明 本技能用于查询学生出勤情况,生成出勤报表。 ## 🎯 核心逻辑 ### 出勤记录文件位置 ``` .claude/memory/class/[班级]/[学生姓名]/feedback/出勤登记-2026春季.md ``` ### 出勤记录状态说明 - **✅ 出勤**:学生正常上课 - **⏸ 请假**:学生请假 - **❌ 未上课**:学生未上课 ## 📋 使用方法 ### 方式1:查询某个学生 ``` /出勤记录 陈嘉博 ``` 输出:陈嘉博本学期的所有出勤记录和出勤率统计 ### 方式2:查询某个班级 ``` /出勤记录 周六晚上1900AI03班 ``` 输出:该班级所有学生的出勤汇总表 ### 方式3:查询指定月份 ``` /出勤记录 陈嘉博 4月 ``` 输出:该学生4月份的出勤情况 ### 方式4:查询全部 ``` /出勤记录 ``` 输出:所有班级所有学生的出勤汇总 ### 方式5:查询班级最近N节课出勤率 ⭐新增 ``` /出勤记录 周六晚上1900AI03班 前3节课 ``` 输出:该班级从本周起往回数3节课的出勤情况 - 例如:本周是第6课,则统计第4、5、6课的出勤情况 ``` /出勤记录 周六晚上1900AI03班 前4节课 ``` 输出:该班级从本周起往回数4节课的出勤情况 - 例如:本周是第6课,则统计第3、4、5、6课的出勤情况 ## 📊 输出格式 ### 个人出勤记录 ``` 👤 学生:陈嘉博 🏫 班级:周六晚上1900AI03班 📅 学期:2026春季 | 日期 | 课程 | 课次 | 状态 | 备注 | |------|------|------|------|------| | 2026-04-06 | AI大作家下 | 第5课 | ✅ 出勤 | 已生成课评 | | 2026-03-30 | AI大作家上 | 第4课 | ❌ 缺勤 | 病假 | | 2026-03-23 | AI训练师 | 第3课 | ✅ 出勤 | 已生成课评 | 📊 统计: - 应出勤:5次 - 实际出勤:4次 - 缺勤:1次 - 出勤率:80% ``` ### 班级汇总表 ``` 📋 班级:周六晚上1900AI03班 📅 学期:2026春季 | 学生姓名 | 应出勤 | 实际出勤 | 缺勤 | 出勤率 | |----------|--------|----------|------|--------| | 陈嘉博 | 5 | 4 | 1 | 80% | | 谭俊研 | 5 | 5 | 0 | 100% | | 李承泽 | 5 | 5 | 0 | 100% | | 王子墨 | 5 | 4 | 1 | 80% | 📊 班级总出勤率:90% ``` ### 班级最近N节课出勤率表 ⭐新增 ``` 📋 班级:周六晚上1900AI03班 📊 统计范围:最近3节课(第4课-第6课) | 学生姓名 | 应出勤 | 实际出勤 | 缺勤 | 出勤率 | 缺勤课次 | |----------|--------|----------|------|--------|----------| | 陈嘉博 | 3 | 3 | 0 | 100% | - | | 谭俊研 | 3 | 2 | 1 | 67% | 第5课 | | 李承泽 | 3 | 3 | 0 | 100% | - | | 王子墨 | 3 | 3 | 0 | 100% | - | | 黄彦棋 | 3 | 1 | 2 | 33% | 第4,6课 | 📊 班级最近3节课平均出勤率:75% (12/16人次) ⚠️ 需关注学生:谭俊研、黄彦棋 ``` ## 🔧 实现步骤 当用户调用 `/出勤记录` 时: 1. **解析参数** - 读取用户输入的学生姓名、班级、时间范围 - 如果参数包含"前N节课"(如"前3节课"、"前4节课"),标记为最近N节课查询模式 - 确定查询范围 2. **定位文件夹** - 根据班级名称定位到 `.claude/memory/class/[班级]/` - 如果指定学生,再定位到具体学生文件夹 3. **读取出勤文件** - 查找每个学生文件夹下的 `出勤登记-2026春季.md` - 如果文件不存在,显示"暂无出勤记录" 4. **解析表格数据** - 提取表格中的每一行数据 - 如果有日期筛选条件,筛选指定月份的记录 - **如果是最近N节课查询**: - 先从所有记录中找到最大课次(当前课次) - 计算查询范围:当前课次-(N-1) 到 当前课次 - 只保留该范围内的记录(如当前第6课,"前3节课"保留第4、5、6课) - 记录每位学生的缺勤课次 5. **生成报表** - 统计出勤、缺勤次数 - 计算出勤率 - **最近N节课查询特有统计**: - 计算班级平均出勤率 - 列出需关注学生(出勤率低于100%的学生) - 显示每位学生的具体缺勤课次 - 按格式输出报表 6. **返回结果** - 显示清晰易读的出勤报表 ## 💡 技巧提示 ### 快速筛选 - 可以用 "4月"、"3月" 等月份名称快速筛选 - 可以用 "2026-04-06" 这样的具体日期查询单次出勤 - 可以用 "前3节课"、"前4节课" 查询班级前N节课出勤情况 ### 最近N节课查询使用场景 - **阶段性检查**:了解学生最近3-4节课的出勤趋势 - **重点关注**:找出近期缺勤或出勤率低的学生的具体缺勤课次 - **动态跟踪**:每周更新,掌握最新出勤情况 **示例**: - 本周是第6课,`前3节课` 查询的是第4、5、6课 - 本周是第6课,`前4节课` 查询的是第3、4、5、6课 ### 异常处理 - 如果学生文件夹不存在,提示"该学生不在系统中" - 如果出勤文件不存在,提示"该学生暂无出勤记录" - 如果表格格式错误,提示"出勤记录文件格式有误" ### 扩展功能 未来可以添加: - 导出Excel功能 - 月度出勤对比 - 缺勤原因统计 - 出勤趋势图