--- id: checkin.remind.concept title: 签到提醒怎么发的 type: concept feature: checkin scope: end-user locale: zh aliases: - 签到提醒 - 打卡提醒 - 上班提醒 - 缺卡提醒 - 为什么收不到打卡提醒 - 谁会收到签到提醒 related_tools: [] related_pages: [] prerequisites: [] negative: - 不是所有人都会收到提醒,新成员入职 3 天内无打卡记录不会被提醒 - 法定节假日不会发提醒(主程序内置节假日表自动跳过) - 已请假 / 外出审批通过的成员不会被提醒 last_verified: v1.7.90 --- # 签到提醒怎么发的 ## 定义 签到提醒是由 `CheckinRemindTask` 异步任务通过签到机器人 (`check-in@bot.system`) 在群外私聊推送的两类消息,用于催员工按时打卡。任务每分钟跑一次,只在触发窗口内的当日推一次。 ## 两种提醒 - **打卡提醒(in)**:上班时间前的「快到上班时间了,别忘了打卡哦」,提前分钟数由「签到打卡提醒」字段控制(默认 5 分钟) - **缺卡提醒(exceed)**:上班时间过去后还没打卡发的「上班时间到了,你还没有打卡哦」,延后分钟数由「签到缺卡提醒」字段控制(默认 10 分钟) 提前 / 延后值都可在管理员「签到设置」里改,设为 0 则关闭对应提醒。 ## 提醒对象筛选 任务按下面规则逐个判断每位在职非机器人成员,全部命中才推送: - 当天还没有 `UserCheckinRecord`(已打卡的不推) - 过去 3 天内有过签到记录(排除新人 / 长期不打卡者) - 没有请假 / 外出的审批正在生效(依赖 approve 插件的 `ApproveProcInstHistory::userIsLeave`) ## 关联设置 - 「签到设置 → 功能开启」必须为「开启」 - 「签到时间」第一段被视为上班时间,提醒以它为基准 - 节假日识别由 `Extranet::isHoliday()` 查询,命中节假日全员不推