From 0ed390381862dea0c7fd0210d16017eb09f12da4 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期三, 30 七月 2025 17:27:27 +0800 Subject: [PATCH] 封装插入容器表等业务代码, 修复部分底层旧框架方法问题 --- wms/DbExpr.cs | 170 ++++++++++++-------------------------------------------- 1 files changed, 36 insertions(+), 134 deletions(-) diff --git a/wms/DbExpr.cs b/wms/DbExpr.cs index 096401d..36eabaa 100644 --- a/wms/DbExpr.cs +++ b/wms/DbExpr.cs @@ -15,7 +15,7 @@ /// </summary> public class DbExpr { /// <summary> - /// 閫氱敤璐т綅绛涢�琛ㄨ揪寮�+ /// 閫氱敤 [ 璐т綅 ] 绛涢� /// </summary> /// <remarks><code><![CDATA[ /// l => l.C_ENABLE == "Y" @@ -24,23 +24,26 @@ /// && areas.Contains(l.S_AREA_CODE) /// && l.N_CURRENT_NUM == curNum /// ]]></code></remarks> - /// <param name="lock"></param> - /// <param name="name"></param> - /// <param name="areas"></param> - /// <param name="curNum"></param> + /// <param name="lock">閿佺姸鎬�( 灏忎簬 0 鏃跺拷鐣�)</param> + /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> + /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> + /// <param name="curNum">褰撳墠鏁伴噺 ( 灏忎簬 0 鏃跺拷鐣�)</param> /// <returns></returns> - public static Expression<Func<TN_Location, bool>> LocFilter(int @lock = 0, string name = "", List<string> areas = null, int curNum = 0) { + public static Expression<Func<TN_Location, bool>> LocFilter(int @lock = 0, string name = "", + List<string> areas = null, int curNum = -1) { + Expression<Func<TN_Location, bool>> expr = l => l.C_ENABLE == "Y"; // 宸插惎鐢� if (@lock >= 0) { - Expression<Func<TN_Location, bool>> newExpr = l => l.N_LOCK_STATE == @lock && l.S_LOCK_STATE == TN_Location.GetLockStateStr(@lock); + Expression<Func<TN_Location, bool>> newExpr = + l => l.N_LOCK_STATE == @lock && l.S_LOCK_STATE == TN_Location.GetLockStateStr(@lock); expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); } if (!string.IsNullOrEmpty(name)) { Expression<Func<TN_Location, bool>> newExpr = l => l.S_CODE == name; expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); } - if (areas != null && areas.Count == 0) { + if (areas != null && areas.Count > 0) { Expression<Func<TN_Location, bool>> newExpr = l => areas.Contains(l.S_AREA_CODE); expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); } @@ -62,27 +65,33 @@ /// && areas.Contains(l.S_AREA_CODE) /// && l.N_CURRENT_NUM == 0 /// ]]></code></remarks> - /// <param name="name"></param> - /// <param name="areas"></param> + /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> + /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> /// <returns></returns> public static Expression<Func<TN_Location, bool>> StartLocUnbind(string name = "", List<string> areas = null) { - Expression<Func<TN_Location, bool>> expr = - l => l.C_ENABLE == "Y" && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.N_CURRENT_NUM == 0; - - if (!string.IsNullOrEmpty(name)) { - Expression<Func<TN_Location, bool>> newExpr = l => l.S_CODE == name; - expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); - } - if (areas != null && areas.Count > 0) { - Expression<Func<TN_Location, bool>> newExpr = l => areas.Contains(l.S_AREA_CODE); - expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); - } - - return expr; + return LocFilter(0, name, areas, 0); } /// <summary> - /// + /// 璧风偣璐т綅 ( 宸茬粦瀹�) + /// </summary> + /// <remarks><code><![CDATA[ + /// l => l.C_ENABLE == "Y" + /// && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� + /// && l.S_CODE == name + /// && areas.Contains(l.S_AREA_CODE) + /// && l.N_CURRENT_NUM == 1 + /// ]]></code></remarks> + /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> + /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> + /// <param name="curNum">褰撳墠鏁伴噺 ( 灏忎簬 0 鏃跺拷鐣�)</param> + /// <returns></returns> + public static Expression<Func<TN_Location, bool>> StartLoc(string name = "", List<string> areas = null, int curNum = 1) { + return LocFilter(0, name, areas, curNum); + } + + /// <summary> + /// 缁堢偣璐т綅 /// </summary> /// <remarks><code><![CDATA[ /// l => l.C_ENABLE == "Y" @@ -91,119 +100,12 @@ /// && areas.Contains(l.S_AREA_CODE) /// && l.N_CURRENT_NUM == 0 /// ]]></code></remarks> - /// <param name="name"></param> - /// <param name="areas"></param> - /// <returns></returns> - public static Expression<Func<TN_Location, bool>> EndLoc(string name = "", List<string> areas = null) { - Expression<Func<TN_Location, bool>> expr = - l => l.C_ENABLE == "Y" && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.N_CURRENT_NUM == 0; - - if (!string.IsNullOrEmpty(name)) { - Expression<Func<TN_Location, bool>> newExpr = l => l.S_CODE == name; - expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); - } - if (areas != null && areas.Count > 0) { - Expression<Func<TN_Location, bool>> newExpr = l => areas.Contains(l.S_AREA_CODE); - expr = Expression.Lambda<Func<TN_Location, bool>>(Expression.AndAlso(expr.Body, newExpr.Body), expr.Parameters[0]); - } - - return expr; - } - } - - #region 鏃ф煡璇㈢被 ( 鎼佺疆 ) - /// <summary> - /// [ 鏁版嵁搴撴煡璇�] 甯姪绫�- /// </summary> - /// <remarks><b>[ 鎼佺疆 ]</b> 绫讳笌鏂规硶鏆傛椂璁句负绉佹湁<br/><b>[ 鐞嗙敱 ]</b> 寮曠敤澶栭儴 db 瀛樺湪椋庨櫓 ; 涓嶉�鐢ㄤ簬鑱旇〃鏌ヨ鍦烘櫙 , 涓嶅鐏垫椿</remarks> - class DbQuery { - /// <summary> - /// 鏋勫缓 [ 璐т綅 ] 鏌ヨ琛ㄨ揪寮�: 绛涢�鏉′欢 : 閿佺姸鎬�/ 鍚嶇О / 璐у尯 / 褰撳墠瀹瑰櫒鏁伴噺 ( 榛樿绛涢�宸插惎鐢ㄨ揣浣�) - /// </summary> - /// <param name="db">璋冪敤鍖哄煙鐨�SqlSugarClient</param> - /// <param name="lock">閿佺姸鎬�( 灏忎簬 0 鏃跺拷鐣�)</param> /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> /// <param name="curNum">褰撳墠鏁伴噺 ( 灏忎簬 0 鏃跺拷鐣�)</param> /// <returns></returns> - static ISugarQueryable<TN_Location> Loc(SqlSugarClient db, int @lock, string name, List<string> areas, int curNum) { - var query = db.Queryable<TN_Location>().Where(l => l.C_ENABLE == "Y"); // 宸插惎鐢�- - if (@lock >= 0) { - query = query.Where(l => l.N_LOCK_STATE == @lock && l.S_LOCK_STATE == TN_Location.GetLockStateStr(@lock)); - } - if (!string.IsNullOrEmpty(name)) { - query = query.Where(l => l.S_CODE == name); - } - if (areas != null && areas.Count != 0) { - query = query.Where(l => areas.Contains(l.S_AREA_CODE)); - } - if (curNum >= 0) { - query = query.Where(l => l.N_CURRENT_NUM == curNum); - } - - return query; + public static Expression<Func<TN_Location, bool>> EndLoc(string name = "", List<string> areas = null, int curNum = 0) { + return LocFilter(0, name, areas, curNum); } - - /// <summary> - /// 鏋勫缓 [ 璧风偣璐т綅 ( 缁戝畾鍓�) ] 鏌ヨ琛ㄨ揪寮�: 绛涢�鏉′欢 : 鍚嶇О / 璐у尯 ( 榛樿绛涢� : 宸插惎鐢�/ 鏈笂閿�/ 褰撳墠瀹瑰櫒鏁伴噺 = 0 ) - /// </summary> - /// <param name="db">璋冪敤鍖哄煙鐨�SqlSugarClient</param> - /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> - /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> - /// <returns></returns> - static ISugarQueryable<TN_Location> StartLocUnbind(SqlSugarClient db, string name, List<string> areas) { - var query = db.Queryable<TN_Location>().Where(l => l.C_ENABLE == "Y" && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == TN_Location.GetLockStateStr(0) && l.N_CURRENT_NUM == 0); // 宸插惎鐢�鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0(鍒濆鏈粦瀹氬鍣� - - if (!string.IsNullOrEmpty(name)) { - query = query.Where(l => l.S_CODE == name); - } - if (areas != null && areas.Count != 0) { - query = query.Where(l => areas.Contains(l.S_AREA_CODE)); - } - - return query; - } - - /// <summary> - /// 鏋勫缓 [ 璧风偣璐т綅 ( 缁戝畾鍚�) ] 鏌ヨ琛ㄨ揪寮�: 绛涢�鏉′欢 : 鍚嶇О / 璐у尯 ( 榛樿绛涢� : 宸插惎鐢�/ 鏈笂閿�/ 褰撳墠瀹瑰櫒鏁伴噺 = 1 ) - /// </summary> - /// <param name="db">璋冪敤鍖哄煙鐨�SqlSugarClient</param> - /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> - /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> - /// <returns></returns> - static ISugarQueryable<TN_Location> StartLoc(SqlSugarClient db, string name, List<string> areas) { - var query = db.Queryable<TN_Location>().Where(l => l.C_ENABLE == "Y" && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == TN_Location.GetLockStateStr(0) && l.N_CURRENT_NUM == 1); // 宸插惎鐢�鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=1(宸茬粦瀹氬鍣� - - if (!string.IsNullOrEmpty(name)) { - query = query.Where(l => l.S_CODE == name); - } - if (areas != null && areas.Count != 0) { - query = query.Where(l => areas.Contains(l.S_AREA_CODE)); - } - - return query; - } - - /// <summary> - /// 鏋勫缓 [ 缁堢偣璐т綅 ] 鏌ヨ琛ㄨ揪寮�: 绛涢�鏉′欢 : 鍚嶇О / 璐у尯 ( 榛樿绛涢� : 宸插惎鐢�/ 鏈笂閿�/ 褰撳墠瀹瑰櫒鏁伴噺 = 0 ) - /// </summary> - /// <param name="db">璋冪敤鍖哄煙鐨�SqlSugarClient</param> - /// <param name="name">璐т綅鍚嶇О ( 涓�null 鎴�"" 鏃跺拷鐣�)</param> - /// <param name="areas">鎵�湪搴撳尯鍒楄〃 ( 涓�null 鎴�[] 鏃跺拷鐣�)</param> - /// <returns></returns> - static ISugarQueryable<TN_Location> EndLoc(SqlSugarClient db, string name, List<string> areas) { - var query = db.Queryable<TN_Location>().Where(l => l.C_ENABLE == "Y" && l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == TN_Location.GetLockStateStr(0) && l.N_CURRENT_NUM == 0); // 宸插惎鐢�鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0(鏈粦瀹氬鍣� - - if (!string.IsNullOrEmpty(name)) { - query = query.Where(l => l.S_CODE == name); - } - if (areas != null && areas.Count != 0) { - query = query.Where(l => areas.Contains(l.S_AREA_CODE)); - } - - return query; - } - } - #endregion + } } -- Gitblit v1.9.1