From cee2bc19f3e1b0cf528affb23e3819bf94672eea Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期五, 27 六月 2025 00:35:21 +0800 Subject: [PATCH] 优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs | 98 +++++++++++++++--------------------------------- 1 files changed, 31 insertions(+), 67 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs index 024a2c7..bd476cd 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs @@ -1205,7 +1205,7 @@ { //鍙犵洏璐т綅璁$畻鍙犵洏璐т綅 // var dploc = db.Queryable<Location>().Where(a => a.S_NOTE.Trim() == "鍙犵洏" && a.N_LAYER == startloc.N_LAYER && a.S_WH_CODE.Trim() == startloc.S_WH_CODE && a.C_ENABLE == "Y").ToList(); - var dploc = db.Queryable<Location>().Where(a => a.S_NOTE1.Trim() == startloc.S_NOTE1 + "鍙犵洏" && a.S_WH_CODE.Trim() == startloc.S_WH_CODE).ToList(); + var dploc = db.Queryable<Location>().Where(a => a.S_NOTE1.Trim() == startloc.S_NOTE1 + "鍙犵洏" && a.S_WH_CODE.Trim() == startloc.S_WH_CODE).ToList(); if (dploc.Count > 0) { // LogHelper.Info($"鑾峰彇鍙犵洏璐т綅:{JsonConvert.SerializeObject(dploc)}"); @@ -1321,15 +1321,14 @@ loc = StorageCompute(itemcode, areacode); if (loc == null) { - loc = emptyRow(areacode); - if (loc == null) - { - result.code = "1"; - result.msg = $"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"; - LogHelper.Info($" {result.msg}"); - AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); - // LogHelper.Info($"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"); - } + + result.code = "1"; + result.msg = $"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"; + LogHelper.Info($" {result.msg}"); + AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); + return result; + // LogHelper.Info($"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"); + } //else //{ @@ -1354,7 +1353,7 @@ } #endregion - #region 鍒涘缓浠诲姟 + #region 鍒涘缓浠诲姟 if (startloc != null && loc != null) { if (startloc.N_LOCK_STATE != 0 && loc.N_LOCK_STATE != 0) @@ -1364,6 +1363,7 @@ AddErrorInfo("璐т綅鏈夐攣", result.msg); return result; } + LogHelper.Info("鍒涘缓绌烘墭鍥炲簱浠诲姟,缁堢偣璐т綅涓虹┖锛� + JsonConvert.SerializeObject(loc)); //鍒涘缓wcs浠诲姟 var wcsTask = new WCSTask { @@ -2557,60 +2557,22 @@ { //Location result = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).First(); var db = new SqlHelper<object>().GetInstance(); - Location result = new Location(); - var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).ToList(); + Location result = null; + // 867C567A-183C-413B-9891-15D8F6DE1620 + + // var aaa = db.Deleteable<Location>(a => a.S_ID == "867C567A-183C-413B-9891-15D8F6DE1620").ExecuteCommand(); + // var aaa = db.Deleteable<Location>(a => a.S_ID.Trim() == "867C567A-183C-413B-9891-15D8F6DE1620").ExecuteCommand(); + LogHelper.Info($"鏂规硶锛歋torageCompute"); + var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE == areacode && a.N_LOCK_STATE == 0 && a.N_ROW > 0 && a.N_COL > 0).ToList(); + LogHelper.Info($"鍒涘缓绌烘墭鍥炲簱浠诲姟,缁堢偣璐т綅闆嗗悎锛氭牴鎹簱鍖虹紪鐮侊細{areacode}" + list.Count); + //list.RemoveAll(a => string.IsNullOrEmpty(a.S_CODE.Trim()) || a.S_CODE == null || string.IsNullOrWhiteSpace(a.S_CODE.Trim())); + list = list.FindAll(a => a.N_ROW > 0 && a.N_COL > 0); + LogHelper.Info("鍒涘缓绌烘墭鍥炲簱浠诲姟,缁堢偣璐т綅闆嗗悎杩囨护锛� + list.Count); if (list.Count > 0) { - result= FindEndcolByLocList(list); + result = FindEndcolByLocList(list); } - //鏌ヨ鎵�湁鏈夋墭鐩樼殑鎺掓病閿佺殑鎺� - // var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).OrderByDescending(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).ToList(); - //if (list.Count > 0) - //{ - - // for (int i = 0; i < list.Count; i++) - // { - - // LogHelper.Info($"鏈夋墭鐩樻帓鍙穥list[i].N_ROW}锛岀墿鏂欑紪鐮亄itemcode},搴撳尯{areacode}"); - // //鏌ヨ璐т綅缁戝畾鎵樼洏 - // var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == list[i].S_CODE).First(); - // if (cntr != null) - // { - // //鏌ヨ鎵樼洏鐗╂枡淇℃伅 - // var iteminfo = ContainerHelper.GetCntrItemRel(cntr.S_CNTR_CODE).FirstOrDefault(); - - // if (string.IsNullOrEmpty(itemcode))//绌烘墭鍏ュ簱 - // { - // if (iteminfo == null) - // { - // //鐗╂枡鐩稿悓鍏ヨ揣浣嶅悗涓�綅璐т綅 - // result = db.Queryable<Location>().OrderBy(a => a.N_COL).Where(a => a.S_AREA_CODE.Trim() == areacode && a.N_ROW == list[i].N_ROW && a.N_COL > list[i].N_COL && a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM == 0).First(); - // } - // } - // else//婊℃嫋鍏ュ簱 - // { - // if (iteminfo != null) - // { - // if (iteminfo.S_ITEM_CODE == itemcode) - // { - // //鐗╂枡鐩稿悓鍏ヨ揣浣嶅悗涓�綅璐т綅 - // result = db.Queryable<Location>().OrderBy(a => a.N_COL).Where(a => a.S_AREA_CODE.Trim() == areacode && a.N_ROW == list[i].N_ROW && a.N_COL > list[i].N_COL && a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM == 0).First(); - - // } - // } - // } - // if (result != null) - // { - // return result; - // } - // } - // else - // { - // LogHelper.Info($"鏍规嵁璐х墿缂栫爜{list[i].S_CODE}鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�); - // } - // } - //} return result; } @@ -2829,7 +2791,7 @@ var rows = locations.Select(a => a.N_ROW).Distinct().ToList(); for (int i = 0; i < rows.Count; i++) { - + var rowList = locations.Where(r => r.N_ROW == rows[i]).ToList(); LogHelper.Info($"褰撳墠鎺�{rows[i]},鑾峰緱璐т綅{JsonConvert.SerializeObject(rowList)}"); if (rowList.Count(a => a.N_CURRENT_NUM == 0) > 0) @@ -2838,7 +2800,7 @@ //褰撳墠鎺掓病鏈夐攣骞朵笖鏈夌┖浣嶇疆 // other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y").FirstOrDefault(); - other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).FirstOrDefault(); + other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && !string.IsNullOrEmpty(a.S_CODE.Trim()) && !string.IsNullOrWhiteSpace(a.S_CODE.Trim())).FirstOrDefault(); //if (full == null) //{ // //娌℃湁婊′綅锛岄偅灏辨壘鏈�皬鐨勭┖浣�@@ -2854,13 +2816,15 @@ // other = db.Queryable<Location>().OrderBy(a => a.N_LAYER).Where(a => (string.IsNullOrEmpty(a.C_ENABLE) || a.C_ENABLE.Trim() != "绂佺敤") && a.S_AREA_CODE == other.S_AREA_CODE && a.N_ROW == other.N_ROW && a.N_COL > other.N_COL).First(); // //LogHelper.Info($"绂佺敤閫夋嫨鍚庝竴涓揣浣峽result}", "鎴愬搧"); //} + if (other != null) { - end = other; - break; - + if (other.S_CODE != null && !string.IsNullOrEmpty(other.S_CODE)) + { + end = other; + break; + } } - } } return end; -- Gitblit v1.9.1