From 91b3014f920903721af7590ce1049d91b20bfd96 Mon Sep 17 00:00:00 2001 From: 杨张扬 <634643841@qq.com> Date: 星期三, 11 六月 2025 17:25:22 +0800 Subject: [PATCH] 临时取消容器ID的解析 --- api/ApiHelper.cs | 80 ++++++++++++++++++++++++++++----------- 1 files changed, 57 insertions(+), 23 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index 20f8b26..d05b32b 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -161,7 +161,10 @@ cG_Detail.N_ITEM_STATE = 0; cG_Detail.S_ITEM_STATE = "鍚堟牸"; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[1] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else if (model.cgState == 4)//鎶�湳鍚堟牸鍥炲簱 @@ -169,7 +172,10 @@ cG_Detail.N_ITEM_STATE = 4; cG_Detail.S_ITEM_STATE = "鎶�湳鍚堟牸"; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[8] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[8] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else if (model.cgState == 2)//涓嶅悎鏍煎洖鐐�@@ -177,7 +183,10 @@ cG_Detail.N_ITEM_STATE = 2; cG_Detail.S_ITEM_STATE = "涓嶅悎鏍�; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[8] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[8] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else if (model.cgState == 5)//娣峰悎涔熷洖搴擄紝閫氳繃鐐瑰鐐瑰啀鍙戠嚎杈�@@ -185,7 +194,10 @@ cG_Detail.N_ITEM_STATE = 5; cG_Detail.S_ITEM_STATE = "娣峰悎"; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[2] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[2] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else if (model.cgState == 6)//涓�骇鏂欎簩绾ф枡鍥炲簱 @@ -193,7 +205,10 @@ cG_Detail.N_ITEM_STATE = 6; cG_Detail.S_ITEM_STATE = "涓�骇鏂�; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[2] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[2] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else if (model.cgState == 7)//涓�骇鏂欎簩绾ф枡鍥炲簱 @@ -201,7 +216,10 @@ cG_Detail.N_ITEM_STATE = 7; cG_Detail.S_ITEM_STATE = "浜岀骇鏂�; endLoc = db.Queryable<TN_Location>(). - Where(o => o.S_AREA_CODE == Settings.Areas[2] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). + Where(o => o.S_AREA_CODE == Settings.Areas[2] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� } else @@ -320,7 +338,13 @@ return result; } - var endLoc = db.Queryable<TN_Location>().First(o =>o.S_AREA_CODE == Settings.Areas[11] && o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃�); + var endLoc = db.Queryable<TN_Location>(). + Where(o =>o.S_AREA_CODE == Settings.Areas[11] + && o.N_CURRENT_NUM == 0 + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + ).First(); + if (endLoc == null) { result.resultCode = 2; @@ -359,7 +383,7 @@ endLoc.N_LOCK_STATE = 1; endLoc.S_LOCK_STATE = "鍏ュ簱閿�; - startLoc.T_MODIFY = System.DateTime.Now; + endLoc.T_MODIFY = System.DateTime.Now; using (var tran = db.Ado.UseTran()) { @@ -654,15 +678,15 @@ LogHelper.Info("瑙﹀彂API锛歅DA婊℃墭涓嬬嚎鍏ュ簱" + JsonConvert.SerializeObject(model), "API"); try { - if( model.RfId.Length < 16) - { - result.resultCode = 1; - result.resultMsg = $"杈撳叆鐨凴FID锛岄暱搴︿笉澶燂紝瑕佸ぇ浜�6浣�; - LogHelper.Info(result.resultMsg); - return result; - } + //if( model.RfId.Length < 16) + //{ + // result.resultCode = 1; + // result.resultMsg = $"杈撳叆鐨凴FID锛岄暱搴︿笉澶燂紝瑕佸ぇ浜�6浣�; + // LogHelper.Info(result.resultMsg); + // return result; + //} - model.RfId = WMSHelper.ConvertHexToAscii(model.RfId); + //model.RfId = WMSHelper.ConvertHexToAscii(model.RfId); //璇ヤ骇绾跨殑婊℃墭涓嬬嚎浣嶇疆锛岃捣鐐� var startPoint = Settings.ProductionLines.FirstOrDefault(a => a.PointOut == model.StartLoc); @@ -728,7 +752,11 @@ }; var endLoc = db.Queryable<TN_Location>(). - Where(c => c.S_AREA_CODE == Settings.Areas[1] && c.S_LOCK_STATE == "鏃� && c.N_LOCK_STATE == 0 && c.N_CURRENT_NUM == 0 && c.C_ENABLE == "Y"). + Where(c => c.S_AREA_CODE == Settings.Areas[1] + && c.S_LOCK_STATE == "鏃� && c.N_LOCK_STATE == 0 + && c.N_CURRENT_NUM == 0 && c.C_ENABLE == "Y" + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == c.S_CODE).NotAny()//涓嶈兘鏈夎揣 + ). OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣嶏紝鐩存帴鍒ゆ柇褰撳墠鏁伴噺涓�鍗冲彲 if (endLoc != null) @@ -969,7 +997,7 @@ return result; } - if (endLoc.N_CURRENT_NUM != 0) + if (endLoc.N_CURRENT_NUM != 0 || db.Queryable<TN_Loc_Container>().Any(b => b.S_LOC_CODE == model.EndLoc))//涓嶈兘鏈夎揣 { result.resultCode = 5; result.resultMsg = $"璇ョ粓鐐硅揣浣峽model.EndLoc}宸叉弧"; @@ -1264,7 +1292,9 @@ //鏌ヨ绗﹀悎鐨勬湭閿佸畾宸插惎鐢ㄦ寚瀹氳揣鍖虹殑璐т綅锛岀粓鐐� var endLoc = db.Queryable<TN_Location>(). - First(o => o.S_AREA_CODE == Settings.Areas[9] && o.S_CODE == weightPoint && o.C_ENABLE == "Y");//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣�+ First(o => o.S_AREA_CODE == Settings.Areas[9] + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny() + && o.S_CODE == weightPoint && o.C_ENABLE == "Y");//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� if (endLoc == null) { @@ -1590,10 +1620,14 @@ } var endLoc_Ok = db.Queryable<TN_Location>(). - First(o => o.S_AREA_CODE == Settings.Areas[9] && o.S_CODE == weightPoint);//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣嶏紝鍘荤О閲�+ First(o => o.S_AREA_CODE == Settings.Areas[9] + && o.S_CODE == weightPoint);//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣嶏紝鍘荤О閲� var endLoc_NG = db.Queryable<TN_Location>(). - First(o => o.S_AREA_CODE == Settings.Areas[8] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� && o.N_CURRENT_NUM == 0);//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣�+ Where(o => o.S_AREA_CODE == Settings.Areas[8] + && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃� + && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny()//涓嶈兘鏈夎揣 + && o.N_CURRENT_NUM == 0).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� if (endLoc_Ok == null) { @@ -1820,10 +1854,10 @@ var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc); - if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0 && endLoc.N_LOCK_STATE == 0 && endLoc.S_LOCK_STATE == "鏃�)) + if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0 && endLoc.N_LOCK_STATE == 0 && endLoc.S_LOCK_STATE == "鏃�) || db.Queryable<TN_Loc_Container>().Any(a=>a.S_LOC_CODE == endLoc.S_CODE)) { result.resultCode = 2; - result.resultMsg = $"缁堢偣浣嶇疆{model.endLoc}涓嶆弧瓒虫潯浠讹細endLoc != null && endLoc.N_CURRENT_NUM == 0 && endLoc.N_LOCK_STATE == 0 && endLoc.S_LOCK_STATE == 鏃�; + result.resultMsg = $"缁堢偣浣嶇疆{model.endLoc}宸查攣浣忔垨宸叉弧"; LogHelper.Info(result.resultMsg); return result; } -- Gitblit v1.9.1