From 06a8b6963d6d4f229d4e196b4b09ce57e2cbf2dd Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期四, 24 七月 2025 17:21:40 +0800 Subject: [PATCH] 印尼佳通-GT服务开发 --- HH.WCS.Mobox3/HH.WCS.Mobox3.SXJK/wms/WMSHelper.cs | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.SXJK/wms/WMSHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.SXJK/wms/WMSHelper.cs index 9999732..7b2db7c 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.SXJK/wms/WMSHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.SXJK/wms/WMSHelper.cs @@ -781,12 +781,12 @@ { var db = new SqlHelper<object>().GetInstance(); var childResult = db.Queryable<OutStockListChild>().Where(a => a.S_ORDER_NO == orderNo && a.COMPLETED_FLAG.Trim() == "N").Count() == 0; - + // 1.鏌ヨ闆嗚揣鍖烘槸鍚︽湁绌鸿揣浣嶏紝娌℃湁鍒欏嚭搴撳崟瀹屾垚 string areaCode = null; bool isEmptyLoc = false; var areaList = LocationHelper.GetAreaByCode(Settings.WHCode, 7); - if (areaList.Count > 0) + if (areaList.Count > 0) { areaCode = areaList[0].S_CODE; var rows = db.Queryable<Location>() @@ -802,7 +802,7 @@ { // 鏈夊叾浠栭攣鐨勬帓锛屾帓闄� var count = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaCode && a.N_LOCK_STATE == 3 && a.N_ROW == item).Count(); - if (count > 0) + if (count > 0) { continue; } @@ -819,7 +819,7 @@ } LogHelper.Info("isEmptyLoc:" + isEmptyLoc, "WMS"); LogHelper.Info("childResult:" + childResult, "WMS"); - if (childResult || isEmptyLoc) + if (childResult || isEmptyLoc) { return true; } @@ -829,7 +829,7 @@ /// <summary> /// 瀹屾垚鍑哄簱浠诲姟 /// </summary> - /// <param name="task"></param> + /// <param name="cst"></param> /// <param name="orderNo"></param> /// <returns></returns> internal static bool completedOutstockTask(WCSTask cst, string orderNo) @@ -1235,7 +1235,7 @@ } if (priorityAsnNo != null) { - query = query.Where((a, b, c) => c.S_ASN_NO == priorityAsnNo); + query = query.OrderByDescending((a, b, c) => c.S_ASN_NO == priorityAsnNo ? 1 : 0); } var locList = query.OrderByDescending((a, b, c) => a.N_COL) @@ -1360,12 +1360,22 @@ } // 鏌ヨ鍚屾壒娆″叆搴撻攣鏁伴噺锛屽鏋滈攣鏁伴噺 >= 2 ,鍒欎笉鍐嶄粠銆愮┖鎺掋�鍏ュ簱 - int lockNum = db.Queryable<Location>().Where(a => a.N_LOCK_STATE == 1 && a.S_LOCK_OP.Trim() == asnNo).Count(); - LogHelper.Info("鍚屾壒娆″叆搴撻攣鏁伴噺锛� + lockNum, "Mobox"); - if (end == null && rowNum < 2 && lockNum < 2 ) + var lockRow = db.Queryable<Location>().Where(a => a.N_LOCK_STATE == 1 && a.S_LOCK_OP.Trim() == asnNo).Take(1).PartitionBy(l => new { l.S_AREA_CODE, l.N_ROW }).ToList(); + LogHelper.Info("鍚屾壒娆″叆搴撻攣鏁伴噺锛� + lockRow.Count, "Mobox"); + if (end == null && rowNum < 2 && lockRow.Count < 2 ) { string fullerCode = null; - if (rowNum == 1) + if (lockRow.Count > 0) + { + var maxLoc = lockRow[0]; + var fuller = db.Queryable<TN_Fuller>().Where(a => a.S_AREA_CODE == maxLoc.S_AREA_CODE && a.N_ROW == maxLoc.N_ROW).First(); + if (fuller != null) + { + fullerCode = fuller.FULLER_CODE; + } + } + + if (fullerCode == null && rowNum > 0 ) { var maxLoc = listMaxCol[0]; var fuller = db.Queryable<TN_Fuller>().Where(a => a.S_AREA_CODE == maxLoc.S_AREA_CODE && a.N_ROW == maxLoc.N_ROW).First(); -- Gitblit v1.9.1