using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using HH.WCS.Mobox3.DSZSH.models; using SqlSugar; namespace HH.WCS.Mobox3.DSZSH.wms { public class QueryHelper { /// /// 构建货位查询表达式:当前锁状态、数量、货区、名称(默认筛选已启用货位) /// /// 调用区域的数据库Client /// /// /// /// /// /// public static ISugarQueryable GetLoc(SqlSugarClient db, int @lock, string name, List areas, int curNum, Expression> expr = null) { var query = db.Queryable().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); } if (expr != null) { query = query.Where(expr); } return query; } } }