From f928756ecbf68886443ab87ce458b99aba73a763 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-JIE70N9> Date: 星期四, 08 五月 2025 15:13:25 +0800 Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/JC34WMS --- Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 140 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 117 insertions(+), 23 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs index 790a092..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 }; } @@ -2558,7 +2573,7 @@ } /// <summary> - /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆婣GV灏忚溅锛� + /// 涓嬪彂鍏ュ簱鐢宠鍌ㄤ綅浠诲姟锛堜笅鍙�==銆媁CS锛� /// </summary> /// <param name="model"></param> /// <returns></returns> @@ -2574,22 +2589,21 @@ try { var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") - //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV鍙枡鍑哄簱鍛戒护", "AGV"); + response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍏ュ簱鍛戒护", "WCS"); var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") + var list = new List<string>() { model.TaskNo }; + //瑙f瀽杩斿洖鏁版嵁 + var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); + if (wcsModel.code == 200) + { + //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// + new TaskServer().EditTaskIssueOk(list, time1, time2); - ////瑙f瀽杩斿洖鏁版嵁 - //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - //if (wcsModel.StatusCode == 0) - //{ - // //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// - //new TaskServer().EditTaskIssueOk(list2, time1, time2); - - //} - //if (wcsModel.StatusCode == -1) - //{ - // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); - // throw new Exception(wcsModel.Msg); - //} + }else + { + 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 鎸囧畾鍌ㄤ綅 -- Gitblit v1.8.0