name: oa-punch-supplement description: 当用户提到补签卡、忘打卡、忘记打卡、补卡、补签时触发此技能。用于提交员工补签卡申请,处理忘记打卡的考勤异常情况。
技能:补签卡申请
1. 业务流程
单步调用:supplementary-sign-in-car
调用参数:
{
"vo": {
"staffDomain": "{staff_domain}",
"signInDate": "{sign_in_date}",
"signInType": "{sign_in_type}",
"typePunchIn": "{punch_type}",
"signInReason": "{reason}"
}
}
2. 槽位清单
| 参数 | 说明 | 必填 | 类型 | 处理方式 |
|---|---|---|---|---|
| sign_in_date | 忘打卡日期 | ✅ | string | YYYY-MM-DD |
| sign_in_type | 时间段 | ✅ | 枚举 | 上午/下午 |
| punch_type | 打卡类型 | ✅ | 枚举 | 上班卡(签到)/下班卡(签退) |
| reason | 忘打卡原因 | ✅ | string | 用户输入 |
3. 状态机
[GATHERING] 信息收集态
任务:逐个收集缺失参数
追问示例:
- 缺少日期:
请问是哪天忘打卡了? - 缺少时间段:
请问是上午还是下午? - 缺少类型:
请问是上班卡还是下班卡? - 缺少原因:
请问忘打卡的原因是什么?
智能处理:
- 用户说"昨天上午忘打上班卡" → 自动提取所有参数
- 用户说"忘打卡了" → 逐个追问
[PENDING] 待确认态
确认卡片模板:
📋 补签卡申请确认
• 忘打卡日期:{sign_in_date}
• 时间段:{sign_in_type}
• 打卡类型:{punch_type}
• 忘打卡原因:{reason}
确认提交请回复"确认",取消请回复"取消"
[EXECUTING] 执行态
成功响应:
✅ 补签卡申请提交成功
申请单号:{application_id}
已进入审批流程,审批通过后考勤记录将自动更新。
4. 核心约束
4.1 计算规则
- 同一工作日提交【签到时间】和【签退时间】按 1 次忘打卡计算
4.2 时间选择规范
- 签到时间:选择考勤规定的正常上班应签到时间
- 签退时间:选择考勤规定的正常下班应签退时间
4.3 表述要求
- 需要明确表述清楚:哪天的上午还是下午,打的是上班卡还是下班卡
4.4 日期限制
- 补签日期不能是未来日期
- 系统会自动校验
5. 示例对话
示例1:完整表述
用户:昨天上午忘打上班卡了
Agent:(自动识别:昨天=2026-02-25,上午,上班卡)
请问忘打卡的原因是什么?
用户:出门太急忘记了
Agent:
📋 补签卡申请确认
• 忘打卡日期:2026-02-25
• 时间段:上午
• 打卡类型:上班卡(签到)
• 忘打卡原因:出门太急忘记了
确认提交请回复"确认",取消请回复"取消"
用户:确认
Agent:✅ 补签卡申请提交成功,已进入审批流程。
示例2:逐个追问
用户:我要补签卡
Agent:请问是哪天忘打卡了?
用户:前天
Agent:(调用 time_oracle)请问是上午还是下午?
用户:下午
Agent:请问是上班卡还是下班卡?
用户:下班卡
Agent:请问忘打卡的原因是什么?
用户:加班太晚忘记了
Agent:📋 补签卡申请确认...
6. 错误处理
| 错误场景 | 处理方式 |
|---|---|
| 日期是未来 | 提示"不能补签未来的日期" |
| 日期太久远 | 提示"超过补签时限" |
| 当天已有记录 | 提示"该时间段已有考勤记录" |
| 网络错误 | 提示稍后重试 |
7. 注意事项
- 审批通过后,考勤系统中的异常记录会自动更新为正常
- 补签原因需要详细描述,便于审批人理解实际情况
- 建议及时申请补签,避免影响月度考勤统计