| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- namespace Admin.NET.Plugin.AiDOP.Service.S8.OrderFlow;
- /// <summary>
- /// ORDER-FLOW-S8-INTEGRATED-DOMAIN-RESET-1 t3b:ORDER_FLOW 5 项常量 + 派生映射。
- /// 5 阶段顺序由 SortNo 隐含(同 ORDER_FLOW_ALL 数组顺序);S_STAGE 与 OrderFlowName 字典为只读引用。
- /// 不在此文件硬编码任何业务真值(KPI 天数 / 行数 / 真值矩阵)。
- /// </summary>
- public static class OrderFlowConstants
- {
- public const string ORDER_REVIEW_PLAN_CALC = "ORDER_REVIEW_PLAN_CALC";
- public const string PRODUCT_DESIGN = "PRODUCT_DESIGN";
- public const string MATERIAL_PURCHASE = "MATERIAL_PURCHASE";
- public const string BODY_PRODUCTION = "BODY_PRODUCTION";
- public const string FINAL_ASSEMBLY_DELIVERY = "FINAL_ASSEMBLY_DELIVERY";
- /// <summary>5 阶段固定顺序(与 ado_s8_order_flow_stage.sort_no 1~5 对齐)。</summary>
- public static readonly IReadOnlyList<string> All = new[]
- {
- ORDER_REVIEW_PLAN_CALC,
- PRODUCT_DESIGN,
- MATERIAL_PURCHASE,
- BODY_PRODUCTION,
- FINAL_ASSEMBLY_DELIVERY,
- };
- /// <summary>ORDER_FLOW → S 阶段编码(演示协议固定)。</summary>
- public static readonly IReadOnlyDictionary<string, string> SStageMap = new Dictionary<string, string>
- {
- [ORDER_REVIEW_PLAN_CALC] = "S1",
- [PRODUCT_DESIGN] = "S2",
- [MATERIAL_PURCHASE] = "S3",
- [BODY_PRODUCTION] = "S6",
- [FINAL_ASSEMBLY_DELIVERY] = "S7",
- };
- /// <summary>ORDER_FLOW → 展示中文名(与 t2a stage seed FlowDef 一致)。</summary>
- public static readonly IReadOnlyDictionary<string, string> OrderFlowName = new Dictionary<string, string>
- {
- [ORDER_REVIEW_PLAN_CALC] = "评审/排产/测算",
- [PRODUCT_DESIGN] = "产品设计",
- [MATERIAL_PURCHASE] = "材料采购",
- [BODY_PRODUCTION] = "本体生产",
- [FINAL_ASSEMBLY_DELIVERY] = "总装发货",
- };
- /// <summary>未识别 code 时的 fallback 名称(直接回显 code)。</summary>
- public static string ResolveName(string? orderFlowCode)
- => !string.IsNullOrEmpty(orderFlowCode) && OrderFlowName.TryGetValue(orderFlowCode, out var n)
- ? n
- : (orderFlowCode ?? string.Empty);
- /// <summary>未识别 code 时回退为空字符串(service 调用方决定是否升级为异常)。</summary>
- public static string ResolveSStage(string? orderFlowCode)
- => !string.IsNullOrEmpty(orderFlowCode) && SStageMap.TryGetValue(orderFlowCode, out var s)
- ? s
- : string.Empty;
- }
|