| | |
| | | using System.Collections.Generic; |
| | | using System.Linq.Expressions; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelDto.BllCheckDto; |
| | | using SqlSugar; |
| | | using WMS.DAL; |
| | |
| | | |
| | | namespace WMS.BLL.BllCheckServer |
| | | { |
| | | public class StockCheckLogServer:DbHelper<BllStockCheckLog>,IStockCheckLogServer |
| | | public class StockCheckLogServer : DbHelper<BllStockCheckLog>, IStockCheckLogServer |
| | | { |
| | | private static readonly SqlSugarScope Db = DataContext.Db; |
| | | public StockCheckLogServer() : base(Db) |
| | |
| | | } |
| | | |
| | | //获取盘点记录 |
| | | public List<StockCheckLogDto> GetStockCheckLogList(string crNo, string status, string palletNo, string boxNo, string skuNo, string skuName, string lotNo, int page, int limit, out int count) |
| | | public async Task<List<StockCheckLogDto>> GetStockCheckLogList(string crNo, string status, string palletNo, string boxNo, string skuNo, string skuName, string lotNo, int page, int limit, RefAsync<int> count) |
| | | { |
| | | try |
| | | { |
| | | Expression<Func<BllStockCheckLog, bool>> item = Expressionable.Create<BllStockCheckLog>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(crNo), m => m.CRNo.Contains(crNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(status), m => m.CheckResult == int.Parse(status)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(boxNo), m => m.BoxNo.Contains(boxNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuName.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(lotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) |
| | | .And(m => m.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var total = 0; |
| | | var list = GetAllWhereAsync(item) |
| | | .LeftJoin<SysUserInfor>((a, b) => a.CheckUserId == b.Id) |
| | | .LeftJoin<SysUserInfor>((a, b,c) => a.CreateUser == c.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c,d) => a.UpdateUser == d.Id) |
| | | .Select((a, b, c,d) => new StockCheckLogDto() |
| | | { |
| | | Id = a.Id, |
| | | CrNo = a.CRNo, |
| | | PalletNo = a.PalletNo, |
| | | BoxNo = a.BoxNo, |
| | | BoxNo2 = a.BoxNo2, |
| | | BoxNo3 = a.BoxNo3, |
| | | Qty = a.Qty, |
| | | RealQty = a.RealQty, |
| | | CheckDate = a.CheckDate, |
| | | CheckResult = a.CheckResult, |
| | | CheckUserName = b.RealName, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | | Expression<Func<BllStockCheckLog, bool>> item = Expressionable.Create<BllStockCheckLog>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(crNo), m => m.CRNo.Contains(crNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(status), m => m.CheckResult == int.Parse(status)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(boxNo), m => m.BoxNo.Contains(boxNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuName.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(lotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) |
| | | .And(m => m.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var list = await GetAllWhereAsync(item) |
| | | .LeftJoin<SysUserInfor>((a, b) => a.CheckUserId == b.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id) |
| | | .Select((a, b, c, d) => new StockCheckLogDto() |
| | | { |
| | | Id = a.Id, |
| | | CrNo = a.CRNo, |
| | | PalletNo = a.PalletNo, |
| | | BoxNo = a.BoxNo, |
| | | BoxNo2 = a.BoxNo2, |
| | | BoxNo3 = a.BoxNo3, |
| | | Qty = a.Qty, |
| | | RealQty = a.RealQty, |
| | | CheckDate = a.CheckDate, |
| | | CheckResult = a.CheckResult, |
| | | CheckUserName = b.RealName, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | |
| | | }).OrderByDescending(a=>a.CreateTime).ToOffsetPage(page, limit, ref total); |
| | | count = total; |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | | |
| | | return list; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | }).OrderByDescending(a => a.CreateTime).ToPageListAsync(page, limit, count); |
| | | |
| | | return list; |
| | | } |
| | | |
| | | #region 数据归档 |