| | |
| | | using System.Linq; |
| | | using System.Linq.Expressions; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelDto.BllSoDto; |
| | | using Model.ModelVm.BllSoVm; |
| | | using SqlSugar; |
| | | using WMS.DAL; |
| | | using WMS.Entity.BllSoEntity; |
| | |
| | | |
| | | namespace WMS.BLL.BllSoServer |
| | | { |
| | | public class CompleteDetailServer: DbHelper<BllCompleteDetail>,ICompleteDetailServer |
| | | public class CompleteDetailServer : DbHelper<BllCompleteDetail>, ICompleteDetailServer |
| | | { |
| | | private static readonly SqlSugarScope Db = DataContext.Db; |
| | | public CompleteDetailServer():base(Db) |
| | | public CompleteDetailServer() : base(Db) |
| | | { |
| | | } |
| | | |
| | | //查询拣货明细箱码信息(分组后) |
| | | public List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count) |
| | | public async Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count) |
| | | { |
| | | try |
| | | { |
| | | var total = 0; |
| | | var detailInfo = Db.Queryable<BllCompleteDetail>().First(w => string.IsNullOrEmpty(w.BoxNo) || string.IsNullOrEmpty(w.BoxNo3)); |
| | | if (detailInfo == null) |
| | | Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() |
| | | .And(it => it.ExportAllotId == model.Id) |
| | | .And(it => it.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var data = await GetAllWhereAsync(item) |
| | | .GroupBy(m => new |
| | | { |
| | | Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() |
| | | .And(it => it.ExportAllotId == id) |
| | | .And(it => it.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var data = GetAllWhereAsync(item) |
| | | .GroupBy(m => new |
| | | { |
| | | m.SONo, |
| | | m.SODetailNo, |
| | | m.StockId, |
| | | m.ExportAllotId, |
| | | m.SONo, |
| | | m.SODetailNo, |
| | | m.StockId, |
| | | m.ExportAllotId, |
| | | |
| | | m.BoxNo, |
| | | m.LotNo, |
| | | m.LotText, |
| | | m.SupplierLot, |
| | | m.SkuNo, |
| | | m.SkuName, |
| | | m.Standard, |
| | | m.PalletNo, |
| | | m.NowPalletNo, |
| | | }) |
| | | .Select(a => new CompleteDetailDto() |
| | | { |
| | | SONo = a.SONo, |
| | | SODetailNo = a.SODetailNo, |
| | | StockId = a.StockId, |
| | | ExportAllotId = a.ExportAllotId, |
| | | |
| | | BoxNo = a.BoxNo, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | PalletNo = a.PalletNo, |
| | | CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), |
| | | NowPalletNo = a.NowPalletNo, |
| | | //CreateTime = a.CreateTime |
| | | }).ToOffsetPage(page, limit, ref total); |
| | | count = total; |
| | | return data; |
| | | } |
| | | else //箱码或支码为空说明是按数量拣货,增加 CreateTime 分组条件 |
| | | m.BoxNo, |
| | | m.LotNo, |
| | | m.LotText, |
| | | m.SupplierLot, |
| | | m.SkuNo, |
| | | m.SkuName, |
| | | m.Standard, |
| | | m.PalletNo, |
| | | m.NowPalletNo |
| | | }) |
| | | .Select(a => new CompleteDetailDto() |
| | | { |
| | | Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() |
| | | .And(it => it.ExportAllotId == id) |
| | | .And(it => it.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var data = GetAllWhereAsync(item) |
| | | .GroupBy(m => new |
| | | { |
| | | m.SONo, |
| | | m.SODetailNo, |
| | | m.StockId, |
| | | m.ExportAllotId, |
| | | SONo = a.SONo, |
| | | SODetailNo = a.SODetailNo, |
| | | StockId = a.StockId, |
| | | ExportAllotId = a.ExportAllotId, |
| | | |
| | | m.BoxNo, |
| | | m.LotNo, |
| | | m.LotText, |
| | | m.SupplierLot, |
| | | m.SkuNo, |
| | | m.SkuName, |
| | | m.Standard, |
| | | m.PalletNo, |
| | | m.NowPalletNo, |
| | | m.CreateTime |
| | | }) |
| | | .Select(a => new CompleteDetailDto() |
| | | { |
| | | SONo = a.SONo, |
| | | SODetailNo = a.SODetailNo, |
| | | StockId = a.StockId, |
| | | ExportAllotId = a.ExportAllotId, |
| | | BoxNo = a.BoxNo, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | PalletNo = a.PalletNo, |
| | | CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), |
| | | NowPalletNo = a.NowPalletNo, |
| | | }).ToPageListAsync(model.Page, model.Limit, count); |
| | | |
| | | BoxNo = a.BoxNo, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | PalletNo = a.PalletNo, |
| | | CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), |
| | | NowPalletNo = a.NowPalletNo, |
| | | //CreateTime = a.CreateTime |
| | | }).ToOffsetPage(page, limit, ref total); |
| | | count = total; |
| | | return data; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | //查询拣货明细支码详细信息 |
| | |
| | | Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo.Trim()) |
| | | .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3.Contains(boxNo3.Trim())) |
| | | .ToExpression(); |
| | | .ToExpression(); |
| | | var data = GetAllWhereAsync(item) |
| | | .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id) |
| | |
| | | CompleteQty = a.CompleteQty, |
| | | NowPalletNo = a.NowPalletNo, |
| | | |
| | | CreateUserName = b.RealName, |
| | | CreateUserName = b.RealName, |
| | | UpdateUserName = c.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | |
| | | { |
| | | page = 1; |
| | | } |
| | | |
| | | |
| | | sqlString += sqlPub + $" order by 1 offset {((page - 1) * limit)} rows fetch next {limit} rows only;"; |
| | | |
| | | var com = new Common(); |
| | |
| | | var modelList = Db.Ado.SqlQuery<CompleteDetailDto>(sqlString); |
| | | return modelList; |
| | | } |
| | | else |
| | | else |
| | | { |
| | | string sqlString = string.Empty; |
| | | string sqlCount = string.Empty; |