From 6a738089d6471d048c32ce7f3dcbd15c935ada79 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 14 六月 2025 14:49:42 +0800 Subject: [PATCH] Merge branch 'master' into wxw --- Admin.NET/WCS.Application/Util/HttpService.cs | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 204 insertions(+), 26 deletions(-) diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs index 9e0a195..ad11265 100644 --- a/Admin.NET/WCS.Application/Util/HttpService.cs +++ b/Admin.NET/WCS.Application/Util/HttpService.cs @@ -1,8 +1,10 @@ 锘縰sing DocumentFormat.OpenXml.EMMA; +using DocumentFormat.OpenXml.Vml.Office; using Elastic.Clients.Elasticsearch; using Furion.Logging; using Furion.RemoteRequest.Extensions; using Newtonsoft.Json; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System.Text; using WCS.Application.Entity; using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionResponse.Types; @@ -15,7 +17,7 @@ private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId); public HttpService() { - var _sysConfigService = App.GetService<SysConfigService>();//todo 杩欓噷闇�瑕佹祴璇曚笅鐢熷懡鍛ㄦ湡闂 + var _sysConfigService = App.GetService<SysConfigService>();// todo 杩欓噷闇�瑕佹祴璇曚笅鐢熷懡鍛ㄦ湡闂 Urls = _sysConfigService.GetSystemInfo().Result; } @@ -33,7 +35,7 @@ public string RequestRoadWay(string palletNo, string startLocat, string taskModel, string ceng, ref string endLocat, ref string taskNo) { string returnStr = ""; - + var task = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing) && m.TaskType == TaskTypeEnum.In && m.PalletNo == palletNo); @@ -47,11 +49,11 @@ }; string url = Urls.WMSAddress + ":" + Urls.WMSPort; - var result = (url + "/api/DownAPi/RequestRoadWay").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result; + var result = (url + "/api/DownAPi/RequestRoadWay").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result; Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson()); if (result.Success == 0) { - + var taskAdd = new WcsTask() { TaskType = TaskTypeEnum.In, @@ -62,14 +64,19 @@ TaskNo = result.TaskList.TaskNo, Levels = 999, EndLocate = result.TaskList.EndLocate, - EndRoadway = result.TaskList.EndRoadway + EndRoadway = result.TaskList.EndRoadway, + OrderNo=result.TaskList.OrderNo, + + SkuName= result.TaskList.SkuName,//鐗╂枡鍚嶇О + LotNo= result.TaskList.LotNo,//鎵规鍙� + Qty= Convert.ToDecimal(result.TaskList.Qty),//鍏ュ簱鏁伴噺 }; - + _db.Insertable(taskAdd).ExecuteCommand(); endLocat = result.TaskList.EndRoadway; taskNo = result.TaskList.TaskNo; returnStr = result.TaskList.EndLocate; - + } else { @@ -93,7 +100,7 @@ /// 璋冪敤WMS鎺ュ彛鑷姩鐮佸灈缁戝畾淇℃伅杩斿洖宸烽亾鍙� /// </summary> /// <returns></returns> - public string BindRequestRoadWay(string orderNo, string palletNo,decimal qty ,string type,string skuNo, string lotNo, string lotText, string supplierLot, List<WcsBoxInfo> detail, + public string BindRequestRoadWay(string orderNo, string palletNo, decimal qty, string type, string skuNo, string lotNo, string lotText, string supplierLot, List<WcsBoxInfo> detail, string startLocat, string taskModel, string ceng, ref string endLocat, ref string taskNo) { string returnStr = ""; @@ -103,17 +110,17 @@ { var model = new BoxPalletBindVm() { - OrderCode= "",//鏆傛棤涓婃父绯荤粺缂栧彿 - AsnNo= orderNo, - AsnDetailNo=0,//鏆傛棤鍏ュ簱鍗曟槑缁嗙紪鍙凤紝WMS鏍规嵁鐗╂枡鎵规鏌ユ壘 - PalletNo=palletNo, - Qty= qty, - Type=type, - SkuNo=skuNo, - LotNo= lotNo, - LotText= lotText, - SupplierLot= supplierLot, - Detail=detail + OrderCode = "",//鏆傛棤涓婃父绯荤粺缂栧彿 + AsnNo = orderNo, + AsnDetailNo = 0,//鏆傛棤鍏ュ簱鍗曟槑缁嗙紪鍙凤紝WMS鏍规嵁鐗╂枡鎵规鏌ユ壘 + PalletNo = palletNo, + Qty = qty, + Type = type, + SkuNo = skuNo, + LotNo = lotNo, + LotText = lotText, + SupplierLot = supplierLot, + Detail = detail }; string url = Urls.WMSAddress + ":" + Urls.WMSPort; var result = (url + "/api/DownAPi/BindRequestRoadWay").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result; @@ -135,6 +142,7 @@ _db.Insertable(taskAdd).ExecuteCommand(); endLocat = result.TaskList.EndRoadway; returnStr = result.TaskList.EndLocate; + taskNo = result.TaskList.TaskNo; } else { @@ -167,8 +175,8 @@ string returnStr = ""; - var task = _db.Queryable<WcsTask>().First(m => m.IsDelete == false - && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing) + var task = _db.Queryable<WcsTask>().First(m => m.IsDelete == false + && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing) && m.TaskType == TaskTypeEnum.In && m.PalletNo == palletNo && !string.IsNullOrWhiteSpace(m.EndLocate)); if (task == null) @@ -212,7 +220,7 @@ HubUtil.PublicTask(taskUp.Adapt<WcsTaskOutput>()); } - + returnStr = result.TaskList.EndLocate; taskNo = result.TaskList.TaskNo; } @@ -253,7 +261,18 @@ public async Task<ResponseTasks> RequestEmptyException(TaskRequest model) { string url = Urls.WMSAddress + ":" + Urls.WMSPort; - var result = await (url + "/api/DownAPi/EmptyException").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>(); + //string TaskType = ""; + //string TaskStatus = ""; + //var PalletNo = ""; + //var TaskNo = ""; + var str = new + { + PalletNo = model.PalletNo, + TaskNo = model.TaskNo, + TaskType = model.TaskType.ToString(), + TaskStatus = model.TaskStatus.ToString(), + }; + var result = await (url + "/api/DownAPi/EmptyException").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>(); Log.Information("璋冪敤WMS鎺ュ彛鍙嶉绌哄彇寮傚父鎺ュ彛" + result.ToJson()); return result; } @@ -266,7 +285,14 @@ public async Task<ResponseTasks> RequestFullException(TaskRequest model) { string url = Urls.WMSAddress + ":" + Urls.WMSPort; - var result = await (url + "/api/DownAPi/FullException").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>(); + var str = new + { + PalletNo = model.PalletNo, + TaskNo = model.TaskNo, + TaskType = model.TaskType.ToString(), + TaskStatus = model.TaskStatus.ToString(), + }; + var result = await (url + "/api/DownAPi/FullException").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>(); Log.Information("璋冪敤WMS鎺ュ彛鍙嶉婊″彇寮傚父鎺ュ彛" + result.ToJson()); return result; } @@ -277,7 +303,7 @@ /// <param name="Num"></param> /// <param name="OutMode"></param> /// <returns></returns> - public string IssuePlnOutHouseWcs(string Num,string OutMode) + public string IssuePlnOutHouseWcs(string Num, string OutMode) { string returnStr = ""; @@ -305,7 +331,7 @@ //IsSuccess =TaskSuccessEnum.Success, Origin = "WMS", StartLocate = item.StartLocate, - StartRoadway=item.StartRoadway, + StartRoadway = item.StartRoadway, PalletNo = item.PalletNo, EndLocate = item.EndLocate, EndRoadway = item.EndRoadway @@ -329,4 +355,156 @@ } return returnStr; } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鐢宠绌烘墭璺虹粦瀹� + /// </summary> + /// <param name="Qty"></param> + /// <param name="palletNo"></param> + /// <returns></returns> + public string BindPlnInHouseWcs(string Qty, string palletNo) + { + var model = new BindPalletModel() + { + BindType = "1",//鐢宠绫诲瀷 + Qty = int.Parse(Qty),//鍙犳墭鏈鸿泛鎵樼洏鏁� + PalletNo = palletNo,//鎵樼洏鍙� + }; + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var result = (url + "/api/DownAPi/BindPlnInHouseWcs").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel2>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson()); + + return result.Success.ToString(); + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉鐢宠缂犺啘鎺ュ彛 + /// </summary> + /// <param name="PalletNo">鎵樼洏鍙�</param> + /// <returns></returns> + public string RequestPackWcs(string PalletNo) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new PackModel() + { + PalletNo = PalletNo + }; + + var result = (url + "/api/DownAPi/RequestPackWcs").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel2>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉鐢宠缂犺啘寮傚父鎺ュ彛" + result.ToJson()); + + return result.Success.ToString(); + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉鎷嗚啘寮傚父鎺ュ彛 + /// </summary> + /// <param name="palletno">鎵樼洏鍙�</param> + /// <returns></returns> + public string RequestUnPackWcs(string palletno) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + PalletNo = palletno + }; + var result = (url + "/api/DownAPi/RequestUnPackWcs").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel2>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉鎷嗚啘寮傚父鎺ュ彛" + result.ToJson()); + return result.Success.ToString(); + } + + + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉缂犺啘瀹屾垚 + /// </summary> + /// <param name="palletno">鎵樼洏鍙�</param> + /// <returns></returns> + public string RequestPackedWcs(string palletno) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + PalletNo = palletno + }; + var result = (url + "/api/DownAPi/RequestPackedWcs").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel2>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉缂犺啘瀹屾垚寮傚父鎺ュ彛" + result.ToJson()); + return result.Success.ToString(); + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉鎷嗗灈鎵樼洏淇℃伅 + /// </summary> + /// <param name="palletno">鎵樼洏鍙�</param> + /// <param name="taskno">浠诲姟鍙�</param> + /// <returns></returns> + public RequestBoxInfoCheckAll RequestBoxCheckinfo(string palletno,string taskno) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + PalletNo = palletno, + TaskNo = taskno + }; + var result = (url + "/api/DownAPi/ResultBoxInfoCheckWcs").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<RequestBoxInfoCheckAll>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉鎷嗘墭鎵樼洏淇℃伅寮傚父鎺ュ彛" + result.ToJson()); + return result; + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉鍒嗘嫞鍑哄簱绠变俊鎭� + /// </summary> + /// <param name="palletno">鎵樼洏鍙�</param> + /// <param name="taskno">浠诲姟鍙�</param> + /// <returns></returns> + public IsBaleModel2 RequestBoxno(string palletno) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + PalletNo = palletno, + }; + var result = (url + "/api/DownAPi/RequestBoxno").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel2>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉缂犺啘瀹屾垚寮傚父鎺ュ彛" + result.ToJson()); + return result; + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛楠岃瘉绠辩爜鏄惁鍙嫞璐у苟杩斿洖瑁呰溅鍙� + /// </summary> + /// <param name="boxNo">绠辩爜</param> + /// <returns></returns> + public RequestloadingAddre ResultBoxInfoExportWcs(string boxNo) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + BoxNo = boxNo, + PalletNo = "", + TaskNo = "" + }; + var result = (url + "/api/DownAPi/ResultBoxInfoExportWcs").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<RequestloadingAddre>().Result; + Log.Information("璋冪敤WMS鎺ュ彛楠岃瘉绠辩爜鏄惁鍙嫞璐у苟杩斿洖瑁呰溅鍙�:" + result.ToJson()); + + return result; + } + + /// <summary> + /// 璋冪敤WMS鎺ュ彛鍙嶉AGV鍙斁淇″彿 + /// </summary> + /// <param name="taskno">浠诲姟鍙�</param> + /// <param name="port">宸ヤ綅鍙�</param> + /// <returns></returns> + public string RequesContinueAgv(string taskno,string port) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var str = new + { + TaskNo = taskno, + Port = port + }; + var result = (url + "/api/DownAPi/AgcontinueTask").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉AGV鍙斁鎺ュ彛" + result.ToJson()); + return result.Success.ToString(); + } } -- Gitblit v1.8.0