From fd9ce381b904a22593de2ab242fb8f65cee45efa Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 22 五月 2025 15:27:48 +0800 Subject: [PATCH] 修改问题 --- Wms/Wms/Controllers/DownApiController.cs | 190 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 159 insertions(+), 31 deletions(-) diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index 7e9adf6..5446a99 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -39,7 +39,7 @@ private readonly ITaskServer _taskSvc;//浠诲姟Svc private readonly IBllTaskSyncServer _taskSyncSvc;//浠诲姟鍚屾Svc private readonly IWaveMageServer _waveSvc;//浠诲姟鍚屾Svc - private readonly IHttpServer _http;//浠诲姟鍚屾Svc + 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; @@ -129,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" }); } @@ -150,6 +151,58 @@ } } + /// <summary> + /// PDA涓嬪彂鍑哄簱 + /// </summary> + /// <param name="soNo"></param> + /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param> + /// <param name="outMode">鍑哄簱鍦板潃锛堝钩搴撴嫞璐т綅锛�</param> + /// <returns></returns> + [HttpGet] + public IActionResult PDAIssueOut(string soNo, string soDetailId,string outMode) + { + try + { + //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) + { + return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"}); + } + var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(userId)) + { + return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"}); + } + //楠岃瘉鍑哄簱鍙� + if (string.IsNullOrWhiteSpace(outMode)) + { + return Ok(new HttpReturnModel { Success = "-1", Message = "璇烽�夋嫨鍑哄簱鍦板潃" }); + } + 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 HttpReturnModel { Success = "0", Message = "str", Data = "list" }); + } + else if (house == "W02") + { + var list = _exNoticeSvc.IssueOutHouseLk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); + + return Ok(new HttpReturnModel { Success = "0", Message = str, Data = list}); + } + else + { + return Ok(new HttpReturnModel { Success = "-1", Message = "浠撳簱淇℃伅閿欒锛岃鏍稿疄鍗曟嵁淇℃伅" }); + } + + } + catch (Exception e) + { + return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); + } + } /// <summary> /// 閲嶆柊涓嬪彂鍑哄簱浠诲姟 @@ -300,7 +353,7 @@ try { - var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo); + var list = _http.RequestLocation(model.PalletNo, model.HouseNo,model.Ceng); _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞 new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId)); @@ -334,19 +387,15 @@ var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr); - var list = _asnPalletBindSvc.RequestMiJiRoadWay(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 }); } @@ -361,37 +410,19 @@ [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 = ""; logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - try { - var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr); string pallet = model.PalletNo.Substring(0, 8); - var list = _asnPalletBindSvc.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo); + var list = _http.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo); LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); - //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId) - //LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr); return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list }); } @@ -429,7 +460,7 @@ case "0"://鍏ュ簱瀹屾垚浠诲姟 if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { - _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0); + _http.ArrivalSuccess2(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; @@ -441,7 +472,7 @@ } else if (model.TaskType == "2") { - _exNoticeSvc.RelocationSuccess(model.TaskNo, 0); + _http.ExMoveSuccess(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" }); } break; @@ -453,14 +484,24 @@ } else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚 { - _asnPalletBindSvc.ArrivalSuccess2(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锛氱Щ搴� + case "3"://绉诲簱鍗� AGV璧拌繖 + if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { //濉啓绉诲簱瀹屾垚浠g爜 + _http.MoveSuccess(model.TaskNo, 0); + return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" }); + } + break; + case "4"://璐ㄦ鍑哄簱 + if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + //濉啓绉诲簱瀹屾垚浠g爜 + _http.ExMoveSuccess(model.TaskNo, 0); + return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" }); } break; default: @@ -502,6 +543,93 @@ } } + + /// <summary> + /// 鎺ュ彈wcs杩斿洖鐨勪俊鍙� //鎸囦护鍙嶉锛堟槸鍚﹀畬鎴愶級 + /// </summary> + /// <returns></returns> + [HttpPost] + public IActionResult ReceiveRenGongSignal(ReceiveWcsSignal model) + { + //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) + { + return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); + } + var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(userId)) + { + return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); + } + try + { + if (string.IsNullOrEmpty(model.TaskNo) || string.IsNullOrEmpty(model.TaskStatus) || string.IsNullOrEmpty(model.TaskType)) + { + return Ok(new HttpReturnModel { Success = "-1", Message = "鍙傛暟閿欒" }); + } + //鎺ユ敹鏃堕棿 + + var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉� + switch (orderType) + { + case "0"://鍏ュ簱瀹屾垚浠诲姟 + if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + _http.ArrivalSuccess2(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" }); + } + break; + case "1"://鍑哄簱瀹屾垚浠诲姟 + if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + _exNoticeSvc.ExportSuccess(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "鍑哄簱瀹屾垚" }); + } + else if (model.TaskType == "2") + { + _http.ExMoveSuccess(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" }); + } + break; + case "2"://鐩樺簱瀹屾垚浠诲姟 + if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + _crCheckSvc.CheckSuccess(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "鐩樼偣鍑哄簱瀹屾垚" }); + } + else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚 + { + _http.ArrivalSuccess2(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" }); + } + break; + case "3"://绉诲簱鍗� + if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + //濉啓绉诲簱瀹屾垚浠g爜 + _http.MoveSuccess(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" }); + } + break; + case "4"://璐ㄦ鍑哄簱 + if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� + { + _http.ExMoveSuccess(model.TaskNo, 0); + return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" }); + } + break; + default: + return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" }); + } + return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" }); + } + catch (Exception ex) + { + return Ok(new HttpReturnModel { Success = "-1", Message = ex.Message }); + } + } + /// <summary> /// WCS鍙嶉AGV浠诲姟鍙栬揣瀹屾垚 /// </summary> -- Gitblit v1.8.0