From 603364df0d11914523481f86203b53a11b3cf0f6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 27 8月 2024 17:50:26 +0800
Subject: [PATCH] //修复 错误记录成OP05的问题 【Editby shaocx,2024-08-26】

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs |   62 +++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 23 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 2f7521a..ec6d983 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -916,9 +916,9 @@
                 {
                     if (loginfo.WorkPieceID != null && loginfo.WorkPieceID.Trim('\0').Length == 22)
                     {
-                        WorkPieceInfo info = new WorkPieceInfo();
-                        info = db.WorkPieceInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault();
-                        if (info == null || info.WorkPieceID.Length < 1)
+                        WorkPieceInfo cur_db_info = new WorkPieceInfo();
+                        cur_db_info = db.WorkPieceInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault();
+                        if (cur_db_info == null || cur_db_info.WorkPieceID.Length < 1)
                         {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂�
                             Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{loginfo.WorkPieceID} 宸ヤ欢鎺ㄥ嚭宸ュ簭{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�");
                             return;
@@ -927,43 +927,58 @@
                         {//鏇存柊琛╓orkPieceInfo
                             if (loginfo.WorkingProcedure.Equals("OP10"))
                             {
+                                /*
                                 info.WorkPieceCurrentPosition = info.WorkingProcedureCurrent + "NOOK";
-                                //var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40");
                                 loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂
                                 loginfo.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂
+                                //*/
+                                //淇 閿欒璁板綍鎴怬P05鐨勯棶棰� 銆怑ditby shaocx,2024-08-26銆�
+                                var set_WorkingProcedureCurrent = "";
+                                if (cur_db_info.WorkingProcedureCurrent != "OP10" && cur_db_info.WorkingProcedureCurrent != "OP40")
+                                {
+                                    SetWorkingProcedureCurrentForOP10(cur_db_info, ref set_WorkingProcedureCurrent);
+                                }
+                                else
+                                {
+                                    set_WorkingProcedureCurrent = cur_db_info.WorkingProcedureCurrent;
+                                }
+                                cur_db_info.WorkingProcedureCurrent = set_WorkingProcedureCurrent;
+                                cur_db_info.WorkPieceCurrentPosition = set_WorkingProcedureCurrent + "NOOK";
+                                loginfo2.WorkingProcedure = set_WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂
+                                loginfo.WorkingProcedure = set_WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂
                             }
                             else
                             {
-                                info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
-                                info.WorkPieceCurrentPosition = loginfo.WorkingProcedure + "NOOK";
+                                cur_db_info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
+                                cur_db_info.WorkPieceCurrentPosition = loginfo.WorkingProcedure + "NOOK";
                             }
-                            info.WorkPieceState = (int)WorkPieceState.NOOKPush;
-                            info.UpdatedUserName = loginfo.MonitoringPoint;
-                            info.UpdatedTime = DateTime.Now;
-                            info.Remarks = "宸ヤ欢NOOK鎺ㄥ嚭";
-                            if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01")))
+                            cur_db_info.WorkPieceState = (int)WorkPieceState.NOOKPush;
+                            cur_db_info.UpdatedUserName = loginfo.MonitoringPoint;
+                            cur_db_info.UpdatedTime = DateTime.Now;
+                            cur_db_info.Remarks = "宸ヤ欢NOOK鎺ㄥ嚭";
+                            if (!(cur_db_info.WorkingProcedureStartTime.HasValue && cur_db_info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01")))
                             {
-                                info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();
+                                cur_db_info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();
                             }
-                            info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime();
-                            info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + loginfo.WorkingProcedure;//宸插畬鎴愬伐搴�
-                            info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2;
+                            cur_db_info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime();
+                            cur_db_info.WorkingProcedureCompleted = cur_db_info.WorkingProcedureCompleted + loginfo.WorkingProcedure;//宸插畬鎴愬伐搴�
+                            cur_db_info.WorkPieceCurrentPositionOrder = cur_db_info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2;
                         }
                         QualityDataInfo qualityData = null;
                         qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault();
                         if (loginfo.WorkingProcedure.Equals("OP35"))
                         {//涓轰簡瑙e喅OP35鐨勯噰闆嗗埌鐨勮川閲忎俊鎭槸OK杩楴OOK鐨勬儏鍐碉紝OP35 NOOK鏃舵洿鏂拌川閲忎俊鎭�
-                            loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"OP35NOOK鍘熻川閲忎俊鎭瘂(info.QualityState.HasValue ? info.QualityState.Value.ToString() : "绌�")}";
-                            info.QualityState = (int)QualityState.NG;
-                            if (!info.QualityState.Equals(((int)QualityState.OK).ToString()))
+                            loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"OP35NOOK鍘熻川閲忎俊鎭瘂(cur_db_info.QualityState.HasValue ? cur_db_info.QualityState.Value.ToString() : "绌�")}";
+                            cur_db_info.QualityState = (int)QualityState.NG;
+                            if (!cur_db_info.QualityState.Equals(((int)QualityState.OK).ToString()))
                             {
-                                info.QualityErrorInfo = $"{loginfo.WorkingProcedure}宸ュ簭璐ㄩ噺NOOK閲囬泦鏁版嵁涓嶅悎鏍納info.QualityState}";
+                                cur_db_info.QualityErrorInfo = $"{loginfo.WorkingProcedure}宸ュ簭璐ㄩ噺NOOK閲囬泦鏁版嵁涓嶅悎鏍納cur_db_info.QualityState}";
                             }
                             else
                             {
-                                info.QualityErrorInfo = "";
+                                cur_db_info.QualityErrorInfo = "";
                             }
-                            loginfo.QualityState = info.QualityState;
+                            loginfo.QualityState = cur_db_info.QualityState;
 
 
                             if (qualityData != null)
@@ -983,9 +998,9 @@
                             pro.UpdatedTime = DateTimeHelper.GetDateTime();
                         }
 
-                        QualityStateHelper.SetQualityStateForNoOk(ref info, ref pro, ref qualityData);
+                        QualityStateHelper.SetQualityStateForNoOk(ref cur_db_info, ref pro, ref qualityData);
 
-                        db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info));
+                        db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(cur_db_info));
 
                     }
                     else
@@ -1045,6 +1060,7 @@
                                 {
                                     set_WorkingProcedureCurrent = cur_db_info.WorkingProcedureCurrent;
                                 }
+                                cur_db_info.WorkingProcedureCurrent = set_WorkingProcedureCurrent;
                                 cur_db_info.WorkPieceCurrentPosition = set_WorkingProcedureCurrent + "SPC";
                                 loginfo2.WorkingProcedure = set_WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂
                                 loginfo.WorkingProcedure = set_WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂

--
Gitblit v1.9.3