From 59f836bf0eb00b7707c74fe8edb8fa7662c871ab Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期二, 27 五月 2025 17:22:42 +0800
Subject: [PATCH] 合肥佳通优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs |   97 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 25 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
index 309042a..ce045b6 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
@@ -13,6 +13,7 @@
 using System.IdentityModel.Protocols.WSTrust;
 using System.Linq;
 using System.Security.Cryptography;
+using System.Threading;
 using static HH.WCS.JiaTong.api.ApiModel;
 using static HH.WCS.JiaTong.LISTA.process.HttpModel;
 
@@ -32,15 +33,33 @@
             var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1;
             if (load)
             {
-                Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
-                LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
-                LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList());
+                //Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
+
+                if (!string.IsNullOrEmpty(mst.S_CNTR_CODE))
+                {
+                    LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
+                    LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList());
+                }
+                else
+                {
+                    LogHelper.Info($"浠诲姟{mst.S_CODE} 鎵樼洏涓虹┖ ,鍙В閿佽揣浣�);
+                    LocationHelper.UnlockLoc(mst.S_START_LOC);
+                }
             }
             else
             {
-                Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
-                LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
-                LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
+                // Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
+
+                if (!string.IsNullOrEmpty(mst.S_CNTR_CODE))
+                {
+                    LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
+                    LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
+                }
+                else
+                {
+                    LogHelper.Info($"浠诲姟{mst.S_CODE} 鎵樼洏涓虹┖ ,鍙В閿佽揣浣�);
+                    LocationHelper.UnlockLoc(mst.S_END_LOC);
+                }
             }
 
         }
@@ -73,9 +92,9 @@
         /// <summary>
         /// 瀹夊叏璇锋眰
         /// </summary>
-        /// <param name="model"></param>
-        /// <param name="url"></param>
-        /// <param name="wcs"></param>
+        /// <param name="model">璇锋眰鍙傛暟</param>
+        /// <param name="url">鍦板潃</param>
+        /// <param name="TN_Task">浠诲姟</param>
         internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task)
         {
             try
@@ -103,23 +122,31 @@
                         else
                         {
                             //浜曟澗鍙犵洏鏈哄畨鍏ㄤ氦浜�-                            if ( TN_Task.S_NOTE == "绌烘墭鍥炲簱")
+                            if (TN_Task.S_NOTE == "绌烘墭鍥炲簱")
                             {
-                                if (S7Helper.WriteDpj(1002, 1))
+                                var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault();
+                                if (Device != null)
                                 {
-                                    int value = S7Helper.ReadDpj(2004, S7.Net.VarType.Byte);
-                                    if (value == 1)
+                                    if (S7Helper.WriteDpj(Device.address, 1002, 1))
                                     {
-                                        NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                        int value = S7Helper.ReadDpj(Device.address, 2004, S7.Net.VarType.Byte);
+                                        if (value == 1)
+                                        {
+                                            NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝璇诲彇VB2004鐨勫�涓簕2004}");
+                                        }
                                     }
                                     else
                                     {
-                                        LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝璇诲彇VB2004鐨勫�涓簕2004}");
+                                        LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鍐欏叆VB1002鍊�澶辫触");
                                     }
                                 }
                                 else
                                 {
-                                    LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鍐欏叆VB1002鍊�澶辫触");
+                                    LogHelper.Info($"鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鏍规嵁浠诲姟璧风偣{TN_Task.S_START_LOC},鏈壘鍒板彔鐩樻満閰嶇疆鏂囦欢");
                                 }
 
                             }
@@ -147,10 +174,25 @@
                                 //NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18);
                             }
                         }
-                        if (TN_Task.Z_TYPE == 2 && TN_Task.S_NOTE == "绌烘墭鍥炲簱")
+                        if (TN_Task.S_NOTE == "绌烘墭鍥炲簱")
                         {
-                            S7Helper.WriteDpj(1001, 1);
-                            S7Helper.WriteDpj(1002, 0);
+                            var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault();
+                            if (Device != null)
+                            {
+                                //鍐欏叆澶辫触閲嶆柊鍐欏叆
+                                while (!S7Helper.WriteDpj(Device.address, 1001, 1))
+                                {
+                                    Thread.Sleep(1000);
+                                }
+                                while (!S7Helper.WriteDpj(Device.address, 1002, 0))
+                                {
+                                    Thread.Sleep(1000);
+                                }
+                            }
+                            else
+                            {
+                                LogHelper.Info($"鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鏍规嵁浠诲姟璧风偣{TN_Task.S_START_LOC},鏈壘鍒板彔鐩樻満閰嶇疆鏂囦欢");
+                            }
                         }
                     }
                     if (model.state == 1103)
@@ -828,10 +870,10 @@
                 //鍥炴姤鏁版嵁
                 Request<MesItemBackModel> request = new Request<MesItemBackModel>();
                 List<MesItemBackInfoModel> list = new List<MesItemBackInfoModel>();
-                string TaskNumber = mst.S_EQ_NO;
-                if (!string.IsNullOrEmpty(mst.S_WMS_NO))
+                string MesNo = mst.S_EQ_NO;
+                if (!string.IsNullOrEmpty(mst.S_MES_NO))
                 {
-                    TaskNumber = mst.S_WMS_NO;
+                    MesNo = mst.S_MES_NO;
                 }
                 //鑾峰彇鏃堕棿鎴�                 var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
@@ -840,23 +882,28 @@
                 request.UseToken = "iFQ5fExGrLYLXliHYWzs";
 
                 MesItemBackModel mesItemBackModel = new MesItemBackModel();
-                mesItemBackModel.TaskNumber = mst.S_EQ_NO;
+
+                mesItemBackModel.TaskNumber = MesNo;
                 mesItemBackModel.WmsTaskNumber = mst.S_WMS_NO;
+                mesItemBackModel.Rfid = mst.S_CNTR_CODE;
                 mesItemBackModel.LocationNum = mst.S_END_LOC;
+                mesItemBackModel.Result = "1";
                 mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd");
                 if (cntritem != null)
                 {
                     list.Add(new MesItemBackInfoModel()
                     {
                         LotNumber = cntritem.S_BATCH_NO,
-                        PartNumber = cntritem.S_ITEM_NAME,
+                        PartNumber = cntritem.S_ITEM_CODE,
                         Subpool = cntritem.Subpool,
                         ReceiveLot = cntritem.ReceiveLot,
                         Supplier = cntritem.S_SUPPLIER_NO,
                         TyreType = cntritem.TyreType,
                         ProduceTime = cntritem.D_PRD_DATE,
                         Rfid = cntritem.S_CNTR_CODE,
-                        Qty = cntritem.F_WEIGHT
+                        Qty = cntritem.F_WEIGHT,
+                        PartLevel = cntritem.LEV,
+                        WmsLot = cntritem.WmsLot
                     });
 
 

--
Gitblit v1.9.1