public string QueryLocation_Out(string wHouse, LocationStatus status, string material = null) { var locationList = QueryLocation_Outable(wHouse, material, status).ToList(); return locationList.FirstOrDefault(d => CheckLocation(d))?.LocationCode; } public List<LocationProperty> QueryLocation_Out_DataList(string wHouse, LocationStatus status, string material = null) { var locationList = QueryLocation_Outable(wHouse, material, status).ToList(); return locationList.Where(d => CheckLocation(d)).ToList(); } private SqlSugar.ISugarQueryable<LocationProperty> QueryLocation_Outable(string wHouse, string material, params LocationStatus[] statusArray) { var queryable = Db.Queryable<LocationProperty>() .Where(d => d.WareHouseCode == wHouse && statusArray.Contains(d.Status) && string.IsNullOrEmpty(d.CurrentTaskID)); queryable = material == null ? queryable : queryable.Where(d => d.MaterialId == material); return queryable //.OrderBy(d => d.LocationCode.Length) //.OrderBy(d => d.LocationCode) .OrderBy(d => d.ColumnIndex, SqlSugar.OrderByType.Asc) .OrderBy(d => d.RowIndex, SqlSugar.OrderByType.Asc) .OrderBy(d => d.ModifyTime, SqlSugar.OrderByType.Asc); }
时间: 2024-04-26 09:22:57 浏览: 130
这是一段 C#代码,它的作用是根据传入的仓库编码、库位状态和物料编码(可选),查询符合条件的库位列表,并返回该列表。具体实现包括三个方法:
1. QueryLocation_Out 方法:根据传入的参数查询符合条件的库位列表,并返回符合条件的第一个库位的位置编码。
2. QueryLocation_Out_DataList 方法:根据传入的参数查询符合条件的库位列表,并返回符合条件的所有库位的列表。
3. QueryLocation_Outable 方法:根据传入的参数构建查询条件,并返回查询结果。该方法中,首先通过 Db.Queryable<LocationProperty>() 获取一个查询对象,然后根据传入的参数构建查询条件,最后按照指定的顺序对查询结果进行排序,并返回查询结果的 IQueryable 对象。
其中,CheckLocation 方法是自定义的用于判断库位是否符合条件的方法,statusArray 是一个 LocationStatus 类型的可变参数数组,表示需要查询的库位状态,可以传入一个或多个状态。
阅读全文