Explorar el Código

refactor(s8): use stage code for monitoring aggregations

YY968XX hace 3 meses
padre
commit
58dbf299f3

+ 11 - 10
server/Plugins/Admin.NET.Plugin.AiDOP/Service/S8/S8DashboardService.cs

@@ -45,7 +45,7 @@ public class S8DashboardService : ITransient
 
         var q = _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode))
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode))
             .WhereIF(effectiveFrom.HasValue, x => x.CreatedAt >= effectiveFrom!.Value)
             .WhereIF(effectiveTo.HasValue,   x => x.CreatedAt < effectiveTo!.Value)
             .WhereIF(!string.IsNullOrWhiteSpace(severity), x => x.Severity == severity);
@@ -92,7 +92,7 @@ public class S8DashboardService : ITransient
         }
         var rows = await _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted && x.CreatedAt >= from && x.CreatedAt < toExclusive)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode))
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode))
             .Select(x => new { x.CreatedAt })
             .ToListAsync();
 
@@ -109,7 +109,7 @@ public class S8DashboardService : ITransient
 
         var list = await _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode))
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode))
             .WhereIF(periodFrom.HasValue, x => x.CreatedAt >= periodFrom!.Value)
             .WhereIF(periodTo.HasValue,   x => x.CreatedAt < periodTo!.Value)
             .Select(x => new
@@ -119,8 +119,8 @@ public class S8DashboardService : ITransient
                 x.Severity,
                 x.ResponsibleDeptId,
                 x.OccurrenceDeptId,
-                // S8-PROCESS-NODE-MODULE-CODE-ALIGNMENT-EXEC-1:byProcess 改用 module_code 聚合
-                x.ModuleCode,
+                // TASK-002-RESET-DIMENSION-MODEL-DEV-4A:byProcess 切到 stage_code,DTO 字段名保持 ModuleCode
+                ModuleCode = x.StageCode,
                 x.RelatedObjectCode,
             })
             .ToListAsync();
@@ -206,7 +206,7 @@ public class S8DashboardService : ITransient
         // S8-SLA-TIMEOUT-RUNTIME-1(P3):投影 SlaDeadline 替代 TimeoutFlag;timeout 由内存计算(与 GetSummaryAsync 一致 now)。
         var list = await _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode))
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode))
             .WhereIF(periodFrom.HasValue, x => x.CreatedAt >= periodFrom!.Value)
             .WhereIF(periodTo.HasValue,   x => x.CreatedAt < periodTo!.Value)
             .Select(x => new { x.ResponsibleDeptId, x.Status, x.SlaDeadline })
@@ -258,12 +258,12 @@ public class S8DashboardService : ITransient
 
         var rows = await _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted && x.CreatedAt >= from && x.CreatedAt < toExclusive)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode))
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode))
             .Select(x => new
             {
                 x.CreatedAt,
-                // S8-PROCESS-NODE-MODULE-CODE-ALIGNMENT-EXEC-1:dim=process 改用 module_code 聚合
-                x.ModuleCode,
+                // TASK-002-RESET-DIMENSION-MODEL-DEV-4A:dim=process 切到 stage_code,匿名属性名保留 ModuleCode
+                ModuleCode = x.StageCode,
                 x.RelatedObjectCode,
                 x.OccurrenceDeptId,
                 x.ResponsibleDeptId,
@@ -329,7 +329,8 @@ public class S8DashboardService : ITransient
     {
         var q = _rep.AsQueryable()
             .Where(x => x.TenantId == tenantId && x.FactoryId == factoryId && !x.IsDeleted)
-            .Where(x => S8ModuleCode.All.Contains(x.ModuleCode));
+            .Where(x => S8ModuleCode.All.Contains(x.StageCode));
+        // TASK-002-RESET-DIMENSION-MODEL-DEV-4A:聚合源切到 stage_code(DEV-2A 已与 module_code 对齐)。
         // S8-SLA-TIMEOUT-RUNTIME-1(P3):timeout 模式按 sla_deadline 在线计算筛 + 升序。
         var nowForTimeout = DateTime.Now;
         var ordered = mode switch

+ 12 - 12
server/Plugins/Admin.NET.Plugin.AiDOP/Service/S8/S8MonitoringService.cs

@@ -32,16 +32,16 @@ public class S8MonitoringService : ITransient
     {
         var (periodFrom, periodTo) = S8PeriodHelper.Resolve(period);
 
-        // S8-DASHBOARD-DATA-ALIGN-S1S7-1:统一统计基准 module_code IN S1-S7
-        // module_code IS NULL 的 legacy/demo 行不参与大屏聚合(不依赖 scene_code、不映射 legacy scene)
+        // TASK-002-RESET-DIMENSION-MODEL-DEV-4A:聚合源切到 stage_code(DEV-2A 已与 module_code 对齐)
+        // DTO 字段名保持 ModuleCode 以兼容前端,仅来源字段改为 StageCode
         var events = await _rep.AsQueryable()
             .Where(e => e.TenantId == tenantId && e.FactoryId == factoryId && !e.IsDeleted)
-            .Where(e => S8ModuleCode.All.Contains(e.ModuleCode))
+            .Where(e => S8ModuleCode.All.Contains(e.StageCode))
             .WhereIF(periodFrom.HasValue, e => e.CreatedAt >= periodFrom!.Value)
             .WhereIF(periodTo.HasValue,   e => e.CreatedAt < periodTo!.Value)
             .Select(e => new
             {
-                e.ModuleCode,
+                ModuleCode = e.StageCode,
                 e.Severity,
                 e.Status,
                 e.TimeoutFlag,
@@ -300,10 +300,10 @@ public class S8MonitoringService : ITransient
 
         var query = _rep.AsQueryable()
             .Where(e => e.TenantId == q.TenantId && e.FactoryId == q.FactoryId && !e.IsDeleted)
-            // S8-DASHBOARD-DATA-ALIGN-S1S7-1:统一统计基准 module_code IN S1-S7
-            .Where(e => S8ModuleCode.All.Contains(e.ModuleCode))
+            // TASK-002-RESET-DIMENSION-MODEL-DEV-4A:聚合源 module_code → stage_code
+            .Where(e => S8ModuleCode.All.Contains(e.StageCode))
             .WhereIF(!string.IsNullOrWhiteSpace(q.SceneCode), e => e.SceneCode == q.SceneCode)
-            .WhereIF(!string.IsNullOrWhiteSpace(q.ModuleCode), e => e.ModuleCode == q.ModuleCode)
+            .WhereIF(!string.IsNullOrWhiteSpace(q.ModuleCode), e => e.StageCode == q.ModuleCode)
             .WhereIF(effectiveFrom.HasValue, e => e.CreatedAt >= effectiveFrom!.Value)
             .WhereIF(effectiveTo.HasValue,   e => e.CreatedAt < effectiveTo!.Value);
 
@@ -312,7 +312,7 @@ public class S8MonitoringService : ITransient
         var raw = await query
             .Select(e => new
             {
-                e.ModuleCode,
+                ModuleCode = e.StageCode,
                 e.SceneCode,
                 e.Severity,
                 e.SlaDeadline,
@@ -381,7 +381,7 @@ public class S8MonitoringService : ITransient
 
         var rows = await _rep.AsQueryable()
             .Where(e => e.TenantId == tenantId && e.FactoryId == factoryId && !e.IsDeleted)
-            .Where(e => deliveryModules.Contains(e.ModuleCode))
+            .Where(e => deliveryModules.Contains(e.StageCode))
             .Where(e => e.ExceptionTypeCode != null && deliveryTypes.Contains(e.ExceptionTypeCode))
             .Where(e => e.CreatedAt >= from && e.CreatedAt < toExclusive)
             .Select(e => new { e.ExceptionTypeCode, e.CreatedAt })
@@ -459,7 +459,7 @@ public class S8MonitoringService : ITransient
 
         var rows = await _rep.AsQueryable()
             .Where(e => e.TenantId == tenantId && e.FactoryId == factoryId && !e.IsDeleted)
-            .Where(e => prodModules.Contains(e.ModuleCode))
+            .Where(e => prodModules.Contains(e.StageCode))
             .Where(e => e.ExceptionTypeCode != null && prodTypes.Contains(e.ExceptionTypeCode))
             .Where(e => e.CreatedAt >= from && e.CreatedAt < toExclusive)
             .Select(e => new { e.ExceptionTypeCode, e.CreatedAt })
@@ -540,7 +540,7 @@ public class S8MonitoringService : ITransient
 
         var rows = await _rep.AsQueryable()
             .Where(e => e.TenantId == tenantId && e.FactoryId == factoryId && !e.IsDeleted)
-            .Where(e => supplyModules.Contains(e.ModuleCode))
+            .Where(e => supplyModules.Contains(e.StageCode))
             .Where(e => e.ExceptionTypeCode != null && supplyTypes.Contains(e.ExceptionTypeCode))
             .Where(e => e.CreatedAt >= from && e.CreatedAt < toExclusive)
             .Select(e => new { e.ExceptionTypeCode, e.CreatedAt })
@@ -663,7 +663,7 @@ public class S8MonitoringService : ITransient
 
         var rows = await _rep.AsQueryable()
             .Where(e => e.TenantId == tenantId && e.FactoryId == factoryId && !e.IsDeleted)
-            .Where(e => S8ModuleCode.All.Contains(e.ModuleCode))
+            .Where(e => S8ModuleCode.All.Contains(e.StageCode))
             .Where(e => e.ExceptionTypeCode != null && typeCodes.Contains(e.ExceptionTypeCode))
             .Where(e => e.CreatedAt >= from && e.CreatedAt < to)
             .Select(e => new { e.ExceptionTypeCode, e.Status, e.CreatedAt, e.ClosedAt })