24 lines
880 B
Markdown
24 lines
880 B
Markdown
# 样本接收后按入库编码自动派发生产任务 — 设计
|
|
|
|
> 日期:2026-09-01
|
|
> 状态:已确认并实现
|
|
> 触发:样本接收结论为「接收」(js),自动创建生产工单之后
|
|
|
|
## 规则(最长前缀优先)
|
|
|
|
| 顺序 | 前缀 | 模版集合名 |
|
|
|------|------|------------|
|
|
| 1 | BC | 干细胞培养(内置模版) |
|
|
| 2 | UBMC | UBMC冻存(内置模版) |
|
|
| 3 | PBMC | PBMC冻存(内置模版) |
|
|
| 4 | B | 造血干样本处理(内置模版) |
|
|
|
|
大小写不敏感。无匹配 / 模版缺失停用 / 派发失败:只保留工单,接收仍成功。
|
|
|
|
## 实现
|
|
|
|
- 纯函数:`match_builtin_task_set_name_by_lab_storage_code`
|
|
- 查找:本租户 `set_name` + `is_builtin=1` + `status=1` + `del_flag=0`
|
|
- 调用:`create_tasks_from_set`(含 `{lab_storage_code}` 替换)
|
|
- 已有生产任务的工单不重复自动派发
|