From 0f925aa31ef78144d24878433302917c33d04c8d Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期三, 23 十月 2024 08:27:39 +0800
Subject: [PATCH] 修改问题
---
Wms/Wms/Controllers/DownApiController.cs | 285 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 251 insertions(+), 34 deletions(-)
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 68f194a..f407a96 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -13,6 +13,9 @@
using WMS.IBLL.IBllSoServer;
using WMS.IBLL.ILogServer;
using Wms.Tools;
+using System.Collections.Generic;
+using Model.ModelVm.PdaVm;
+using WMS.IBLL.IPdaServer;
namespace Wms.Controllers
{
@@ -28,13 +31,16 @@
private readonly IPalletBindServer _asnPalletBindSvc;//鎵樼洏缁戝畾Svc
private readonly IStockCheckServer _crCheckSvc;//鎵樼洏缁戝畾Svc
private readonly ITaskServer _taskSvc;//浠诲姟Svc
- public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc)
+ private readonly IPdaSoServer _pdaSoSvc;//绌烘墭鍑哄簱Svc
+
+ public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc)
{
_config = setting.Value;
_exNoticeSvc = exNoticeSvc;
_asnPalletBindSvc = asnPalletBindSvc;
_crCheckSvc = crCheckSvc;
_taskSvc = taskSvc;
+ _pdaSoSvc = pdaSoSvc;
}
#region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛
@@ -42,12 +48,14 @@
/// <summary>
/// 鎸囦护涓嬪彂锛堝嚭搴擄級
/// </summary>
- /// <param name="soNo"></param>
- /// <param name="outMode"></param>
+ /// <param name="unstackingMode">鎷嗗灈鏂瑰紡</param>
+ /// <param name="soNo">鍑哄簱鍗曞彿</param>
+ /// <param name="outMode">鍑哄簱鍙�</param>
+ /// <param name="loadingAddre">瑁呰溅鍙�</param>
/// <returns></returns>
[Authorize]
[HttpGet]
- public IActionResult IssueOutHouse(string soNo,string outMode)
+ public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre)
{
try
{
@@ -68,10 +76,10 @@
// return Ok(new { code = 1, msg = "璇烽�夋嫨鍑哄簱鍙�" });
//}
- var list = _exNoticeSvc.IssueOutHouse(soNo, outMode,int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl,out string str);
-
- return Ok(new { code = 0, msg = str , data = list });
-
+ var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+ return Ok(new { code = 0, msg = str, data = list });
+
}
catch (Exception e)
{
@@ -85,7 +93,7 @@
/// <param name="taskNo"></param>
/// <returns></returns>
[HttpGet]
- public IActionResult AgainSendSoTask(string taskNo)
+ public IActionResult AgainSendSoTask(string taskNo,string Receiver)
{
try
{
@@ -100,8 +108,20 @@
{
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId),_config.WcsHost + _config.IssueComApiUrl2);
-
+ //var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
+ OutCommandDto list = new OutCommandDto();
+ if (Receiver == "WCS")
+ {
+ //闇�鍒ゆ柇AGV鎴朩CS鐨勫嚭搴撲换鍔�
+ //wcs
+ list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
+ }
+ else if(Receiver == "AGV")
+ {
+ //agv
+ list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.ContinueTask);
+ }
+
return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = list });
@@ -120,7 +140,7 @@
/// <returns></returns>
[Authorize]
[HttpGet]
- public IActionResult CheckOutHouse(string crNo,string outMode)
+ public IActionResult CheckOutHouse(string crNo, string outMode)
{
try
{
@@ -136,7 +156,7 @@
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- var list = _crCheckSvc.CheckOutHouse(crNo, outMode,int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+ var list = _crCheckSvc.CheckOutHouse(crNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
return Ok(new { code = 0, msg = str, data = list });
@@ -183,6 +203,57 @@
#region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢�
/// <summary>
+ /// 鐢宠宸烽亾
+ /// </summary>
+ /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpPost]
+ public IActionResult RequestRoadWay(RequestLocate model)
+ {
+ var logStr = "";
+
+ logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+
+ try
+ {
+
+ 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.Substring(0, 8),
+ "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 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.Substring(0, 8),
+ "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);
+
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
+ }
+
+ /// <summary>
/// 鐢宠鍌ㄤ綅
/// </summary>
/// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
@@ -214,7 +285,7 @@
{
logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
}
-
+
try
{
if (model.PalletNo.Length == 9)
@@ -226,39 +297,43 @@
{
var jsonData = JsonConvert.SerializeObject(model);
LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+
}
-
string pallet = model.PalletNo.Substring(0, 8);
- var list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo,model.RoadwayNo);
-
+ 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)
+ 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)
- {
-
- }
-
+
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)
+ 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)
+ else if (model.PalletNo.Length == 8)
{
LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
}
-
+
return Ok(new ErpModel { Success = -1, Message = e.Message });
}
}
@@ -289,15 +364,20 @@
case "0"://鍏ュ簱瀹屾垚浠诲姟
if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
- _asnPalletBindSvc.ArrivalSuccess(model.TaskNo,0);
+ _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
}
break;
case "1"://鍑哄簱瀹屾垚浠诲姟
if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
- _exNoticeSvc.ExportSuccess(model.TaskNo,0);
+ _exNoticeSvc.ExportSuccess(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "鍑哄簱瀹屾垚" });
+ }
+ else if (model.TaskType == "2")
+ {
+ _exNoticeSvc.RelocationSuccess(model.TaskNo, 0);
+ return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
}
break;
case "2"://鐩樺簱瀹屾垚浠诲姟
@@ -318,8 +398,8 @@
//濉啓绉诲簱瀹屾垚浠g爜
}
break;
- default :
- return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
+ default:
+ return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
}
return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
}
@@ -335,7 +415,7 @@
/// </summary>
/// <returns></returns>
[HttpPost]
- public IActionResult EmptyException(ReceiveWcsSignal model)
+ public IActionResult EmptyException(ReceiveWcsSignal model)
{
var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
try
@@ -346,7 +426,7 @@
var bl = _exNoticeSvc.EmptyException(model);
LogFile.SaveLogToFile($"绌哄彇寮傚父锛�(鎵ц缁撴灉鎴愬姛),", logStr);
- return Ok(new { Success = 0, Message = ""});
+ return Ok(new { Success = 0, Message = "" });
}
catch (Exception e)
{
@@ -360,7 +440,7 @@
/// </summary>
/// <returns></returns>
[HttpPost]
- public IActionResult FullException(ReceiveWcsSignal model)
+ public IActionResult FullException(ReceiveWcsSignal model)
{
var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
try
@@ -425,13 +505,150 @@
throw new Exception(ex.Message);
}
}
+
+ /// <summary>
+ /// 鑷姩鐮佸灈缁戝畾淇℃伅杩斿洖宸烽亾鍙�
+ /// </summary>
+ /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpPost]
+ public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
+ {
+ var logStr = $@".\log\WCS\WCS鎵樼洏缁戝畾-鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- //鎵樼洏绠辩爜淇℃伅 鑷姩鐮佸灈 (wcs鎻愪緵)
+ try
+ {
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾锛�( {jsonData} ),", logStr);
+
+ _asnPalletBindSvc.BindPalletStock(model, 0);
+ //鐢宠宸烽亾
+ var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
+ LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+ return Ok(new { Success = 0, Message = "鎵樼洏缁戝畾-鐢宠宸烽亾鎴愬姛", TaskList = list });
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
+
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
+ }
+
+ /// <summary>
+ /// WCS鐢宠绌烘墭鍑哄簱
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpPost]
+ public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model)
+ {
+ var logStr = $@".\log\WCS\WCS鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ try
+ {
+ List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0);
+
+ return Ok(new { Success = 0, Message = "绌烘墭鐩樺嚭搴撴垚鍔�", TaskList = _list });
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"WCS鐢宠绌烘墭鍑哄簱寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
+ }
+
+
+ ///// <summary>
+ ///// 鎴愬搧绠辩爜鎷嗗灈鎷h揣
+ ///// </summary>
+ ///// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+ ///// <returns></returns>
+ //[AllowAnonymous]
+ //[HttpPost]
+ //public IActionResult BoxUnstackd(BoxPickList model)
+ //{
+ // var logStr = $@".\log\WCS\WCS鎴愬搧绠辩爜鎷嗗灈" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+
+ // try
+ // {
+
+ // var jsonData = JsonConvert.SerializeObject(model);
+ // LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈锛�( {jsonData} ),", logStr);
+
+ // _comeSvc.BoxUnstackd(model.PalletNo, model.BoxList);
+ // var list = new { Success = 0, Message = "鎴愬搧绠辩爜鎷嗗灈" };
+ // LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+ // return Ok(list);
+ // }
+ // catch (Exception e)
+ // {
+ // LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈锛�( {e.Message} ),", logStr);
+
+ // return Ok(new ErpModel { Success = -1, Message = e.Message });
+ // }
+ //}
//鐢宠绌烘墭(鑷姩鐮佺┖鎵樻椂鐢�)
//杞﹂棿鍙枡
+
+ #region AGV
+
+ /// <summary>
+ /// 浠诲姟鎵ц閫氱煡鎺ュ彛
+ /// AGV 鎵ц鍥炶皟鐨勬柟娉曪紝鍖呭惈浠诲姟寮�濮嬶紝璧板嚭鍌ㄤ綅锛屼换鍔″畬鎴愬強浠诲姟鍙栨秷銆�
+ /// 鍙栨秷閫氱煡涓轰换鍔″崟锛屽叾浠栭�氱煡涓哄崟涓换鍔$粍鎴栧瓙浠诲姟銆傛敞鎰忥細鏄惁閫氱煡闇�瑕佸湪浠诲姟妯℃澘閰嶇疆
+ /// </summary>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ [HttpPost]
+ public IActionResult AgvCallback(AgvContinueTask model)
+ {
+ try
+ {
+ //璁板綍log
+ var logStr = $@".\log\AGV\浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"AGV浠诲姟鍙嶉鎵ц閫氱煡锛�( {jsonData} ),", logStr);
+
+ //鎺ユ敹鏃堕棿
+ var time1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ var orderType = _taskSvc.GetTaskOrderType(model.TaskCode);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
+
+ var taskType = _taskSvc.GetTaskType(model.TaskCode);//鏍规嵁浠诲姟鍙疯幏鍙栦换鍔$被鍨�
+ switch (orderType)
+ {
+ case "0"://鍏ュ簱浠诲姟鎵ц
+ case "1"://鍑哄簱浠诲姟鎵ц
+ case "2"://鐩樺簱浠诲姟鎵ц
+ case "3"://绉诲簱浠诲姟鎵ц
+ return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛", ReqCode = model.ReqCode });
+
+ default:
+ return Ok(new OutCommanAgvDto { Code = "1", Message = "澶辫触", ReqCode = model.ReqCode });
+ }
+
+ }
+ catch (Exception ex)
+ {
+ return Ok(new WcsModel
+ {
+ StatusCode = -1,
+ Msg = ex.Message
+ });
+ }
+
+ }
+
+
+ #endregion
+
#endregion
--
Gitblit v1.8.0