高
2026-10-10 c6a2b472cde9dff4d21b95637ee6d99a412c785c
docs/project-business/mermaid/05-quality-flow.mmd
@@ -3,6 +3,25 @@
  T2[报工质检工序通过后产出行] --> A2[IPQC 过程检验·草稿0→完成4]
  T3[销售出库单提交] --> A3[OQC 出货检验·草稿0→完成4]
  T4[生产退料单 或 销售退货单 或 售后退货] --> A4[RQC 退货检验·草稿0→完成4]
  T5[Excel 批量导入·IQC IPQC OQC 三列表各一个入口·按钮在新增与导出之间] --> IMP{导入闸门·逐行解析·失败行互不影响}
  IMP -->|编号留空自动生成·编号重复或同一批数据重复则拒该行| A1
  IMP --> A2
  IMP --> A3
  IMP -.->|同一批数据不可重复导入·IQC 物料+供应商+供应商批次+来料日期 / IPQC 物料+批号+检验类型+检测日期 / OQC 物料+客户+批次号+出货日期·文件内重复行与库内已有单都拒并回显双方实际值| IMPDUP[导入去重·按业务键]
  IMP -.->|物料按编码 供应商与客户按名称 精确匹配·方案留空按物料+检验类型自动匹配| IMPR[引用解析·QC_NO_TEMPLATE 补物料与可执行动作]
  IMP -.->|合格+不合格 必须等于 检测或接收数量·不等等则拒该行| IMPQ[数量关系校验·两侧实际值都回显]
  IMP -.->|IPQC 工废+料废+其他废品 不得超过不合格品数量·三列留空按0| IMPQ
  IMP -.->|OQC 填客户时校验在本人数据权限内·留空则不属于任何客户·不受遮挡| IMPP[数据权限前置校验]
  IMP -.->|检测人员留空=当前登录用户·IQC 检测与来料日期、OQC 检测日期必填·IPQC 检测日期与 OQC 出货日期可留空| IMPD[人员与日期]
  IMP --> IMR[响应 createList 成功编号 + failureList 行号→原因·整行空自动跳过]
  IMR -.->|导入单一律待检验0·不走来源单据回写·不生成NCR| IMRNOTE[与触发式建单的区别·finish 才判定与回写]
  A1 -->|台账 UNION ALL| LG[检测结果台账·跨 IQC IPQC OQC RQC 统一查询与导出]
  A2 -->|台账 UNION ALL| LG
  A3 -->|台账 UNION ALL| LG
  A4 -->|台账 UNION ALL| LG
  LG -->|一行一个检测项·未录结果也保留一行不漏单| LGF[批次号按类型取来源·IQC 供应商批次号 / IPQC OQC RQC 批号]
  LG -->|判定依据由标准值与上下限拼装| LGB[同一套筛选条件导出 Excel 台账·只读页不提供增删改]
  LG -->|权限码| LGPERM["mes:qc-inspection-ledger:query 查询·:export 导出·菜单挂质量管理目录"]
  A1 --> R{检验判定 MesQcCheckResultEnum}
  A2 --> R
  A3 --> R