From 802fc04c2d744d08c3e577dd4d91d60a3071e3d7 Mon Sep 17 00:00:00 2001
From: user <user@DESKTOP-SM1UI64>
Date: 星期二, 15 七月 2025 23:08:35 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
index cd18687..2f27575 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
@@ -723,6 +723,7 @@
                             {
                                 LogHelper.Info($"getFDSXArea:鏌ヨ鍒扮墿鏂欑紪鐮侊細{itemInfo.S_ITEM_CODE}");
                                 LogHelper.Info($"getFDSXArea:鏌ヨ鍒扮墿鏂欐壒娆★細{itemInfo.S_BATCH_NO}");
+                                if (workInfo.S_PLineNo.Contains("鐡跺澂")) workInfo.S_ITEM_TYPE = "";
                                 if (itemInfo.S_ITEM_CODE + itemInfo.S_BATCH_NO == workInfo.S_ItemCode + workInfo.S_ITEM_TYPE)
                                 {
                                     result = a;
@@ -758,6 +759,42 @@
         {
             LogHelper.Info($"{plc.deviceName}-{plc.address}-{data}", "鐡跺澂鏈�);
             var db = new SqlHelper<object>().GetInstance();
+            if (data.Length == 8)
+            {
+                string machinLoc = "";
+                if(data.Substring(4,2) == "00")
+                {
+                    machinLoc = plc.TN_Location[0];
+                    LogHelper.Info($"鐡跺澂鏈猴紝鏌ヨ浠诲姟缁堢偣锛歿machinLoc}");
+                    if (LineState.Keys.Contains(machinLoc))
+                    {
+                        LogHelper.Info("鐡跺澂鏈哄寘鍚浠诲姟缁堢偣");
+                        LineState[machinLoc].status = data;
+                        LineState[machinLoc].modify = DateTime.Now;
+                    }
+                    else
+                    {
+                        LogHelper.Info("鐡跺澂鏈烘湭鍖呭惈璇ヤ换鍔$粓鐐�);
+                        LineState.Add(machinLoc, new statemodel { status = data, modify = DateTime.Now });
+                    }
+                }
+                if (data.Substring(6, 2) == "02")
+                {
+                    machinLoc = plc.TN_Location[1];
+                    LogHelper.Info($"鐡跺澂鏈猴紝鏌ヨ浠诲姟缁堢偣锛歿machinLoc}");
+                    if (LineState.Keys.Contains(machinLoc))
+                    {
+                        LogHelper.Info("鐡跺澂鏈哄寘鍚浠诲姟缁堢偣");
+                        LineState[machinLoc].status = data;
+                        LineState[machinLoc].modify = DateTime.Now;
+                    }
+                    else
+                    {
+                        LogHelper.Info("鐡跺澂鏈烘湭鍖呭惈璇ヤ换鍔$粓鐐�);
+                        LineState.Add(machinLoc, new statemodel { status = data, modify = DateTime.Now });
+                    }
+                }
+            }
 
             var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == plc.deviceName).First();
             if (workInfo != null && workInfo.S_WorkState == "鎵ц涓�)
@@ -801,18 +838,6 @@
         {
             LogHelper.Info($"{type}娉ㄥ鏈轰换鍔″鐞嗗紑濮�);
 
-            LogHelper.Info($"鐡跺澂鏈猴紝鏌ヨ浠诲姟缁堢偣锛歿deviceBit}");
-            if (LineState.Keys.Contains(deviceBit))
-            {
-                LogHelper.Info("鐡跺澂鏈哄寘鍚浠诲姟缁堢偣");
-                LineState[deviceBit].status = data;
-                LineState[deviceBit].modify = DateTime.Now;
-            }
-            else
-            {
-                LogHelper.Info("鐡跺澂鏈烘湭鍖呭惈璇ヤ换鍔$粓鐐�);
-                LineState.Add(deviceBit, new statemodel { status = data, modify = DateTime.Now });
-            }
             //鍐嶆鍒ゆ柇淇″彿
             if (LocationHelper.CheckLocFree(deviceBit))
             {
@@ -988,7 +1013,8 @@
                         LogHelper.Info($"鏌ヨ杈撻�绾垮厑璁歌ˉ绌轰俊鍙�鍏佽琛ョ┖淇″彿={LineState[mst.S_END_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰");
                         if (mst.S_TYPE.Contains("绌烘墭涓婄嚎"))
                         {
-                            if ((LineState[mst.S_END_LOC.Trim()].status.Substring(4,2) == "00" || LineState[mst.S_END_LOC.Trim()].status.Substring(4,2) == "02") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
+                            //if ((LineState[mst.S_END_LOC.Trim()].status.Substring(4,2) == "00" || LineState[mst.S_END_LOC.Trim()].status.Substring(6,2) == "02") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
+                            if (DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
                             {
                                 //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
                                 NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1103");

--
Gitblit v1.9.1