06
审核 · 备注计算

考勤备注

attendance-remarks
🏷️
审核与计算 skills/attendance/
基于已归档考勤数据,按配置生成每个员工的「考勤备注」,输出审核工作簿 + HTML 审核报告。把数据变成最终交付文案的计算核心。支持结构化 Excel / 邮件正文 / 视觉结果 / overrides 多来源合并。

TRIGGERS

触发场景
数据准备好了,要生成「考勤备注」列
标准工时 / 综合工时的月度汇总
要审核明细 + flags + HTML 报告做人工复核

INPUT & OUTPUT

输入 / 产出
↘ INPUT · 输入
  • attachments/ + reference_roster.xlsx / 底表
  • attendance_config.json(来自 rule-pack)
  • _email_texts.jsonl · vision_extracted_records.jsonl
  • 可选 overrides.json
↗ OUTPUT · 产出
  • attendance_remarks.xlsx:考勤备注 · 审核明细 · 待追问
  • HTML 对比审核报告(可启动服务在线审阅)
🪜

STEPS

处理流程
  1. 1
    先建配置
    周期、计薪天、法定假日、加班去向、假别映射、输出文案都进 config,不写死
  2. 2
    合并多来源
    结构化 Excel > 邮件正文 > 视觉结果 > overrides,按优先级合并。
  3. 3
    算休假
    按小时汇总,默认 8h = 1 天;小时数为空时从原因里抽取。
  4. 4
    算加班
    法定日 → legal_settle;周末/休息日按配置;关键词命中去向优先;未明确 → generic_settle 并 flag。
  5. 5
    算计薪 / 全勤
    结合入离职空白、法定日是否在雇佣区间、审批确认,不机械相加出勤小时。
  6. 6
    拼接备注 + 明细 + 待追问
    按推荐顺序拼接备注,逐片段留审核明细,不确定项进待追问。
  7. 7
    生成并启动 HTML 报告
    用 compare_remarks → build_compare_report → serve_review_report 起审阅服务。

OUTPUTS

产物结构
考勤备注
最终给业务用的汇总结果,含审核状态、审核明细数、flags。
审核明细
每个备注片段的判断依据:证据层级、类型、分类、规则、来源定位、是否需复核。
待追问
自动流程无法可靠推导的问题,供人工补信息或生成 overrides。

PIPELINE

与其他 skill 衔接
上游 data-prep(数据/roster)、exception-review(终审)、rule-pack(config)。
产物交给 delivery-pack 做齐套检查后交付。

ACCEPTANCE

闭环验收

ANTI-PATTERNS

反例检查
备注非空但没有审核明细,尤其是非全勤备注。
法定日、休息日、计薪天来自硬编码或历史月配置。
扫描件、截图、邮件正文、低置信度视觉结果没标记需复核。
有 generic_settle 或未写明去向的加班,却没有待追问或 flags。
无底表自检报告被误当作与客户底表的正式对比报告。

RUN

运行命令
RUN · 运行命令
uv run python skills/attendance/attendance-remarks/scripts/build_attendance_remarks.py \
  outputs/<目录名>/attachments <YYYYMM> \
  outputs/<目录名>/attendance_remarks.xlsx \
  --config <config.json> --source-dir data/raw/<目录名> \
  --reference-summary outputs/<目录名>/reference_roster.xlsx

# 生成并启动 HTML 审核报告
uv run python skills/attendance/attendance-remarks/scripts/serve_review_report.py \
  outputs/<目录名> --allow-root data/raw/<目录名>