每棵树均产出命中路径、状态或数值结果。
Caidao Attendance · Client Decision Trees · 2026-07-29
五家客户考勤决策树
以才到 Attendance 的资格分组、周期、排班、打卡与审批、日核算、周期结算为主干, 参考 Workday 的 Time Block、Oracle 的有效期 Rule Set、SAP 的事件配对以及国内 HR SaaS 的排班—异常—薪资闭环,把五家客户规则画成可执行、可暂停、可回退的决策树。
共同部分是“资格 → 周期/排班 → 打卡归属 → 日核算 → 期间结算 → 复核交付”; 回放证明客户差异不需要拆成五套引擎,应优先建设 Time Block、Period Account、 Decision Case、Evidence/Reconcile 和可重放 Calc Run。
匿名月度样本回放:5/5 命中关键路径
使用同一 Canonical Schema 的五个匿名变体;验证规则路径与结果表达能力,不读取生产员工数据。
联想、复宏汉霖、启云方得到可复核数值。
奥托立夫二次核算、追觅二次确认可显式闭环。
不是新增五套客户代码,而是五类共享对象。
奥托立夫 · ANON-A01
路径通过研发人员|21–20 周期|班次概率相近|审批“同意且办结”
命中路径:资料齐套 → 研发班次拟合 → 候选冲突 → 人工确认 → 第二次核算 → 审批计入
FIRST_RUN_REVIEW_REQUIRED → SECOND_RUN_READY → CLOSED;未复核的第一次结果不会进入月汇总。联想深圳 · ANON-L01
数值通过1 天在岗不足 15 分钟|当月 4 次忘卡|4 次均有确认邮件
命中路径:日工时不足 → 0.5H 向上取整 → 忘卡账户累计 → 第 4 次触发 4H 扣减
复宏汉霖 · ANON-F01
数值通过部分月综合工时|10 个应出勤日|出勤 80H|填报加班 4H|OCR 已复核
命中路径:当月配置完整 → 来源归属 → 视觉门禁通过 → 综合工时重算 → 计薪闭合
80 + 4 − 10 × 8 = +4H,输出综合工时加班 4H;账单仅做后验核对。启云方 · ANON-Q01
数值通过09:00–20:00 打卡|午休 1H|晚休 0.5H|18:00–20:00 已批加班
命中路径:Profile 完整 → 独立排班 → Time Block 配对 → 扣休 → 加班交集 → 双队列清零
追觅 / MOVA · ANON-Z01
状态通过当月确认夜班名单|20:00 上班|次日 07:00 下班|数据员表缺下班卡|截图已复核
命中路径:人头一致 → 部门×岗位资格 → 夜班状态机 → 员工反馈 → 证据修正 → 二次确认
CORRECTED → RECONFIRMED → CLOSED,进入 HR 审核包。回放结论针对匿名规则样本,不等同于生产租户数据验收;生产上线仍需历史月份双跑和结果差异归零。
才到统一主干:五棵树共享的七个决策层
行业实践提供结构;才到现有对象提供落点。客户规则只改变节点参数和分支,不改变主干。
资格 Eligibility
员工、组织、岗位、工时制和有效期命中哪套规则。
周期与排班
账套周期、法定日、工作日、班次、休息段和应出勤。
打卡归属与配对
同日、跨日、跨月、单卡、重复卡与班次归属。
区间核算
交集、扣休、阈值、舍入、加班与缺勤区间。
异常分类
迟到、早退、缺卡、旷工、冲突与未识别审批。
期间累计与结算
次数、余额、欠工时、综合工时、调休和薪资代码。
证据与人工流程
复核、确认、重跑、锁定、账单核对与交付。
wa_group / wa_emp_group / wa_parse_groupwa_sob / wa_shift_def / wa_emp_schedule_detailwa_register_record + 请假 / 加班 / 出差 / 调整wa_analyze,适合作为当前态 Projectionwa_emp_working_hours_settlement + 统计报表五家客户决策树
主行是继续计算的路径;下方分支是人工门禁、阻断、候选路线或回退动作。
奥托立夫
21–20 周期 · 班次候选 · 人工确认后二次核算
21–20 周期资料齐套?
钉钉、发薪名单、补卡、出差、加班、请假、外出、日历和班次来源。
属于研发部门?
非指定研发组织固定走“奥托立夫上海”班次;研发人员进入班次拟合。
班次判断可直接接受?
≤06:30 早卡固定早班;概率相近、班次抖动、有工时单无排班均不可直通。
第一次结果已人工复核?
只有显式确认“已复核”并传入第一次文件,才能生成第二次结果。
审批“同意且办结”?
拒绝、撤销、审批中不计入;未知组合进入审批复核,保留同日多条请假。
日核算 → 发薪核验 → 月汇总
第二次班次结果驱动工时、备注、差异、明细汇总与月度汇总。
attendance_decision_case。联想深圳
弹性 09:00–18:00 · 忘卡月账户 · 邮件审批
原始打卡与截止日有效?
按姓名+日期复制原文;当天尚未结束或未来日期不判全天异常。
9 小时在岗且边界合格?
首卡≤09:30、末卡≥18:00、总在岗≥9H;多种不足按实际缺失区间去重。
存在忘打卡?
先识别缺卡,再查与员工、月份、具体日期匹配的确认邮件。
有确认邮件?
邮件表格明确字段优先;无确认不得把补卡当已审批事实。
当月忘卡次数 ≤ 3?
3 次机会仍要求审批;第 4 次起,每次扣 4H 出勤。
加班核验与复核草稿
工作日/周末按不同规则核算;无审批潜在加班只标绿,不进确认汇总。
attendance_period_account。复宏汉霖
多来源证据 · 标准/综合工时路由 · 计薪闭合
当月口径完整?
周期、计薪天、法定日/休息日/补班日、工时制、假别属性、加班去向。
每份来源已归属员工?
.msg、Excel、PDF、图片和扫描件先归一;同级冲突不自动选有利结果。
视觉来源已结构化并复核?
能读到汇总时必须写出 attendance_hours / pay_days;低置信先人工复核。
标准工时还是综合工时?
不同工时制进入不同规则包;部分月综合工时仅在配置明确启用时重算。
计薪天可闭合?
出勤 + 适用法定带薪日 + 已确认带薪假,对照标准计薪天与任职区间。
备注、模板回填与账单核对
生成可追溯草稿;付款通知书只能后验核对,不能反向覆盖来源事实。
evidence_ref 与复核状态。启云方
多段班次 · 跨日 Time Block · 日弹/月弹 · 双队列门禁
Profile、班次和当月变量齐全?
qiyunfang_c_v2、班次配置、周期、法定日、休息日、补班日、小周六与月弹名单。
有独立排班?
独立排班优先;每日统计中的班次只做一致性校验和兜底。
打卡可配对并正确跨日归属?
原始卡形成有效区间;跨日加班继承到次日,单卡/冲突保留异常。
工作与加班区间如何相交?
工作时长 = 有效打卡 − 班次休息 − 加班交集 + 有效外出/出差。
日弹还是月弹?
日弹逐日核不足;月弹按期间总工时与 8H×天数求欠工时,多出不自动转加班。
双队列关闭后封存唯一终版
目标差异队列与人工门禁队列独立;账单联动只核字段,不推断账单公式。
attendance_time_block 和 step trace。追觅 / MOVA
花名册基线 · 部门×岗位资格 · 夜班状态机 · 员工二次确认
花名册、数据员表和当月配置一致?
应发薪人员每人一个考勤部门;身份证、职位、重复/缺失人员均先闭环。
部门 × 岗位命中哪套加班规则?
工程师、测试中心工程师、技术员适用范围不同,不能只看考勤部门。
在当月确认夜班名单?
只有确认名单进入夜班审核;MOVA/测试中心可有夜班,其他按当月确认。
员工首次核对有问题?
先发个人切片;原始值保留。问题按加班、公出、迟到、假别、夜班路由。
证据足够且已二次确认?
每次修正记录原值、修改值、依据、处理人和日期,再发员工确认。
生成 HR 审核包并关闭
有问题员工保留“原始值→证据→修改值→确认”;无问题员工保留核对无误。
confirmation_state 与 Decision Case。