From 1a39a01ff6d99ab4c98e7243aa0d3e0a264008ad Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期日, 16 二月 2025 09:02:33 +0800
Subject: [PATCH] 修改测试出现的问题
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 35 ++++++++
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs | 116 +++++++++++++++++++++++++++++
Admin.NET/WCS.Application/Util/HttpService.cs | 21 +++++
Admin.NET/WCS.Application/Model/TaskRequest.cs | 20 +++++
4 files changed, 190 insertions(+), 2 deletions(-)
diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs
index 3ae8e61..6945a70 100644
--- a/Admin.NET/WCS.Application/Model/TaskRequest.cs
+++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs
@@ -568,3 +568,23 @@
public string FinishQty { get; set; }
}
+
+public class PortModel
+{
+ /// <summary>
+ /// 鍏ュ簱鍙�
+ /// </summary>
+ public string Port { get; set; }
+}
+
+public class PortRequestModel
+{
+ /// <summary>
+ /// 鍏ュ簱鍙�
+ /// </summary>
+ public string Port { get; set; }
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public string TaskNo { get; set; }
+}
diff --git a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
index 67583ce..312164b 100644
--- a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
+++ b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -1,4 +1,5 @@
锘縰sing Dm.filter;
+using DocumentFormat.OpenXml.Drawing.Charts;
using DocumentFormat.OpenXml.Presentation;
using Elastic.Clients.Elasticsearch;
using Furion.Logging;
@@ -398,4 +399,119 @@
}
}
+
+ /// <summary>
+ /// WCS鎺ュ彈WMS鍏ュ簱鏀捐揣纭鎺ュ彛
+ /// </summary>
+ /// <param name="models"></param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public IsBaleModel2 HttpInConfirm(PortModel models)
+ {
+
+ try
+ {
+ string str = JsonConvert.SerializeObject(models);
+ Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port+"鍏ュ簱鍙�");
+
+ //妫�娴嬪叆搴撳彛鐘舵�侊紝120涓哄彲鏀撅紝鍗犵敤鍒欎慨鏀逛负130
+ WcsDeviceDto modDevice = new WcsDeviceDto();
+ var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "PLC娴佺▼瀛�");
+ var plcConn = modDevice.PLCUtil;
+ var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
+ if (val.ToString() == "120")
+ {
+ modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS娴佺▼瀛�");
+ //璇诲彇鎴愬姛鍚庡啓鍏�130
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "130");//鍗犵敤姝ゅ伐浣�
+ if (ret.IsSucceed)
+ {
+ //鍥炰紶WMS鍙斁淇″彿
+ return new IsBaleModel2() { Success = 0, Message = "鎺ュ彈鎴愬姛" };
+ }
+ }
+ return new IsBaleModel2() { Success = -1, Message = "璇诲彇PLC鐐逛綅淇℃伅澶辫触" };
+ }
+ catch (Exception ex)
+ {
+ return new IsBaleModel2() { Success = -1, Message = ex.Message };
+ }
+ }
+
+
+ /// <summary>
+ /// WCS鎺ュ彈WMS鍏ュ簱鏀捐揣璇锋眰鎺ュ彛
+ /// </summary>
+ /// <param name="models"></param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public IsBaleModel2 HttpInRequest(PortRequestModel models)
+ {
+ try
+ {
+ string str = JsonConvert.SerializeObject(models);
+ Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port + "鍏ュ簱鍙�");
+
+ WcsDeviceDto modDevice = new WcsDeviceDto();
+ var plcConn = modDevice.PLCUtil;
+ //鑾峰彇宸ヤ綅鐐逛綅淇℃伅
+ //modDevice = ......=models.Port
+ var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
+ plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, models.TaskNo);//鍐欏叆浠诲姟鍙�
+ //
+ modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS娴佺▼瀛�");
+
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "140");//寮�濮嬫斁璐�
+ if (ret.IsSucceed)
+ {
+ //鍥炰紶WMS鏀捐揣淇″彿
+ return new IsBaleModel2() { Success = 0, Message = "鎺ュ彈鎴愬姛" };
+ }
+ return new IsBaleModel2() { Success = -1, Message = "璇诲彇PLC鐐逛綅淇℃伅澶辫触" };
+ }
+ catch (Exception ex)
+ {
+ return new IsBaleModel2() { Success = -1, Message = ex.Message };
+ }
+ }
+
+
+
+ /// <summary>
+ /// WCS鎺ュ彈WMS灏忚溅鏀惧畬鎴愭帴鍙�
+ /// </summary>
+ /// <param name="models"></param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public IsBaleModel2 HttpInFinish(PortModel models)
+ {
+
+ try
+ {
+ string str = JsonConvert.SerializeObject(models);
+ Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port + "鍏ュ簱鍙�");
+
+ WcsDeviceDto modDevice = new WcsDeviceDto();
+ //鑾峰彇宸ヤ綅鐐逛綅淇℃伅
+ //modDevice = ......=models.Port
+
+ var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "WCS娴佺▼瀛�");
+ var plcConn = modDevice.PLCUtil;
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "140");//寮�濮嬫斁璐�
+ if (ret.IsSucceed)
+ {
+ //鍥炰紶WMS鏀捐揣淇″彿
+ return new IsBaleModel2() { Success = 0, Message = "鎺ュ彈鎴愬姛" };
+ }
+ return new IsBaleModel2() { Success = -1, Message = "璇诲彇PLC鐐逛綅淇℃伅澶辫触" };
+ }
+ catch (Exception ex)
+ {
+ return new IsBaleModel2() { Success = -1, Message = ex.Message };
+ }
+ }
+
}
\ No newline at end of file
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 92a5551..42f3e22 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -1757,11 +1757,42 @@
{ // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
var strMsg = "";
var http = new HttpService();
- var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
- var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
// 鑾峰彇鎵樼洏浠诲姟鍙�
var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
+ if (res1.IsSucceed)
+ {
+ string tasknoVal = val.ToString();
+ var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false);
+ if (modTask == null)
+ {
+ //璇诲彇鎴愬姛鍚庡啓鍏�151
+ var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "151");//鏀跺埌鍙斁淇″彿鍚庡啓鍏�151
+ if (ret.IsSucceed)
+ {
+ //鍥炰紶WMS鍙斁淇″彿
+ strMsg = http.RequesContinueAgv(res1.ToString(),modTask.StationNum);
+ if (!strMsg.Contains("-1"))
+ {
+ // 鎻掑叆浠诲姟鏄庣粏
+ var modInsertTaskMonitor = new WcsTaskMonitor()
+ {
+ PlcId = modDevice.Id,
+ PlcName = modDevice.Text,
+ InteractiveMsg = $"鍐欏叆鎸囦护151锛歿modDevice.StationNum}宸ヤ綅鍙帴鍙桝GV鏀捐揣鍏ュ簱",
+ PalletNo = modTask.PalletNo,
+ Status = TaskStatusEnum.Complete,
+ StartLocat = modDevice.StationNum
+ };
+ // 鎻掑叆浜や簰鏃ュ織
+ _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+ }
+ }
+ break;
+ }
+ }
+ //
+
}
break;
#endregion
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index fde3f28..7aa62f6 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -419,6 +419,8 @@
return result.Success.ToString();
}
+
+
/// <summary>
/// 璋冪敤WMS鎺ュ彛鍙嶉缂犺啘瀹屾垚
/// </summary>
@@ -490,4 +492,23 @@
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鎺ュ彛鍙嶉鎷嗚啘寮傚父鎺ュ彛" + result.ToJson());
+ return result.Success.ToString();
+ }
}
--
Gitblit v1.8.0