namespace Admin.NET.Plugin.AiDOP; /// /// S8 场景树基线种子(3 层结构:S 模块 → 流程 → 动作)。 /// TenantId=0 / FactoryId=0 表示全局基线,服务层用 OR 逻辑兼容所有租户/工厂。 /// S1 含 4 条叶子节点;S2-S7 各含 1 条 3 层叶子路径。 /// [IncreSeed] public class S8SceneTreeSeedData : ISqlSugarEntitySeedData { public IEnumerable HasData() { const long b = 1329910000000L; var ct = DateTime.Parse("2026-05-07 00:00:00"); return new[] { // ── S1 产销协同 ── N(b+1, null, "S1", "S1 产销协同", 1, "S1", "S1", false, 10, ct), N(b+2, b+1, "S1_ORDER_REVIEW", "订单评审", 2, "S1/ORDER_REVIEW", "S1", false, 11, ct), N(b+3, b+2, "S1_LEGAL_REVIEW", "法务评审", 3, "S1/ORDER_REVIEW/LEGAL_REVIEW", "S1", true, 12, ct), N(b+4, b+2, "S1_TECH_REVIEW", "技术评审", 3, "S1/ORDER_REVIEW/TECH_REVIEW", "S1", true, 13, ct), N(b+5, b+2, "S1_GENERAL_REVIEW","综合评审", 3, "S1/ORDER_REVIEW/GENERAL_REVIEW", "S1", true, 14, ct), N(b+6, b+2, "S1_LAB_REVIEW", "实验室评审", 3, "S1/ORDER_REVIEW/LAB_REVIEW", "S1", true, 15, ct), // ── S2 生产准备 ── N(b+10, null, "S2", "S2 生产准备", 1, "S2", "S2", false, 20, ct), N(b+11, b+10, "S2_WORK_ORDER_PREP","工单准备", 2, "S2/WORK_ORDER_PREP", "S2", false, 21, ct), N(b+12, b+11, "S2_MATERIAL_KITTING","物料齐套确认", 3, "S2/WORK_ORDER_PREP/MATERIAL_KITTING", "S2", true, 22, ct), // ── S3 采购协同 ── N(b+20, null, "S3", "S3 采购协同", 1, "S3", "S3", false, 30, ct), N(b+21, b+20, "S3_PURCHASE_EXEC", "采购执行", 2, "S3/PURCHASE_EXEC", "S3", false, 31, ct), N(b+22, b+21, "S3_ARRIVAL_CONFIRM","到货确认", 3, "S3/PURCHASE_EXEC/ARRIVAL_CONFIRM", "S3", true, 32, ct), // ── S4 质量检验 ── N(b+30, null, "S4", "S4 质量检验", 1, "S4", "S4", false, 40, ct), N(b+31, b+30, "S4_QUALITY_INSPECT","来料检验", 2, "S4/QUALITY_INSPECT", "S4", false, 41, ct), N(b+32, b+31, "S4_IQC_INSPECT", "IQC 检验", 3, "S4/QUALITY_INSPECT/IQC_INSPECT", "S4", true, 42, ct), // ── S5 仓储供应 ── N(b+40, null, "S5", "S5 仓储供应", 1, "S5", "S5", false, 50, ct), N(b+41, b+40, "S5_INVENTORY_ASSURANCE","库存保障", 2, "S5/INVENTORY_ASSURANCE","S5", false, 51, ct), N(b+42, b+41, "S5_STOCK_ALERT_HANDLING","库存预警处理", 3, "S5/INVENTORY_ASSURANCE/STOCK_ALERT_HANDLING", "S5", true, 52, ct), // ── S6 生产制造 ── N(b+50, null, "S6", "S6 生产制造", 1, "S6", "S6", false, 60, ct), N(b+51, b+50, "S6_PRODUCTION_EXEC","生产执行", 2, "S6/PRODUCTION_EXEC", "S6", false, 61, ct), N(b+52, b+51, "S6_PROCESS_COMPLETION","工序完工确认", 3, "S6/PRODUCTION_EXEC/PROCESS_COMPLETION", "S6", true, 62, ct), // ── S7 订单交付 ── N(b+60, null, "S7", "S7 订单交付", 1, "S7", "S7", false, 70, ct), N(b+61, b+60, "S7_DELIVERY_EXEC", "交付执行", 2, "S7/DELIVERY_EXEC", "S7", false, 71, ct), N(b+62, b+61, "S7_SHIPMENT_CONFIRM","发货确认", 3, "S7/DELIVERY_EXEC/SHIPMENT_CONFIRM", "S7", true, 72, ct), }; } private static Entity.S8.AdoS8SceneTree N( long id, long? parentId, string nodeCode, string nodeName, int level, string path, string sModule, bool isLeaf, int sortNo, DateTime ct) => new() { Id = id, TenantId = 0, FactoryId = 0, ParentId = parentId, NodeCode = nodeCode, NodeName = nodeName, Level = level, Path = path, SModule = sModule, IsLeaf = isLeaf, Enabled = true, SortNo = sortNo, CreatedAt = ct, }; }