46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# 双部门样本接收拆分 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. 验证:质检接收 → 生产工单填写 → 双方只读互见
|