表面采样
表面涂抹采样——测的是什么、是否通过,以及不通过时的那份行动计划。
一次表面分析就是一次涂抹采样。有人在一个工作面上做一次检测——一块切菜板、一台 切片机、冷库里的一层货架——然后把返回的结果记下来。每次采样一条记录:测的是什么、 是否令人满意,以及不满意时决定了什么。
| 集合 | 权限范围 | 一条记录是什么 |
|---|---|---|
surface-analyses | surface-analyses:read | 一次采样、它的判定,以及它背后的那份行动计划。 |
它共用那个快照信封:id、deleted、capturedAt、
receivedAt、sequence 以及其余字段,都围在下面的 data 周围。
surface-analyses
| 字段 | 类型 | 含义 |
|---|---|---|
timestamp | string, 必填 | 这次采样是什么时候取的,以字符串表示的 Unix 毫秒时间戳。 |
name | string, 必填 | 测的是什么。自由文本,由那个人自己打进去。 |
isSatisfactory | boolean, 必填 | 当时记下的那个判定。 |
actionPlan | string | null | 为此决定了什么。自由文本。 |
userId | string | null | 记录它的那名员工,在应用留下了一个的时候。 |
{
"id": "6f1d92c4-0b7a-4d31-9f18-3a6c2e5b7d40",
"collection": "surface-analyses",
"deleted": false,
"capturedAt": "1789815240512",
"receivedAt": "1789815312004",
"sequence": "412",
"data": {
"timestamp": "1789812000000",
"name": "Planche de découpe viande",
"isSatisfactory": false,
"actionPlan": "Désinfection renforcée, nouveau prélèvement lundi",
"userId": "b3f7c1a0-5d42-4e88-9a16-7c0e2d4b9f31"
}
}
怎么读它们
isSatisfactory 是一个已经做出的判定,不是一个由你算出来的判定。 它是实验室
报回来的东西,或者是操作者当场得出的结论,照原样记下。记录里没有阈值、没有计数、
也没有单位可以让你把它重算一遍,而你也不该去找一个:请把它呈现为他们的判定、用
他们的说法,并且让分歧留给他们自己去解决。
name 是文本,不是引用。 它不指向任何区域或设备——这里没
有可供连接的 id。相隔一个月、在同一个表面上取的两次采样,可能被写成两种不同的写
法,所以只有在你愿意做归一化的时候才拿它分组,并且绝不要把一个归一化之后的名字,
呈现成当时记下的那个。
actionPlan 是自由文本,而且与那个判定彼此独立。 什么都没打进去时它是 null,
而这和什么都没做不是一回事;在一次不满意的采样上,它也可能是缺席的。不要拿其中一
个字段去推断另一个,也不要拿一个人们会在里面写整句话的字段建枚举。
而那条适用于每一个集合的提醒,在这里同样适用:你拿到的是这个 API 收到的东西,不是 这家餐厅完整的历史。在你去数采样次数之前,先看信封那一页;在 你把这个计数报给任何人之前,先看关于完整性的说明。