From 9b85a8b67aa6354ee9ea1a13c5799bf1c934922f Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期四, 31 十月 2024 18:12:14 +0800
Subject: [PATCH] 修改问题

---
 Admin.NET/WCS.Application/Util/HttpService.cs |  130 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 2 deletions(-)

diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 5a894d5..9e0a195 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -1,8 +1,10 @@
-锘縰sing Elastic.Clients.Elasticsearch;
+锘縰sing DocumentFormat.OpenXml.EMMA;
+using Elastic.Clients.Elasticsearch;
 using Furion.Logging;
 using Furion.RemoteRequest.Extensions;
 using Newtonsoft.Json;
 using System.Text;
+using WCS.Application.Entity;
 using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionResponse.Types;
 
 namespace WCS.Application;
@@ -58,12 +60,14 @@
                     StartLocate = startLocat,
                     PalletNo = palletNo,
                     TaskNo = result.TaskList.TaskNo,
+                    Levels = 999,
                     EndLocate = result.TaskList.EndLocate,
                     EndRoadway = result.TaskList.EndRoadway
                 };
                 
                 _db.Insertable(taskAdd).ExecuteCommand();
                 endLocat = result.TaskList.EndRoadway;
+                taskNo = result.TaskList.TaskNo;
                 returnStr = result.TaskList.EndLocate;
                 
             }
@@ -85,6 +89,70 @@
         return returnStr;
     }
 
+    /// <summary>
+    /// 璋冪敤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,
+        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);
+        if (task == null)
+        {
+            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
+            };
+            string url = Urls.WMSAddress + ":" + Urls.WMSPort;
+            var result = (url + "/api/DownAPi/BindRequestRoadWay").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,
+                    Status = TaskStatusEnum.Wait,
+                    Origin = "WMS",
+                    StartLocate = startLocat,
+                    PalletNo = palletNo,
+                    TaskNo = result.TaskList.TaskNo,
+                    EndLocate = result.TaskList.EndLocate,
+                    EndRoadway = result.TaskList.EndRoadway
+                };
+
+                _db.Insertable(taskAdd).ExecuteCommand();
+                endLocat = result.TaskList.EndRoadway;
+                returnStr = result.TaskList.EndLocate;
+            }
+            else
+            {
+                returnStr = "-1:" + result.Message;
+                return returnStr;
+            }
+        }
+        else
+        {
+            returnStr = task.EndLocate;
+            endLocat = task.EndRoadway;
+            taskNo = task.TaskNo;
+        }
+
+        endLocat = PLCCommon.RoadwayToStationNum(endLocat, ceng);
+
+        return returnStr;
+    }
     /// <summary>
     /// 璋冪敤WMS鎺ュ彛鐢宠鍌ㄤ綅鎺ュ彛
     /// </summary>
@@ -161,7 +229,6 @@
         }
 
         return returnStr;
-        
     }
 
 
@@ -203,4 +270,63 @@
         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;
+    }
 }

--
Gitblit v1.8.0