From 16b0a2c97ee5349079f4deda0aab512af8a06dae Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 08 五月 2025 08:26:31 +0800 Subject: [PATCH] 修改采购入库测出的问题 --- Wms/WMS.BLL/HttpServer.cs | 59 +++++++++ Wms/WMS.IBLL/IHttpServer.cs | 16 ++ Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 20 +- Wms/Wms/appsettings.json | 4 Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs | 9 + Wms/Model/InterFaceModel/HttpModel.cs | 11 + Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 10 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 21 ++- Wms/Wms/Controllers/DownApiController.cs | 70 +++++------ Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 122 ++++++++++++++++++-- 10 files changed, 265 insertions(+), 77 deletions(-) diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs index b176c7f..a3db8e2 100644 --- a/Wms/Model/InterFaceModel/HttpModel.cs +++ b/Wms/Model/InterFaceModel/HttpModel.cs @@ -74,13 +74,22 @@ #region WCS鎺ュ彛瀹炰綋绫� /// <summary> - /// 鎺ユ敹wcs鎺ュ彛杩斿洖鍙傛暟鐨刴odel + /// 鎺ユ敹wcs鎺ュ彛杩斿洖WCS缁撴灉鍙傛暟鐨刴odel /// </summary> public class WcsModel { public int StatusCode { get; set; } public string Msg { get; set; } } + /// <summary> + /// 鎺ュ彈WCS鍙嶉鐨勫弬鏁� + /// </summary> + public class WcsModel2 + { + public int code { get; set; } + public string message { get; set; } + + } public enum PLCTypeEnum { diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs index aa0096e..f5c6885 100644 --- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs @@ -1435,6 +1435,7 @@ var skuNo = ""; //鍏ュ簱鐗╂枡 var isAddTask = true; //鏄惁娣诲姞鏂颁换鍔� var oldTaskNo = ""; //鏃т换鍔″彿 + var starLocate = ""; // 璧峰鍌ㄤ綅 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList(); //楠岃瘉鐗╂枡鏄惁鏈夋垚鍝� foreach (var item in stockDetail) @@ -1461,7 +1462,7 @@ { PalletNo = palletNo,//鎵樼洏鍙� StartRoadway = beingTask.StartRoadway, // 璧峰宸烽亾 - StartLocate = "", // 璧峰浣嶇疆 + StartLocate = starLocate, // 璧峰浣嶇疆 EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆 EndRoadway = beingTask.EndRoadway, // 鐩爣宸烽亾 TaskNo = beingTask.TaskNo, // 浠诲姟鍙� @@ -1529,9 +1530,21 @@ { throw new Exception($"{palletNo}鎵樼洏鏉$爜涓嶅叿鏈夌鐮佷俊鎭紝涓嶅彲鍏ュ簱锛�"); } - if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) > 0) + if (stockDetail.Count(m => !string.IsNullOrWhiteSpace(m.LocatNo)) == 0) { - throw new Exception("褰撳墠鎵樼洏宸插湪搴撳唴锛岃鏍稿疄"); + throw new Exception("褰撳墠鎵樼洏娌℃湁鍦ㄥ钩搴撳偍浣嶄笂锛岃鏍稿疄"); + } + starLocate = stockDetail.First().LocatNo; + + var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m=>m.AreaNo).ToList(); + var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == starLocate && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0"); + if (pingLocateInfo == null ) + { + throw new Exception("褰撳墠鎵樼洏鎵�鍦ㄧ殑鍌ㄤ綅娌℃湁鍦ㄧ郴缁熶腑鎵惧埌淇℃伅"); + } + if (pingLocateInfo.Status != "1") + { + throw new Exception("褰撳墠鎵樼洏鎵�鍦ㄧ殑鍌ㄤ綅鐘舵�侀敊璇紝涓嶆槸绌哄偍浣�"); } skuNo = stockDetail.First().SkuNo; @@ -1545,13 +1558,14 @@ { PalletNo = palletNo,//鎵樼洏鍙� StartRoadway = beingTask.StartRoadway, // 璧峰宸烽亾 - StartLocate = "", // 璧峰浣嶇疆 + StartLocate = beingTask.StartLocat, // 璧峰浣嶇疆 EndLocate = beingTask.EndLocat, // 鐩爣浣嶇疆 EndRoadway = beingTask.EndRoadway, // 鐩爣宸烽亾 TaskNo = beingTask.TaskNo, // 浠诲姟鍙� TaskType = "0",// 浠诲姟绫诲瀷 (鍑哄簱) OutMode = "", //鐩爣鍦板潃 - Order = 1 + Order = 1, + Type = PLCTypeEnum.AGV }; if (beingTask.IsSuccess == 0) { @@ -1663,7 +1677,7 @@ SendDate = DateTime.Now, //鍙戦�佹椂闂� BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartRoadway = "", // 璧峰宸烽亾 - StartLocat = "",//璧峰浣嶇疆 + StartLocat = starLocate,//璧峰浣嶇疆 EndLocat = locate.LocatNo,//鐩爣浣嶇疆 EndRoadway = locate.RoadwayNo, // 鐩爣宸烽亾 PalletNo = palletNo,//鎵樼洏鐮� @@ -1779,13 +1793,14 @@ { PalletNo = palletNo,//鎵樼洏鍙� StartRoadway = "", - StartLocate = "", // 璧峰浣嶇疆 + StartLocate = starLocate, // 璧峰浣嶇疆 EndLocate = locate.LocatNo, // 鐩爣浣嶇疆 EndRoadway = locate.RoadwayNo, // 鐩爣宸烽亾 TaskNo = oldTaskNo, // 浠诲姟鍙� TaskType = "0",// 浠诲姟绫诲瀷 (鍑哄簱) OutMode = "", //鐩爣鍦板潃 - Order = 1 + Order = 1, + Type = PLCTypeEnum.AGV }; } @@ -2578,17 +2593,16 @@ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") var list = new List<string>() { model.TaskNo }; //瑙f瀽杩斿洖鏁版嵁 - var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - if (wcsModel.StatusCode == 0) + var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); + if (wcsModel.code == 200) { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list, time1, time2); - } - if (wcsModel.StatusCode == -1) + }else { - new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg); - throw new Exception(wcsModel.Msg); + new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message); + throw new Exception("WCS鍙嶉锛�"+wcsModel.message); } } catch (Exception ex) @@ -2602,6 +2616,86 @@ } } + /// <summary> + /// 鍏ュ簱浠诲姟瀹屾垚JC34 + /// </summary> + /// <param name="taskNo"></param> + /// <param name="userId"></param> + /// <exception cref="Exception"></exception> + public void ArrivalSuccess2(string taskNo, int userId) + { + try + { + //姝e父鍏ュ簱 + var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo); + if (task == null) + { + throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); + } + if (task.Status == "2") + { + throw new Exception("褰撳墠浠诲姟宸插畬鎴�"); + } + + var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList(); + var upShelf = Db.Queryable<BllPalletUpShelf>().First(m => m.TaskNo == taskNo); + if (upShelf == null) + { + throw new Exception("娌℃湁鎵惧埌鎵樼洏涓婃灦淇℃伅"); + } + //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅 + var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); + if (locate == null) + { + throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鍌ㄤ綅淇℃伅"); + } + Db.BeginTran(); + + task.Status = "2";//浠诲姟鐘舵�� + task.IsSend = 0; + task.IsCancel = 0; + task.IsFinish = 0; + task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿 + Db.Updateable(task).ExecuteCommand(); + if (userId != 0) + { + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + } + + //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴� + if (stockDetail.Any()) + { + throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�"); + } + + foreach (var item in stockDetail) + { + item.WareHouseNo = locate.WareHouseNo; + item.RoadwayNo = locate.RoadwayNo; + item.AreaNo = locate.AreaNo; + item.LocatNo = locate.LocatNo; + item.UpdateTime = DateTime.Now; + if (userId != 0) + { + item.UpdateUser = userId; + } + } + upShelf.Status = "2"; + Db.Updateable(upShelf).ExecuteCommand(); + + locate.Status = "1"; + Db.Updateable(locate).ExecuteCommand(); + Db.Updateable(stockDetail).ExecuteCommand(); + Db.CommitTran(); + + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + #endregion #region 鎸囧畾鍌ㄤ綅 diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs index eb93eca..029afae 100644 --- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs +++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs @@ -1852,17 +1852,17 @@ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") ////瑙f瀽杩斿洖鏁版嵁 - var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - if (wcsModel.StatusCode == 0) + var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); + if (wcsModel.code == 200) { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list, time1, time2); } - if (wcsModel.StatusCode == -1) + else { - new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg); - throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.Msg}"); + new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message); + throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.message}"); } } catch (Exception ex) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 6b68462..57367dd 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -1826,11 +1826,16 @@ { if (models[0].Status == "1") { - sqlString = $"select count(id) from DataStockDetail where PalletNo = '{palletNo}' and isnull(LocatNo,'') != '' and isdel = '0';"; - int rowNum = Db.Ado.GetInt(sqlString); - if (rowNum > 0) + var detail = Db.Queryable<DataStockDetail>().First(m=>m.PalletNo == palletNo ); + + if (detail!= null && !string.IsNullOrWhiteSpace(detail.LocatNo)) { - sqlMsg = "-1:鎵樼洏浣跨敤涓紝姝ゆ墭鐩樺簲鍦ㄥ簱鍐呰鏍稿疄!"; + var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList(); + var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == detail.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0"); + if (pingLocateInfo == null) + { + sqlMsg = "-1:鎵樼洏浣跨敤涓紝姝ゆ墭鐩樺簲鍦ㄥ簱鍐呰鏍稿疄!"; + } } } } @@ -3287,7 +3292,7 @@ try { string strMsg = ""; - var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W02"); + var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04"); if (storageLocat == null) { throw new Exception("-1:鍦扮爜(鍌ㄤ綅淇℃伅)涓嶅瓨鍦ㄦ垨闈炵┖闂茬姸鎬侊紝璇锋牳鏌�!"); @@ -5424,7 +5429,7 @@ //淇敼搴撳瓨鏄庣粏淇℃伅 foreach (var item in stockDetail) { - item.Status = "0"; // 鐘舵�佹洿鏀逛负寰呭垎閰� + //item.Status = "0"; // 鐘舵�佹洿鏀逛负寰呭垎閰� item.WareHouseNo = storageLocat.WareHouseNo; // 鎵�灞炰粨搴� item.RoadwayNo = storageLocat.RoadwayNo; // 鎵�灞炲贩閬� item.AreaNo = storageLocat.AreaNo; // 鎵�灞炲尯鍩� @@ -5456,14 +5461,14 @@ SendDate = DateTime.Now, //鍙戦�佹椂闂� BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartLocat = "",//璧峰浣嶇疆 - EndLocat = "骞冲簱",//鐩爣浣嶇疆 + EndLocat = model.LocatNo,//鐩爣浣嶇疆 PalletNo = model.PalletNo,//鎵樼洏鐮� IsSend = 0,//鏄惁鍙啀娆′笅鍙� IsCancel = 0,//鏄惁鍙彇娑� IsFinish = 0,//鏄惁鍙畬鎴� Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 - OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� Msg = "骞冲簱鐨勫叆搴撲换鍔�", }; Db.Insertable(exTask).ExecuteCommand(); diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 88bb8bb..c42c3f5 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -2200,17 +2200,17 @@ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") ////瑙f瀽杩斿洖鏁版嵁 - var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - if (wcsModel.StatusCode == 0) + var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); + if (wcsModel.code == 200) { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list2, time1, time2); str += "涓嬪彂鎴愬姛"; } - if (wcsModel.StatusCode == -1) + else { - new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); - throw new Exception(wcsModel.Msg); + new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message); + throw new Exception(wcsModel.message); } } catch (Exception ex) @@ -5978,17 +5978,17 @@ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") ////瑙f瀽杩斿洖鏁版嵁 - var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - if (wcsModel.StatusCode == 0) + var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); + if (wcsModel.code == 200) { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list, time1, time2); } - if (wcsModel.StatusCode == -1) + else { - new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg); - throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.Msg}"); + new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.message); + throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.message}"); } } catch (Exception ex) diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs new file mode 100644 index 0000000..210df4f --- /dev/null +++ b/Wms/WMS.BLL/HttpServer.cs @@ -0,0 +1,59 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Text; +using WMS.BLL.LogServer; +using WMS.Entity.Context; +using WMS.Entity.DataEntity; +using WMS.Entity.LogEntity; +using WMS.Entity.SysEntity; +using WMS.IBLL; + +namespace WMS.BLL +{ + public class HttpServer:IHttpServer + { + private static readonly SqlSugarScope Db = DataContext.Db; + public HttpServer() { } + + public void UpLocateByAgvOut(string taskNo, int userId) + { + try + { + + var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo); + if (task == null) + { + throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); + } + if (task.Status != "1") + { + throw new Exception("褰撳墠浠诲姟宸插畬鎴�"); + } + if (userId != 0) + { + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + } + + var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat); + if (locate == null) + { + throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鍌ㄤ綅淇℃伅"); + } + var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList(); + var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locate.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0"); + if (pingLocateInfo == null) + { + throw new Exception("褰撳墠浠诲姟璧峰鍌ㄤ綅涓嶅湪骞冲簱鍌ㄤ綅"); + } + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + } +} diff --git a/Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs b/Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs index d69ac6d..f5ebebe 100644 --- a/Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs +++ b/Wms/WMS.IBLL/IBllAsnServer/IPalletBindServer.cs @@ -88,7 +88,7 @@ /// <returns></returns> OutCommandDto RequestLocation(string palletNo, string houseNo); /// <summary> - /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆婣GV灏忚溅锛� + /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆媁CS锛� /// </summary> /// <param name="model"></param> /// <param name="url"></param> @@ -110,6 +110,13 @@ /// <returns></returns> OutCommandDto RequestMiJiLocation(string palletNo, string houseNo, string roadwayNo); + + /// <summary> + /// 鍏ュ簱瀹屾垚JC34 + /// </summary> + /// <param name="taskNo">浠诲姟鍙�</param> + /// <param name="userId">鎿嶄綔浜�(涓嬫父绯荤粺鏃朵负绌�)</param> + void ArrivalSuccess2(string taskNo, int userId); /// <summary> /// 鍏ュ簱瀹屾垚 /// </summary> diff --git a/Wms/WMS.IBLL/IHttpServer.cs b/Wms/WMS.IBLL/IHttpServer.cs new file mode 100644 index 0000000..75e2da5 --- /dev/null +++ b/Wms/WMS.IBLL/IHttpServer.cs @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.IBLL +{ + public interface IHttpServer + { + /// <summary> + /// agv璧板嚭鍌ㄤ綅淇敼鍌ㄤ綅淇℃伅锛屼粎闄愬钩搴撳偍浣� + /// </summary> + /// <param name="taskNo"></param> + /// <param name="userId"></param> + void UpLocateByAgvOut(string taskNo,int userId); + } +} diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index 1064126..7e9adf6 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -21,6 +21,7 @@ using Model.ModelVm.BllCheckVm; using System.Collections.Generic; using System.Security.Policy; +using WMS.IBLL; namespace Wms.Controllers { @@ -38,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;//浠诲姟鍚屾Svc + public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http) { _config = setting.Value; _exNoticeSvc = exNoticeSvc; @@ -47,6 +49,7 @@ _taskSvc = taskSvc; _taskSyncSvc = taskSyncSvc; _waveSvc = waveSvc; + _http = http; } #region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛 @@ -273,38 +276,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> @@ -330,7 +301,7 @@ try { var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo); - _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl);//WCS璺緞 + _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞 new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId)); @@ -458,7 +429,7 @@ case "0"://鍏ュ簱瀹屾垚浠诲姟 if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { - _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); + _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; @@ -482,7 +453,7 @@ } else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚 { - _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); + _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; @@ -503,6 +474,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浠诲姟鍙栬揣瀹屾垚 diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json index 42bd2db..715247a 100644 --- a/Wms/Wms/appsettings.json +++ b/Wms/Wms/appsettings.json @@ -27,8 +27,8 @@ "WcsHost": "http://10.26.254.34:5005", //wcsIPhttp://localhost:57061/ "BoxHost": "http://10.110.24.30:8081", //boxIP - "IssueComApiUrl": "/api/WCSApi/AddTasks", //涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�) - "IssueComApiUrl2": "/api/WCSApi/AddTask", //閲嶆柊涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�) + "IssueComApiUrl": "/api/openApi/wcsTasks", //涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�) + "IssueComApiUrl2": "/api/openApi/wcsTask", //閲嶆柊涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�) "AsnFinishUrl": "/api/wmsInterface/OutStockTask", //鍏ュ簱璁㈠崟鍏抽棴 "SoFinishUrl": "/api/wmsInterface/OutStockTask", //鍑哄簱璁㈠崟鍏抽棴 -- Gitblit v1.8.0