From eac59f7d6f0b08d2ad9787d2e206c87e6840e0d6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 10 9月 2024 19:14:33 +0800
Subject: [PATCH] 自己追加 OP70

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs |   14 +++++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/WorkPieceProcessHelper.cs                           |   56 ++++++++++++++++++++++++++++
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs                                      |    5 ++
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs                            |    2 +
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/1_ReadQRcodeManager.cs                      |    6 +++
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/2_QualityInfoCompleteManager.cs             |   10 +++++
 6 files changed, 90 insertions(+), 3 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/1_ReadQRcodeManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/1_ReadQRcodeManager.cs
index 684fc26..e205a38 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/1_ReadQRcodeManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/1_ReadQRcodeManager.cs
@@ -118,6 +118,12 @@
                         }
                         if (isNeedAddNewProcess)
                         {
+                            WorkPieceProcess process_70 = WorkPieceProcessHelper.CreateWorkPieceProcessForOP70(loginfo, db, info);
+                            if (process_70 != null)
+                            {//鍒涘缓OP70宸ュ簭锛屽綋娌℃湁70宸ュ簭鏃�,鎵嶅垱寤� 銆怑ditby shaocx,2024-08-29銆�
+                                db.WorkPieceProcess.Add(process_70);
+                            }
+
                             //姣忔鎵弿涓婄嚎閮芥彃鍏ヨ拷婧〃
                             WorkPieceProcess new_process = new WorkPieceProcess();
                             new_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info);
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/2_QualityInfoCompleteManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/2_QualityInfoCompleteManager.cs
index 8a04177..e299e6c 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/2_QualityInfoCompleteManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/Important/2_QualityInfoCompleteManager.cs
@@ -425,6 +425,16 @@
                         {
                             db.QualityDataInfo.Add(WorkPieceInfoManager.GetAddQualityDataInfo(qualityData));
                         }
+
+                        //鏇存柊琛╓orkPieceProcess
+                        var pro_70 = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == "OP70"
+                            ).OrderByDescending(o => o.StartTime).FirstOrDefault();
+
+                        if (pro_70 != null)
+                        {
+                            pro_70.Update70Flag = 2;
+                        }
+
                         db.SaveChanges();//淇濆瓨鏁版嵁
                     }
                     else
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs
index c882e76..2211191 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs
@@ -94,9 +94,17 @@
                             using (DbModel db = new DbModel())
                             {
                                 var dateTime = DateTime.Now;
-                                noFinishWorkPieceProcessList = db.WorkPieceProcess.Where(x => x.CreatedTime >= findTime
-                                  && x.WorkingProcedureCurrent == WorkingProcedure
-                                  && x.EndTime == ooDateTime).ToList();
+                                noFinishWorkPieceProcessList = db.WorkPieceProcess.Where(x =>
+                                x.WorkingProcedureCurrent == WorkingProcedure
+                               && (
+
+                            (x.CreatedTime >= findTime
+                                  && x.EndTime == ooDateTime)
+                                  || x.Update70Flag == 1
+
+                                  )
+
+                                  ).ToList();
                             }
                             if (noFinishWorkPieceProcessList?.Count <= 0)
                             {
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
index 7bbbf53..57497b6 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
@@ -38,6 +38,8 @@
                     return 3 * 60;
                 case "OP60":
                     return 4 * 60;
+                case "OP70":
+                    return 9 * 60;//9鍒嗛挓
                 default:
                     return 1 * 60;
             }
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/WorkPieceProcessHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/WorkPieceProcessHelper.cs
index 094661a..7fb6455 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/WorkPieceProcessHelper.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/WorkPieceProcessHelper.cs
@@ -69,5 +69,61 @@
             }
             return null;
         }
+
+
+        /// <summary>
+        /// 鍒涘缓OP70宸ュ簭鏁版嵁
+        /// </summary>
+        /// <param name="db"></param>
+        /// <param name="pieceInfo"></param>
+        /// <returns></returns>
+        public static WorkPieceProcess CreateWorkPieceProcessForOP70(WorkPieceLog logMiddle, DbModel db, WorkPieceInfo pieceInfo)
+        {
+            if (!logMiddle.WorkingProcedure.Equals("OP80"))
+            {
+                return null;
+            }
+
+            var _procedureCurrent_70 = "OP70";
+
+            var pro_70 = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceInfo.WorkPieceID && o.WorkingProcedureCurrent == _procedureCurrent_70
+            ).OrderByDescending(o => o.StartTime).FirstOrDefault();
+
+            if (pro_70 == null)
+            {
+                WorkPieceProcess process = new WorkPieceProcess();
+                process.WorkPieceID = pieceInfo.WorkPieceID;
+                process.Update70Flag = 1;
+
+                var _end_time = DateTimeHelper.GetDateTime().AddSeconds(-10);
+                var _startTime = _end_time.AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(_procedureCurrent_70));
+                var _user = "OP7001";
+                process.StartTime = _startTime;
+                process.EndTime = _end_time;
+
+                process.EquipmentID = "EOP70";
+                process.WorkingProcedureCurrent = _procedureCurrent_70;
+
+
+                process.QualityState = (int)QualityStateEnum.OK;
+
+
+                process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+                process.CreatedUserName = _user;
+                process.DataCapturePointCname = "宸ュ簭瀹屾垚鏍囪";
+                process.CreatedTime = _end_time;
+                process.UpdatedUserName = _user;
+                process.UpdateDataCapturePointCname = "宸ュ簭瀹屾垚鏍囪";
+                process.UpdatedTime = _end_time;
+                process.OperationType = OperationType.鐢熶骇.ToString();
+
+                process.Remarks = "";
+
+                process.MyRemarks = "CreateWorkPieceProcessForOP70娣诲姞";
+
+                return process;
+            }
+            return null;
+        }
     }
 }
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
index 6eea86f..a74c122 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
@@ -93,5 +93,10 @@
 
         [StringLength(50)]
         public string UpdateDataCapturePointCname { get; set; }
+
+        /// <summary>
+        /// 需要更新70质量数据的标记 ( 1:需要更新  2:不需要更新)
+        /// </summary>
+        public int? Update70Flag { get; set; }
     }
 }

--
Gitblit v1.9.3