From 3a5257be69608f4301fe1a1e207db7d95cc4178c Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期日, 11 五月 2025 16:31:40 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/HttpServer.cs | 129 ++++++++++++++++++ Wms/WMS.IBLL/IHttpServer.cs | 7 + Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 10 - Pda/View/HouseDataSetting/agvTransport.html | 5 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 44 +++-- Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs | 34 ++-- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 112 ++++++++-------- Wms/WMS.BLL/Logic/AllotLocation.cs | 54 +++--- Wms/Wms/Controllers/DownApiController.cs | 4 Pda/View/SoSetting/palletOut.html | 6 10 files changed, 266 insertions(+), 139 deletions(-) diff --git a/Pda/View/HouseDataSetting/agvTransport.html b/Pda/View/HouseDataSetting/agvTransport.html index 6151fab..09a4011 100644 --- a/Pda/View/HouseDataSetting/agvTransport.html +++ b/Pda/View/HouseDataSetting/agvTransport.html @@ -143,10 +143,7 @@ <div class="layui-input-block" id="selectRuku"> <select id="Ruku" lay-filter="getRuku" lay-search> <option value=""></option> - <option value="A">A</option> - <option value="B">B</option> - <option value="C">C</option> - <option value="D">D</option> + <option value="B040101">宸ヤ綅9</option> </select> <img src="/assets/down_arraw.png"> </div> diff --git a/Pda/View/SoSetting/palletOut.html b/Pda/View/SoSetting/palletOut.html index a539625..2a8cf87 100644 --- a/Pda/View/SoSetting/palletOut.html +++ b/Pda/View/SoSetting/palletOut.html @@ -69,10 +69,8 @@ <div class="layui-input-block" id="selectDiv"> <select id="bar" lay-filter="getbar" lay-verify="required" lay-search> <option value=""></option> - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> - <option value="4">4</option> + <option value="17">17</option> + <option value="18">18</option> </select> <!-- <img src="/assets/down_arraw.png" > --> </div> diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index c5960a5..b0f88b6 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -2313,35 +2313,35 @@ }; var id = Db.Insertable(modelpb).ExecuteReturnIdentity(); - var modelbb = new BllBoxInfo - { - ASNNo = "", - ASNDetailNo = null, - BindNo = id, - PalletNo = model.PalletNo, - PalletNo2 = model.PalletNo2, - PalletNo3 = model.PalletNo3, - Status = "2", - CompleteTime = DateTime.Now, - Qty = (int)model.Qty, - FullQty = pNum, - SkuNo = sku.SkuNo, - SkuName = sku.PackagNo, - LotNo = "", - LotText = "", - SupplierLot = "", - InspectStatus = sku.IsInspect, - Origin = "PDA", - BoxNo = "", - BoxNo2 = "", - BoxNo3 = "", - InspectMark = "", - BitBoxMark = "0", + //var modelbb = new BllBoxInfo + //{ + // ASNNo = "", + // ASNDetailNo = null, + // BindNo = id, + // PalletNo = model.PalletNo, + // PalletNo2 = model.PalletNo2, + // PalletNo3 = model.PalletNo3, + // Status = "2", + // CompleteTime = DateTime.Now, + // Qty = (int)model.Qty, + // FullQty = pNum, + // SkuNo = sku.SkuNo, + // SkuName = sku.SkuName, + // LotNo = "", + // LotText = "", + // SupplierLot = "", + // InspectStatus = sku.IsInspect, + // Origin = "PDA", + // BoxNo = "", + // BoxNo2 = "", + // BoxNo3 = "", + // InspectMark = "", + // BitBoxMark = "0", - CreateUser = (int)model.CreateUser, - CreateTime = datetime - }; - Db.Insertable(modelbb).ExecuteCommand(); + // CreateUser = (int)model.CreateUser, + // CreateTime = datetime + //}; + //Db.Insertable(modelbb).ExecuteCommand(); //娣诲姞搴撳瓨 @@ -2389,35 +2389,35 @@ #region 搴撳瓨绠辩爜鏄庣粏 - var box2 = new DataBoxInfo() - { - StockDetailId = sdId1, - BindNo = modelpb.Id, - BoxNo = modelbb.BoxNo, - BoxNo2 = modelbb.BoxNo2, - BoxNo3 = modelbb.BoxNo3, - PalletNo = modelbb.PalletNo, - PalletNo2 = modelbb.PalletNo2, - PalletNo3 = modelbb.PalletNo3, - Qty = modelbb.Qty, - FullQty = modelbb.FullQty, - Status = "2", - LotNo = modelbb.LotNo, - LotText = modelbb.LotText, - SkuNo = modelbb.SkuNo, - SkuName = modelbb.SkuName, - Standard = sku.Standard, - ProductionTime = modelbb.ProductionTime, - SupplierLot = modelbb.SupplierLot, - InspectStatus = sku.IsInspect, - InspectMark = modelbb.InspectMark, - BitBoxMark = modelbb.BitBoxMark, - ExpirationTime = modelbb.ExpirationTime, + //var box2 = new DataBoxInfo() + //{ + // StockDetailId = sdId1, + // BindNo = modelpb.Id, + // BoxNo = modelbb.BoxNo, + // BoxNo2 = modelbb.BoxNo2, + // BoxNo3 = modelbb.BoxNo3, + // PalletNo = modelbb.PalletNo, + // PalletNo2 = modelbb.PalletNo2, + // PalletNo3 = modelbb.PalletNo3, + // Qty = modelbb.Qty, + // FullQty = modelbb.FullQty, + // Status = "2", + // LotNo = modelbb.LotNo, + // LotText = modelbb.LotText, + // SkuNo = modelbb.SkuNo, + // SkuName = modelbb.SkuName, + // Standard = sku.Standard, + // ProductionTime = modelbb.ProductionTime, + // SupplierLot = modelbb.SupplierLot, + // InspectStatus = sku.IsInspect, + // InspectMark = modelbb.InspectMark, + // BitBoxMark = modelbb.BitBoxMark, + // ExpirationTime = modelbb.ExpirationTime, - CreateUser = 0, - CreateTime = datetime - }; - Db.Insertable(box2).ExecuteCommand(); + // CreateUser = 0, + // CreateTime = datetime + //}; + //Db.Insertable(box2).ExecuteCommand(); #endregion #region 搴撳瓨 diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs index 142058b..01554be 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs @@ -839,23 +839,22 @@ throw Oops.Bah("鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!"); } //鐩爣鍌ㄤ綅淇℃伅 - var storageLocatEnd = new SysStorageLocat(); - if (!string.IsNullOrEmpty(areaNo)) + //var storageLocatEnd = new SysStorageLocat(); + + var storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0"); + if (storageLocatEnd == null) { - storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0"); - if (storageLocatEnd == null) - { - throw Oops.Bah("鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!"); - } + throw Oops.Bah("鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!"); } + //娣诲姞鍑哄簱浠诲姟 var taskNo = new Common().GetMaxNo("TK"); - var exTask = new LogTask + var moveTask = new LogTask { TaskNo = taskNo, Sender = "WMS", - Receiver = "AGV", + Receiver = "WCS", IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 StartLocat = stockDetail.LocatNo,//璧峰浣嶇疆 @@ -871,7 +870,7 @@ CreateTime = DateTime.Now }; - await Db.Insertable(exTask).ExecuteCommandAsync(); + await Db.Insertable(moveTask).ExecuteCommandAsync(); //淇敼搴撳瓨鏄庣粏淇℃伅 //stockDetail.Status = "4";//绉诲簱閿佸畾 @@ -897,14 +896,15 @@ var outDto = new List<OutCommandDto>(); outDto.Add(new OutCommandDto() { - PalletNo = exTask.PalletNo,//鎵樼洏鍙� - StartLocate = exTask.StartLocat, // 璧峰浣嶇疆 - StartRoadway = storageLocat.RoadwayNo,//鍏跺疄宸烽亾 + TaskNo = moveTask.TaskNo, // 浠诲姟鍙� + TaskType = "2",// 浠诲姟绫诲瀷 0鍏� 1鍑� 2绉� + PalletNo = moveTask.PalletNo,//鎵樼洏鍙� + + StartLocate = moveTask.StartLocat, // 璧峰浣嶇疆 EndLocate = EndLocat, // 鐩爣浣嶇疆 - TaskNo = exTask.TaskNo, // 浠诲姟鍙� - TaskType = "2",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉� - OutMode = "", //鍑哄簱鍙� - Order = 1 + + Order = 999, + Type = PLCTypeEnum.AGV }); diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 3b9a7d0..95cee66 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -22,6 +22,7 @@ using WMS.Entity.BllAsnEntity; using System.Threading.Tasks; using Utility; +using WMS.BLL.Logic; namespace WMS.BLL.BllPdaServer { @@ -1770,8 +1771,7 @@ //鑾峰彇褰撳墠鏃堕棿 DateTime serverTime = Db.GetDate(); //鑾峰彇搴撳瓨鏄庣粏鏄惁灏忎簬绛変簬璇ュ灈鏁� - //string str = "select * from DataStockDetail where IsDel = '0' and SkuNo = '100099' and Status = '0' "; - //var stockDetail = Db.Ado.SqlQuery<DataStockDetail>(str); + var stockDetail = await Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.SkuNo == "100099" && s.Status == "0").ToListAsync(); if (stockDetail.Count > 0) { @@ -1797,7 +1797,7 @@ foreach (var s in stockDetail) { //鑾峰彇鍌ㄤ綅淇℃伅 - var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && l.WareHouseNo == "W02"); + var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && (l.WareHouseNo == "W01"||l.WareHouseNo == "W02")); if (locat == null) { @@ -1872,10 +1872,10 @@ { TaskNo = taskNo, Sender = "WMS", - Receiver = "PDA", + Receiver = "WCS", IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 - StartLocat = locat == null ? "闆剁搴�" : s.LocatNo,//璧峰浣嶇疆 + StartLocat = s.LocatNo,//璧峰浣嶇疆 EndLocat = model.OutMode,//鐩爣浣嶇疆 PalletNo = s.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� @@ -1886,20 +1886,28 @@ OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� CreateTime = serverTime, //鍒涘缓鏃堕棿 CreateUser = userId, //鍒涘缓浜� - Msg = "Pda绌烘墭浠�" + locat == null ? "闆剁搴�" : s.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 + Msg = "Pda绌烘墭浠�" + s.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 //FinishDate = serverTime, //瀹屾垚鏃堕棿 }; + var endroad = ""; + if (locat.WareHouseNo == "W01") + { + endroad = new AllotLocation().RoadwayToStationNum(locat.RoadwayNo, model.OutMode); + } + outDtoList.Add(new OutCommandDto() { - PalletNo = exTask.PalletNo,//鎵樼洏鍙� - StartLocate = exTask.StartLocat, // 璧峰浣嶇疆 - StartRoadway = locat.RoadwayNo, //鎵�灞炲贩閬� - EndLocate = "", // 鐩爣浣嶇疆 TaskNo = exTask.TaskNo, // 浠诲姟鍙� TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) - OutMode = model.OutMode, //鐩爣鍦板潃 - Order = 1, - Type = PLCTypeEnum.AGV + PalletNo = exTask.PalletNo,//鎵樼洏鍙� + + StartLocate = exTask.StartLocat, // 璧峰浣嶇疆 + StartRoadway = locat.RoadwayNo, //鎵�灞炲贩閬� + EndLocate = model.OutMode, // 鐩爣浣嶇疆 + EndRoadway = endroad, + + Order = 999, + Type = locat.WareHouseNo == "W01"?PLCTypeEnum.ShuttleCar : PLCTypeEnum.AGV }); await Db.Insertable(exTask).ExecuteCommandAsync(); @@ -1926,17 +1934,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 == 0) { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list2, time1, time2); //str += "涓嬪彂鎴愬姛"; } - if (wcsModel.StatusCode == -1) + if (wcsModel.code == -1) { - new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); - throw Oops.Bah(wcsModel.Msg); + new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message); + throw Oops.Bah(wcsModel.message); } } catch (AppFriendlyException e) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index c42c3f5..247ff88 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -5574,9 +5574,6 @@ OutMode = toLocation, //鍑哄簱鍙� Order = 1, - UnstackingMode=unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑� 1 浜哄伐鎷h揣鍑� - CompleteQty= outCount2, //鎷嗙殑浠舵暟 - BoxexQty = outCount, //鎬讳欢鏁� }); taskNoStr = exTask.TaskNo; } @@ -5691,9 +5688,7 @@ OutMode = toLocation, //鐩爣鍦板潃 Order = 1, - UnstackingMode = "1",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑� 1 浜哄伐鎷h揣鍑� - CompleteQty = 0, //鎷嗙殑浠舵暟 - BoxexQty = 0, //鎬讳欢鏁� + }); #endregion @@ -5749,9 +5744,6 @@ OutMode = toLocation, //鐩爣鍦板潃 Order = 1, - UnstackingMode = unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑� 1 浜哄伐鎷h揣鍑� - CompleteQty = outCount2, //鎷嗙殑浠舵暟 - BoxexQty = outCount, //鎬讳欢鏁� }); taskNoStr = exTask1.TaskNo; #endregion diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs index 61228b3..4175a56 100644 --- a/Wms/WMS.BLL/HttpServer.cs +++ b/Wms/WMS.BLL/HttpServer.cs @@ -416,6 +416,10 @@ foreach (var item in stockDetail) { var skuItem = skuList.First(m => m.SkuNo == item.SkuNo); + if (skuItem.SkuNo == "100099") + { + continue; + } if (skuItem.Type != "2") { throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�"); @@ -528,7 +532,7 @@ } //宸烽亾缁勪俊鎭� - var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo)) + var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo)) .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); #endregion @@ -719,6 +723,10 @@ foreach (var item in stockDetail) { var skuItem = skuList.First(m => m.SkuNo == item.SkuNo); + if (skuItem.SkuNo == "100099") + { + continue; + } if (skuItem.Type != "2") { throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�"); @@ -839,7 +847,10 @@ } locate = allotLocate.GetMiJiSuiTableLocate(roadwayNo, areaList); - + if (locate == null) + { + throw new Exception($"娌℃湁绌哄偍浣�"); + } #endregion @@ -1021,12 +1032,21 @@ { 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 pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04").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("褰撳墠浠诲姟璧峰鍌ㄤ綅涓嶅湪骞冲簱鍌ㄤ綅"); } + var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == task.PalletNo).ToList(); + foreach (var item in stockDetail) + { + item.WareHouseNo = ""; + item.RoadwayNo = ""; + item.AreaNo = ""; + item.LocatNo = ""; + } + Db.Updateable(stockDetail).ExecuteCommand(); locate.Status = "0"; Db.Updateable(locate).ExecuteCommand(); } @@ -1118,6 +1138,109 @@ } + /// <summary> + /// 绉诲簱浠诲姟瀹屾垚JC34 + /// </summary> + /// <param name="taskNo"></param> + /// <param name="userId"></param> + /// <exception cref="Exception"></exception> + public void MoveSuccess(string taskNo, int userId) + { + try + { + Db.BeginTran(); + //姝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(); + //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴� + if (!stockDetail.Any()) + { + throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�"); + } + //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅 + var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat); + if (locate == null) + { + throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑璧峰鍌ㄤ綅淇℃伅"); + } + //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅 + var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); + if (locate2 == null) + { + throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅"); + } + + 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); + } + + foreach (var item in stockDetail) + { + if (locate2.LocatNo == "B040101") + { + item.WareHouseNo = ""; + item.RoadwayNo = ""; + item.AreaNo = ""; + item.LocatNo = ""; + } + else + { + item.WareHouseNo = locate2.WareHouseNo; + item.RoadwayNo = locate2.RoadwayNo; + item.AreaNo = locate2.AreaNo; + item.LocatNo = locate2.LocatNo; + } + item.UpdateTime = DateTime.Now; + if (userId != 0) + { + item.UpdateUser = userId; + } + } + + if (locate.WareHouseNo != "W04") + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } + + if (locate2.LocatNo == "B040101") + { + locate2.Status = "0"; + Db.Updateable(locate2).ExecuteCommand(); + } + else + { + locate2.Status = "1"; + Db.Updateable(locate).ExecuteCommand(); + } + + Db.Updateable(stockDetail).ExecuteCommand(); + Db.CommitTran(); + + } + catch (Exception e) + { + Db.RollbackTran(); + throw new Exception(e.Message); + } + } } diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs index 190b34e..8817d57 100644 --- a/Wms/WMS.BLL/Logic/AllotLocation.cs +++ b/Wms/WMS.BLL/Logic/AllotLocation.cs @@ -38,8 +38,8 @@ dataStock = dataStock.Where(m => m.LotNo == lotNo); } //搴撳瓨鏌ユ壘鐩稿悓鐗╂枡/鎵规鐨勫贩閬� - var yiYouRoad = dataStock.GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).OrderBy(m => m).ToList(); - foreach (var l in yiYouRoad) + var yiYouRoad = dataStock.GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); + foreach (var l in yiYouRoad.OrderBy(m=>m).ToList()) { // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣� @@ -78,18 +78,18 @@ } } - if (bl) + } + if (bl) + { + // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣� + + var locateCount = db.Queryable<SysStorageLocat>().Count(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l); + + var bindNum = db.Queryable<LogTask>().Where(m => m.IsDel == "0" && (m.Status == "0" || m.Status == "1") && m.EndRoadway == l) + .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); + if (locateCount - bindNum > 0) { - // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣� - - var locateCount = db.Queryable<SysStorageLocat>().Count(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l); - - var bindNum = db.Queryable<LogTask>().Where(m => m.IsDel == "0" && (m.Status == "0" || m.Status == "1") && m.EndRoadway == l) - .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); - if (locateCount - bindNum > 0) - { - return l; - } + return l; } } } @@ -110,7 +110,7 @@ var db = DataContext.Db; // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣� - var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadwayNo && areaList.Contains(m.AreaNo)).ToList(); + var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadwayNo && areaList.Contains(m.AreaNo) && m.Status == "0").ToList(); if (locateList.Count(m => m.Status == "0") > 0) { var bl = GetLocateASCOrDesc(roadwayNo); @@ -145,7 +145,7 @@ var locate = db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.RoadwayNo == roadStr); var a = locate.LocatNo.Substring(2,2);//鍌ㄤ綅鍒� var b = locate.AisleOne.Substring(2, 2);//閫氶亾鍙e垪 - return int.Parse(a) < int.Parse(b); + return int.Parse(a) > int.Parse(b); } /// <summary> @@ -165,6 +165,17 @@ var locatList2 = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == locate.RoadwayNo && m.Column > a).ToList(); if (bl) { + if (locatList1.Count(m => str2.Contains(m.Status)) > 0) + { + return false; + } + if (locatList2.Count(m => str1.Contains(m.Status)) > 0) + { + return false; + } + } + else + { if (locatList1.Count(m => str1.Contains(m.Status)) > 0) { return false; @@ -173,17 +184,6 @@ { return false; } - } - else - { - if (locatList1.Count(m => str2.Contains(m.Status)) > 0) - { - return false; - } - if (locatList2.Count(m => str1.Contains(m.Status)) > 0) - { - return false; - } } return true; @@ -380,7 +380,7 @@ /// <param name="areaList">鍖哄煙闆嗗悎</param> /// <param name="isRoadway">鏄惁鎸囧畾宸烽亾</param> /// <returns></returns> - private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W01") + private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W02") { try { diff --git a/Wms/WMS.IBLL/IHttpServer.cs b/Wms/WMS.IBLL/IHttpServer.cs index ec7aed5..a7ba5cf 100644 --- a/Wms/WMS.IBLL/IHttpServer.cs +++ b/Wms/WMS.IBLL/IHttpServer.cs @@ -47,5 +47,12 @@ /// <param name="userId">鎿嶄綔浜�(涓嬫父绯荤粺鏃朵负绌�)</param> void ArrivalSuccess2(string taskNo, int userId); + /// <summary> + /// 绉诲簱瀹屾垚 + /// </summary> + /// <param name="taskNo"></param> + /// <param name="userId"></param> + void MoveSuccess(string taskNo, int userId); + } } diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index 9418cc4..c9ba34d 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -436,9 +436,11 @@ } 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: -- Gitblit v1.8.0