From c5b5363e2cb22b09f84a4026361fd53b2819f651 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 14 六月 2025 14:49:37 +0800
Subject: [PATCH] 入库申请LED屏幕增加物料信息显示

---
 Admin.NET/WCS.Application/Util/HttpService.cs |  288 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 263 insertions(+), 25 deletions(-)

diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 05ea89e..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,
@@ -60,14 +62,21 @@
                     StartLocate = startLocat,
                     PalletNo = palletNo,
                     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
             {
@@ -91,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 = "";
@@ -101,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;
@@ -133,6 +142,7 @@
                 _db.Insertable(taskAdd).ExecuteCommand();
                 endLocat = result.TaskList.EndRoadway;
                 returnStr = result.TaskList.EndLocate;
+                taskNo = result.TaskList.TaskNo;
             }
             else
             {
@@ -165,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)
@@ -210,7 +220,7 @@
                     HubUtil.PublicTask(taskUp.Adapt<WcsTaskOutput>());
                 }
 
-               
+
                 returnStr = result.TaskList.EndLocate;
                 taskNo = result.TaskList.TaskNo;
             }
@@ -227,7 +237,6 @@
         }
 
         return returnStr;
-        
     }
 
 
@@ -252,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;
     }
@@ -265,8 +285,226 @@
     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;
     }
+
+    /// <summary>
+    /// 璋冪敤WMS鎺ュ彛鐢宠绌烘墭璺哄嚭搴�
+    /// </summary>
+    /// <param name="Num"></param>
+    /// <param name="OutMode"></param>
+    /// <returns></returns>
+    public string IssuePlnOutHouseWcs(string Num, string OutMode)
+    {
+        string returnStr = "";
+
+        var model = new OutPalletModel()
+        {
+            Num = Num,//鍑哄簱璺烘暟
+            OutMode = OutMode//鍑哄簱鍙�
+        };
+        string url = Urls.WMSAddress + ":" + Urls.WMSPort;
+        var result = (url + "/api/DownAPi/IssuePlnOutHouseWcs").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseOutPallet>().Result;
+        Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson());
+
+        if (result.Success == 0)
+        {
+            foreach (var item in result.TaskList)
+            {
+                var taskUp = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.TaskNo == item.TaskNo);
+                if (taskUp == null)
+                {
+                    var taskAdd = new WcsTask()
+                    {
+                        TaskNo = item.TaskNo,
+                        TaskType = (TaskTypeEnum)(int.Parse(item.TaskType)),
+                        Status = TaskStatusEnum.Wait,
+                        //IsSuccess =TaskSuccessEnum.Success,
+                        Origin = "WMS",
+                        StartLocate = item.StartLocate,
+                        StartRoadway = item.StartRoadway,
+                        PalletNo = item.PalletNo,
+                        EndLocate = item.EndLocate,
+                        EndRoadway = item.EndRoadway
+                    };
+                    _db.Insertable(taskAdd).ExecuteCommand();
+                    HubUtil.PublicTask(taskAdd.Adapt<WcsTaskOutput>());
+                }
+                else
+                {
+                    taskUp.EndRoadway = item.EndRoadway;
+                    taskUp.EndLocate = item.EndLocate;
+                    _db.Updateable(taskUp).ExecuteCommand();
+                    HubUtil.PublicTask(taskUp.Adapt<WcsTaskOutput>());
+                }
+            }
+        }
+        else
+        {
+            returnStr = "-1:" + result.Message;
+            return returnStr;
+        }
+        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