From d09a1552e45e6cfc8f83c0249cd296b8706c0dc2 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期二, 20 五月 2025 09:33:27 +0800
Subject: [PATCH] 修改下发AGV任务接口,修改条码增加功能
---
Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs | 285 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 182 insertions(+), 103 deletions(-)
diff --git a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
index 1c4763c..f497068 100644
--- a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
@@ -217,7 +217,7 @@
/// <param name="lotNo">鎵规</param>
/// <param name="userId">鎿嶄綔浜�</param>
/// <exception cref="Exception"></exception>
- public void jiaoLiaoHopper(string areaNo,string endLocate,string plnStatus,string standard,string skuNo,string lotNo,string url,int userId)
+ public void jiaoLiaoHopper(string areaNo,string endLocate,string plnStatus,string standard,string skuNo,string lotNo,string url, string bindUrl, int userId)
{
try
{
@@ -306,7 +306,7 @@
{
throw new Exception("鏈壘鍒板搴旀《淇℃伅");
}
- resultYi = YikuTask(palletModel.PalletNo, taskNo, url);
+ resultYi = YikuTask(palletModel.PalletNo, taskNo, url,bindUrl);
}
#endregion
//璧峰鍌ㄤ綅鍦板潃淇℃伅
@@ -358,29 +358,41 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿绫诲瀷
+ var bind = RcsHelper.BindPalletAndSite(palletModel.PalletNo, palletModel.LocatNo, url, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskEntry.IsSuccess = 1;
- logTaskEntry.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskEntry.BackDate = DateTime.Now;
- logTaskEntry.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskEntry).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskEntry).ExecuteCommand();
- startLoction.Status = "3";//鍑哄簱涓�
- Db.Updateable(startLoction).ExecuteCommand();
+ startLoction.Status = "3";//鍑哄簱涓�
+ Db.Updateable(startLoction).ExecuteCommand();
- endLocateInfo.Status = "2";//鍏ュ簱涓�
- Db.Updateable(endLocateInfo).ExecuteCommand();
+ endLocateInfo.Status = "2";//鍏ュ簱涓�
+ Db.Updateable(endLocateInfo).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskEntry.IsSuccess = 0;
+ logTaskEntry.Information = agvMsg;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+ }
}
- else//澶辫触
+ else
{
logTaskEntry.IsSuccess = 0;
- logTaskEntry.Information = agvMsg;
+ logTaskEntry.Information = "璐ф灦涓庤揣浣嶇粦瀹氬け璐ワ紝鍘熷洜锛�"+agvBindMsg;
Db.Insertable(logTaskEntry).ExecuteCommand();
}
+
}
//鎻愪氦浜嬪姟
Db.CommitTran();
@@ -405,7 +417,7 @@
/// <param name="lotNo">鎵规</param>
/// <param name="userId">鎿嶄綔浜�</param>
/// <exception cref="Exception"></exception>
- public void jiaoCheHopper(string areaNo, string StartLocate, string plnNo, string plnStatus, decimal weight, string skuNo, string lotNo, string url,int userId)
+ public void jiaoCheHopper(string areaNo, string StartLocate, string plnNo, string plnStatus, decimal weight, string skuNo, string lotNo, string url,string bindUrl,int userId)
{
try
{
@@ -550,29 +562,42 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿涓庤揣浣嶇粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(plnNo, StartLocate, bindUrl, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskEntry.IsSuccess = 1;
- logTaskEntry.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskEntry.BackDate = DateTime.Now;
- logTaskEntry.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskEntry).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskEntry).ExecuteCommand();
- startLoction.Status = "3";//鍑哄簱涓�
- Db.Updateable(startLoction).ExecuteCommand();
+ startLoction.Status = "3";//鍑哄簱涓�
+ Db.Updateable(startLoction).ExecuteCommand();
- endLocatInfo.Status = "2";//鍏ュ簱涓�
- Db.Updateable(endLocatInfo).ExecuteCommand();
+ endLocatInfo.Status = "2";//鍏ュ簱涓�
+ Db.Updateable(endLocatInfo).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskEntry.IsSuccess = 0;
+ logTaskEntry.Information = agvMsg;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+ }
+
}
- else//澶辫触
+ else
{
logTaskEntry.IsSuccess = 0;
- logTaskEntry.Information = agvMsg;
+ logTaskEntry.Information = "璐ф灦涓庤揣浣嶇粦瀹氬け璐ワ紝鍘熷洜锛�"+agvBindMsg;
Db.Insertable(logTaskEntry).ExecuteCommand();
}
+
//鎻愪氦浜嬪姟
Db.CommitTran();
@@ -727,7 +752,7 @@
/// <param name="deviceStation">鍙枡鐐逛綅锛氣�漣nput鈥�-鍏ュ彛锛堝彨鑴忔《锛夛紝鈥漮utput鈥�-鍑哄彛锛堝噣妗剁敵璇峰偍浣嶏級</param>
/// <param name="status"></param>
/// <exception cref="Exception"></exception>
- public void RCSCleanRequest(string deviceID,string deviceStation,string status,string url)
+ public void RCSCleanRequest(string deviceID,string deviceStation,string status,string url,string bindUrl)
{
try
{
@@ -859,29 +884,41 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿涓庤揣浣嶇粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(palletModel.PalletNo, palletModel.LocatNo, bindUrl, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskEntry.IsSuccess = 1;
- logTaskEntry.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskEntry.BackDate = DateTime.Now;
- logTaskEntry.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskEntry).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskEntry).ExecuteCommand();
- startLoction.Status = "3";//鍑哄簱涓�
- Db.Updateable(startLoction).ExecuteCommand();
+ startLoction.Status = "3";//鍑哄簱涓�
+ Db.Updateable(startLoction).ExecuteCommand();
- endLoction.Status = "2";//鍏ュ簱涓�
- Db.Updateable(endLoction).ExecuteCommand();
+ endLoction.Status = "2";//鍏ュ簱涓�
+ Db.Updateable(endLoction).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskEntry.IsSuccess = 0;
+ logTaskEntry.Information = agvMsg;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+ }
}
- else//澶辫触
+ else
{
logTaskEntry.IsSuccess = 0;
- logTaskEntry.Information = agvMsg;
+ logTaskEntry.Information = agvBindMsg;
Db.Insertable(logTaskEntry).ExecuteCommand();
}
+
//鎻愪氦浜嬪姟
Db.CommitTran();
}
@@ -893,7 +930,7 @@
}
}
- private bool YikuTask(string palletNo, string taskNo, string url)
+ private bool YikuTask(string palletNo, string taskNo, string url,string bindUrl)
{
try
{
@@ -985,33 +1022,47 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg, "70");
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿涓庤揣浣嶇粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(palletInfoYi.LocatNo, palletInfoYi.PalletNo, bindUrl, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskEntry.IsSuccess = 1;
- logTaskEntry.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskEntry.BackDate = DateTime.Now;
- logTaskEntry.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskEntry).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg, "70");
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskEntry).ExecuteCommand();
- //淇敼绉诲嚭鍌ㄤ綅鐘舵��
- locatInfo.Status = "5";//绉诲嚭涓�
- Db.Updateable(locatInfo).ExecuteCommand();
+ //淇敼绉诲嚭鍌ㄤ綅鐘舵��
+ locatInfo.Status = "5";//绉诲嚭涓�
+ Db.Updateable(locatInfo).ExecuteCommand();
- //淇敼绉诲叆鍌ㄤ綅鐘舵��
- transferLocat.Status = "4";//绉诲叆涓�
- Db.Updateable(transferLocat).ExecuteCommand();
+ //淇敼绉诲叆鍌ㄤ綅鐘舵��
+ transferLocat.Status = "4";//绉诲叆涓�
+ Db.Updateable(transferLocat).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskEntry.IsSuccess = 0;
+ logTaskEntry.Information = agvMsg;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+
+ throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿palletInfoYi.PalletNo}");
+ }
}
- else//澶辫触
+ else
{
logTaskEntry.IsSuccess = 0;
- logTaskEntry.Information = agvMsg;
+ logTaskEntry.Information = agvBindMsg;
Db.Insertable(logTaskEntry).ExecuteCommand();
throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿palletInfoYi.PalletNo}");
}
+
}
}
return true;
@@ -1027,7 +1078,7 @@
/// <param name="taskNo"></param>
/// <param name="url"></param>
/// <exception cref="Exception"></exception>
- public void OutBinAgv(string taskNo,string url)
+ public void OutBinAgv(string taskNo,string url, string bindUrl)
{
try
{
@@ -1080,33 +1131,47 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskInfoZ.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg, "70");
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿涓庤揣浠粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(logTaskInfoZ.PalletNo, logTaskInfoZ.StartLocat, bindUrl, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskInfoZ.IsSuccess = 1;
- logTaskInfoZ.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskInfoZ.BackDate = DateTime.Now;
- logTaskInfoZ.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskInfoZ).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg, "70");
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskInfoZ.IsSuccess = 1;
+ logTaskInfoZ.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskInfoZ.BackDate = DateTime.Now;
+ logTaskInfoZ.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskInfoZ).ExecuteCommand();
- //淇敼绉诲嚭鍌ㄤ綅鐘舵��
- startLocatInfoZ.Status = "5";//绉诲嚭涓�
- Db.Updateable(startLocatInfoZ).ExecuteCommand();
+ //淇敼绉诲嚭鍌ㄤ綅鐘舵��
+ startLocatInfoZ.Status = "5";//绉诲嚭涓�
+ Db.Updateable(startLocatInfoZ).ExecuteCommand();
- //淇敼绉诲叆鍌ㄤ綅鐘舵��
- endLocatInfoZ.Status = "4";//绉诲叆涓�
- Db.Updateable(endLocatInfoZ).ExecuteCommand();
+ //淇敼绉诲叆鍌ㄤ綅鐘舵��
+ endLocatInfoZ.Status = "4";//绉诲叆涓�
+ Db.Updateable(endLocatInfoZ).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskInfoZ.IsSuccess = 0;
+ logTaskInfoZ.Information = agvMsg;
+ Db.Insertable(logTaskInfoZ).ExecuteCommand();
+
+ throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿logTaskInfoZ.PalletNo}");
+ }
}
- else//澶辫触
+ else
{
logTaskInfoZ.IsSuccess = 0;
- logTaskInfoZ.Information = agvMsg;
+ logTaskInfoZ.Information = agvBindMsg;
Db.Insertable(logTaskInfoZ).ExecuteCommand();
throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿logTaskInfoZ.PalletNo}");
}
+
}
}
catch (Exception e)
@@ -1122,7 +1187,7 @@
/// </summary>
/// <param name="url"></param>
/// <exception cref="Exception"></exception>
- public void TransferBackTimer(string url)
+ public void TransferBackTimer(string url,string bindUrl)
{
try
{
@@ -1197,33 +1262,47 @@
string agvMsg = string.Empty;
//缁欎笅杞︿笅鍙戜换鍔�
logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
- var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
- if (agvResult)//鎴愬姛
+ //涓嬪彂杞藉叿涓庤揣浣嶇粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(detailInfo.PalletNo, detailInfo.LocatNo, bindUrl, out string agvBindMsg);
+ if (bind)
{
- //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
- logTaskEntry.IsSuccess = 1;
- logTaskEntry.IsSend = 0;
- //logTaskEntry.IsCancel = 0;
- logTaskEntry.BackDate = DateTime.Now;
- logTaskEntry.Status = "1";//姝e湪鎵ц
- Db.Insertable(logTaskEntry).ExecuteCommand();
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Insertable(logTaskEntry).ExecuteCommand();
- //淇敼绉诲嚭鍌ㄤ綅鐘舵��
- locatModel.Status = "5";//绉诲嚭涓�
- Db.Updateable(locatModel).ExecuteCommand();
+ //淇敼绉诲嚭鍌ㄤ綅鐘舵��
+ locatModel.Status = "5";//绉诲嚭涓�
+ Db.Updateable(locatModel).ExecuteCommand();
- //淇敼绉诲叆鍌ㄤ綅鐘舵��
- endLocatInfo.Status = "4";//绉诲叆涓�
- Db.Updateable(endLocatInfo).ExecuteCommand();
+ //淇敼绉诲叆鍌ㄤ綅鐘舵��
+ endLocatInfo.Status = "4";//绉诲叆涓�
+ Db.Updateable(endLocatInfo).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ logTaskEntry.IsSuccess = 0;
+ logTaskEntry.Information = agvMsg;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+
+ throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿detailInfo.PalletNo}");
+ }
}
- else//澶辫触
+ else
{
logTaskEntry.IsSuccess = 0;
- logTaskEntry.Information = agvMsg;
+ logTaskEntry.Information = agvBindMsg;
Db.Insertable(logTaskEntry).ExecuteCommand();
throw new Exception($"缁欏皬杞︿笅鍙戠Щ搴撲换鍔″け璐ワ紝妗跺彿锛歿detailInfo.PalletNo}");
}
+
}
}
//鎻愪氦浜嬪姟
--
Gitblit v1.8.0