From 17e3ef45fe0a6b6f8a147b50740834ac734f9317 Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期二, 15 七月 2025 17:30:13 +0800
Subject: [PATCH] 1111

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs |   94 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 67 insertions(+), 27 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs
index 8fc972b..bcc1c77 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs
@@ -2,6 +2,7 @@
 using HH.WCS.DaYang.dispatch;
 using HH.WCS.DaYang.util;
 using HH.WCS.DaYang.wms;
+using HH.WCS.JunzhouNongfu.device;
 using Newtonsoft.Json;
 using NLog.Fluent;
 using SqlSugar;
@@ -128,36 +129,39 @@
                             //璁惧鐘舵�绌哄垯鍏佽鎺ㄩ�
                             if (DeviceStatu != null && DeviceStatu.Data.PhotoStatus == 0)
                             {
-                                result = true;
+
 
                             }
                             else
                             {
                                 LogHelper.Info($"Intercept:璁惧鐘舵�涓嶅厑璁告帹閫�);
+                                result = true;
                             }
                         }
                         else
                         {
                             LogHelper.Info($"Intercept:鑾峰彇鎺ュ彛url澶辫触");
+                            result = true;
                         }
                     }
                 }
                 if (mst.N_SCHEDULE_TYPE == 2)
                 {
                     var task = WCSHelper.GetTaskByOpName(mst.S_OP_CODE, 3);
-                    if (task != null)
+                    if (task == null)
                     {
                         result = true;
                     }
                 }
             }
-            if (mst.S_TYPE == "鍑哄簱")
+            if (mst.S_TYPE.Contains("鍑哄簱"))
             {
+
                 //鎺ㄩ�agv浠诲姟锛屽垽鏂澶囦换鍔℃槸鍚﹀畬鎴�                 if (mst.N_SCHEDULE_TYPE == 1)
                 {
                     var task = WCSHelper.GetTaskByOpName(mst.S_OP_CODE, 3);
-                    if (task != null)
+                    if (task == null)
                     {
                         result = true;
                     }
@@ -165,7 +169,7 @@
                 else
                 {
                     //濡傛灉褰撳墠浠诲姟涓嶆槸绉诲簱浠诲姟锛岄渶瑕佸垽鏂Щ搴撲换鍔℃槸鍚﹀畬鎴�-                    if (mst.S_TYPE != "绉诲簱")
+                    if (!mst.S_TYPE.Contains("绉诲簱"))
                     {
                         var db = new SqlHelper<object>().GetInstance();
                         var ykmst = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == mst.S_OP_NAME && a.N_B_STATE == 3 && a.S_TYPE == "绉诲簱").First();
@@ -173,6 +177,21 @@
                         {
                             result = true;
                         }
+                    }
+                    else
+                    {
+                        //鍑哄簱浠诲姟鍒ゆ柇澶栦晶鏈夋病鏈夐攣
+                        var startLoc = LocationHelper.GetLoc(mst.S_START_LOC);
+                        if (startLoc != null && startLoc.N_POS == 1)
+                        {
+                            var db = new SqlHelper<WCSTask>().GetInstance();
+                            var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == startLoc.S_AREA_CODE && b.N_LAYER == startLoc.N_LAYER && b.N_POS == 2).First();
+                            if (OutLoc != null && OutLoc.N_LOCK_STATE != 0)
+                            {
+                                result = true;
+                            }
+                        }
+
                     }
 
                 }
@@ -357,38 +376,59 @@
             var start = "0"; var end = "0";
             var taskType = mst.S_TYPE.Trim();
 
-            if (mst.N_SCHEDULE_TYPE == 1)//agv浠诲姟
+            if (mst.N_SCHEDULE_TYPE == 1)
             {
+                LogHelper.Info($"浠诲姟鎺ㄩ�鏁版嵁锛歿JsonConvert.SerializeObject(mst)}");
+                if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC))
+                {
+                    LogHelper.Info($"浠诲姟{mst.S_CODE},璧风偣缁堢偣鏈夌┖鍙傛暟锛屼笉鎺ㄩ�浠诲姟");
+                }
+
+
                 start = LocationHelper.GetAgvSite(mst.S_START_LOC);
                 end = LocationHelper.GetAgvSite(mst.S_END_LOC);
+                //if (mst.N_START_LAYER > 1)
+                //{
+                //    start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString();
+                //}
+                if (mst.N_END_LAYER > 1)
+                {
+                    end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString();
+                    LogHelper.Info($"浠诲姟鎺ㄩ�锛氱粓鐐瑰眰鏁颁负{mst.N_END_LAYER}锛屾帹閫佺珯鐐逛负:{end}");
+                }
+                Console.WriteLine($"SendTask {mst.S_CODE}");
+                Console.WriteLine("start=" + start);
+                Console.WriteLine("end= " + end);
+                List<param> dic = new List<param>();
+                dic.Add(new param() { name = "From", value = start.ToString() });
+                dic.Add(new param() { name = "To", value = end.ToString() });
+                dic.Add(new param() { name = "FUNC", value = "0" });
+                dic.Add(new param() { name = "DATA", value = "0" });
+                dic.Add(new param() { name = "Ctype", value = "0" });
 
 
-                //Console.WriteLine($"SendTask {mst.S_CODE}");
-                //Console.WriteLine("start=" + start);
-                //Console.WriteLine("end= " + end);
-                var dic = new Dictionary<string, string>();
-                var sb1 = new StringBuilder();
+                var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//娣诲姞鏂板懡浠�+                                                                    //dic.Add("Pri", mst.N_PRIORITY.ToString());
+                                                                    //dic.Add("From", start.ToString());
+                                                                    //dic.Add("To", end.ToString());
+                                                                    //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", "");
+                                                                    //var res = NDC.AddNewOrder(1, dic);
 
-                //dic.Add("No", mst.S_CODE.Trim());
-                //dic.Add("Pri", mst.N_PRIORITY.ToString());
-                dic.Add("From", start.ToString());
-                dic.Add("To", end.ToString());
-                dic.Add("Func", "0");
-                dic.Add("DATA", "0");
-                dic.Add("ItemHeight", "0");
-                dic.Add("CntrType", "1");
-                dic.Add("FromCol", "0");
-                dic.Add("ToCol", "0");
-                dic.Add("Ctype", "0");
 
-                // dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", "");
-                var res = NDC.AddNewOrderNew(5, mst.N_PRIORITY, mst.S_CODE.Trim(), dic);
-                if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009))
+
+                if (res != null && (res.err_code == 0 || res.err_code == 50009))
                 {
                     //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇
                     mst.N_B_STATE = 1;
-                    WCSHelper.UpdateStatus(mst);
+                    mst.S_B_STATE = WCSTask.GetStateStr(1);
+                    WCSHelper.UpdateStatus(mst);//鏇存柊浠诲姟鐘舵�
                     result = true;
+                    LogHelper.Info($"NDC鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}");
+                  
+                }
+                else
+                {
+                    LogHelper.Info($"NDC鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res));
                 }
             }
             else if (mst.N_SCHEDULE_TYPE == 2)//杈撻�绾夸换鍔�@@ -461,7 +501,7 @@
         }
         #endregion
 
-
+     
 
     }
 }

--
Gitblit v1.9.1