决策:①ADMIN无条件拥有UNBIND_ATTACHMENT(方案B);②"配套方案"(原子案SUB_PLAN) 与支撑成果/方案训考资料/典型案例并轨为共享资料库附件的第四种类型,入库、挂载、 解绑、留存语义与另外三类完全一致。
ACCOMPANYING_PLAN(配套方案),类型集合扩为四值;ck_doc_document_document_attachment_type扩四值:以新名
ck_doc_document_attachment_type_v2重建(旧名DROP IF EXISTS,新名ADD IF NOT EXISTS,
双引擎按名幂等);document_type='ATTACHMENT'、
attachment_type='ACCOMPANYING_PLAN'、visibility_type='ALL_AUTHENTICATED';parent_document_id补doc_attachment_binding
(sort_no沿用,NOT EXISTS防重);doc_sub_plan_binding活跃行转doc_attachment_binding后软删(防重跑双转);attachment_count;child_count清零;dms-server upgrade-db(Alembic 0020),Java并行环境由Flyway V5
幂等承接。AttachmentType.ACCOMPANYING_PLAN;UI字典attachmentTypes四值
(配套方案10/支撑成果20/训考30/典型40),服务端启动校验两版同步生效;plan_allowed_actions ADMIN分支删除"附件挂载数>0"条件,恒含UNBIND
(顺带消除主案列表每行一次的count查询);AttachmentType枚举+ACCOMPANYING_PLAN;关系Tab首项由"sub"改为该类型;
两处关系面板(浏览/管理)统一走挂载附件列表(类型=当前Tab)、上传自动挂载、
挂载弹窗(配套方案Tab软排序)、解绑/拖动走binding接口;docs/temp/stage11_contract.py(自建自清):方案B放行/无权仍拒;SUB_PLAN创建400;
配套方案上传→入库→挂载→Tab列表→解绑→仍在库;迁移前后存量12条子案的转换
(类型/挂载/计数/child_count);四值字典下发。
security_level='PUBLIC'。
为不静默降密存量INTERNAL/SECRET子案,迁移同步放宽shape约束
(ck_doc_document_type_shape_v2,附件允许任意密级),存量子案密级原样保留;
附件读路径(详情/预览/下载)增加密级前置(任何角色含ADMIN密级不足即拒,
拒绝码SECURITY_LEVEL_FORBIDDEN,与主案口径一致)。新建附件仍默认PUBLIC
(上传不含securityLevel字段)。