4.8 KiB
ADDED Requirements
Requirement: 出库放行审核列表 API
系统 SHALL 提供 GET /web/admin/pilot-release-reviews 端点,返回分页的输注计划列表(附带出库放行审核状态)。列表 SHALL 基于 biz_pilot_infusion_schedule 构建,LEFT JOIN biz_outbound_release_review 获取审核结论。每个列表项 SHALL 包含:申请单号、患者姓名、输注计划编号、细胞类型、规格、输注时间、生产工单状态、质检工单状态、审核结论、审核时间。
Scenario: 查询全部输注计划审核状态
- WHEN 管理员请求
GET /web/admin/pilot-release-reviews?page=1&page_size=20 - THEN 系统返回分页列表,包含所有未删除的输注计划及其对应的审核状态
Scenario: 按审核结论筛选
- WHEN 管理员请求
GET /web/admin/pilot-release-reviews?review_conclusion=tg - THEN 系统只返回审核结论为"通过"的输注计划
Scenario: 按关键词搜索
- WHEN 管理员请求
GET /web/admin/pilot-release-reviews?keyword=ZSSQ202605260005 - THEN 系统返回匹配申请单号或患者姓名的输注计划
Requirement: 出库放行审核详情聚合 API
系统 SHALL 提供 GET /web/admin/pilot-release-reviews/{schedule_id}/detail 端点,返回指定输注计划的完整审核上下文。详情 SHALL 聚合以下 6 个信息域:
- 申请单信息:申请单号、申请单名称、渠道名称、状态
- 患者信息:姓名、性别、年龄、联系电话
- 输注计划信息:细胞类型、规格、输注时间、地点、方式、生产状态、质检状态、输注状态
- 生产工单+任务信息:工单号、状态、每个任务的投入/产出/工艺步骤及结论
- 质检工单+任务信息:工单号、状态、实验室/第三方项目、每个任务的检测结果及结论
- 审核记录信息:审核结论、备注、附件、审核人、审核时间
Scenario: 查看完整审核详情
- WHEN 管理员请求
GET /web/admin/pilot-release-reviews/{schedule_id}/detail - THEN 系统返回包含上述 6 个信息域的完整聚合数据
Scenario: 输注计划无生产工单
- WHEN 输注计划尚未创建出库生产工单
- THEN 生产工单+任务信息域返回空数组
Scenario: 输注计划无质检工单
- WHEN 输注计划尚未创建出库质检工单
- THEN 质检工单+任务信息域返回空数组
Requirement: 出库放行审核操作 API
系统 SHALL 提供 PUT /web/admin/pilot-release-reviews/{schedule_id}/review 端点用于单条审核,以及 PUT /web/admin/pilot-release-reviews/batch-review 用于批量审核。审核操作 SHALL 创建或更新 biz_outbound_release_review 记录,设置 review_conclusion(tg/btg)、review_remark、review_attachments、reviewer_user_id、review_time。审核时 SHALL 自动查找并填充 production_work_order_id 和 qc_work_order_id。
Scenario: 单条审核通过
- WHEN 管理员提交审核
PUT /pilot-release-reviews/{schedule_id}/reviewbody={"review_conclusion":"tg","review_remark":"合格"} - THEN 系统创建或更新审核记录,设置结论为"通过"、备注、审核人、审核时间
Scenario: 单条审核不通过
- WHEN 管理员提交审核结论为"btg"
- THEN 系统记录"不通过"结论
Scenario: 批量审核
- WHEN 管理员提交
PUT /pilot-release-reviews/batch-reviewbody={"schedule_ids":["id1","id2"],"review_conclusion":"tg","review_remark":"批量通过"} - THEN 系统为所有指定排程创建/更新审核记录
Scenario: 重复审核覆盖
- WHEN 输注计划已有审核记录,再次提交审核
- THEN 系统更新已有记录(覆盖审核结论、备注、附件、审核人、时间)
Requirement: 审核记录关联工单
创建审核记录时,系统 SHALL 根据 infusion_schedule_id 自动查询关联的出库生产工单(biz_production_work_order WHERE infusion_schedule_id=? AND work_order_type='outbound')和出库质检工单(biz_qc_work_order WHERE infusion_schedule_id=? AND qc_biz_type='outbound'),并将工单 ID 填充到 production_work_order_id 和 qc_work_order_id 字段。
Scenario: 自动关联生产工单
- WHEN 为某输注计划创建审核记录,且该计划存在
work_order_type='outbound'的生产工单 - THEN 审核记录的
production_work_order_id自动填充为该生产工单的 ID
Scenario: 自动关联质检工单
- WHEN 为某输注计划创建审核记录,且该计划存在
qc_biz_type='outbound'的质检工单 - THEN 审核记录的
qc_work_order_id自动填充为该质检工单的 ID
Scenario: 无关联工单
- WHEN 输注计划尚无出库生产或质检工单
- THEN 对应工单 ID 字段为空字符串