namespace Admin.NET.Plugin.AiDOP.Manufacturing;
///
/// S6 Phase 1C 过程检验单(ado_s6_process_inspection_bill)审核流程常量(Phase 1D 桥接)。
///
/// 桥接目标:让 Phase 1C 快照驱动的过程检验单(Complete 后 overall_result=PASS/FAIL)真正接入 ApprovalFlow。
/// 不重造引擎,不改 IPQC(qms_gcjyd) 流程。BizType 独立 = S6_PROCESS_INSPECTION,business_id = process_inspection_bill.id。
///
/// 拓扑:start → N1_SUBMIT(发起人=提交审核人,自动通过) → N2_SUP_REVIEW(过程检验主管)
/// → GW_RESULT(disposition_required==1→N3 / 否则→end) → N3_QE_DISPOSITION(过程检验质量工程师) → end。
/// 网关判据 disposition_required 由 Phase 1C 结果 overall_result 决定(FAIL→1 进处置 / PASS→0 结束),
/// 由 BizHandler.GetBizData 从 ado_s6_process_inspection_result 直读,**不改写** Phase 1C 检验事实(质量结果与审批分离)。
/// 复用既有 ROLE_S6_IPQC_SUPERVISOR / QUALITY_ENGINEER 角色(IpqcInspectionFlowConst)与 ado_s6_ipqc_quality_disposition 处置表。
///
public static class S6ProcessInspectionFlowConst
{
/// 流程业务类型编码(独立于 IPQC_INSPECTION,绑 Phase 1C bill)
public const string BizType = "S6_PROCESS_INSPECTION";
/// N1 提交审核节点(发起人本人=提交审核人,提交即自动通过推进 N2)
public const string NodeSubmit = "N1_SUBMIT";
/// N2 检验主管审核节点
public const string NodeSupervisor = "N2_SUP_REVIEW";
/// GW_RESULT 排他网关(按 disposition_required 分流:==1→N3,否则→end)
public const string GatewayResult = "GW_RESULT";
/// N3 质量处置节点(不合格 FAIL 进入)
public const string NodeDisposition = "N3_QE_DISPOSITION";
/// 复用 IPQC 检验主管角色(编码/固定 Id 见 IpqcInspectionFlowConst)
public const string RoleSupervisorCode = IpqcInspectionFlowConst.RoleSupervisorCode;
public const long RoleSupervisorId = IpqcInspectionFlowConst.RoleSupervisorId;
/// 复用 IPQC 质量工程师角色
public const string RoleQualityEngineerCode = IpqcInspectionFlowConst.RoleQualityEngineerCode;
public const long RoleQualityEngineerId = IpqcInspectionFlowConst.RoleQualityEngineerId;
/// 流程定义版本
public const int FlowDefinitionVersion = 1;
// 处置类型(复用 IPQC 枚举)
public const string DispTypeRework = IpqcInspectionFlowConst.DispTypeRework;
public const string DispTypeConcession = IpqcInspectionFlowConst.DispTypeConcession;
public const string DispTypeScrap = IpqcInspectionFlowConst.DispTypeScrap;
public const string DispTypeOther = IpqcInspectionFlowConst.DispTypeOther;
// Phase 1C 结果口径
public const string ResultPass = "PASS";
public const string ResultFail = "FAIL";
public const string StatusCompleted = "COMPLETED";
}