From b9f7560cbe0e562a40e9515a0559a3e951f0fee6 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期一, 07 四月 2025 09:16:01 +0800
Subject: [PATCH] 问题修改
---
Wms/Wms/Controllers/DownApiController.cs | 248 +++++++++++++++++++++++++++++--------------------
1 files changed, 148 insertions(+), 100 deletions(-)
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index c513a72..68ed079 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -36,8 +36,10 @@
private readonly IPdaSoServer _pdaSoSvc;//绌烘墭鍑哄簱Svc
private readonly IPdaAsnServer _paAsnSvc;//绌烘墭璺虹粦瀹�
private readonly IStockServer _stockSvc;//AGV浠诲姟瀹屾垚绠�
+ private readonly IPdaCrServer _pdaCrServer; // PDA浠诲姟璋冨害
+ private static readonly object OLock = new object();
- public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc)
+ public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc,IPdaCrServer pdaCrServer)
{
_config = setting.Value;
_exNoticeSvc = exNoticeSvc;
@@ -46,7 +48,8 @@
_taskSvc = taskSvc;
_pdaSoSvc = pdaSoSvc;
_paAsnSvc = paAsnSvc;
- _stockSvc = stockSvc;
+ _stockSvc = stockSvc;
+ _pdaCrServer = pdaCrServer;
}
#region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛
@@ -61,7 +64,7 @@
/// <returns></returns>
[Authorize]
[HttpGet]
- public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre)
+ public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode,string checkmode, string loadingAddre)
{
try
{
@@ -82,7 +85,7 @@
// return Ok(new { code = 1, msg = "璇烽�夋嫨鍑哄簱鍙�" });
//}
- var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+ var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, checkmode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
return Ok(new { code = 0, msg = str, data = list });
@@ -217,45 +220,47 @@
[HttpPost]
public IActionResult RequestRoadWay(RequestLocate model)
{
- var logStr = "";
+ lock (OLock) {
+ var logStr = "";
- logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- try
- {
-
- var jsonData = JsonConvert.SerializeObject(model);
- LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
- if (model.TaskModel == "1")
+ try
{
- var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
- LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
+ if (model.TaskModel == "1")
+ {
+ var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
+
+ LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo,
+ "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", 2);
+
+ return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+ }
+ else
+ {
+
+ var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
+
+ LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8),
+ "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);
+
+ return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+ }
+
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo,
- "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", 2);
+ "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", 2);
- return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
}
- else
- {
-
- var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
-
- LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
- new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8),
- "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);
-
- return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
- }
-
- }
- catch (Exception e)
- {
- LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
- new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo,
- "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", 2);
-
- return Ok(new ErpModel { Success = -1, Message = e.Message });
}
}
@@ -282,65 +287,68 @@
//}
//string palletno = model.PalletNo;
- var logStr = "";
- if (model.PalletNo.Length == 9)
+ lock (OLock)
{
- logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- }
- else if (model.PalletNo.Length == 8)
- {
- logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- }
-
- try
- {
+ var logStr = "";
if (model.PalletNo.Length == 9)
{
- var jsonData = JsonConvert.SerializeObject(model);
- LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+ logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
}
else if (model.PalletNo.Length == 8)
{
- var jsonData = JsonConvert.SerializeObject(model);
- LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+ logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ }
- }
- string pallet = model.PalletNo.Substring(0, 8);
- OutCommandDto list;
- if (model.TaskModel == "1")
+ try
{
- list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
- }
- else
- {
- list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
- }
+ if (model.PalletNo.Length == 9)
+ {
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+ }
+ else if (model.PalletNo.Length == 8)
+ {
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+
+ }
+ string pallet = model.PalletNo.Substring(0, 8);
+ OutCommandDto list;
+ if (model.TaskModel == "1")
+ {
+ list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
+ }
+ else
+ {
+ list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
+ }
- if (model.PalletNo.Length == 9)
- {
- new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId)
- LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
- }
- else if (model.PalletNo.Length == 8)
- {
- LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
- }
+ if (model.PalletNo.Length == 9)
+ {
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId)
+ LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ }
+ else if (model.PalletNo.Length == 8)
+ {
+ LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ }
- return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
- }
- catch (Exception e)
- {
- if (model.PalletNo.Length == 9)
- {
- new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId)
- LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr);
+ return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
}
- else if (model.PalletNo.Length == 8)
+ catch (Exception e)
{
- LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
- }
+ if (model.PalletNo.Length == 9)
+ {
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId)
+ LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr);
+ }
+ else if (model.PalletNo.Length == 8)
+ {
+ LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
+ }
- return Ok(new ErpModel { Success = -1, Message = e.Message });
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
}
}
@@ -552,12 +560,14 @@
[HttpPost]
public IActionResult BindPlnInHouseWcs(PalletsBind model)
{
- var logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粦瀹�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var logStr = $@".\log\WCS\WCS鍙堝彔鎵樻満鐢宠绌烘墭鍏ュ簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
var strMsg = _paAsnSvc.BindNullPallets(model);
- return Ok(new { Success = 0, Message = "绌烘墭璺虹粦瀹氭垚鍔�", TaskList = strMsg });
+ return Ok(new { Success = 0, Message = "绌烘墭璺虹粦瀹氭垚鍔�"});
}
catch (Exception e)
{
@@ -577,6 +587,8 @@
public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model)
{
var logStr = $@".\log\WCS\WCS鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0);
@@ -592,6 +604,32 @@
}
/// <summary>
+ /// WMS鎷h揣鐢宠绌烘墭鍑哄簱
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpPost]
+ public IActionResult IssuePlnCheckHouseWcs(CheckModePalletVm model)
+ {
+ var logStr = $@".\log\WCS\WMS鎷h揣鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
+ try
+ {
+ string list = _pdaSoSvc.IssuePlnCehckHouseWcs(model, 0,_config.AgvHost+_config.GenAgvSchedulingTask);
+
+ return Ok(new { Success = 0, Message = "鎷h揣鍙┖鎵樼洏鎴愬姛"});
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"WMS鎷h揣鐢宠绌烘墭鍑哄簱寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
+ }
+
+ /// <summary>
/// WCS鐢宠鏄惁缂犺啘
/// </summary>
/// <param name="model"></param>
@@ -601,6 +639,8 @@
public IActionResult RequestPackWcs(RequesIsBale model)
{
var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
int t = _asnPalletBindSvc.RequestPackWcs(model.PalletNo);
@@ -626,6 +666,8 @@
public IActionResult RequestUnPackWcs(RequesIsBale model)
{
var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
int t = _asnPalletBindSvc.RequestUnPackWcs(model.PalletNo);
@@ -650,6 +692,8 @@
public IActionResult RequestPackedWcs(RequesIsBale model)
{
var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
int t = _asnPalletBindSvc.RequestPackedWcs(model.PalletNo);
@@ -710,6 +754,8 @@
public IActionResult ResultBoxInfoCheckWcs(BoxInfoCheck model)
{
var logStr = $@".\log\WCS\WCS鐢宠鎷嗗灈鎵樼洏淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
RequestBoxInfoCheck list = _exNoticeSvc.BoxInfoCheckWcs(model);
@@ -735,23 +781,24 @@
public IActionResult ResultBoxInfoExportWcs(BoxInfoCheck model)
{
var logStr = $@".\log\WCS\WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
try
{
//杩斿洖鍑哄簱鍒嗘嫞瑁呰溅鍙�
var list = _exNoticeSvc.BoxInfoExportWcs(model.BoxNo);
- return Ok(new { Success = 1, Message = "鎴愬搧绠辩爜鎷嗗灈鎷h揣鎴愬姛", loadubgAddre = list });
+ return Ok(new { Success = "1", Message = "鎴愬搧绠辩爜鎷嗗灈鎷h揣鎴愬姛", loadingAddre = list });
}
catch (Exception e)
{
LogFile.SaveLogToFile($"WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣寮傚父杩斿洖锛�( {e.Message} ),", logStr);
- return Ok(new ErpModel { Success = -1, Message = e.Message });
+ return Ok(new { Success = "-1", Message = e.Message, loadingAddre = "" });
}
}
-
-
+
#endregion
@@ -784,10 +831,10 @@
switch (orderType)
{
case "0"://鍏ュ簱浠诲姟鎵ц
- if (model.TaskTyp == "mid") //AGV鍒拌揪鍏ュ簱鍙o紝璇锋眰鏀捐揣
+ if (model.Method == "mid") //AGV鍒拌揪鍏ュ簱鍙o紝璇锋眰鏀捐揣
{
//涓嬪彂WCS鏀捐揣璇锋眰
- var ret = _taskSvc.GetWcsPuttype(model.CurrentCallCode,_config.WcsHost + _config.MesBeiLiaoUrl);
+ var ret = _taskSvc.GetWcsPuttype(model.TaskCode,_config.WcsHost + _config.HttpInRequest);
if (ret.Contains("-1"))
{
logStr = $@".\log\WCS\浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
@@ -795,21 +842,21 @@
return Ok(new OutCommanAgvDto { Code = "1", Message = "澶辫触", ReqCode = model.ReqCode });
}
}
- else if (model.TaskTyp == "end")//AGV鏀捐揣鍒板叆搴撳彛瀹屾垚
+ else if (model.Method == "end")//AGV鏀捐揣鍒板叆搴撳彛瀹屾垚
{
- _stockSvc.ArriveFinish(model.TaskCode);
+ _stockSvc.ArriveFinish(model.TaskCode,_config.WcsHost + _config.HttpInFinish);
}
break;
case "1"://鍑哄簱浠诲姟鎵ц
- _stockSvc.SoFinish(model.TaskCode);
+ _stockSvc.SoFinish(model.TaskCode,_config.MesHost + _config.MesBeiLiaoUrl);
break;
case "2"://鐩樺簱浠诲姟鎵ц
case "3"://绉诲簱浠诲姟鎵ц
- _stockSvc.MoveFinish(model.TaskCode);
+ _stockSvc.MoveFinish(model.TaskCode, _config.MesHost + _config.MesBeiLiaoUrl);
break;
// return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛", ReqCode = model.ReqCode });
@@ -836,6 +883,7 @@
/// </summary>
/// <param name="model">鍏ュ簱鍙d俊鎭�</param>
/// <returns></returns>
+ [HttpPost]
public IActionResult AgcontinueTask(PutModel model)
{
try
@@ -845,17 +893,17 @@
var jsonData = JsonConvert.SerializeObject(model);
LogFile.SaveLogToFile($"WCS浠诲姟鍙嶉鎵ц閫氱煡锛�( {jsonData} ),", logStr);
- //涓嬪彂AGV鍏ュ簱浠诲姟
- var taskType = _taskSvc.GetTaskType(model.TaskNo);
+ //涓嬪彂AGV缁х画鎵ц
+ _pdaCrServer.AgvContinue(model.TaskNo,_config.AgvHost+_config.ContinueTask);
- return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛"});
+ return Ok(new HttpReturnModel { Success = "0", Message = "鎴愬姛"});
}
- catch (Exception)
+ catch (Exception ex)
{
-
- throw;
+ return Ok(new HttpReturnModel { Success = "1", Message = ex.ToString() });
+ throw ex;
}
}
--
Gitblit v1.8.0