From 90e4f87fcff67b8833d838fef6703c71de864bce Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期二, 20 五月 2025 17:33:05 +0800 Subject: [PATCH] 金坛 --- wms/LocationHelper.cs | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs index 85bafbe..a816b57 100644 --- a/wms/LocationHelper.cs +++ b/wms/LocationHelper.cs @@ -300,9 +300,9 @@ } } + var balanceLocList = RoadWayBalance(locations); - - foreach (var item in locations) + foreach (var item in balanceLocList) { if (item.S_LOCK_STATE=="鏃� && item.N_CURRENT_NUM==0) { @@ -320,6 +320,40 @@ } + + /// <summary> + /// 宸烽亾鍧囪 绛栫暐 + /// </summary> + /// <param name="lstTrueLocation">鍙敤鐨勮揣浣嶄俊鎭暟鎹�/param> + /// <returns>璁$畻鍚庤繑鍥炵殑瀹炰綋</returns> + public static List<Location> RoadWayBalance(List<Location> lstTrueLocation) + { + //鎸囧畾璁$畻鍚庤繑鍥炵殑瀹炰綋 + List<Location> location_roadray = new List<Location>(); + + //鎸夌収宸烽亾鍒嗙粍 骞惰幏寰楀贩閬撲腑鍙敤璐т綅鐨勬暟鎹�+ //涔嬪悗杩涜鍊掑彊 鎵惧埌鍙敤璐т綅鏈�鐨勫贩閬�+ var v = lstTrueLocation.GroupBy(x => x.N_ROADWAY).Select(g => (new + { + roadWay = g.Key, + qty = g.Count() + })).OrderByDescending(o => o.qty); + + //鍊掑彊鎺掑垪鍚庣殑宸烽亾 寰幆 + foreach (var item in v) + { + //鍙栧緱宸烽亾鍒楄〃涓彲鐢ㄨ揣浣嶆渶澶氱殑宸烽亾 骞惰幏鍙栧贩閬撲腑鎵�湁璐т綅 + location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).ToList(); + + if (location_roadray != null && location_roadray.Count > 0) + { + break; + } + } + return location_roadray; + } + + /// <summary> /// 鎵剧粓鐐瑰彲鐢ㄧ┖璐т綅鎺掗櫎涓嶅彲鐢ㄥ贩閬� /// </summary> -- Gitblit v1.9.1