# 报工倒计时系统消息提醒(10分钟 / 5分钟 / 结束) - 前端联调方案 ## 涉及页面 - 无前端页面改动。提醒由**后端定时任务**自动发送到**系统站内信(消息中心)**,操作员在站内信列表查看即可。 ## 说明 报工倒计时设置系统消息提醒,分三个等级自动发送站内信: | 等级 | 触发时机 | 站内信模板 code | |------|----------|-----------------| | 1 | 倒计时剩余 ≤ 10 分钟 | `mes_task_wait_remind_10` | | 2 | 倒计时剩余 ≤ 5 分钟 | `mes_task_wait_remind_5` | | 3 | 倒计时结束(剩余 ≤ 0) | `mes_task_wait_remind_end` | 后端新增定时任务,**每分钟扫描一次**所有已开始倒计时(`waitStartTime` 非空)且未终态、未停工的报工任务,到达对应时间点自动发送站内信。 ## 站内信内容 | 模板 code | 内容示例 | |-----------|----------| | `mes_task_wait_remind_10` | 生产任务【{taskCode}】{taskName} 报工倒计时剩余 10 分钟,请准备报工。 | | `mes_task_wait_remind_5` | 生产任务【{taskCode}】{taskName} 报工倒计时剩余 5 分钟,即将可以报工。 | | `mes_task_wait_remind_end` | 生产任务【{taskCode}】{taskName} 报工倒计时已结束,可以进行报工。 | 占位符:`taskCode`(任务编码)、`taskName`(任务名称)、`processName`(工序名称)。 ## 接收人 1. **优先**:任务指定的报工人员(`mes_pro_task_assignee`),全部发送。 2. **兜底**:任务未指定报工人员时,发给任务创建人。 ## 业务规则说明 | 场景 | 规则 | |------|------| | 工序等待时长不足 10 分钟(如 5 分钟) | 开始倒计时后立即触发"10 分钟"与"5 分钟"提醒(剩余不足即提醒) | | 重复点击"开始倒计时"重置时间 | 提醒按新的开始时间重新计算,重新触发一轮提醒 | | 任务已完成 / 已取消 / 已停工 | 不再扫描提醒 | | 同一等级同一轮倒计时 | 只提醒一次(Redis 去重,24 小时) | ## 注意事项 - 提醒为**系统站内信**,操作员在系统消息中心查看,无弹窗/无前端接口调用。 - 站内信模板可在「系统管理 → 站内信模板」中按 code 查看/修改内容。 - 该功能为新增,不影响原有报工倒计时报工校验逻辑。