ZhctWeightingTableYoukate 报警与提示现状说明

文档日期:2026-08-05 · 代码范围:当前 add_banlance_tip 分支工作区
适用范围:防逃单 A01、A02、A03 报警,以及对应报警开关关闭后的普通提示

1. 总体结论

A01余额不足:新餐盘进入取餐流程并取得就餐人信息后,客户端仅按余额汇总判断。

A02未放餐盘取餐:打餐前、无餐盘时,稳定重量相对基线下降达到阈值。

A03餐盘未绑定:通过餐盘码查询人员信息,结果明确表示未绑定。

三类规则在设置页分别有独立开关,默认开启。开关开启时进入正式报警:全屏锁页、循环语音、持续红灯闪烁,并记录报警触发和解除。开关关闭时不创建正式报警,而是执行该类型的普通提示回退。

2. 行为总表

类型业务含义精确触发口径开关开启开关关闭
A01余额不足新餐盘取得有效人员信息后,余额汇总 ≤ 0;余额为空或非法时不触发,累计金额不参与报警判断全屏锁页并显示余额/累计金额;语音每 5 秒播放;红灯持续闪烁;先拿盘再扫 888888不锁页;WarnPop 显示 1.5 秒“余额不足”和余额/累计金额;红灯闪 3 次;余额语音播放 1 次
A02未放餐盘取餐打餐前、无餐盘、重量稳定,当前重量相对稳定基线累计下降达到阈值;默认 5g全屏锁页;放盘语音每 5 秒播放;红灯持续闪烁;可直接扫 888888显示原 1.5 秒提示页;红灯闪 3 次;放盘语音播放 1 次;保留重量变化日志
A03餐盘未绑定查询成功但人员为空;或失败消息去空格后严格等于“餐盘未绑定”全屏锁页;绑定语音每 5 秒播放;红灯持续闪烁;先拿盘再扫 888888成功空数据时显示 Toast、单次语音、持续闪红灯至拿盘;失败消息分支当前只记失败日志

3. 正式报警的统一行为

3.1 页面锁定

3.2 语音和灯光

3.3 工作人员解除

统一解除码为 888888,本地执行,不区分角色,不请求服务端。

报警类型解除前置条件扫描结果
A01餐盘已拿走餐盘仍在时不解除;拿走后扫描解除
A02无额外条件扫描后直接解除
A03未绑定餐盘已拿走餐盘仍在时不解除;拿走后扫描解除

餐盘拿走按连续 3 个空扫码帧确认。解除后关闭页面、停止循环语音和红灯、清除活动报警快照。

4. 报警开关关闭后的普通提示

4.1 A01 余额不足

4.2 A02 未放餐盘取餐

4.3 A03 餐盘未绑定

当前分支差异:接口返回非 0 且消息明确为“餐盘未绑定”时,A03 开启会正式报警;A03 关闭则只记录查询失败,不执行 Toast、语音和持续红灯。是否统一,建议作为后续确认项。

5. 总开关关系

能力A01/A02/A03 类型开关总语音开关总灯光开关
正式报警页面与状态控制不影响不影响
正式报警循环语音开启时强制执行不影响-
正式报警持续红灯开启时强制执行-不影响
关闭类型开关后的单次语音关闭时进入回退控制-
关闭类型开关后的红灯A01/A02 三闪,A03 持续至拿盘-当前实现不受影响

类型开关保存在本地 MMKV,默认均开启,应用进入前台时刷新;工作人员真实切换时写配置审计日志。

6. 记录与恢复

6.1 正式报警记录

报警记录只写本地日志,不调用新增服务端接口:

ANTI_ESCAPE|event=TRIGGER|type=A01|content=...|triggerAt=...
ANTI_ESCAPE|event=RESOLVE|type=A01|content=...|triggerAt=...|resolveMethod=UNLOCK_CARD|resolvedAt=...

正常退出后不恢复报警;异常中断后也不恢复页面,只补记记录并清除快照。

6.2 非报警提示记录

7. 页面和资源映射

类型页面图片语音资源
A01anti_escape_alarm_a01.pngvoice_pay_balance_not_enough.mp3
A02anti_escape_alarm_a02.pngplease_put_the_tray_first
A03anti_escape_alarm_a03.pngplease_bind_the_tray_first

三张图片均为 1586 × 992,位于 drawable-nodpi。未知报警编号显示兜底提示:“报警信息异常,请工作人员刷卡解除”。

8. 当前验证状态

软件验证:JDK 8 单元测试 53 条通过,0 失败、0 错误;调试包构建成功;git diff --check 通过。

已覆盖余额边界、稳定减重阈值、未绑定结果、解除码、独立开关、报警快照和日志策略。红灯实际节奏、扫码器 3 个空帧的现场时间和语音音量仍需目标设备验收。

9. 建议的现场验收清单

  1. 分别关闭 A01、A02、A03,验证普通提示和灯光规则;A01 应显示“余额不足”及正确金额。
  2. 分别开启三类报警,确认锁页、5 秒循环语音和持续红灯。
  3. A01、A03 在餐盘未拿走时扫描 888888,确认不能解除;拿走后可解除。
  4. A02 直接扫描 888888,确认可解除。
  5. A03 关闭时拿走餐盘,确认 3 个空扫码帧后停止红灯;扫描解除码不应停止。
  6. 报警中退出再进入,确认不恢复报警,并存在 APP_EXIT 解除记录。
  7. 验证总语音开关只影响普通单次语音,不影响正式报警循环语音。
  8. 确认 A03 失败消息分支在关闭开关时是否也需要普通声光回退。
  9. A01 开启时金额应水平居中、距正式图片底边约 240dp,拿走餐盘后仍保持显示并同时出现刷卡提示;关闭时以 22sp 显示在 WarnPop 标题下方红框区域、距图片底边约 22dp。