From da7196f0acb1349fe0bc6b3b652093b495416adc Mon Sep 17 00:00:00 2001
From: zxx <Zxx@HanInfo>
Date: 星期五, 11 七月 2025 17:42:42 +0800
Subject: [PATCH] 1

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs |  161 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 120 insertions(+), 41 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs
index c00c28a..03e4151 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs
@@ -1,10 +1,13 @@
 锘縰sing HH.WCS.XiaoMi.api;
 using HH.WCS.XiaoMi.core;
+using HH.WCS.XiaoMi.LISTA.dispatch;
 using HH.WCS.XiaoMi.util;
+using HH.WCS.XiaoMi.wms;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using static HH.WCS.XiaoMi.api.ApiModel;
+using static HH.WCS.XiaoMi.LISTA.dispatch.XMWcsHelper;
 
 namespace HH.WCS.XiaoMi.dispatch
 {
@@ -192,7 +195,8 @@
                 agv.ForkliftNo = model.agvIDList;
                 WCSCore.OperateAgvTaskStatus(agv);
 
-                
+                ////灏忕背鐘舵�涓婃姤
+                //xiaoMiRequestApi(model);
 
             }
 
@@ -209,53 +213,128 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public static GzResult applyReroute(orderStatusReportParme model)
+        public static GzResult applyReroute(orderReroute model)
         {
             GzResult result = new GzResult();
+            try
+            {
+                var wcsTask = WCSHelper.GetTask(model.orderName);
+                if (wcsTask == null)
+                {
+                    result.resultCode = 1;
+                    result.msg = "璁㈠崟涓嶅瓨鍦�";
+                    return result;
+                }
+                if (model.orderType == 1)
+                {
+                    //1琛ㄧず鏄惁鐢宠缁曡矾
+                    var endLoc = LocationHelper.GetLoc(wcsTask.S_END_LOC);
+					LogHelper.Info($"applyReroute 鐢宠鏄惁缁曡矾璐т綅鍙傛暟{JsonConvert.SerializeObject(endLoc)}");
+                    if (endLoc.N_CURRENT_NUM == 0&& endLoc.S_LOCK_STATE=="鍏ュ簱閿�)                    
+                    {
+                        result.resultCode = 0;
+                        result.success = true;
+                        result.msg = "鐩爣璐т綅宸茬┖";
+                        return result;
+                    }
+                    else
+                    {
+                        result.resultCode = 1;
+                        result.success = false;
+                        result.msg = "鐩爣璐т綅涓烘弧";
+                        return result;
+                    }
+                }
+                else
+                {
+                    //2琛ㄧず鐢宠鐩爣搴撲綅
+                    var apply = new ApplyModel() { wcsTaskCode = wcsTask.S_WORKSHOP_NO };
+                    var end = XMWcsHelper.GetPositionApply(apply);
+                    if (!string.IsNullOrEmpty(end.body.pointCode))
+                    {
+                        result.resultCode = 0;
+                        result.msg = "鐩爣搴撲綅宸茬敵璇�;
+                        result.orderData = end.body.pointCode;
+                        return result;
+                    }
+                    else
+                    {
+                        result.resultCode = 1;
+                        result.msg = "鐩爣搴撲綅宸茬敵璇�;
+                        result.orderData = "";
+                        return result;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                result.resultCode = 1;
+                result.success = false;
+                result.msg = $"agv鐢宠缁曡矾鍑虹幇閿欒{JsonConvert.SerializeObject(ex.Message)}";
+                return result;
+            }
             
-            result.resultCode = 0;
-            result.msg = "杩斿洖璁㈠崟鐘舵�鎴愬姛";
-            result.orderID = model.orderID;
-            LogHelper.Info("orderStatusReport 杩斿洖" + JsonConvert.SerializeObject(result), "API");
-            return result;
         }
 
+        /// <summary>
+        /// 浜ょ鐢宠
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public static GzResult agvTraffic(orderTraffic model)
+        {
+            GzResult result = new GzResult();
+            try
+            {
+                result.resultCode = 0;
+                result.msg = "success";
+                return result;
+            }
+            catch (Exception ex)
+            {
+                result.resultCode = 1;
+                result.success = false;
+                result.msg = $"浜ょ鐢宠鍑虹幇閿欒{JsonConvert.SerializeObject(ex.Message)}";
+                return result;
+            }
 
-        ///// <summary>
-        ///// 璋冪敤灏忕背鐘舵�鍥炴姤鎺ュ彛
-        ///// </summary>
-        ///// <param name="id"></param>
-        ///// <returns></returns>
-        //public static int xiaoMiRequestApi(orderStatusReportParme model)
-        //{
-        //    var msg = "";
-        //    var orderId = 0;
-        //    var request = JsonConvert.SerializeObject(model);
-        //    var response = apiHelper.Post(baseUrl + "api/om/order/", request);
-        //    msg = $"[xiaoMiRequestApi] request={request} response={response}";
-        //    Console.WriteLine(msg);
-        //    if (response != ""&& model.orderStatus == "6")
-        //    {
-        //        try
-        //        {
-        //            var dataResult = JsonConvert.DeserializeObject<gzResult<OrderInfoResult>>(response);
-        //            if (dataResult.code == 0)
-        //            {
-        //                orderId = dataResult.data[0].in_order_id;
-        //            }
-        //        }
-        //        catch (Exception ex)
-        //        {
-        //        }
-        //    }
-        //    else
-        //    {
-        //        msg = "[xiaoMiRequestApi]鐘舵�姹囨姤澶辫触";
-        //        Console.WriteLine(msg);
-        //    }
+        }
 
-        //    return orderId;
-        //}
+        /// <summary>
+        /// 璋冪敤灏忕背鐘舵�鍥炴姤鎺ュ彛
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public static int xiaoMiRequestApi(orderStatusReportParme model)
+        {
+            var msg = "";
+            var orderId = 0;
+            var request = JsonConvert.SerializeObject(model);
+            var response = apiHelper.Post(baseUrl + "api/om/order/", request);
+            msg = $"[xiaoMiRequestApi] request={request} response={response}";
+            Console.WriteLine(msg);
+            if (response != "" && model.orderStatus == "6")
+            {
+                try
+                {
+                    var dataResult = JsonConvert.DeserializeObject<gzResult<OrderInfoResult>>(response);
+                    if (dataResult.code == 0)
+                    {
+                        orderId = dataResult.data[0].in_order_id;
+                    }
+                }
+                catch (Exception ex)
+                {
+                }
+            }
+            else
+            {
+                msg = "[xiaoMiRequestApi]鐘舵�姹囨姤澶辫触";
+                Console.WriteLine(msg);
+            }
+
+            return orderId;
+        }
 
     }
 

--
Gitblit v1.9.1