From 10e84968f9c70ebf6c83893091a36863b1e27b2a Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期三, 11 六月 2025 17:31:12 +0800
Subject: [PATCH] ...

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs |   38 +++++++++++++++-----------------------
 1 files changed, 15 insertions(+), 23 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
index 1a802e0..d77c89c 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
@@ -11,6 +11,7 @@
 using System.Web.Http;
 using static HH.WCS.Mobox3.FJJT.api.ApiHelper;
 using static HH.WCS.Mobox3.FJJT.api.ApiModel;
+using HH.WCS.Mobox3.FJJT.util;
 
 namespace HH.WCS.Mobox3.FJJT.core {
     internal class WCSCore {
@@ -61,6 +62,7 @@
                                         break;
                                     case 4:
                                         WCSHelper.UpdateStatus(cst, "鍙栬揣瀹屾垚");
+                                        LocationHelper.UnLockLoc(cst.S_START_LOC);
                                         TaskProcess.OperateStatus(cst, 4);
                                         break;
                                     case 5:
@@ -68,6 +70,7 @@
                                         break;
                                     case 6:
                                         WCSHelper.UpdateStatus(cst, "鍗歌揣瀹屾垚");
+                                        LocationHelper.UnLockLoc(cst.S_END_LOC);
                                         TaskProcess.OperateStatus(cst, 6);
                                         break;
                                     #endregion
@@ -83,26 +86,13 @@
                             else if (model.State == 1012)
                             {
                                 LogHelper.Info("寮�杩涜RFID鎵弿", "AGV");
+                                ContainerHelper.UpdateCntrState(cst.S_CNTR_CODE, 1);
+                                WMSHelper.addRfidAnomalyRecord(cst.S_CNTR_CODE, 2, cst.S_START_LOC, null);
                                 // 鏌ヨ鎵弿鐨凴FID
                                 // 鍙戦� 00 04 71 02鍒版壂鐮佸櫒 锛屾帴鍙楄繑鍥炴暟鎹苟瑙f瀽
-                                /* string hexString = TcpClient.SendHexOnce("127.0.0.1", 8080, "00 04 71 02");
-                                 var rfid = hexString.Substring(6, 8);*/
-                                string rfid = "";
-                                LogHelper.Info($"鎵弿缁撴潫锛孯FID锛歿rfid}", "AGV");
-                                if (rfid == cst.S_CNTR_CODE)
-                                {
-                                    LogHelper.Info($"鎵弿RFID锛歿rfid}涓庝换鍔FID涓�嚧", "AGV");
-                                    // 淇敼1012鐨勫弬鏁�涓�
-                                   /* NDCApi.ChangeOrderParam(cst.S_CODE, 6, "1");*/
-                                }
-                                else
-                                {
-                                    WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"鎵弿RFID锛歿rfid}涓庝换鍔FID:{cst.S_CNTR_CODE}涓嶄竴鑷�, "AGV");
-                                    // 淇敼鍙傛暟6涓�
-                                    /* NDCApi.ChangeOrderParam(cst.S_CODE, 6, "3");*/
-                                    // 淇敼瀹瑰櫒寮傚父鐘舵�
-                                    ContainerHelper.UpdateCntrState(cst.S_CNTR_CODE, 2,$"{model.ForkliftNo}AGV鎵爜鍣�鎵弿RFID:{rfid}涓庝换鍔FID:{cst.S_CNTR_CODE}涓嶄竴鑷�);
-                                }
+                                byte[] bytes = new byte[] { 00, 04, 71, 02 };
+                                var plc = Settings.carDeviceInfos.Where(a => a.deviceNo == model.ForkliftNo && a.enable == 1).FirstOrDefault();
+                                TcpServer.TcpServerSend(plc.address, bytes);
                             }
                             else if (model.State == 1002)
                             {
@@ -130,7 +120,7 @@
                                         param = $"{model.No};{cst.S_START_LOC};{cst.S_END_LOC};4;512;0;1"
                                     };
                                     NDCApi.ChangeOrderParam(paramModel);
-                                    LogHelper.Info($"鑾峰彇AGV缁堢偣锛歿agvEndLoc}", "AGV");
+                                    LogHelper.Info($"鍙樻洿AGV缁堢偣锛歿agvEndLoc}", "AGV");
                                 }
                                 else
                                 {
@@ -164,7 +154,11 @@
 
                                 // 妫�祴鏄惁鏄鐮佷綅锛岄潪璇荤爜浣嶏紝鍙互婵�椿棰勫垱寤轰换鍔�                                 var transfe = WMSHelper.GetTransfeRelevance(cst.S_END_LOC);  // 鎺ラ┏浣嶅睘鎬�-                                if ((transfe == null || transfe.N_READ_LOC == 0))
+                                if (transfe != null && transfe.N_READ_LOC == 1) 
+                                {
+                                    WCSHelper.ActivatePreCreateTask(mst.S_CODE);
+                                }
+                                else if ( transfe.N_READ_LOC == 0)
                                 {
                                     if (cst.S_TYPE.Contains("銆愬紓甯搞�"))
                                     {
@@ -190,9 +184,7 @@
                                     // 濡傛灉浣滀笟鍚嶇О涓烘垚鍨嬫満鍙枡鍑哄簱浠诲姟锛屽垯瑙﹀彂浣欐枡/绌烘墭鎼繍浠诲姟
                                     string locCode = WMSHelper.getReturnMaterialLocCode(mst.S_END_LOC);
                                     ApiHelper.returnMaterialOrEmptyTray(locCode);
-                                }
-
-                                
+                                }   
                             }
                         }
                         else

--
Gitblit v1.9.1