Browse Source

no message

DFS_Shuo_Chen 1 month ago
parent
commit
275cbe137c

+ 36 - 33
EasyTemplate.Page/Pages/Warning_day.razor

@@ -53,53 +53,56 @@
                         <PropertyColumn TItem="WarningStatistics" TProp="DateOnly" Align="ColumnAlign.Center" Property="c=>c.statistics_date" Title="统计日期" Width="100">
                             @{ var statDate = row.statistics_date.ToString("yyyy-MM-dd"); }
                             @statDate
-                        </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_total" Title="当天笔数" Width="80" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof" Title="当天超标" Width="80" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="当天超标率" Width="90">
+						</PropertyColumn>
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof_alert" Title="严重超标" Width="90" />
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof" Title="超标" Width="80" />
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_total" Title="有效" Width="80" />
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="严重超标率" Width="100">
+							@{
+								var dailyAlertRate = row.daily_overproofrate_alert;
+							}
+							@dailyAlertRate%
+						</PropertyColumn>
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="超标率" Width="90">
                             @{ var dailyRate = row.daily_overproofrate; }
                             @dailyRate%
                         </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof_alert" Title="当天严重超标" Width="90" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="当天严重超标率" Width="100">
-                            @{ var dailyAlertRate = row.daily_overproofrate_alert; }
-                            @dailyAlertRate%
-                        </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof_2" Title="当天二级超标" Width="90" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="当天二级超标率" Width="100">
-                            @{ var dailyRate2 = row.daily_overproofrate_2; }
-                            @dailyRate2%
-                        </PropertyColumn>
-                        
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_count" Title="累计笔数 (35 天)" Width="120">
-                            @{ 
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof_alert" Title="累计严重超标" Width="90" />
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof" Title="累计超标" Width="80" />
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_count" Title="累计有效" Width="120">
+                            @{
                                 var isAccumulated = row.is_accumulated;
                                 var totalCount = row.total_count;
                             }
                             <span class="@(isAccumulated ? "text-success fw-bold" : "text-warning")">
                                 @totalCount
-                                @if (!isAccumulated)
-                                {
-                                    <small class="text-muted">(未满 5 笔)</small>
-                                }
                             </span>
-                        </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.accumulated_days" Title="累计天数" Width="80">
-                            @{ var accDays = row.accumulated_days; }
-                            @accDays 天
-                        </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof" Title="累计超标数" Width="80" />
+						</PropertyColumn>
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="累计严重超标率" Width="100">
+							@{
+								var totalAlertRate = row.total_overproofrate_alert;
+							}
+							@totalAlertRate%
+						</PropertyColumn>
                         <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="累计超标率" Width="90">
                             @{ var totalRate = row.total_overproofrate; }
                             <span class="fw-bold">@totalRate%</span>
                         </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof_alert" Title="累计严重超标" Width="90" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="累计严重超标率" Width="100">
-                            @{ var totalAlertRate = row.total_overproofrate_alert; }
-                            @totalAlertRate%
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.continue_days" Title="累计天数" Width="80">
+                            @{
+                                var accDays = row.continue_days;
+                            }
+                            @accDays 天
+                        </PropertyColumn>
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.daily_overproof_2" Title="超标2" Width="90" />
+						<PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof_2" Title="累计超标 2" Width="90" />
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="超标率2" Width="100">
+                            @{
+                                var dailyRate2 = row.daily_overproofrate_2;
+                            }
+                            @dailyRate2%
                         </PropertyColumn>
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Property="c=>c.total_overproof_2" Title="累计二级超标" Width="90" />
-                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="累计二级超标率" Width="100">
+                        <PropertyColumn TItem="WarningStatistics" TProp="int" Align="ColumnAlign.Center" Title="累计超标率2" Width="100">
                             @{ var totalRate2 = row.total_overproofrate_2; }
                             @totalRate2%
                         </PropertyColumn>

+ 27 - 12
EasyTemplate.Service/WarningService.cs

@@ -25,14 +25,14 @@ namespace EasyTemplate.Service
             public int AccOver { get; set; }           // 累计超标记录
             public int AccOverAlert { get; set; }      // 累计严重超标记录
             public int AccTotal { get; set; }          // 累计总数
-            public int AccOver2 { get; set; }          // 累计二级超标记录
+            public int AccOver2 { get; set; }          // 累计超标2记录
             
             public int ContinueDays { get; set; }      // 连续超标天数
-            public int ContinueDays2 { get; set; }     // 连续二级超标天数
+            public int ContinueDays2 { get; set; }     // 连续超标2天数
             public int ContinueDaysAlert { get; set; } // 连续严重超标天数
             
             public int LastRate { get; set; }          // 最后累计超标率
-            public int LastRate2 { get; set; }         // 最后二级超标率
+            public int LastRate2 { get; set; }         // 最后超标率2
             public int LastRateAlert { get; set; }     // 最后严重超标率
         }
 
@@ -220,15 +220,20 @@ namespace EasyTemplate.Service
                 newState.LastRate2 = newState.AccTotal == 0 ? 0 : (newState.AccOver2 * 100) / newState.AccTotal;
                 newState.LastRateAlert = newState.AccTotal == 0 ? 0 : (newState.AccOverAlert * 100) / newState.AccTotal;
                 
+                // 设置统计结果
+                SetStatsFromState(stats, newState);
+
                 // 根据模式判断并更新连续天数
                 ApplyWarningRules(newState, isBeijingMode, refCount, refPrewarningIndex, 
                     refPrewarningIndexAlert, isZhejiangSpecial);
                 
                 // 保存到缓存
                 stateCache[0] = newState;
-                
-                // 设置统计结果
-                SetStatsFromState(stats, newState);
+
+
+                SetStatsFromState_continue_days(stats, newState);
+
+
                 return;
             }
 
@@ -257,6 +262,9 @@ namespace EasyTemplate.Service
             currentState.LastRate2 = currentState.AccTotal == 0 ? 0 : (currentState.AccOver2 * 100) / currentState.AccTotal;
             currentState.LastRateAlert = currentState.AccTotal == 0 ? 0 : (currentState.AccOverAlert * 100) / currentState.AccTotal;
 
+            // 设置统计结果
+            SetStatsFromState(stats, currentState);
+
             // 根据模式判断并更新连续天数
             ApplyWarningRules(currentState, isBeijingMode, refCount, refPrewarningIndex, 
                 refPrewarningIndexAlert, isZhejiangSpecial);
@@ -264,8 +272,7 @@ namespace EasyTemplate.Service
             // 保存到缓存
             stateCache[currentIndex] = currentState;
 
-            // 设置统计结果
-            SetStatsFromState(stats, currentState);
+            SetStatsFromState_continue_days(stats, currentState);
         }
 
         /// <summary>
@@ -274,7 +281,7 @@ namespace EasyTemplate.Service
         private void ApplyWarningRules(AccumulatedState state, bool isBeijingMode, int refCount, 
             int refPrewarningIndex, int refPrewarningIndexAlert, bool isZhejiangSpecial)
         {
-            if (isBeijingMode)
+            if (isBeijingMode)//isBeijingMode
             {
                 // === 北京模式(ref_reach_count)===
                 // 规则:超标率>=阈值 且 总笔数>=5 时,连续天数 +1
@@ -344,7 +351,7 @@ namespace EasyTemplate.Service
                         state.ContinueDaysAlert = 0;
                     }
                     
-                    // 二级超标判断(广东中石化)
+                    // 超标 2 判断(广东中石化)
                     if (state.LastRate2 >= refPrewarningIndex)
                     {
                         state.ContinueDays2++;
@@ -401,6 +408,14 @@ namespace EasyTemplate.Service
             stats.total_overproofrate_alert = state.LastRateAlert;
         }
 
+        private void SetStatsFromState_continue_days(WarningStatistics stats, AccumulatedState state)
+        {
+            stats.continue_days = state.ContinueDays;
+            stats.continue_days_2 = state.ContinueDays2;
+            stats.continue_days_alert = state.ContinueDaysAlert;
+        }
+
+
         /// <summary>
         /// 计算累计统计数据(原始版本,保留用于兼容)
         /// 规则:从最早日期正向迭代到当前日期,累加统计并在满足条件时清零
@@ -411,7 +426,7 @@ namespace EasyTemplate.Service
             int acc_over = 0;           // 累计超标记录
             int acc_over_alert = 0;     // 累计严重超标记录
             int acc_total = 0;          // 累计总数
-            int acc_over_2 = 0;         // 累计二级超标记录(广东中石化)
+            int acc_over_2 = 0;         // 累计超标 2 记录(广东中石化)
             
             // 连续天数计数器
             int continue_days = 0;
@@ -519,7 +534,7 @@ namespace EasyTemplate.Service
                             continue_days_alert = 0;
                         }
                         
-                        // 二级超标判断(广东中石化)
+                        // 超标 2 判断(广东中石化)
                         if (last_rate_2 >= refPrewarningIndex) // || day.continueoverproof == 1
                         {
                             continue_days_2++;

+ 6 - 6
EasyTemplate.Tool/Entity/App/WarningStatistics.cs

@@ -47,12 +47,12 @@ namespace EasyTemplate.Tool.Entity.App
         public int total_overproofrate_alert { get; set; }
 
         /// <summary>
-        /// 累计二级超标数(overproof_2)
+        /// 累计超标2数(overproof_2)
         /// </summary>
         public int total_overproof_2 { get; set; }
 
         /// <summary>
-        /// 累计二级超标率(%)
+        /// 累计超标率2(%)
         /// </summary>
         public int total_overproofrate_2 { get; set; }
 
@@ -82,12 +82,12 @@ namespace EasyTemplate.Tool.Entity.App
         public int daily_overproofrate_alert { get; set; }
 
         /// <summary>
-        /// 当天二级超标数
+        /// 当天超标2
         /// </summary>
         public int daily_overproof_2 { get; set; }
 
         /// <summary>
-        /// 当天二级超标率(%)
+        /// 当天超标率2(%)
         /// </summary>
         public int daily_overproofrate_2 { get; set; }
 
@@ -107,7 +107,7 @@ namespace EasyTemplate.Tool.Entity.App
         public int continue_days { get; set; }
 
         /// <summary>
-        /// 连续超标天数(二级超标/广东中石化)
+        /// 连续超标2天数(广东中石化)
         /// </summary>
         public int continue_days_2 { get; set; }
 
@@ -122,7 +122,7 @@ namespace EasyTemplate.Tool.Entity.App
         public int last_overproofrate { get; set; }
 
         /// <summary>
-        /// 最后二级超标率(用于显示)
+        /// 最后超标率2(用于显示)
         /// </summary>
         public int last_overproofrate_2 { get; set; }