S8SceneCode.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. namespace Admin.NET.Plugin.AiDOP.Infrastructure.S8;
  2. /// <summary>
  3. /// S8 异常场景码常量。
  4. /// scene_code 格式:S{模块组}_场景域,方便前端按监控页分类。
  5. /// </summary>
  6. public static class S8SceneCode
  7. {
  8. /// <summary>交付异常(S1 订单评审变更 + S7 成品出库交期)</summary>
  9. public const string S1S7Delivery = "S1S7_DELIVERY";
  10. /// <summary>生产异常(S2 工单开工 + S6 完工/质量)</summary>
  11. public const string S2S6Production = "S2S6_PRODUCTION";
  12. /// <summary>供应异常(S3 MRP套料 + S5 IQC/库存)</summary>
  13. public const string S3S5Supply = "S3S5_SUPPLY";
  14. /// <summary>采购执行异常(S4 PO跟单/收货/退货)</summary>
  15. public const string S4Purchase = "S4_PURCHASE";
  16. /// <summary>scene_code → 中文名称</summary>
  17. public static string Label(string sceneCode) => sceneCode switch
  18. {
  19. S1S7Delivery => "交付异常",
  20. S2S6Production => "生产异常",
  21. S3S5Supply => "供应异常",
  22. S4Purchase => "采购执行异常",
  23. _ => sceneCode
  24. };
  25. /// <summary>scene_code → 所属模块列表(用于页面展示列头)</summary>
  26. public static string[] Modules(string sceneCode) => sceneCode switch
  27. {
  28. S1S7Delivery => new[] { "S1", "S7" },
  29. S2S6Production => new[] { "S2", "S6" },
  30. S3S5Supply => new[] { "S3", "S5" },
  31. S4Purchase => new[] { "S4" },
  32. _ => Array.Empty<string>()
  33. };
  34. /// <summary>所有 scene_code 有序列表(综合全景页列顺序)</summary>
  35. public static readonly string[] All =
  36. {
  37. S1S7Delivery,
  38. S2S6Production,
  39. S3S5Supply,
  40. S4Purchase
  41. };
  42. }
  43. /// <summary>
  44. /// S8 模块码常量(对应 S1-S7 业务模块)。
  45. /// </summary>
  46. public static class S8ModuleCode
  47. {
  48. public const string S1 = "S1";
  49. public const string S2 = "S2";
  50. public const string S3 = "S3";
  51. public const string S4 = "S4";
  52. public const string S5 = "S5";
  53. public const string S6 = "S6";
  54. public const string S7 = "S7";
  55. /// <summary>module_code → 中文名称</summary>
  56. public static string Label(string moduleCode) => moduleCode switch
  57. {
  58. S1 => "S1·销售评审",
  59. S2 => "S2·计划排产",
  60. S3 => "S3·物料套料",
  61. S4 => "S4·采购执行",
  62. S5 => "S5·IQC入库",
  63. S6 => "S6·生产完工",
  64. S7 => "S7·成品出库",
  65. _ => moduleCode
  66. };
  67. /// <summary>module_code → 所属 scene_code</summary>
  68. public static string SceneOf(string moduleCode) => moduleCode switch
  69. {
  70. S1 or S7 => S8SceneCode.S1S7Delivery,
  71. S2 or S6 => S8SceneCode.S2S6Production,
  72. S3 or S5 => S8SceneCode.S3S5Supply,
  73. S4 => S8SceneCode.S4Purchase,
  74. _ => string.Empty
  75. };
  76. /// <summary>所有模块码有序列表</summary>
  77. public static readonly string[] All = { S1, S2, S3, S4, S5, S6, S7 };
  78. }