From af42a9904d1d3939da7fa0a00c3a7a2ced78258e Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期三, 21 五月 2025 17:26:18 +0800
Subject: [PATCH] 佳通问题优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 105 insertions(+), 15 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
index 9d644c9..8a26bb6 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/DeviceProcess.cs
@@ -4,11 +4,13 @@
 using HH.WCS.JiaTong.util;
 using HH.WCS.JiaTong.wms;
 using Newtonsoft.Json;
+using S7.Net;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading;
 using static HH.WCS.JiaTong.LISTA.process.HttpModel;
+using static System.Collections.Specialized.BitVector32;
 
 namespace HH.WCS.JiaTong.process
 {
@@ -31,7 +33,7 @@
                     {
                         if (data == "")
                         {
-                            Traystacker(plc);
+                            // Traystacker(plc);
                         }
                     }
                 }
@@ -45,38 +47,47 @@
         /// <summary>
         /// 鍙犵洏鏈虹┖鎵樿繑鍥�         /// </summary>    
-        internal static void Traystacker(Settings.deviceInfo device)
+        internal static void Traystacker(string loc, int qty, int type)
         {
             try
             {
                 //涓婁紶鏁版嵁
-                Result<Traystacker> result1 = new Result<Traystacker>();
-                Traystacker traystacker = new Traystacker() { station = device.TN_Location[0], taskSource = 1, Qty = 7 };
-                result1.data.Add(traystacker);
+                Traystacker result1 = new Traystacker() { station = loc, taskSource = 1, Qty = qty, dpType = type };
+
                 HttpHelper httpHelper = new HttpHelper();
                 Result result = new Result();
                 string date = JsonConvert.SerializeObject(result1);
-                string url = Settings.tableUrls.Find(a => a.id == 2).url;
-                LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥烇細鍦板潃:{url}锛屽唴瀹癸細{date}");
-                var r = httpHelper.WebPost(url, date);
-                result = JsonConvert.DeserializeObject<Result>(r);
-                if (result.code == "0")
+                var url = Settings.tableUrls.Find(a => a.id == 3);
+                if (url != null)
                 {
+                    LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥烇細鍦板潃:{url.url}锛屽唴瀹癸細{date}");
+                    var r = httpHelper.WebPost(url.url, date);
+                    result = JsonConvert.DeserializeObject<Result>(r);
+                    if (result.code == "0")
+                    {
 
-                    LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥炶姹傛垚鍔�);
+                        LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥炶姹傛垚鍔�);
+                    }
+                    else
+                    {
+                        LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥炶姹傚け璐�>msg:{result.msg}");
+                    }
                 }
                 else
                 {
-                    LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥炶姹傚け璐�>msg:{result.msg}");
+                    LogHelper.Info($"鍙犵洏鏈虹┖鎵�鏍规嵁id=3锛屾湭鎵惧埌閰嶇疆閾炬帴锛岃妫�煡閰嶇疆鏂囦欢");
                 }
 
             }
             catch (Exception ex)
             {
-                LogHelper.Info($"鍙犵洏鏈虹┖鎵樿繑鍥� Error=>{ex.ToString()}");
+                LogHelper.Error($"鍙犵洏鏈虹┖鎵樿繑鍥� Error=>{ex.ToString()}", ex);
             }
         }
 
+        /// <summary>
+        /// 鍘熸潗鏂欏簱agv鍙犵洏鍥炲簱
+        /// </summary>
         internal static void Traffic()
         {
             var db = new SqlHelper<object>().GetInstance();
@@ -106,11 +117,90 @@
                     }
                 }
             }
-
-
         }
 
         /// <summary>
+        /// 浜曟澗agv鍙犵洏鍥炲簱
+        /// </summary>
+        internal static void KjTraffic()
+        {
+
+
+            var db = new SqlHelper<object>().GetInstance();
+            List<string> locs = new List<string>() { "PMDDW-001" };
+            var location = db.Queryable<Location>().Where(a => locs.Contains(a.S_CODE)).ToList();
+            if (location.Count > 0)
+            {
+                // string cntrcode = "";
+                foreach (var item in location)
+                {
+
+                    if (item.N_CURRENT_NUM >= 6)
+                    {
+                        //var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == item.S_CODE).ToList();
+                        //if (cntr.Count > 0)
+                        //{
+                        //    var cntrcodes = cntr.Select(a => a.S_CNTR_CODE).ToArray();
+                        //    cntrcode = string.Join(",", cntrcodes);
+                        //}
+
+                        //鍒涘缓杩囨湭瀹屾垚鐨勪换鍔′笉鍙戣捣璇锋眰
+                        var mst = WCSHelper.GetTaskByStartloc(item.S_CODE);
+                        if (mst == null)
+                        {
+                            Traystacker(item.S_CODE, item.N_CURRENT_NUM, 1);
+                        }
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// 浜曟澗鍙犵洏鏈哄彔鐩樺洖搴�+        /// </summary>
+        internal static void DpjTraffic()
+        {
+            string startBti = "CMB17-DP-001";
+            try
+            {
+                var IsDp = S7Helper.ReadDpj(2001, S7.Net.VarType.Byte);
+                var value = S7Helper.ReadDpj(2014, S7.Net.VarType.Int);
+
+                if (value >= 1 && IsDp == 1)
+                {
+                    //var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == item.S_CODE).ToList();
+                    //if (cntr.Count > 0)
+                    //{
+                    //    var cntrcodes = cntr.Select(a => a.S_CNTR_CODE).ToArray();
+                    //    cntrcode = string.Join(",", cntrcodes);
+                    //}
+
+                    //鍒涘缓杩囨湭瀹屾垚鐨勪换鍔′笉鍙戣捣璇锋眰
+                    var mst = WCSHelper.GetTaskByStartloc(startBti);
+                    if (mst == null)
+                    {
+                        Traystacker(startBti, value, 2);
+                    }
+                    else
+                    {
+                        LogHelper.Info($"鏈夋墽琛屼腑鐨勫彔鐩樺洖搴撲换鍔mst.S_CODE}锛屼笉瑙﹀彂鍙犵洏浠诲姟");
+                    }
+
+                }
+                else
+                {
+                    LogHelper.Info($"鍙犵洏鏈烘暟閲忥細{value},鍙犵洏淇″彿锛歿IsDp}锛屼笉瑙﹀彂鍙犵洏浠诲姟");
+                }
+                Thread.Sleep(8000);
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error($"ReadDpj DpjTraffic:{ex}", ex);
+
+            }
+
+        }
+        /// <summary>
         /// 鍘熸潗鏂欏簱鎺ュ彛璁块棶
         /// </summary>    
         internal static void AgvEmptyBack(string loc, string cntrcode)

--
Gitblit v1.9.1