From 4e475294999e7053036cc162de388010f6ee3132 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 08 1月 2025 07:33:02 +0800
Subject: [PATCH] 202518-修复op35设备状态不对的问题

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs |   42 +++++++++++++++++++++++++++++++++++++++++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs |    3 +++
 2 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
index a3f1635..b4c5868 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -645,6 +645,7 @@
                             else
                             {//鍏朵粬鐘舵�佸叏绠楀緟鏈�
                                 State = ((int)EnumEquipmentCurrentStateDisplay.寰呮満).ToString();
+                                CommonHandleEnumEquipmentCurrentState(db, info, ref State); //鍏叡澶勭悊 璁惧褰撳墠鐘舵�� [Editby shaocx,2025-01-07]
                             }
                         }
                     }
@@ -731,7 +732,7 @@
                             equlogalert.WarnEndTime = DateTimeHelper.GetDateTime();
                         }
                     }
-                  
+
                     if (isAddEquipmentCurrentMonitor)
                     {
                         info.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -755,6 +756,45 @@
 
 
         /// <summary>
+        /// 鍏叡澶勭悊 璁惧褰撳墠鐘舵��
+        /// </summary>
+        /// <param name="db"></param>
+        /// <param name="info"></param>
+        /// <param name="state"></param>
+        private static void CommonHandleEnumEquipmentCurrentState(DbModel db, EquipmentCurrentMonitor info, ref string state)
+        {
+            try
+            {
+                //濡傛灉鏄疧P35锛屽垯澶勭悊锛屽鏋滀笉鏄紝鍒欎笉澶勭悊
+                var query_WorkingProcedure = "OP35";
+                if (info.WorkingProcedure == query_WorkingProcedure)
+                {
+                    var quereyCreateTime = DateTime.Now.AddMinutes(-5);
+                    //鍒ゆ柇10鍒嗛挓涔嬪唴 锛屽彧杩� 涓嶅嚭
+                    var num = db.WorkPieceProcess.Where(o => o.WorkingProcedureCurrent == query_WorkingProcedure
+                      && (o.EndTime == null || o.EndTime <= DateTime.MinValue)
+                      && o.CreatedTime >= quereyCreateTime
+                      ).Count();
+                    if (num > 0)
+                    {
+                        state = ((int)EnumEquipmentCurrentStateDisplay.鐢熶骇).ToString();
+                        return;
+                    }
+                }
+                else
+                {
+                    return;
+                }
+                return;
+            }
+            catch (Exception)
+            {
+                return;
+            }
+        }
+
+
+        /// <summary>
         /// 蹇冭烦鐩戞帶
         /// </summary>
         /// <param name="loginfo"></param>
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs
index 804711a..dadb03d 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/EquipmentCurrentMonitor.cs
@@ -17,6 +17,9 @@
         [StringLength(32)]
         public string EquipmentID { get; set; }
 
+        /// <summary>
+        /// 设备当前状态
+        /// </summary>
         [StringLength(32)]
         public string EquipmentCurrentState { get; set; }
 

--
Gitblit v1.9.3