From ad678d0d42f126e5c0d0e2f22f373d9727fb37a5 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期四, 19 六月 2025 17:23:54 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj |    2 
 HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs  |   18 +
 HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCApi.cs        |  296 +++++++++++++++++++++++++++++
 HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs    |   62 ++++-
 HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCHelper.cs     |  142 +++++++-------
 HH.WCS.Mobox3.NongFuLinZhi/wms/ContainerHelper.cs    |    2 
 HH.WCS.Mobox3.NongFuLinZhi/util/SqlHelper.cs         |    2 
 HH.WCS.Mobox3.NongFuLinZhi/api/ApiModel.cs           |   14 
 HH.WCS.Mobox3.NongFuLinZhi/api/MoboxController.cs    |    3 
 HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs          |   18 -
 10 files changed, 441 insertions(+), 118 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj b/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
index ff638ca..82d7a29 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
+++ b/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
@@ -157,8 +157,8 @@
     <Compile Include="device\TcpServer.cs" />
     <Compile Include="dispatch\GZRobot.cs" />
     <Compile Include="dispatch\HanAo.cs" />
-    <Compile Include="dispatch\NDC.cs" />
     <Compile Include="core\Monitor.cs" />
+    <Compile Include="dispatch\NDCApi.cs" />
     <Compile Include="models\SegmentTable.cs" />
     <Compile Include="models\RowComparsionTable.cs" />
     <Compile Include="models\RowLock.cs" />
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
index fb94dfa..83a590a 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
@@ -294,17 +294,11 @@
             db.Updateable(task).UpdateColumns(it => new { it.S_NOTE }).ExecuteCommand();
         }
 
-
-        
-
-     
-
-        
         internal static WeiLiResult CancelOrder(CancelOrderModel model)
         {
             WeiLiResult result = new WeiLiResult();
             var db = new SqlHelper<object>().GetInstance();
-            var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).ToList();
+            var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.task_no).ToList();
             if (tasks.Count >= 1)
             {
                 //娴佺▼浠诲姟鏁伴噺鎵ц瓒呰繃涓�潯 浠诲姟涓嶅厑璁稿彇娑�@@ -312,7 +306,7 @@
                 result.msg = "娴佺▼浠诲姟鎵ц涓�涓嶅厑璁稿彇娑�;
                 return result;
             }
-            var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).OrderByDescending(a => a.T_CREATE).First();
+            var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.task_no).OrderByDescending(a => a.T_CREATE).First();
             if (task != null)
             {
                 if (WCSHelper.CheckActionRecordExist(task.S_CODE, 4))
@@ -324,7 +318,7 @@
                 if (task.N_B_STATE == 0)
                 {
                     //绛夊緟鐩存帴淇敼鐘舵�涓哄彇娑�-                    WCSHelper.UpdateStatus(model.orderNo, 5);
+                    WCSHelper.UpdateStatus(model.task_no, 5);
                     //result.msg = "浠诲姟绛夊緟锛岀洿鎺ュ彇娑�;
                 }
                 else if (task.N_B_STATE != 3 && task.N_B_STATE != 4)
@@ -336,7 +330,8 @@
                     else
                     {
                         //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
-                        NDCHelper.Cancel(task.S_CODE.Trim());
+                        //NDCHelper.Cancel(task.S_CODE.Trim());
+                        NDCApi.CancelOrder(task.S_CODE.Trim());
                         //result.msg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�;
                     }
                 }
@@ -379,7 +374,8 @@
                     else
                     {
                         //閫氱煡鏉弶淇敼浼樺厛绾�-                        NDCHelper.Cancel(task.S_CODE.Trim());
+                        //NDCHelper.Cancel(task.S_CODE.Trim());
+                        NDCApi.CancelOrder(task.S_CODE.Trim());
                         result.msg = "淇敼浼樺厛绾ф垚鍔�;
                     }
                 }
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiModel.cs b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiModel.cs
index 0ffdd73..d906db7 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/api/ApiModel.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/api/ApiModel.cs
@@ -474,13 +474,13 @@
         {
             public string taskNo { get; set; }
         }
-        public class CancelOrderModel
-        {
-            /// <summary>
-            /// 浠诲姟鍙�-            /// </summary>
-            public string orderNo { get; set; }
-        }
+        //public class CancelOrderModel
+        //{
+        //    /// <summary>
+        //    /// 浠诲姟鍙�+        //    /// </summary>
+        //    public string orderNo { get; set; }
+        //}
         public class ChangeOrderPriorytyModel
         {
             /// <summary>
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/api/MoboxController.cs b/HH.WCS.Mobox3.NongFuLinZhi/api/MoboxController.cs
index bcf0860..16a46fa 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/api/MoboxController.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/api/MoboxController.cs
@@ -36,7 +36,8 @@
                 else if (task.N_B_STATE != 3 && task.N_B_STATE != 4)
                 {
                     //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
-                    NDCHelper.Cancel(task.S_CODE.Trim());
+                    //NDCHelper.Cancel(task.S_CODE.Trim());
+                    NDCApi.CancelOrder(task.S_CODE.Trim());
                     result.resultMsg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�;
                 }
                 else
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCApi.cs b/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCApi.cs
new file mode 100644
index 0000000..55cef28
--- /dev/null
+++ b/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCApi.cs
@@ -0,0 +1,296 @@
+锘縰sing HH.WCS.Mobox3.NFLZ;
+using HH.WCS.Mobox3.NFLZ.util;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using System.Text;
+using System.Xml;
+
+namespace HH.WCS.Mobox3.NFLZ.dispatch
+{
+    public class NDCApi
+    {
+        public static string NDCApiUrl { set; get; }
+        static NDCApi()
+        {
+            NDCApiUrl = Settings.HostToAgvServerUrl;
+        }
+
+        public static AgvApiResult AddOrderNew(int ts, int pri, string taskNo, List<param> param)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            var model = new AddOrderNewModel();
+            model.ts_no = ts;
+            model.pri = pri;
+            model.task_no = taskNo;
+            model.param = param;
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                var AppKey = Settings.AppKey;
+                var AppSecret = Settings.AppSecret;
+                var ReqTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
+                LogHelper.Info($"鍔犲瘑鍓�AppKey={AppKey} AppSecret={AppSecret} ReqTime={ReqTime}");
+                var ReqVerify = GetMd5FromString(AppKey + AppSecret + ReqTime);
+                LogHelper.Info($"鍔犲瘑鍚�AppKey={AppKey} AppSecret={AppSecret} ReqTime={ReqTime} ReqVerify={ReqVerify}");
+                LogHelper.Info($"浠诲姟{taskNo}涓嬪彂锛寋jsonInfo}", "NDC");
+                var result = httpH.WebPost(NDCApiUrl + "Add", jsonInfo, "application/json", AppKey, ReqTime, ReqVerify);
+                LogHelper.Info($"浠诲姟涓嬪彂缁撴灉res={result}", "NDC");
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"浠诲姟涓嬪彂澶辫触 res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        /// <summary>
+        /// MD5鍔犲瘑
+        /// </summary>
+        /// <param name="sInput"></param>
+        /// <returns></returns>
+        public static string GetMd5FromString(string sInput)
+        {
+            var lstData = Encoding.GetEncoding("utf-8").GetBytes(sInput);
+            var lstHash = new MD5CryptoServiceProvider().ComputeHash(lstData);
+            var result = new StringBuilder(32);
+            for (int i = 0; i < lstHash.Length; i++)
+            {
+                result.Append(lstHash[i].ToString("x2").ToUpper());
+            }
+            return result.ToString();
+        }
+
+        public static AgvApiResult AddOrderNew(AddOrderNewModel model)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}涓嬪彂锛寋jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "Add", jsonInfo);
+                LogHelper.Info($"浠诲姟涓嬪彂缁撴灉res={result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"浠诲姟涓嬪彂澶辫触 res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        public static AgvApiResult CancelOrder(string tsNo, bool is_force = true)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            var model = new CancelOrderModel();
+            model.task_no = tsNo;
+            model.is_force = is_force;
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙栨秷锛寋jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "Cancel", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙栨秷缁撴灉={result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"CancelOrder  res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        public static AgvApiResult CancelOrder(CancelOrderModel model)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙栨秷锛寋jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "Cancel", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙栨秷缁撴灉={result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"CancelOrder  res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+
+        }
+
+        public static AgvApiResult ChangeOrderPri(string taskNo, int newPri)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            var model = new ChangePriModel();
+            model.task_no = taskNo;
+            model.pri = newPri;
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}浼樺厛绾ф洿鏀癸紝{jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "ChangePri", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}浼樺厛绾ф洿鏀圭粨鏋�{result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"ChangeOrderPri res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        public static AgvApiResult ChangeOrderPri(ChangePriModel model)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}浼樺厛绾ф洿鏀癸紝{jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "ChangePri", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}浼樺厛绾ф洿鏀圭粨鏋�{result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"ChangeOrderPri res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        public static AgvApiResult ChangeOrderParam(string taskNo, int paramNo, string paramStr)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            var model = new ChangeParamModel();
+            model.task_no = taskNo;
+            model.param_no = paramNo;
+            model.param = paramStr;
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙傛暟鏇存敼锛寋jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "ChangeParam", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙傛暟鏇存敼缁撴灉={result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"ChangeOrderParam res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+        public static AgvApiResult ChangeOrderParam(ChangeParamModel model)
+        {
+            var httpH = new HttpHelper();
+            var agvApiResult = new AgvApiResult();
+            try
+            {
+                string jsonInfo = JsonConvert.SerializeObject(model);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙傛暟鏇存敼锛寋jsonInfo}", "NDC");
+
+                var result = httpH.WebPost(NDCApiUrl + "ChangeParam", jsonInfo);
+                LogHelper.Info($"浠诲姟{model.task_no}鍙傛暟鏇存敼缁撴灉={result}", "NDC");
+
+                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
+                return agvApiResult;
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"ChangeOrderParam res={e.Message}", "NDC");
+                agvApiResult.err_code = -1;
+                agvApiResult.err_msg = e.Message;
+                return agvApiResult;
+            }
+        }
+
+
+    }
+
+    /// <summary>
+    /// 杩斿洖淇℃伅Model
+    /// </summary>
+    public class AgvApiResult
+    {
+        public int err_code { set; get; }//寮傚父鐮侊細0 - 姝e父锛屽叾瀹冨�涓哄紓甯搁敊璇爜
+        public string err_msg { set; get; }//杩斿洖鐨勯敊璇弿杩帮紝鍦�err_code <> 0 鏃惰繑鍥�+        public object result { set; get; }//姝g‘杩斿洖鐨勭粨鏋滃唴瀹癸紝鍦�err_code = 0 涓旀湁杩斿洖鍐呭鏃�+    }
+
+    public class AddOrderNewModel
+    {
+        public int ts_no { set; get; }//TS 鍙凤紝蹇呴』鏈夊�	
+        public int pri { set; get; }//浼樺厛绾�+        public string task_no { set; get; }//涓婃父浠诲姟缂栫爜锛屽鏋�no_feedback = 1 鏃讹紝鍙互涓虹┖
+        public List<param> param { set; get; } = new List<param>();//鍙傛暟鍒楄〃
+    }
+
+
+    public class param
+    {
+        public string name { set; get; }//鍙傛暟鍚�+        public string value { set; get; }//鍙傛暟鍊�+    }
+
+    public class CancelOrderModel
+    {
+        public string task_no { set; get; }//涓婃父浠诲姟缂栫爜
+        public bool is_force { set; get; } = true;//鏄惁寮哄埗鍙栨秷锛� 鈥�寮哄埗
+    }
+
+    public class ChangeParamModel
+    {
+        public string task_no { set; get; }//涓婃父浠诲姟缂栫爜
+        public int param_no { set; get; }//鍙傛暟鍙�+        public string param { set; get; }//鍙傛暟鍐呭锛屽涓弬鏁颁互鑻辨枃鍒嗗彿(;)鍒嗛殧
+    }
+
+    public class ChangePriModel
+    {
+        public string task_no { set; get; }//涓婃父浠诲姟缂栫爜
+        public int pri { set; get; }//鏂颁紭鍏堢骇
+    }
+}
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCHelper.cs b/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCHelper.cs
index 815afdf..0f53077 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCHelper.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/dispatch/NDCHelper.cs
@@ -6,76 +6,76 @@
 {
     public class NDCHelper
     {
-        public static void Test() {
-            //dic.Add("Ext1", ""); dic.Add("Ext2", ""); dic.Add("N_CNTR_COUNT", "");
-            //var r = callClient.AddNewOrderAsync(new AddNewOrderRequest() { bufin = "<Req><Order Pri='1' TS='1' From='1' To='2' No='123471118_1'  Ext1='1' Ext2='CALLADDAGV'  N_CNTR_COUNT='' /></Req>" });
-            //r.Wait();
-
-            var dic = new Dictionary<string, string>();
-            dic.Add("Pri", "1"); dic.Add("From", "1"); dic.Add("To", "1"); dic.Add("No", "12311411718_2");// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", "");
-            var result = NDC.AddNewOrder(1, dic);
-
-            var dic1 = new Dictionary<string, string>();
-            var no = "3454566666";
-            dic1.Add("From", "1"); dic1.Add("To", "0"); dic1.Add("No", no);
-            result = NDC.AddNewOrder(101, dic1);
-
-            var dic2 = new Dictionary<string, string>();
-            dic2.Add("ExtDeviceNo", "1"); dic2.Add("From", "2"); dic2.Add("To", "2"); dic2.Add("No", DateTime.Now.Ticks.ToString()); dic2.Add("CtrlVal", "1");
-            result = NDC.AddNewOrder(39, dic2);
-
-            var dic3 = new Dictionary<string, string>();
-            dic3.Add("From", "1"); dic3.Add("To", "9"); dic3.Add("No", no);
-            result = NDC.CancelOrder(101, dic3);
-
-            var dic4 = new Dictionary<string, string>();
-            dic4.Add("ExtDeviceNo", "1"); dic4.Add("CtrlVal", "1"); dic4.Add("DispInfo", "AAAAAAAA"); dic4.Add("No", DateTime.Now.Ticks.ToString());
-            result = NDC.StartNewOrderWithQCmd(41, dic4);
-
-            var dic5 = new Dictionary<string, string>();
-            dic5.Add("ExtDeviceNo", "1"); dic5.Add("CtrlVal", "1"); dic5.Add("No", DateTime.Now.Ticks.ToString());
-            result = NDC.StartNewOrderWithQCmd(170, dic5);
-
-            var dic6 = new Dictionary<string, string>();
-            dic6.Add("ExtDeviceNo", "11"); dic6.Add("From", "2"); dic6.Add("To", "2"); dic6.Add("No", DateTime.Now.Ticks.ToString());
-            result = NDC.StartNewOrderWithQCmd(164, dic6);
-
-            var dic7 = new Dictionary<string, string>();
-            dic7.Add("Param1", "50"); dic7.Add("No", DateTime.Now.Ticks.ToString());
-            result = NDC.ChangeOrder(dic7);
-        }
-
-        public static bool ChangeParam(string taskNo, int param1, int paramNo = 0) {
-            bool bResult = false;
-            var dic = new Dictionary<string, string>();
-            dic.Add("No", taskNo);
-            if (paramNo >= 0) {
-                dic.Add("ParamNo", paramNo.ToString());
-            }
-            dic.Add("Param1", param1.ToString());
-            var result = NDC.ChangeOrder(dic);
-            return bResult;
-        }
-
-        public static bool Traffic(string lockNo) {
-            bool bResult = false;
-            var dic = new Dictionary<string, string>();
-            dic.Add("ExtDeviceNo", lockNo);
-            dic.Add("From", "2");
-            dic.Add("To", "2"); dic.Add("No", DateTime.Now.Ticks.ToString());
-
-            var result = NDC.StartNewOrderWithQCmd(164, dic);
-            return bResult;
-        }
-
-        public static bool Cancel(string taskNo) {
-            bool bResult = false;
-            var dic = new Dictionary<string, string>();
-            dic.Add("No", taskNo);
-            dic.Add("IsForce", "1");
-
-            var result = NDC.CancelOrder(1, dic);
-            return bResult;
-        }
+        //public static void Test() {
+        //    //dic.Add("Ext1", ""); dic.Add("Ext2", ""); dic.Add("N_CNTR_COUNT", "");
+        //    //var r = callClient.AddNewOrderAsync(new AddNewOrderRequest() { bufin = "<Req><Order Pri='1' TS='1' From='1' To='2' No='123471118_1'  Ext1='1' Ext2='CALLADDAGV'  N_CNTR_COUNT='' /></Req>" });
+        //    //r.Wait();
+        //
+        //    var dic = new Dictionary<string, string>();
+        //    dic.Add("Pri", "1"); dic.Add("From", "1"); dic.Add("To", "1"); dic.Add("No", "12311411718_2");// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", "");
+        //    var result = NDC.AddNewOrder(1, dic);
+        //
+        //    var dic1 = new Dictionary<string, string>();
+        //    var no = "3454566666";
+        //    dic1.Add("From", "1"); dic1.Add("To", "0"); dic1.Add("No", no);
+        //    result = NDC.AddNewOrder(101, dic1);
+        //
+        //    var dic2 = new Dictionary<string, string>();
+        //    dic2.Add("ExtDeviceNo", "1"); dic2.Add("From", "2"); dic2.Add("To", "2"); dic2.Add("No", DateTime.Now.Ticks.ToString()); dic2.Add("CtrlVal", "1");
+        //    result = NDC.AddNewOrder(39, dic2);
+        //
+        //    var dic3 = new Dictionary<string, string>();
+        //    dic3.Add("From", "1"); dic3.Add("To", "9"); dic3.Add("No", no);
+        //    result = NDC.CancelOrder(101, dic3);
+        //
+        //    var dic4 = new Dictionary<string, string>();
+        //    dic4.Add("ExtDeviceNo", "1"); dic4.Add("CtrlVal", "1"); dic4.Add("DispInfo", "AAAAAAAA"); dic4.Add("No", DateTime.Now.Ticks.ToString());
+        //    result = NDC.StartNewOrderWithQCmd(41, dic4);
+        //
+        //    var dic5 = new Dictionary<string, string>();
+        //    dic5.Add("ExtDeviceNo", "1"); dic5.Add("CtrlVal", "1"); dic5.Add("No", DateTime.Now.Ticks.ToString());
+        //    result = NDC.StartNewOrderWithQCmd(170, dic5);
+        //
+        //    var dic6 = new Dictionary<string, string>();
+        //    dic6.Add("ExtDeviceNo", "11"); dic6.Add("From", "2"); dic6.Add("To", "2"); dic6.Add("No", DateTime.Now.Ticks.ToString());
+        //    result = NDC.StartNewOrderWithQCmd(164, dic6);
+        //
+        //    var dic7 = new Dictionary<string, string>();
+        //    dic7.Add("Param1", "50"); dic7.Add("No", DateTime.Now.Ticks.ToString());
+        //    result = NDC.ChangeOrder(dic7);
+        //}
+        //
+        //public static bool ChangeParam(string taskNo, int param1, int paramNo = 0) {
+        //    bool bResult = false;
+        //    var dic = new Dictionary<string, string>();
+        //    dic.Add("No", taskNo);
+        //    if (paramNo >= 0) {
+        //        dic.Add("ParamNo", paramNo.ToString());
+        //    }
+        //    dic.Add("Param1", param1.ToString());
+        //    var result = NDC.ChangeOrder(dic);
+        //    return bResult;
+        //}
+        //
+        //public static bool Traffic(string lockNo) {
+        //    bool bResult = false;
+        //    var dic = new Dictionary<string, string>();
+        //    dic.Add("ExtDeviceNo", lockNo);
+        //    dic.Add("From", "2");
+        //    dic.Add("To", "2"); dic.Add("No", DateTime.Now.Ticks.ToString());
+        //
+        //    var result = NDC.StartNewOrderWithQCmd(164, dic);
+        //    return bResult;
+        //}
+        //
+        //public static bool Cancel(string taskNo) {
+        //    bool bResult = false;
+        //    var dic = new Dictionary<string, string>();
+        //    dic.Add("No", taskNo);
+        //    dic.Add("IsForce", "1");
+        //
+        //    var result = NDC.CancelOrder(1, dic);
+        //    return bResult;
+        //}
     }
 }
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
index 024f37f..17dde07 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
@@ -922,7 +922,8 @@
                     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" || LineState[mst.S_START_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10)
                     {
-                        NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                        //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                        NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18");
                         TaskProcess.sendSing(mst, 1101);
                     }
                 }
@@ -933,7 +934,8 @@
                     {
                         if ((LineState[mst.S_START_LOC.Trim()].status == "1122" || LineState[mst.S_START_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10)
                         {
-                            NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                            //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                            NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18");
                             TaskProcess.sendSing(mst, 1101);
                         }
                     }
@@ -941,7 +943,8 @@
                     {
                         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);
+                            //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18);
+                            NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18");
                             TaskProcess.sendSing(mst, 1101);
                         }
                     }
@@ -964,7 +967,8 @@
                         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" || LineState[mst.S_END_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
                         {
-                            NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                            //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                            NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18");
                             TaskProcess.sendSing(mst, 1103);
                         }
                     }
@@ -975,7 +979,8 @@
                         {
                             if ((LineState[mst.S_END_LOC.Trim()].status == "1122" || LineState[mst.S_END_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10)
                             {
-                                NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                                //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                                NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18");
                                 TaskProcess.sendSing(mst, 1103);
                             }
                         }
@@ -983,7 +988,8 @@
                         {
                             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);
+                                //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18);
+                                NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18");
                                 TaskProcess.sendSing(mst, 1103);
                             }
                         }
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
index d46e737..97abf92 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
@@ -5,13 +5,15 @@
 using HH.WCS.Mobox3.NFLZ.util;
 using HH.WCS.Mobox3.NFLZ.wms;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Security.Cryptography;
+using System.Xml.Linq;
 using static HH.WCS.Mobox3.NFLZ.api.OtherModel;
-using static HH.WCS.Mobox3.NFLZ.dispatch.NDC;
+using static HH.WCS.Mobox3.NFLZ.dispatch.NDCApi;
 using static HH.WCS.Mobox3.NFLZ.wms.WMSHelper.AddChangeModel;
 
 namespace HH.WCS.Mobox3.NFLZ.process
@@ -1131,21 +1133,43 @@
                     Console.WriteLine($"[SendTask]:TaskNo={mst.S_CODE.Trim()},start={Extend1},end={Extend2}");
                     LogHelper.Info($"[SendTask]:TaskNo={mst.S_CODE.Trim()},start={Extend1},end={Extend2}");
                     bool action = true;
-                    var dic = new Dictionary<string, string>();
-                    //var dic1 = new Dictionary<string, string>();
-                    //dic.Add("Pri", mst.N_PRIORITY.ToString());
-                    //dic.Add("No", mst.S_CODE.Trim());
-                    dic.Add("From", Extend1);
-                    dic.Add("To", Extend2);
-                    dic.Add("Func", Extend3);
-                    dic.Add("Data", Extend4);
-
+                    //var dic = new Dictionary<string, string>();
+                    ////var dic1 = new Dictionary<string, string>();
+                    ////dic.Add("Pri", mst.N_PRIORITY.ToString());
+                    ////dic.Add("No", mst.S_CODE.Trim());
+                    //dic.Add("From", Extend1);
+                    //dic.Add("To", Extend2);
+                    //dic.Add("Func", Extend3);
+                    //dic.Add("Data", Extend4);
+                    //
+                    //if (ConveryTaskList.Contains(taskType) || taskType.Contains("绉诲簱"))
+                    //{
+                    //    dic.Add("ItemHeight", Extend5);
+                    //    dic.Add("CntrType", Extend6);
+                    //    dic.Add("FromCol", Extend7);
+                    //    dic.Add("ToCol", Extend8);
+                    //    if (taskType.Contains("绉诲簱") || taskType.Contains("鎴愬搧涓嬬嚎") || taskType.Contains("闆跺ご涓嬬嚎"))
+                    //    {
+                    //        LogHelper.Info($"绉诲簱锛欵xtend5:{Extend5},Extend6:{Extend6},Extend7:{Extend7},Extend8:{Extend8},");
+                    //        if (Extend5 == "" || Extend6 == "" || Extend7 == "" || Extend8 == "")
+                    //        {
+                    //            action = false;
+                    //        }
+                    //    }
+                    //}
+                    var dic = new List<param>
+                    {
+                        new param() { name = "From", value = Extend1 },
+                        new param() { name = "To", value = Extend2 },
+                        new param() { name = "Func", value = Extend3 },
+                        new param() { name = "Data", value = Extend4 }
+                    };
                     if (ConveryTaskList.Contains(taskType) || taskType.Contains("绉诲簱"))
                     {
-                        dic.Add("ItemHeight", Extend5);
-                        dic.Add("CntrType", Extend6);
-                        dic.Add("FromCol", Extend7);
-                        dic.Add("ToCol", Extend8);
+                        dic.Add(new param(){name = "ItemHeight", value = Extend5});
+                        dic.Add(new param(){name = "CntrType", value = Extend6});
+                        dic.Add(new param(){name = "FromCol", value = Extend7});
+                        dic.Add(new param(){name = "ToCol", value = Extend8});
                         if (taskType.Contains("绉诲簱") || taskType.Contains("鎴愬搧涓嬬嚎") || taskType.Contains("闆跺ご涓嬬嚎"))
                         {
                             LogHelper.Info($"绉诲簱锛欵xtend5:{Extend5},Extend6:{Extend6},Extend7:{Extend7},Extend8:{Extend8},");
@@ -1155,13 +1179,13 @@
                             }
                         }
                     }
-
                     if (action)
                     {
-                        var res = new AGVResult();
-                        res = NDC.AddNewOrderNew(TsNo,mst.N_PRIORITY,mst.S_CODE, dic);
+                        var res = new AgvApiResult();
+                        //res = NDC.AddNewOrderNew(TsNo,mst.N_PRIORITY,mst.S_CODE, dic);
+                        res = NDCApi.AddOrderNew(TsNo, mst.N_PRIORITY, mst.S_CODE,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, "宸叉帹閫�);
@@ -1506,7 +1530,7 @@
                 }
                 if (result == null)
                 {
-                    result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨鍖�, itemCode);
+                    result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨", itemCode);
                 }
                 if(result == null)
                 {
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/util/SqlHelper.cs b/HH.WCS.Mobox3.NongFuLinZhi/util/SqlHelper.cs
index e5bdb88..8aabe28 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/util/SqlHelper.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/util/SqlHelper.cs
@@ -90,7 +90,7 @@
         public SqlSugarClient GetInstance(string url = "") {
             //鍒涘缓鏁版嵁搴撳璞�             SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() {
-                ConnectionString = string.IsNullOrEmpty(url) ? Settings.SqlServer : url,
+                ConnectionString = Settings.SqlServer,
                 //ConnectionString = @"Data Source=192.168.1.198\sql2008;Initial Catalog=OIMobox;User ID=sa;Password=sa@2015",
                 DbType = DbType.SqlServer,
                 IsAutoCloseConnection = true,
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/wms/ContainerHelper.cs b/HH.WCS.Mobox3.NongFuLinZhi/wms/ContainerHelper.cs
index f7b30f6..c7665ea 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/wms/ContainerHelper.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/wms/ContainerHelper.cs
@@ -5,7 +5,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-using static HH.WCS.Mobox3.NFLZ.dispatch.NDC;
+using static HH.WCS.Mobox3.NFLZ.dispatch.NDCApi;
 
 namespace HH.WCS.Mobox3.NFLZ.wms {
     /// <summary>

--
Gitblit v1.9.1