From 8419cb523a107c6b865628db4cdf8ef5d32b40f7 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期二, 13 八月 2024 10:28:46 +0800 Subject: [PATCH] 拼箱功能开发 --- Wms/WMS.BLL/BllSoServer/WaveMageServer.cs | 78 ++++++++++++++++++--------------------- 1 files changed, 36 insertions(+), 42 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs index 692cc5c..393fd6d 100644 --- a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs +++ b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs @@ -3,8 +3,10 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; using Model.InterFaceModel; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; using Newtonsoft.Json; using SqlSugar; using WMS.BLL.Logic; @@ -27,52 +29,44 @@ } //鑾峰彇娉㈡鍗曚俊鎭� - public List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count) + public async Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count) { - try - { - Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>() - .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status) - .AndIF(logisticsId != null, it => it.LogisticsId == logisticsId) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo)) + Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>() + .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) + .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) + .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo)) .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var total = 0; - var data = GetAllWhereAsync(item) - .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) - .Select((a, b, c, d) => new WaveMageDto() - { - Id = a.Id, - WaveNo = a.WaveNo, - Status = a.Status, - Origin = a.Origin, - CustomerNo = a.CustomerNo, - CustomerName = a.CustomerName, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - LogisticsId = a.LogisticsId, - LogisticsName = b.CarrierName, - Address = a.Address, - CreateUserName = c.RealName, - UpdateUserName = c.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime, + var data = await GetAllWhereAsync(item) + .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) + .Select((a, b, c, d) => new WaveMageDto() + { + Id = a.Id, + WaveNo = a.WaveNo, + Status = a.Status, + Origin = a.Origin, + CustomerNo = a.CustomerNo, + CustomerName = a.CustomerName, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + LogisticsId = a.LogisticsId, + LogisticsName = b.CarrierName, + Address = a.Address, - }) - .OrderByDescending(a => a.CreateTime) - .ToOffsetPage(page, limit, ref total); - count = total; + CreateUserName = c.RealName, + UpdateUserName = c.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime, - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + }) + .OrderByDescending(a => a.CreateTime) + .ToPageListAsync(model.Page, model.Limit, count); + + return data; } //鑾峰彇娣诲姞娉㈡鍗曠殑鍑哄簱鍗曚俊鎭� @@ -486,7 +480,7 @@ Dictionary<string, int> zxQtyDic = new Dictionary<string, int>();//鎵樺嚭鏁寸鏁� //鍒嗛厤璐х墿 //assign.AllocatePallets(stocks, pNum, bNum, needQty, stockQtyDic, zxQtyDic); - var qty = assign.AllotPallets(stockDetail, decimal.Parse(needQty.ToString()), pNum, bNum, stockQtyDic); + var qty = assign.AllotPallets(stockDetail, decimal.Parse(needQty.ToString()), pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox); foreach (var sc in stockQtyDic) { -- Gitblit v1.8.0