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 | 221 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 180 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..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,10 +1,15 @@ 锘縰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; namespace HH.WCS.XiaoMi.dispatch { @@ -192,7 +197,8 @@ agv.ForkliftNo = model.agvIDList; WCSCore.OperateAgvTaskStatus(agv); - + ////灏忕背鐘舵�涓婃姤 + //xiaoMiRequestApi(model); } @@ -209,53 +215,186 @@ /// </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 }; + + #region 鍐欐娴嬭瘯鐢�+ if (!string.IsNullOrEmpty("HC43")) + { + result.resultCode = 0; + result.msg = "鐩爣搴撲綅宸茬敵璇�; + 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; + 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