From f3ac4e7983dd475d800acc31cbbb8bbaf2e6c638 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 29 8月 2024 15:08:18 +0800
Subject: [PATCH] 修复 OP05工位 获取打标二维码,会漏获取数据

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 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 02fd821..6722b9c 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -1,4 +1,5 @@
-锘縰sing iWare_SCADA_BusinessLogical.Utils;
+锘縰sing HslCommunication.BasicFramework;
+using iWare_SCADA_BusinessLogical.Utils;
 using iWare_SCADA_Model;
 using iWare_SCADA_Model.MiddleModel;
 using iWare_SCADA_Model.TableModel;
@@ -7,6 +8,7 @@
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
+using System.Data.Entity.Validation;
 using System.Diagnostics;
 //using System.Data.Entity.Infrastructure;
 using System.Linq;
@@ -372,12 +374,38 @@
                 catch (Exception e)
                 {
                     loginfo.Remarks = (loginfo.Remarks ?? "") + $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{e.Message}";
+                    Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}涓婄嚎鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細", e);
                 }
                 finally
                 {
                     loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                     db.WorkPieceLog.Add(loginfo);
-                    db.SaveChanges();
+
+                    //淇濆瓨鏁版嵁搴撶殑寮傚父鎹曟崏 [Editby shaocx,2024-08-29]
+                    try
+                    {
+                        db.SaveChanges();
+                    }
+                    catch (DbEntityValidationException exception)
+                    {
+                        var errorMessages =
+                            exception.EntityValidationErrors
+                                .SelectMany(validationResult => validationResult.ValidationErrors)
+                                .Select(m => m.ErrorMessage);
+                        var fullErrorMessage = string.Join(", ", errorMessages);
+                        var exceptionMessage = string.Concat(exception.Message, " 楠岃瘉寮傚父娑堟伅鏄細", fullErrorMessage);
+
+                        Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}涓婄嚎鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}],淇濆瓨鏁版嵁搴撴椂寮傚父锛�" + exceptionMessage, exception);
+
+                        throw new DbEntityValidationException(exceptionMessage, exception.EntityValidationErrors);
+                    }
+                    catch (Exception)
+                    {
+
+                        throw;
+                    }
+
+
 
                 }
 
@@ -735,7 +763,13 @@
                         var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
                         if (pro == null || pro.WorkPieceID.Length < 1 || logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002"))
                         {// OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪锛屾墍浠ヤ笂绾块渶瑕佷慨鏀圭殑瀛楁鏀捐繖閲�
-                            //涓婄嚎鏄瘡娆¢兘鎻掑叆
+                         //涓婄嚎鏄瘡娆¢兘鎻掑叆
+
+                            WorkPieceProcess process_05 = WorkPieceProcessHelper.CreateWorkPieceProcessForOP05(logMiddle, db, pieceInfo);
+                            if (process_05 != null)
+                            {//鍒涘缓OP05宸ュ簭锛屽綋娌℃湁05宸ュ簭鏃�,鎵嶅垱寤� 銆怑ditby shaocx,2024-08-29銆�
+                                db.WorkPieceProcess.Add(process_05);
+                            }
 
                             WorkPieceProcess process = new WorkPieceProcess();
                             process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(pieceInfo);

--
Gitblit v1.9.3