From 5321419f5fddb4e877fe90ccd90ebdc1a115af64 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期五, 18 七月 2025 17:29:26 +0800 Subject: [PATCH] 出库修改 --- wms/LocationHelper.cs | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs index 900b06a..8e4ee1b 100644 --- a/wms/LocationHelper.cs +++ b/wms/LocationHelper.cs @@ -115,7 +115,12 @@ List<string> result = new List<string>(); foreach (var item in ConnectionList) { - result.Add(item.S_CODE); + var ConnectionY = db.Queryable<Location>().Where(s => s.S_AREA_CODE == S_AREA_CODE && s.C_ENABLE == "Y" && s.CONNEC_ROADWAY== item.CONNEC_ROADWAY).First(); + if (ConnectionY==null) + { + result.Add(item.S_CODE); + } + } return result; } @@ -677,7 +682,7 @@ foreach (var item in v) { //鍙栧緱宸烽亾鍒楄〃涓彲鐢ㄨ揣浣嶆渶澶氱殑宸烽亾 骞惰幏鍙栧贩閬撲腑鎵�湁璐т綅 - location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).ToList(); + location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList(); if (location_roadray != null && location_roadray.Count > 0) { @@ -709,7 +714,7 @@ foreach (var item in v) { //鍙栧緱宸烽亾鍒楄〃涓彲鐢ㄨ揣浣嶆渶澶氱殑宸烽亾 骞惰幏鍙栧贩閬撲腑鎵�湁璐т綅 - var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).ToList(); + var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList(); foreach (var item1 in loclist) { @@ -744,7 +749,7 @@ { var ConnectionList = 0; - var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList(); + var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList(); foreach (var item1 in loclist) { var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item1.S_CODE).First(); @@ -774,7 +779,7 @@ foreach (var item in result) { - var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList(); + var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList(); foreach (var item1 in loclist) { location_roadray.Add(item1); @@ -994,10 +999,8 @@ var db = new SqlHelper<object>().GetInstance(); try { - - var connectionList = LocationHelper.GetConnectionList(CONNECTION); - + var connectionList = LocationHelper.GetConnectionListByN(CONNECTION); var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList); @@ -1006,7 +1009,7 @@ //鏌ユ壘涓嶅彲鐢ㄥ贩閬� var rowdwa = db.Queryable<RoadWayEnable>().Where(x => x.areaCode == startArea && x.status == "0").ToList(); - + LogHelper.Info($"绌烘墭鑷姩鍑哄簱鎺掗櫎涓嶅彲鐢ㄨ揣浣嶅紑濮嬶細{locations.Count}", "绌烘墭鍑哄簱"); for (int i = 0; i < rowsStart.Count; i++) { var rowList = locations.Where(r => r.N_ROW == rowsStart[i]).ToList().OrderByDescending(a => a.N_COL); @@ -1027,7 +1030,7 @@ foreach (var item2 in balanceConnectionList) { - if (rowList.Count(a => a.N_ROADWAY != item2.CONNEC_ROADWAY) > 0) + if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0) { flag2 = true; break; @@ -1037,7 +1040,7 @@ if (flag || flag2) { - continue; + locations.RemoveAll(a => a.N_ROW == rowsStart[i]); } //褰撳墠鎺掓湁閿佸苟涓旀病鏈夋弧璐т綅锛屾帓闄�@@ -1046,6 +1049,8 @@ locations.RemoveAll(a => a.N_ROW == rowsStart[i]); } } + LogHelper.Info($"绌烘墭鑷姩鍑哄簱鎺掗櫎涓嶅彲鐢ㄨ揣浣嶇粨鏉燂細{locations.Count}", "绌烘墭鍑哄簱"); + foreach (var item in locations) { if (item.N_CURRENT_NUM == 0) @@ -1053,11 +1058,13 @@ continue; } var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item.S_CODE).First(); + LogHelper.Info($"绌烘墭鑷姩鍑哄簱itemCode:{item.S_CODE},itemLock:{item.S_LOCK_STATE} ,tp淇℃伅" + JsonConvert.SerializeObject(tp), "绌烘墭鍑哄簱"); if (tp != null && item.S_LOCK_STATE == "鏃�) { var tp1 = db.Queryable<Container>().Where(s => s.S_CODE == tp.S_CNTR_CODE).First(); + LogHelper.Info($"绌烘墭鑷姩鍑哄簱tp1淇℃伅"+JsonConvert.SerializeObject(tp1), "绌烘墭鍑哄簱"); if (tp1 != null && tp1.N_DETAIL_COUNT==0) { start = item; -- Gitblit v1.9.1