From 067c69928ce6d3d3ed5710fd9652af7b3380dcd5 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期二, 20 五月 2025 14:10:38 +0800
Subject: [PATCH] cjs

---
 HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
index 92b02a3..dba413b 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
@@ -150,7 +150,7 @@
                                         if (startLoca == null)
                                         {
                                             LogHelper.Info($"鐡跺澂鍗充骇鍗崇敤A搴撳尯鏈壘鍒版弧鎵橈紝鍘荤摱鍧嵆浜у嵆鐢˙搴撳尯鏌ユ壘");
-                                            startLoca = TaskProcess.BCPInOrOut(db, false, "", "鐡跺澂鍗充骇鍗崇敤B", workInfo);
+                                            startLoca = TaskProcess.BCPInOrOut(db, true, "鐡跺澂鍗充骇鍗崇敤B", workInfo.S_ItemCode);
                                         }
                                     }
                                     else
@@ -248,10 +248,7 @@
                             }
                             if (flag)
                             {
-                                //鍒ゆ柇褰撳墠缈绘枟鏈烘槸鍚︽湁閫佽繃婊℃墭 S_NOTE 瀛楁榛樿绌哄瓧绗︿覆锛屾弧鎵樺嵏璐у畬鎴愪箣鍚庝細鏍囪涓烘弧鎵橈紝绌烘墭鍙栬揣瀹屾垚澶嶄綅涓虹┖瀛楃涓�-                                bool result = false;
                                 Location startLoca = null;
-                                Location endLoca = null;
 
                                 var locCode = plc.TN_Location[0];
                                 var plcLoca = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == locCode).ToList();
@@ -282,7 +279,7 @@
             else LogHelper.Info($"鐡剁洊缈绘枟鏈猴細{plc.deviceName} 鏈紑鍚伐鍗曪紝涓嶅彲瑙﹀彂婊℃墭涓嬬嚎", "鐡剁洊缈绘枟鏈�);
         }
 
-        private static Location getFDSXArea(SqlSugar.SqlSugarClient db, LinZhiBCPWorkOrder workInfo, string startArea)
+        public static Location getFDSXArea(SqlSugar.SqlSugarClient db, LinZhiBCPWorkOrder workInfo, string startArea)
         {
             Location result = null;
             var locList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == startArea && a.N_CURRENT_NUM > 0).Includes(a => a.LocCntrRel).ToList();
@@ -474,5 +471,69 @@
 
         internal static void Traffic(string forkliftNo, string lockNo, bool v) {
         }
+
+        internal static void quliao(WCSTask mst)
+        {
+            LogHelper.Info($"瀹夊叏浜や簰寮� 浠诲姟鍙�{mst.S_CODE}", "瀹夊叏浜や簰");
+            //NDCHelper.ChangeParam(mst.S_TASK_NO.Trim(), 1101, 18);
+            if (LineState.Keys.Contains(mst.S_START_LOC.Trim()))
+            {
+                LogHelper.Info($"浠诲姟绫诲瀷锛歿mst.S_TYPE}");
+                if (mst.S_TYPE.Contains("缈绘枟鏈�))
+                {
+                    LogHelper.Info($"鏌ヨ缈绘枟鏈哄厑璁稿彇绌轰俊鍙�鍏佽鍙栫┖淇″彿={LineState[mst.S_START_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰");
+                    if (LineState[mst.S_START_LOC.Trim()].status == "112100" && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10)
+                    {
+                        NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                        TaskProcess.sendSing(mst, 1101);
+                    }
+                }
+                else
+                {
+                    LogHelper.Info($"鏌ヨ杈撻�绾垮厑璁稿彇婊′俊鍙�鍏佽鍙栨弧淇″彿={LineState[mst.S_START_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰");
+                    if (LineState[mst.S_START_LOC.Trim()].status == "1220" && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10)
+                    {
+                        NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                        TaskProcess.sendSing(mst, 1101);
+                    }
+                }
+            }
+            else LogHelper.Info($"瀛楀吀涓湭鎵惧埌璇ey鐨勬暟鎹紝key锛歿mst.S_START_LOC}");
+        }
+
+        internal static void Xieliao(WCSTask mst)
+        {
+            try
+            {
+                LogHelper.Info($"瀹夊叏浜や簰寮� 浠诲姟鍙�{mst.S_CODE},浠诲姟缁堢偣锛歿mst.S_END_LOC}", "瀹夊叏浜や簰");
+                if (LineState.Keys.Contains(mst.S_END_LOC.Trim()))
+                {
+                    LogHelper.Info($"鏌ヨ鍒板瓧鍏镐腑鍖呭惈缁堢偣鐨勫叧閿瓧锛屼换鍔$被鍨嬶細{mst.S_TYPE}");
+                    if (mst.S_TYPE.Contains("缈绘枟鏈�))
+                    {
+                        LogHelper.Info($"鏌ヨ缈绘枟鏈哄厑璁镐笂婊′俊鍙�鍏佽涓婃弧淇″彿={LineState[mst.S_END_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰");
+                        if (LineState[mst.S_END_LOC.Trim()].status == "112100" && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
+                        {
+                            NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                            TaskProcess.sendSing(mst, 1103);
+                        }
+                    }
+                    else
+                    {
+                        LogHelper.Info($"鏌ヨ杈撻�绾垮厑璁歌ˉ绌轰俊鍙�鍏佽琛ョ┖淇″彿={LineState[mst.S_END_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰");
+                        if (LineState[mst.S_END_LOC.Trim()].status == "1021" && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
+                        {
+                            NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                            TaskProcess.sendSing(mst, 1103);
+                        }
+                    }
+                }
+                else LogHelper.Info($"瀛楀吀涓湭鍖呭惈缁堢偣鐨勫叧閿瓧锛岀粓鐐硅揣浣嶏細{mst.S_END_LOC}");
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Info("Xieliao err :" + ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.1