Files
zkxw/openspec/changes/basic-info-management/proposal.md
T
2026-05-17 08:36:37 +08:00

2.7 KiB
Raw Blame History

Why

中科兴皖 V0.3「基础信息管理」下 2.2.1~2.2.5 为后续采集协议单、样本等业务的主数据入口;当前仓库仅有 SQL 模型定义,缺少租户内一致的 REST API 与 Web 管理端 CRUD,无法支撑业务录入与引用。

What Changes

  • 在 backend 为五类主数据提供租户隔离的列表/详情/新增/修改/软删接口,字段与校验对齐 docs/sql/zkxw.sql 与 docs/中科兴皖需求V0.3.md 2.2.1~2.2.5。
  • 在 web-admin 增加五个列表+弹窗表单页(或等价结构),遵循 Fresh Mint 规范与既有 Demo 模板页(如 unit、dict 类页面)的布局与交互。
  • 客户:同一租户下身份证号非空且重复时拒绝创建并提示;姓名不强制唯一。
  • 细胞样本类型:type_code 租户内唯一(与表 uk_sample_type 一致)。
  • 采集地区与医院:地区 CRUD;医院为子表(biz_collection_hospital),通过「地区医院配置」弹窗维护,不采用需求文中「医院名称逗号分隔」的冗余存储(以当前 schema 1:N 为准)。
  • 采集协议号池、样本编码池:protocol_no / sample_code 租户内唯一;维护 issued(是否下发)。
  • 提供初始化菜单/SQL 片段(若项目惯例为 docs/sql/),便于挂到 Web 侧栏。

Capabilities

New Capabilities

  • customer-management:客户 biz_customer 的展示、增删改、身份证重复校验、标签逗号分隔编辑。
  • cell-sample-type-management:细胞样本类型 biz_cell_sample_type 的展示与增删改、编码唯一性。
  • collection-region-hospital-management:采集地区 biz_collection_region 与下属医院 biz_collection_hospital 的维护及子表弹窗配置。
  • collection-protocol-no-management:采集协议号池 biz_collection_protocol_no 的维护与下发标记。
  • sample-code-management:样本编码池 biz_sample_code 的维护与下发标记。

Modified Capabilities

  • (无)不修改 openspec/changes/zkxw-engineering-standards 中既有 SHALL 语义;本变更在其实现约束下新增业务能力。

Impact

  • 后端:新增路由模块(建议 app/api/ 下业务域路由)、对应 schemas/、crud/、services/(如需);在 app/api/__init__.py 与 app/main.py 注册;SQLAlchemy 模型若尚未覆盖上述表则补充。
  • 前端:src/api/、src/router/、src/views/(建议 views/business/ 或按项目惯例)、菜单静态或后端菜单数据。
  • 数据库:以现有 docs/sql/zkxw.sql 全库导出基线为准;本变更可附带种子数据(如三种预设样本类型)的 可选 增量 SQL(置于 docs/sql/)。
  • 权限:菜单与按钮权限与现有 sys_menu / 角色授权模式对齐。