From 47271125766d3c1eb1f654c2349fa855ff48ca7c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 27 8月 2024 14:13:12 +0800
Subject: [PATCH] //这里修复OP10、OP40 因为PLC先推 SPC推出、再推 产品下线问题,导致 产品下线更新数据时,把SPC数据覆盖的问题 【Editby shaocx,2024-08-27】
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs | 3 +++
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 9 ++++++++-
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs | 39 +++++++++++++++++++++++++++++++++++++++
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj | 1 +
4 files changed, 51 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 efac1e6..2f7521a 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -1295,7 +1295,14 @@
}
else
{
- info.WorkPieceState = (int)WorkPieceState.WIP;
+ //杩欓噷淇OP10銆丱P40 鍥犱负PLC鍏堟帹 SPC鎺ㄥ嚭銆佸啀鎺� 浜у搧涓嬬嚎闂锛屽鑷� 浜у搧涓嬬嚎鏇存柊鏁版嵁鏃讹紝鎶奡PC鏁版嵁瑕嗙洊鐨勯棶棰� 銆怑ditby shaocx,2024-08-27銆�
+ var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(info, db, logMiddle);
+ if (isAlow)
+ {
+ info.WorkPieceState = (int)WorkPieceState.WIP;
+ }
+
+
if (info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= info.WorkingProcedurePlan.Length)
{
info.WorkPieceCurrentPosition = info.WorkingProcedurePlan.Substring(info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8);
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
new file mode 100644
index 0000000..25095eb
--- /dev/null
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
@@ -0,0 +1,39 @@
+锘�
+using iWare_SCADA_Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWare_SCADA_BusinessLogical.Utils
+{
+ /// <summary>
+ /// 涓氬姟绯荤粺甯姪绫�
+ /// </summary>
+ public class SystemBussinessHelper
+ {
+
+ /// <summary>
+ /// 鏄惁鍏佽淇敼WorkPieceState 涓篧IP
+ /// </summary>
+ /// <param name="info"></param>
+ /// <param name="db"></param>
+ /// <param name="logMiddle"></param>
+ /// <returns></returns>
+ public static bool IsAllowUpdateWorkPieceStateToWip(WorkPieceInfo info, DbModel db, WorkPieceLogMiddle logMiddle)
+ {
+ //杩欓噷淇OP10銆丱P40 鍥犱负PLC鍏堟帹 SPC鎺ㄥ嚭銆佸啀鎺� 浜у搧涓嬬嚎闂锛屽鑷� 浜у搧涓嬬嚎鏇存柊鏁版嵁鏃讹紝鎶奡PC鏁版嵁瑕嗙洊鐨勯棶棰� 銆怑ditby shaocx,2024-08-27銆�
+ if (logMiddle.WorkingProcedure == "OP10" || logMiddle.WorkingProcedure == "OP40")
+ {
+ var curPross = db.WorkPieceProcess.Where(x => x.WorkPieceID == info.WorkPieceID).OrderByDescending(x => x.Id).FirstOrDefault();
+ if (curPross != null && curPross.OperationType == OperationType.SPC.ToString())
+ {
+ return false;
+ }
+ return true;
+ }
+ return true;
+ }
+ }
+}
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj
index 247ca55..55705db 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj
@@ -158,6 +158,7 @@
</Compile>
<Compile Include="Utils\QualityStateHelper.cs" />
<Compile Include="Utils\MonitorHelper.cs" />
+ <Compile Include="Utils\SystemBussinessHelper.cs" />
<Compile Include="Utils\SystemHelper.cs" />
<Compile Include="Utils\ComboBoxHelper.cs" />
<Compile Include="Utils\ConfigHelper.cs" />
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 b5784a1..95a72e4 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/TableModel/WorkPieceProcess.cs
@@ -58,6 +58,9 @@
[StringLength(50)]
public string UpdatedUserName { get; set; }
+ /// <summary>
+ /// 操作类型,使用枚举 OperationType
+ /// </summary>
[StringLength(50)]
public string OperationType { get; set; }
[StringLength(255)]
--
Gitblit v1.9.3