From 6167bf4c8fe617d9f9861585042149d48ad15dbb Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期二, 13 五月 2025 17:54:50 +0800 Subject: [PATCH] 修改问题,添加PDA下发出库页面 --- Wms/Wms/Controllers/DownApiController.cs | 194 ++++++++++++++++++++++-------------------------- 1 files changed, 89 insertions(+), 105 deletions(-) diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index 210aeea..0bdcc9b 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -20,6 +20,8 @@ using System.Threading.Tasks; using Model.ModelVm.BllCheckVm; using System.Collections.Generic; +using System.Security.Policy; +using WMS.IBLL; namespace Wms.Controllers { @@ -37,7 +39,8 @@ private readonly ITaskServer _taskSvc;//浠诲姟Svc private readonly IBllTaskSyncServer _taskSyncSvc;//浠诲姟鍚屾Svc private readonly IWaveMageServer _waveSvc;//浠诲姟鍚屾Svc - public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc) + private readonly IHttpServer _http; + public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http) { _config = setting.Value; _exNoticeSvc = exNoticeSvc; @@ -46,6 +49,7 @@ _taskSvc = taskSvc; _taskSyncSvc = taskSyncSvc; _waveSvc = waveSvc; + _http = http; } #region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛 @@ -125,6 +129,7 @@ var house = _exNoticeSvc.GetHouseBySo(soNo); if (house == "W01") { + var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); return Ok(new { code = 0, msg = "str" }); } @@ -272,38 +277,6 @@ #region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢� /// <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"; - - 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> /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛� /// </summary> /// <param name="model">鍏ュ簱鍗曚俊鎭�</param> @@ -328,16 +301,16 @@ try { - var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo); - _asnPalletBindSvc.IssueAsnTask(list, _config.ErpHost+ _config.AsnFinishUrl);//agv璺緞 + var list = _http.RequestLocation(model.PalletNo, model.HouseNo); + _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞 - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId)); + new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId)); return Ok(new HttpReturnModel { Success = "0", Message = "鐢宠鍌ㄤ綅鎴愬姛", Data = list }); } catch (Exception e) { - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", int.Parse(userId)); + new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", int.Parse(userId)); return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); } @@ -350,7 +323,7 @@ /// <returns></returns> [AllowAnonymous] [HttpPost] - public IActionResult RequestRoadWay(RequestLocate model) + public IActionResult RequestMiJiRoadWay(RequestLocate model) { var logStr = ""; @@ -362,19 +335,15 @@ var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr); - var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo); + var list = _http.RequestMiJiRoadWay(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 }); } @@ -389,74 +358,26 @@ [HttpPost] public IActionResult RequestMiJiLocation(RequestLocate model) { - - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D - //var claimsIdentity = this.User.Identity as ClaimsIdentity; - //if (claimsIdentity == null) - //{ - // return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - //} - //var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - //if (string.IsNullOrWhiteSpace(userId)) - //{ - // return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - //} - - //string palletno = model.PalletNo; var logStr = ""; - if (model.PalletNo.Length == 9) - { - logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - } - else if (model.PalletNo.Length == 8) - { - logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - } - + + logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + try { - 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); - } - + 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); + var list = _http.RequestMiJiLocation(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) - { - - } - + 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); - } - else if (model.PalletNo.Length == 8) - { - LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr); - } - + LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr); + return Ok(new ErpModel { Success = -1, Message = e.Message }); } } @@ -487,7 +408,7 @@ case "0"://鍏ュ簱瀹屾垚浠诲姟 if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { - _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); + _http.ArrivalSuccess2(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; @@ -511,14 +432,16 @@ } else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚 { - _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); + _http.ArrivalSuccess2(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; case "3"://绉诲簱瀹屾垚浠诲姟銆佷紭鍖栧偍浣� - if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { //濉啓绉诲簱瀹屾垚浠g爜 + _http.MoveSuccess(model.TaskNo, 0); + return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" }); } break; default: @@ -532,6 +455,33 @@ } } + /// <summary> + /// 鎺ュ彈wcs杩斿洖鐨勪俊鍙� 骞冲簱鍙栬揣瀹屾垚浠诲姟鍙嶉 + /// </summary> + /// <returns></returns> + [HttpPost] + public IActionResult UpLocateByAgvOut(ReceiveWcsSignal model) + { + try + { + //璁板綍log + var logStr = $@".\log\WCS\鍙栬揣瀹屾垚浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚WCS浠诲姟鍙嶉锛�( {jsonData} ),", logStr); + + if (string.IsNullOrEmpty(model.TaskNo)) + { + return Ok(new WcsModel { StatusCode = -1, Msg = "鎺ュ彛鏁版嵁涓嶆纭紝浠诲姟鍙蜂负绌�" }); + } + _http.UpLocateByAgvOut(model.TaskNo,0); + + return Ok(new WcsModel { StatusCode = 0, Msg = "鎺ユ敹鎴愬姛" }); + } + catch (Exception ex) + { + return Ok(new WcsModel { StatusCode = -1, Msg = ex.Message }); + } + } /// <summary> /// WCS鍙嶉AGV浠诲姟鍙栬揣瀹屾垚 @@ -742,5 +692,39 @@ #endregion + /// <summary> + /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛� + /// </summary> + /// <param name="model">鍏ュ簱鍗曚俊鎭�</param> + /// <returns></returns> + [AllowAnonymous] + [HttpPost] + public IActionResult ceshiapi() + { + try + { + var url = "https://10.26.200.25/rcs/rtas/api/robot/controller/carrier/unbind"; + + var requestId = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); + var dic = new Dictionary<string, string>() + { + {"X-lr-request-id",requestId }, + {"X-lr-version","4.2" }, + }; + var mod = new + { + carrierCode = "palletNo", + siteCode = "locateNo" + }; + var jsonData = JsonConvert.SerializeObject(mod); + HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV瑙g粦", "AGV",dic); + + return Ok(new HttpReturnModel { Success = "0", Message = "鐢宠鍌ㄤ綅鎴愬姛", Data = "list" }); + } + catch (Exception e) + { + return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); + } + } } } -- Gitblit v1.8.0