From d66d362ee6d76f02331e56df1fdec1c2114c9f3e Mon Sep 17 00:00:00 2001
From: zxx <Zxx@HanInfo>
Date: 星期三, 16 七月 2025 17:31:41 +0800
Subject: [PATCH] 1

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs |  163 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 124 insertions(+), 39 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 bed8f32..4fc5e9a 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/dispatch/GZRobot.cs
@@ -1,11 +1,13 @@
 锘縰sing HH.WCS.XiaoMi.api;
 using HH.WCS.XiaoMi.core;
 using HH.WCS.XiaoMi.LISTA.dispatch;
+using HH.WCS.XiaoMi.process;
 using HH.WCS.XiaoMi.util;
 using HH.WCS.XiaoMi.wms;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using static HH.WCS.XiaoMi.api.ApiModel;
 using static HH.WCS.XiaoMi.LISTA.dispatch.XMWcsHelper;
 
@@ -195,7 +197,8 @@
                 agv.ForkliftNo = model.agvIDList;
                 WCSCore.OperateAgvTaskStatus(agv);
 
-                
+                ////灏忕背鐘舵�涓婃姤
+                //xiaoMiRequestApi(model);
 
             }
 
@@ -228,7 +231,8 @@
                 {
                     //1琛ㄧず鏄惁鐢宠缁曡矾
                     var endLoc = LocationHelper.GetLoc(wcsTask.S_END_LOC);
-                    if (endLoc.N_CURRENT_NUM == 0 && endLoc.S_LOCK_STATE == "鏃�)
+					LogHelper.Info($"applyReroute 鐢宠鏄惁缁曡矾璐т綅鍙傛暟{JsonConvert.SerializeObject(endLoc)}");
+                    if (endLoc.N_CURRENT_NUM == 0&& endLoc.S_LOCK_STATE=="鍏ュ簱閿�)                    
                     {
                         result.resultCode = 0;
                         result.success = true;
@@ -247,14 +251,72 @@
                 {
                     //2琛ㄧず鐢宠鐩爣搴撲綅
                     var apply = new ApplyModel() { wcsTaskCode = wcsTask.S_WORKSHOP_NO };
-                    var end = XMWcsHelper.GetPositionApply(apply);
-                    if (!string.IsNullOrEmpty(end.body.pointCode))
+
+                    #region 鍐欐娴嬭瘯鐢�+                    if (!string.IsNullOrEmpty("HC43"))
                     {
                         result.resultCode = 0;
                         result.msg = "鐩爣搴撲綅宸茬敵璇�;
-                        result.orderData = end.body.pointCode;
+                        result.orderData = "HC43";
+                        //浠诲姟琛ㄨˉ涓�+                        var db = new SqlHelper<WCSTask>().GetInstance();
+                        var task = db.Queryable<WCSTask>().Where(a => a.S_CODE == model.orderName).First();
+                        LogHelper.Info($"task鍙傛暟======={JsonConvert.SerializeObject(task)}");
+                        var endLoc = LocationHelper.GetLocation("HC43");
+                        LogHelper.Info($"endLoc鍙傛暟======={JsonConvert.SerializeObject(endLoc)}");
+                        task.S_END_LOC = "HC43";
+                        task.S_END_AREA = endLoc.S_AREA_CODE;
+                        var res = db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand() > 0;
+                        //閿佷綇缁堢偣璐т綅
+                        LogHelper.Info($"task2鍙傛暟======={JsonConvert.SerializeObject(task)}");
+                        LocationHelper.LockLoc("HC43", 1);
+                        if (!res)
+                        {
+                            result.resultCode = 1;
+                            result.success = false;
+                            result.msg = $"缁堢偣搴撲綅{task.S_END_LOC}鏇存柊澶辫触";
+                        }
+                        LogHelper.Info($"result鍙傛暟======={JsonConvert.SerializeObject(result)}");
                         return result;
                     }
+                    #endregion
+
+                    //var db = new SqlHelper<Object>().GetInstance();
+                    //var end = XMWcsHelper.GetPositionApply(apply);
+                    //string endPointCode = null;
+                    //if (end.body.targetType.Equals("AREA")) {
+                    //    var endLoc1 =TaskProcess.InWorkTransport(end.body.pointCode);
+                    //    if (endLoc1!=null)
+                    //    {
+                    //        //濡傛灉娌℃壘鍒板氨绛夌涓�潯
+                    //        endPointCode = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == end.body.pointCode).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
+                    //    }
+                    //} else if (end.body.targetType.Equals("STATION")) {
+                    //    endPointCode= end.body.pointCode;
+                    //}
+
+                    //if (!string.IsNullOrEmpty(endPointCode))
+                    //{
+                    //    result.resultCode = 0;
+                    //    result.msg = "鐩爣搴撲綅宸茬敵璇�;
+                    //    result.orderData = endPointCode;
+                    //    //浠诲姟琛ㄨˉ涓�+                    //    var task = db.Queryable<WCSTask>().Where(a => a.S_CODE == model.orderName).First();
+                    //    var endLoc = LocationHelper.GetLocation(endPointCode);
+                    //    task.S_END_LOC = endPointCode;
+                    //    task.S_END_AREA = endLoc.S_AREA_CODE;
+                    //    var res = db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand() > 0;
+                    //    //閿佷綇缁堢偣璐т綅
+                    //    LocationHelper.LockLoc(endPointCode, 1);
+                    //    if (!res)
+                    //    {
+                    //        result.resultCode = 1;
+                    //        result.success = false;
+                    //        result.msg = $"缁堢偣搴撲綅{task.S_END_LOC}鏇存柊澶辫触";
+                    //    }
+                    //    return result;
+                    //}
+
                     else
                     {
                         result.resultCode = 1;
@@ -274,42 +336,65 @@
             
         }
 
+        /// <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