From 4422008672f79f74841e11f20430c5e76686e293 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 19 12月 2024 10:33:46 +0800
Subject: [PATCH] 修复 hmid更改合格状态,没清理 不合格原因的问题

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceWrite.cs |   50 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceWrite.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceWrite.cs
index 41e17cb..1beceda 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceWrite.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceWrite.cs
@@ -1,4 +1,5 @@
-锘縰sing iWare_SCADA_BusinessLogical.BLL;
+锘縰sing iWare.Wms.Core;
+using iWare_SCADA_BusinessLogical.BLL;
 using iWare_SCADA_BusinessLogical.Utils;
 using iWare_SCADA_Model;
 using System;
@@ -136,7 +137,7 @@
                             Object QualityState = null;
                             Object CheckUpdate = null;
                             Object QualityErrorInfo = null;
-                            Object WorkingProcedureInt=null;
+                            Object WorkingProcedureInt = null;
                             string WorkingProcedureCurrent = "";
                             int UpdateIsOK = 0;
 
@@ -154,10 +155,10 @@
                                     case "CheckUpdate":
                                         CheckUpdate = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType));
 
-                                        if((bool)CheckUpdate)
+                                        if ((bool)CheckUpdate)
                                         {
                                             var check = plcService.WriteValuePointNew(col.DbNumber, col.Offset, false);
-                                        } 
+                                        }
                                         //plcService.WriteValuePoint(col.DbNumber, col.Offset, 0, PLCManger.GetTypeForString(col.DataCaptureColumnType));
                                         break;
                                     case "QualityErrorInfo":
@@ -183,7 +184,7 @@
                                 StringBuilder builder = new StringBuilder();
                                 if (WorkPieceID != null)
                                 {
-                                    if (WorkPieceID.ToString().Trim().Length==0)
+                                    if (WorkPieceID.ToString().Trim().Length == 0)
                                     {
                                         builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID.ToString().Trim() + "銆戦暱搴﹀紓甯革紝闀垮害涓嶇瓑浜�22浣�!");
                                     }
@@ -196,7 +197,7 @@
                                     {
                                         builder.AppendLine("宸ヤ欢宸ュ簭锛氥��" + WorkingProcedureInt + "銆戦暱搴﹀紓甯革紝涓嶅湪绾﹀畾鏋氫妇鑼冨洿鍐�!");
                                     }
-                                    
+
 
                                     if (QualityState == null)
                                     {
@@ -210,7 +211,7 @@
                                         }
                                         else if ((int)QualityState == 2 || (int)QualityState == 3)
                                         {
-                                            if (QualityErrorInfo == null|| string.IsNullOrEmpty(QualityErrorInfo.ToString()))
+                                            if (QualityErrorInfo == null || string.IsNullOrEmpty(QualityErrorInfo.ToString()))
                                             {
                                                 builder.AppendLine("宸ヤ欢浜岀淮鐮佸�硷細銆�" + WorkPieceID + "銆戣川閲忎笉鍚堟牸鍘熷洜涓嶈兘涓虹┖");
                                             }
@@ -270,7 +271,7 @@
                                 using (DbModel db = new DbModel())
                                 {
                                     info = new WorkPieceInfo();
-                                    info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID.ToString()&&o.IsDeleted==false).FirstOrDefault();
+                                    info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID.ToString() && o.IsDeleted == false).FirstOrDefault();
 
                                     if (info == null)
                                     {
@@ -300,15 +301,21 @@
                                         continue;
                                     }
 
+                                    QualityStateEnum qualityStateEnum = (QualityStateEnum)Enum.Parse(typeof(QualityStateEnum), QualityState.ToString());
 
                                     info.QualityState = Convert.ToInt32(QualityState);
+                                    if (qualityStateEnum == QualityStateEnum.OK)
+                                    {
+                                        info.QualityNoOk = 0;//娓呯悊涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-12-19銆�
+                                        info.QualityNoOkReason = "";
+                                    }
                                     info.QualityStateUpdateUser = "HMI";
                                     info.QualityStateUpdateTime = DateTime.Now;
-                                    info.QualityStateUpdateMode = Environment.MachineName+"鑷姩";
+                                    info.QualityStateUpdateMode = Environment.MachineName + "鑷姩";
                                     info.QualityErrorInfo = QualityErrorInfo.ToString();
-                                    if(!info.WorkingProcedureCurrent.Equals(WorkingProcedureCurrent))
+                                    if (!info.WorkingProcedureCurrent.Equals(WorkingProcedureCurrent))
                                     {
-                                        info.Remarks = ( $"HMI淇敼宸ュ簭{info.WorkingProcedureCurrent}鍒皗WorkingProcedureCurrent}");
+                                        info.Remarks = ($"HMI淇敼宸ュ簭{info.WorkingProcedureCurrent}鍒皗WorkingProcedureCurrent}");
                                         info.WorkingProcedureCurrent = WorkingProcedureCurrent;
                                         info.WorkingProcedureCurrent = WorkingProcedureCurrent;
                                     }
@@ -330,11 +337,22 @@
 
                                     wplog = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceInfo>(info);
                                     wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
-                                    wplog.Remarks = "HMI鏇存柊宸ヤ欢璐ㄩ噺淇℃伅";
-                                    wplog.OnlineTime =info.WorkPieceinitOnlineTime;
-                                    
+
+                                    //1锛氬悎鏍� 2锛氫笉鍚堟牸 3锛氱枒浼�"
+
+                                    wplog.Remarks = $"HMI鏇存柊宸ヤ欢璐ㄩ噺淇℃伅,淇敼涓篬{qualityStateEnum.ToString()}]";
+                                    wplog.PieceLogType = (int)PieceLogTypeEnum.HMI淇敼璐ㄩ噺鐘舵��;
+                                    wplog.PieceLogTypeName = PieceLogTypeEnum.HMI淇敼璐ㄩ噺鐘舵��.ToString();
+                                    wplog.OnlineTime = info.WorkPieceinitOnlineTime;
+
+                                    if (qualityStateEnum == QualityStateEnum.OK)
+                                    {
+                                        wplog.QualityNoOk = 0;//娓呯悊涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-12-19銆�
+                                        wplog.QualityNoOkReason = "";
+                                    }
+
                                     db.WorkPieceLog.Add(wplog);
-                                    db.WorkPieceInfoLog.Add (WorkPieceInfoManager.GetAddWorkPieceInfoLog(info));
+                                    db.WorkPieceInfoLog.Add(WorkPieceInfoManager.GetAddWorkPieceInfoLog(info));
                                     db.SaveChanges();
                                 }
 
@@ -364,7 +382,7 @@
                             }
 
                         }
-                        
+
                         if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
                         {
                             Thread.Sleep(5000);

--
Gitblit v1.9.3