From dbde3162fd361dcba4316b58754ccecf39a81a9f Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 09 六月 2025 08:52:18 +0800
Subject: [PATCH] 修改问题
---
Admin.NET/WCS.Application/Util/HttpService.cs | 517 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 345 insertions(+), 172 deletions(-)
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 9509fb6..7e9fd77 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -1,7 +1,12 @@
-锘縰sing Furion.Logging;
+锘縰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;
namespace WCS.Application;
@@ -30,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);
@@ -44,25 +49,30 @@
};
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.StatusCode == "0")
+ if (result.Success == 0)
{
-
+
var taskAdd = new WcsTask()
{
TaskType = TaskTypeEnum.In,
+ Status = TaskStatusEnum.Wait,
Origin = "WMS",
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
};
-
+
_db.Insertable(taskAdd).ExecuteCommand();
endLocat = result.TaskList.EndRoadway;
+ taskNo = result.TaskList.TaskNo;
returnStr = result.TaskList.EndLocate;
-
+
}
else
{
@@ -80,155 +90,73 @@
endLocat = PLCCommon.RoadwayToStationNum(endLocat, ceng);
return returnStr;
- // 纭畾鐩爣宸ヤ綅//闇�娣诲姞灞傛暟纭
- //switch (endLocat)
- //{
- // case "R01":
- // if (ceng == "1")
- // {
- // endLocat = "145";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "252";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "101";
- // }
- // break;
- // case "R02":
- // if (ceng == "1")
- // {
- // endLocat = "137";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "260";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "405";
- // }
- // break;
- // case "R03":
- // if (ceng == "1")
- // {
- // endLocat = "127";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "270";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "409";
- // }
- // break;
- // case "R04":
- // if (ceng == "1")
- // {
- // endLocat = "119";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "278";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "413";
- // }
- // break;
- // case "R05":
- // if (ceng == "1")
- // {
- // endLocat = "109";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "288";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "417";
- // }
- // break;
- // case "R06":
- // if (ceng == "1")
- // {
- // endLocat = "101";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "301";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "421";
- // }
- // break;
- // case "R07":
- // if (ceng == "1")
- // {
- // endLocat = "091";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "307";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "425";
- // }
- // break;
- // case "R08":
- // if (ceng == "1")
- // {
- // endLocat = "083";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "315";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "429";
- // }
- // break;
- // case "R09":
- // if (ceng == "1")
- // {
- // endLocat = "073";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "325";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "433";
- // }
- // break;
- // case "R10":
- // if (ceng == "1")
- // {
- // endLocat = "065";
- // }
- // else if (ceng == "2")
- // {
- // endLocat = "337";
- // }
- // else if (ceng == "3")
- // {
- // endLocat = "437";
- // }
- // break;
- //}
-
-
-
}
+ /// <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;
+ taskNo = result.TaskList.TaskNo;
+ }
+ 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>
@@ -243,7 +171,9 @@
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 && string.IsNullOrWhiteSpace(m.EndLocate));
+ 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)
{
@@ -258,20 +188,35 @@
string url = Urls.WMSAddress + ":" + Urls.WMSPort;
var result = (url + "/api/DownAPi/RequestLocation").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result;
Log.Information("璋冪敤WMS鐢宠鍌ㄤ綅鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson());
- if (result.StatusCode == "0")
+ if (result.Success == 0)
{
-
- var taskAdd = new WcsTask()
+ var taskUp = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.TaskNo == result.TaskList.TaskNo);
+ if (taskUp == null)
{
- TaskType = TaskTypeEnum.In,
- Origin = "WMS",
- StartLocate = startLocat,
- TaskNo = result.TaskList.TaskNo,
- EndLocate = result.TaskList.EndLocate,
- EndRoadway = result.TaskList.EndRoadway
- };
+ var taskAdd = new WcsTask()
+ {
+ TaskNo = result.TaskList.TaskNo,
+ TaskType = TaskTypeEnum.In,
+ Status = TaskStatusEnum.Wait,
+ //IsSuccess =TaskSuccessEnum.Success,
+ Origin = "WMS",
+ StartLocate = startLocat,
+ PalletNo = palletNo,
+ EndLocate = result.TaskList.EndLocate,
+ EndRoadway = result.TaskList.EndRoadway
+ };
+ _db.Insertable(taskAdd).ExecuteCommand();
+ HubUtil.PublicTask(taskAdd.Adapt<WcsTaskOutput>());
+ }
+ else
+ {
+ taskUp.EndRoadway = result.TaskList.EndRoadway;
+ taskUp.EndLocate = result.TaskList.EndLocate;
+ _db.Updateable(taskUp).ExecuteCommand();
+ HubUtil.PublicTask(taskUp.Adapt<WcsTaskOutput>());
+ }
- _db.Updateable(taskAdd).ExecuteCommand();
+
returnStr = result.TaskList.EndLocate;
taskNo = result.TaskList.TaskNo;
}
@@ -288,7 +233,6 @@
}
return returnStr;
-
}
@@ -297,10 +241,10 @@
/// </summary>
/// <param name="model">浠诲姟瀹屾垚鐘舵��</param>
/// <returns></returns>
- public async Task<ResponseTasks> RequestTask(TaskRequest model)
+ public async Task<ResponseModel> RequestTask(TaskRequestWMS model)
{
string url = Urls.WMSAddress + ":" + Urls.WMSPort;
- var result = await (url + "/api/DownAPi/ReceiveWcsSignal").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>();
+ var result = await (url + "/api/DownAPi/ReceiveWcsSignal").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseModel>();
Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson());
return result;
}
@@ -313,7 +257,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;
}
@@ -326,8 +281,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