Files
zkxw/docs/superpowers/plans/2026-06-29-dual-sample-reception.md
T
2026-06-30 09:19:06 +08:00

1.6 KiB

双部门样本接收拆分 Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task.

Goal: 将样本接收拆分为质检域(biz_sample_reception)与生产域(biz_sample_production_reception),两侧互读互斥写;质检去掉体积/净重。

Architecture: 新表 1:1 关联质检接收;生产 API /production-sample-receptions;前端双区块只读组件 + 生产工单专用填写弹窗。

Tech Stack: FastAPI + SQLAlchemy + Vue 3 + Element Plus

Spec: docs/superpowers/specs/2026-06-29-dual-sample-reception-design.md


Task 1: 数据库与 Model ✅

  • docs/sql/migrate_sample_production_reception.sql
  • backend/app/models/models.py → BizSampleProductionReception

Task 2: 生产接收 CRUD/API ✅

  • backend/app/crud/sample_production_reception.py
  • backend/app/api/sample_production_reception.py
  • 注册 main.py / api/__init__.py

Task 3: 质检 API 瘦身 + 聚合读 ✅

  • _reception_to_dict 移除 volumeMl/netWeightG
  • productionReception 挂载至详情/列表/协议样本

Task 4: 前端生产弹窗 + 质检页 ✅

  • SampleReceptionDialog.vue 重写
  • sample-reception/index.vue 去体积净重 + 生产只读

Task 5: 只读展示 ✅

  • sample-reception-dual-readonly-panel
  • 协议/捐赠查看、工单/任务/放行查看弹窗

部署前

  1. 执行 docs/sql/migrate_sample_production_reception.sql
  2. 重启 backend
  3. 验证:质检接收 → 生产工单填写 → 双方只读互见