Files
zkxw/docs/superpowers/specs/2026-07-06-production-hide-inactive-protocol-design.md
T
2026-07-06 16:59:53 +08:00

1.5 KiB

生产工单隐藏无效协议关联工单

背景

【生产工单】【我的生产任务】中,细胞存储 / 科研捐赠类入库生产工单在关联采集协议或捐赠协议进入无效态后,默认不应干扰日常列表;用户可通过检索区勾选框查看历史单据。

无效协议状态

与样本接收模块一致:yzf(已作废)、sdfq(属地废弃)。

常量:INACTIVE_PROTOCOL_STATUSES = ("yzf", "sdfq"),置于 app/core/protocol_status_display.py。

过滤规则

条件 默认勾选(隐藏) 取消勾选
入库 + 细胞存储 + 协议状态 ∈ 无效集 不展示 展示
入库 + 科研捐赠 + 协议状态 ∈ 无效集 不展示 展示
出库 / 临时 / 其他状态 始终展示 始终展示
协议缺失或状态为空 展示 展示

影响范围

  • Tab:细胞存储生产、科研捐赠生产、「所有」(仅过滤列表中入库两类条目)
  • 页面:生产工单(manage)、我的生产任务(mine)
  • Tab 角标 / 侧栏待办:始终按默认(隐藏无效协议关联工单)统计

实现

  • 后端 excludeVoidProtocol 查询参数,默认 true
  • list_production_work_orders、list_production_tasks、_base_active_step_count_query 共用 SQL 过滤
  • 前端检索区 el-checkbox,文案「不展示协议已作废或属地废弃的工单」,默认勾选

非目标

  • 不改变工单自身 workOrderStatus=yzf 的筛选逻辑
  • 不隐藏 zky / zckc / ygq 等状态