From 0c6f09c80809eeaf4576a6bb506776ffbd9d34a9 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期三, 25 六月 2025 17:29:24 +0800 Subject: [PATCH] 库存优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs | 66 +++++++++++++++++++------------- 1 files changed, 39 insertions(+), 27 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 dfba0f1..024a2c7 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs @@ -1195,34 +1195,45 @@ { lock (_lockEmpty) { - #region 鍒ゆ柇鎵樼洏缁戝畾璐т綅鏄惁鍜屼笅鍙戠粦瀹氳捣鐐圭浉鍚�- //var CntrLoc = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First(); - //if (CntrLoc != null) - //{ - // if (CntrLoc.S_LOC_CODE != Start) - // { - // LogHelper.Info($"ItemBack锛氬垱寤轰换鍔″け璐ワ紝鎵樼洏:{model.Rfid}缁戝畾浣嶇疆涓嶆槸璧风偣锛歿Start}"); - // result.code = "1"; - // result.msg = $"鍒涘缓浠诲姟澶辫触锛屾墭鐩�{model.Rfid}缁戝畾浣嶇疆涓嶆槸璧风偣锛歿Start}"; - // AddErrorInfo("鎵樼洏缁戝畾浣嶇疆涓嶅悓", result.msg); - // return result; - // } - //} - //else - //{ - // LogHelper.Info($"ItemBack锛氬垱寤轰换鍔″け璐ワ紝鎵樼洏:{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�); - // result.code = "1"; - // result.msg = $"鍒涘缓浠诲姟澶辫触锛屾墭鐩�{model.Rfid}鏈壘鍒扮粦瀹氳揣浣�; - // AddErrorInfo("鏌ユ壘鎵樼洏璐т綅澶辫触", result.msg); - // return result; - //} - #endregion + #region 鏍规嵁璐т綅妤煎眰鍒ゆ柇锛�妤煎幓寰�彔鐩樹綅 鍏朵粬鐨勫洖搴� var startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == Start).First(); if (startloc != null) { - if (startloc.N_LAYER == 3) + if (!string.IsNullOrEmpty(startloc.S_NOTE1)) + { + //鍙犵洏璐т綅璁$畻鍙犵洏璐т綅 + // 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(); + if (dploc.Count > 0) + { + // LogHelper.Info($"鑾峰彇鍙犵洏璐т綅:{JsonConvert.SerializeObject(dploc)}"); + loc = dploc.FindAll(a => a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM < 6).OrderByDescending(a => a.N_CURRENT_NUM).FirstOrDefault(); + if (loc == null) + { + LogHelper.Info($"{startloc.S_NOTE1}鍙犵洏浣嶏紝閮藉凡缁忔湁閿佹垨鑰呭凡缁忓彔婊★紝璇锋鏌ヨ揣浣嶇姸鎬�); + result.code = "1"; + result.msg = $"{startloc.S_NOTE1}鍙犵洏璐т綅涓嶅彲鐢紝缁堢偣搴撳尯娌℃湁鍙敤璐т綅锛岃妫�煡閿佺姸鎬佸拰鏁伴噺"; + AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); + return result; + } + else + { + endlayer = loc.N_CURRENT_NUM + 1; + } + } + else + { + // LogHelper.Info($"鏍规嵁璐т綅妤煎眰锛歿startloc.N_LAYER}锛屼粨搴撶紪鐮侊細{startloc.S_WH_CODE}锛岃揣浣嶅娉細鍙犵洏锛屾湭鎵惧埌鍙犵洏璐т綅"); + result.code = "1"; + result.msg = $"{startloc.S_NOTE1}鍙犵洏璐т綅涓嶅彲鐢紝鏈壘鍒板彲鍙犵洏璐т綅"; + LogHelper.Info($"鏍规嵁璐т綅澶囨敞锛歿startloc.S_NOTE1}鍙犵洏锛岃揣浣嶄粨搴�{startloc.S_WH_CODE}锛屾壘涓嶅埌鍙犵洏璐т綅"); + AddErrorInfo("鏌ユ壘璐т綅澶辫触", result.msg, Source); + return result; + } + } + else if (startloc.N_LAYER == 3) { //鍙犵洏璐т綅璁$畻鍙犵洏璐т綅 // 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(); @@ -2550,8 +2561,7 @@ var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).ToList(); if (list.Count > 0) { - FindEndcolByLocListLock(list); - + result= FindEndcolByLocList(list); } //鏌ヨ鎵�湁鏈夋墭鐩樼殑鎺掓病閿佺殑鎺� @@ -2819,12 +2829,14 @@ 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) { Location other = null; //褰撳墠鎺掓病鏈夐攣骞朵笖鏈夌┖浣嶇疆 - + // 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(); //if (full == null) @@ -2892,7 +2904,7 @@ { other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_COL > full.N_COL).FirstOrDefault(); } - + if (other != null) { end = other; -- Gitblit v1.9.1