From 413194b8c6a71fea8cb7a567800b11703c6c7d5a Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 11 六月 2025 14:40:05 +0800
Subject: [PATCH] 添加叠托机业务
---
Admin.NET/WCS.Application/Util/HttpService.cs | 55 +++++++++++++++++++++++++++
Admin.NET/WCS.Application/Model/AGVModel.cs | 9 ++++
Admin.NET/WCS.Application/OpenApi/OpenApi.cs | 25 ++++++++++++
Admin.NET/WCS.Application/Model/TaskRequest.cs | 21 ++++++++++
4 files changed, 110 insertions(+), 0 deletions(-)
diff --git a/Admin.NET/WCS.Application/Model/AGVModel.cs b/Admin.NET/WCS.Application/Model/AGVModel.cs
index e6231ee..607a0ef 100644
--- a/Admin.NET/WCS.Application/Model/AGVModel.cs
+++ b/Admin.NET/WCS.Application/Model/AGVModel.cs
@@ -185,6 +185,15 @@
/// 鏂规硶鍚� end : 浠诲姟缁撴潫
/// </summary>
public string Method { get; set; }
+
+ /// <summary>
+ /// 鎵樼洏鍙�
+ /// </summary>
+ public string carrierCode { get; set; }
+ /// <summary>
+ /// 鎵樼洏鏁伴噺
+ /// </summary>
+ public int pileCount { get; set; }
}
public class AGVCallBackResponse
{
diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs
index 5d28098..c1d5d91 100644
--- a/Admin.NET/WCS.Application/Model/TaskRequest.cs
+++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs
@@ -2,6 +2,27 @@
using WCS.Application.Entity;
namespace WCS.Application;
+
+/// <summary>
+/// 绌烘墭璺哄叆搴撶敵璇�
+/// </summary>
+public class NullPallInRequest
+{
+
+ public string PalletNo { get; set; }
+ /// <summary>
+ /// 鎵樼洏鏁伴噺
+ /// </summary>
+ public int PallNum { get; set; }
+ /// <summary>
+ /// 鍌ㄤ綅
+ /// </summary>
+ public string Locate { get; set; }
+
+ public string HouseNo { get; set; }
+
+}
+
public class TaskRequest
{
public string TaskNo { get; set; } // 浠诲姟鍙�
diff --git a/Admin.NET/WCS.Application/OpenApi/OpenApi.cs b/Admin.NET/WCS.Application/OpenApi/OpenApi.cs
index aadbd65..c6a068c 100644
--- a/Admin.NET/WCS.Application/OpenApi/OpenApi.cs
+++ b/Admin.NET/WCS.Application/OpenApi/OpenApi.cs
@@ -3,6 +3,7 @@
using Furion.Logging;
using WCS.Application.Entity;
using WCS.Application.Util;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types;
namespace WCS.Application;
@@ -428,7 +429,11 @@
Code = "0"
};
if (input.robotTaskCode.Substring(0, 3) != "WCS" && input.robotTaskCode.Substring(0, 2) != "TK")
+ {
+ result.Message = "鍙嶉鐨勪换鍔′笉鏄疻CS鐨勪换鍔�";
+ result.Code = "1";
return result;
+ }
PLCUtil modUtil = null;
try
{
@@ -532,6 +537,26 @@
}
}
break;
+ case "notifyFullSite":
+ {
+ var palletNo = input.Extra.Values.carrierCode;
+ var count = input.Extra.Values.pileCount;
+ if (string.IsNullOrWhiteSpace(palletNo) || count <= 0)
+ {
+ throw new Exception("鍙傛暟锛氭墭鐩樺彿/鏁伴噺楠岃瘉澶辫触");
+ }
+ //鍚慦MS鐢宠绌烘墭鍏ュ簱
+ HttpService httpService = new HttpService();
+ var inputs = new NullPallInRequest();
+
+ inputs.PalletNo = modTask.PalletNo;
+ inputs.PallNum = count;
+ inputs.Locate = "B100101";//鍙犳墭鐩樻満浣嶇疆
+ inputs.HouseNo = "W02";
+ var modResponseTask = httpService.RequestLiKuPallet(inputs);
+
+ }
+ break;
case "cancel"://浠诲姟鍙栨秷
{
PLCService.AGVStatus = false;
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 545364f..03cfa9d 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -37,6 +37,61 @@
};
}
+ /// <summary>
+ /// 璋冪敤WMS鎺ュ彛鐢宠鍙犳墭鏈虹┖鎵樺叆搴撴帴鍙�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ public string RequestLiKuPallet(NullPallInRequest model)
+ {
+ 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 == model.PalletNo);
+
+ if (task == null)
+ {
+ string url = Urls.WMSAddress + ":" + Urls.WMSPort;
+ var result = (url + "/api/DownAPi/RequestPalletIn").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,
+ Type = PLCTypeEnum.ConveyorLine,
+ Origin = "WMS",
+
+ PalletNo = model.PalletNo,
+ TaskNo = result.TaskList.TaskNo,
+ Levels = 999,
+
+ StartLocate = model.Locate,
+ StartRoadway = result.TaskList.StartRoadway,
+ EndLocate = result.TaskList.EndLocate,
+ EndRoadway = result.TaskList.EndRoadway,
+ TaskId = FourWayCarUtil.GetTaskId()
+ };
+
+ _db.Insertable(taskAdd).ExecuteCommand();
+
+ returnStr = result.TaskList.EndLocate;
+
+ }
+ else
+ {
+ returnStr = "-1:" + result.Message;
+ return returnStr;
+ }
+ }
+ else
+ {
+ returnStr = task.EndLocate;
+ }
+
+ return returnStr;
+ }
/// <summary>
/// 璋冪敤WMS鎺ュ彛鐢宠宸烽亾鎺ュ彛
--
Gitblit v1.8.0