using Model.ModelDto.BllAsnDto; using Model.ModelVm.BllAsnVm; using SqlSugar; using System; using System.Collections.Generic; using System.Linq.Expressions; using WMS.DAL; using WMS.Entity.BllAsnEntity; using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IBLL.IBllAsnServer; namespace WMS.BLL.BllAsnServer { public class PalletUnbindServer : DbHelper, IPalletUnbindServer { private static readonly SqlSugarScope Db = DataContext.Db; public PalletUnbindServer() : base(Db) { } //查询托盘解绑绑定信息(分组后) public List GetPalletUnbindList(PalletUnbindVm model, out int count) { try { Expression> item = Expressionable.Create() .AndIF(!string.IsNullOrWhiteSpace(model.UpbindPalletNo), it => it.UpbindPalletNo.Contains(model.UpbindPalletNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.BindPalletNo), it => it.BindPalletNo.Contains(model.BindPalletNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), it => it.SkuName.Contains(model.SkuName.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim())) .And(it => it.IsDel == "0") .ToExpression();//注意 这一句 不能少 var total = 0; var list = GetAllWhereAsync(item) .LeftJoin((a, b) => a.CreateUser == b.Id) .GroupBy((a, b) => new { a.UpbindPalletNo, a.BindPalletNo, a.LotNo, a.SkuNo, a.SkuName, a.Standard, a.LotText, a.BoxNo, a.CreateTime, b.RealName }).Select((a, b) => new PalletUnbindDto { UpbindPalletNo = a.UpbindPalletNo, BindPalletNo = a.BindPalletNo, LotNo = a.LotNo, SkuNo = a.SkuNo, SkuName = a.SkuName, Standard = a.Standard, LotText = a.LotText, BoxNo = a.BoxNo, CreateTime = a.CreateTime, CreateUserName=b.RealName }).OrderByDescending(a => a.CreateTime).ToOffsetPage(model.Page, model.Limit, ref total); count = total; return list; } catch (Exception e) { throw new Exception(e.Message); } } //查询托盘解绑绑定详细信息 public List GetPalletUnbindList2(PalletUnbindVm model, out int count) { try { Expression> item = Expressionable.Create() .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo), it => it.BoxNo.Contains(model.BoxNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo3), it => it.BoxNo3.Contains(model.BoxNo3.Trim())) .And(it => it.IsDel == "0") .ToExpression();//注意 这一句 不能少 var total = 0; var list = GetAllWhereAsync(item) .Select(it => new BllPalletUnbind { UpbindPalletNo = it.UpbindPalletNo, BindPalletNo = it.BindPalletNo, LotNo = it.LotNo, SkuNo = it.SkuNo, SkuName = it.SkuName, Standard = it.Standard, LotText = it.LotText, BoxNo = it.BoxNo, BoxNo2 = it.BoxNo2, BoxNo3 = it.BoxNo3 }).ToOffsetPage(model.Page, model.Limit, ref total); count = total; return list; } catch (Exception e) { throw new Exception(e.Message); } } } }