| | |
| | | var mxId = "0"; |
| | | var yemianid = 0; |
| | | refreshTable(); |
| | | refreshTablemx(mxId) |
| | | //refreshTablemx(mxId) |
| | | //渲染出库分配table |
| | | //#region 自定义表头 |
| | | var TotalColsArr = [[ |
| | |
| | | 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; |
| | |
| | | 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.BLL.LogServer; |
| | | using WMS.DAL; |
| | |
| | | } |
| | | |
| | | //查询出库分配表信息 |
| | | public List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count) |
| | | public async Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count) |
| | | { |
| | | try |
| | | { |
| | | var strList = new List<int>(); |
| | | var strList = new List<int>(); |
| | | |
| | | if (!string.IsNullOrWhiteSpace(boxNo)) |
| | | if (!string.IsNullOrWhiteSpace(model.BoxNo)) |
| | | { |
| | | var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(model.BoxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList(); |
| | | strList = detailList; |
| | | } |
| | | Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.SoNo), it => it.SONo.Contains(model.SoNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), it => it.PalletNo.Contains(model.PalletNo.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())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo), m => strList.Contains(m.Id)) |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var total = 0; |
| | | 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 ExportAllotDto() |
| | | { |
| | | var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(boxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList(); |
| | | strList = detailList; |
| | | } |
| | | Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(no), it => it.SONo.Contains(no.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status) |
| | | .AndIF(!string.IsNullOrWhiteSpace(boxNo), m => strList.Contains(m.Id)) |
| | | .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 ExportAllotDto() |
| | | { |
| | | Id = a.Id, |
| | | SONo = a.SONo, |
| | | WaveNo = a.WaveNo, |
| | | SODetailNo = a.SODetailNo, |
| | | StockId = a.StockId, |
| | | TaskNo = a.TaskNo, |
| | | Id = a.Id, |
| | | SONo = a.SONo, |
| | | WaveNo = a.WaveNo, |
| | | SODetailNo = a.SODetailNo, |
| | | StockId = a.StockId, |
| | | TaskNo = a.TaskNo, |
| | | |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | PalletNo = a.PalletNo, |
| | | IsBale = a.IsBale, |
| | | IsBelt = a.IsBelt, |
| | | Qty = a.Qty, |
| | | CompleteQty = a.CompleteQty, |
| | | Status = a.Status, |
| | | LogisticsId = a.LogisticsId, |
| | | LogisticsName = b.CarrierName, |
| | | IsAdvance = a.IsAdvance, |
| | | OutMode = a.OutMode, |
| | | LoadingAddre=a.LoadingAddre, |
| | | UnstackingMode=a.UnstackingMode, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | PalletNo = a.PalletNo, |
| | | IsBale = a.IsBale, |
| | | IsBelt = a.IsBelt, |
| | | Qty = a.Qty, |
| | | CompleteQty = a.CompleteQty, |
| | | Status = a.Status, |
| | | LogisticsId = a.LogisticsId, |
| | | LogisticsName = b.CarrierName, |
| | | IsAdvance = a.IsAdvance, |
| | | OutMode = a.OutMode, |
| | | LoadingAddre = a.LoadingAddre, |
| | | UnstackingMode = a.UnstackingMode, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime |
| | | }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo).ToOffsetPage(page, limit, ref total); |
| | | count = total; |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime |
| | | }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo) |
| | | .ToPageListAsync(model.Page, model.Limit, count); |
| | | count = total; |
| | | return data; |
| | | } |
| | | |
| | | //撤销分配(删除) |
| | |
| | | } |
| | | public async Task<List<ExportNoticeDetailDto>> GetExportNoticeDetailList(GetExportNoticeDetailVm model, RefAsync<int> count) |
| | | { |
| | | try |
| | | if (string.IsNullOrWhiteSpace(model.SoNo)) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(model.SoNo)) |
| | | { |
| | | throw new Exception("出库单号为空"); |
| | | } |
| | | var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault(); |
| | | if (notice == null) |
| | | { |
| | | throw new Exception("出库单号为空"); |
| | | } |
| | | |
| | | var data = await GetAllWhereAsync(a=>a.SONo == model.SoNo) |
| | | .LeftJoin<SysPackag>((a,b)=> a.PackagNo == b.PackagNo) |
| | | .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 ExportNoticeDetailDto() |
| | | { |
| | | Id = a.Id, |
| | | Status = a.Status, |
| | | Origin = notice.Origin, |
| | | SONo = a.SONo, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | Qty = a.Qty, |
| | | AllotQty = a.AllotQty, |
| | | FactQty = a.FactQty, |
| | | CompleteQty = a.CompleteQty, |
| | | PackagNo = a.PackagNo, |
| | | PackagName = b.PackagName, |
| | | Price = a.Price, |
| | | Money = a.Money, |
| | | IsBale = a.IsBale, |
| | | IsBelt = a.IsBelt, |
| | | SupplierLot = a.SupplierLot, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime |
| | | }).ToPageListAsync(model.Page, model.Limit, count); |
| | | |
| | | return data; |
| | | throw new Exception("出库单号为空"); |
| | | } |
| | | catch (Exception e) |
| | | var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault(); |
| | | if (notice == null) |
| | | { |
| | | throw new Exception(e.Message); |
| | | throw new Exception("出库单号为空"); |
| | | } |
| | | |
| | | var data = await GetAllWhereAsync(a => a.SONo == model.SoNo) |
| | | .LeftJoin<SysPackag>((a, b) => a.PackagNo == b.PackagNo) |
| | | .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 ExportNoticeDetailDto() |
| | | { |
| | | Id = a.Id, |
| | | Status = a.Status, |
| | | Origin = notice.Origin, |
| | | SONo = a.SONo, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | Qty = a.Qty, |
| | | AllotQty = a.AllotQty, |
| | | FactQty = a.FactQty, |
| | | CompleteQty = a.CompleteQty, |
| | | PackagNo = a.PackagNo, |
| | | PackagName = b.PackagName, |
| | | Price = a.Price, |
| | | Money = a.Money, |
| | | IsBale = a.IsBale, |
| | | IsBelt = a.IsBelt, |
| | | SupplierLot = a.SupplierLot, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime |
| | | }).ToPageListAsync(model.Page, model.Limit, count); |
| | | |
| | | return data; |
| | | } |
| | | |
| | | public bool DelExportNoticeDetail(int id, int userId) |
| | |
| | | |
| | | public async Task<List<ExportNoticeDto>> GetExportNoticeList(GetExportNoticeVm model, RefAsync<int> count) |
| | | { |
| | | try |
| | | { |
| | | var strList = new List<string>(); |
| | | var strList = new List<string>(); |
| | | |
| | | if (!string.IsNullOrWhiteSpace(model.LotNo)) |
| | | if (!string.IsNullOrWhiteSpace(model.LotNo)) |
| | | { |
| | | var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList(); |
| | | strList = detailList; |
| | | } |
| | | Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) |
| | | .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo)) |
| | | .ToExpression();//注意 这一句 不能少 |
| | | |
| | | 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) |
| | | .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id) |
| | | .Select((a, b, c, d, e) => new ExportNoticeDto() |
| | | { |
| | | var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList(); |
| | | strList = detailList; |
| | | } |
| | | Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) |
| | | .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo)) |
| | | .ToExpression();//注意 这一句 不能少 |
| | | Id = a.Id, |
| | | SONo = a.SONo, |
| | | Type = a.Type, |
| | | 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, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | IsDespatch = a.IsDespatch, |
| | | Demo = a.Demo, |
| | | |
| | | 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) |
| | | .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id) |
| | | .Select((a, b, c, d, e) => new ExportNoticeDto() |
| | | { |
| | | Id = a.Id, |
| | | SONo = a.SONo, |
| | | Type = a.Type, |
| | | 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, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | IsDespatch = a.IsDespatch, |
| | | Demo = a.Demo, |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = c.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = c.RealName, |
| | | CreateTime = a.CreateTime, |
| | | UpdateTime = a.UpdateTime, |
| | | CheckUserName = e.RealName, |
| | | CheckTime = a.CheckTime |
| | | }) |
| | | .OrderByDescending(a => a.CreateTime) |
| | | .ToPageListAsync(model.Page, model.Limit, count); |
| | | |
| | | CheckUserName = e.RealName, |
| | | CheckTime = a.CheckTime |
| | | }) |
| | | .OrderByDescending(a => a.CreateTime) |
| | | .ToPageListAsync(model.Page, model.Limit, count); |
| | | |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | //获取添加/编辑出库单时选择物料明细信息 |
| | |
| | | /// <param name="limit">零托标记</param> |
| | | /// <param name="count">零托标记</param> |
| | | /// <returns></returns> |
| | | public List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo, string inspectMark, string bitPalletMark, int page, int limit, out int count) |
| | | public async Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count) |
| | | { |
| | | Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), m => m.SkuNo.Contains(model.SkuNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), m => m.SkuName.Contains(model.SkuName.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), m => m.PalletNo.Contains(model.PalletNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), m => m.LotNo.Contains(model.LotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.InspectMark), m => m.InspectMark == model.InspectMark) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.BitPalletMark), m => m.BitPalletMark == model.BitPalletMark) |
| | | .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo)) |
| | | .And(a => a.Status == "0") |
| | | .And(a => a.WareHouseNo == "W01") |
| | | .ToExpression(); |
| | | var data = await Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToPageListAsync(model.Page, model.Limit, count); |
| | | //data.Select(m => m.Status == "0" && m.IsDel == "0"); |
| | | |
| | | try |
| | | { |
| | | Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(skuName.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(inspectMark), m => m.InspectMark == inspectMark) |
| | | .AndIF(!string.IsNullOrWhiteSpace(bitPalletMark), m => m.BitPalletMark == bitPalletMark) |
| | | .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo)) |
| | | .And(a => a.Status == "0") |
| | | .And(a => a.WareHouseNo == "W01") |
| | | .ToExpression(); |
| | | var total = 0; |
| | | var data = Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToOffsetPage(page, limit, ref total); |
| | | //data.Select(m => m.Status == "0" && m.IsDel == "0"); |
| | | count = total; |
| | | |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | //托盘出库 |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | //获取波次单信息 |
| | | 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; |
| | | } |
| | | |
| | | //获取添加波次单的出库单信息 |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelDto.BllSoDto; |
| | | using Model.ModelVm.BllSoVm; |
| | | using SqlSugar; |
| | | |
| | | namespace WMS.IBLL.IBllSoServer |
| | | { |
| | |
| | | /// <param name="limit"></param> |
| | | /// <param name="count"></param> |
| | | /// <returns></returns> |
| | | List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count); |
| | | Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count); |
| | | |
| | | /// <summary> |
| | | /// 获取拣货明细中详细箱支信息 根据箱码\支码 |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelDto.BllSoDto; |
| | | using Model.ModelVm.BllSoVm; |
| | | using SqlSugar; |
| | | |
| | | namespace WMS.IBLL.IBllSoServer |
| | | { |
| | |
| | | /// <param name="limit"></param> |
| | | /// <param name="count"></param> |
| | | /// <returns></returns> |
| | | List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count); |
| | | Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count); |
| | | |
| | | /// <summary> |
| | | /// 撤销分配(删除) |
| | |
| | | /// <param name="limit"></param> |
| | | /// <param name="count"></param> |
| | | /// <returns></returns> |
| | | List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo, |
| | | string inspectMark, string bitPalletMark, int page, int limit, out int count); |
| | | Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count); |
| | | |
| | | /// <summary> |
| | | /// 托盘下发出库 |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Model.InterFaceModel; |
| | | using Model.ModelDto.BllSoDto; |
| | | using Model.ModelVm.BllSoVm; |
| | | using SqlSugar; |
| | | |
| | | namespace WMS.IBLL.IBllSoServer |
| | | { |
| | |
| | | /// <param name="limit">数量</param> |
| | | /// <param name="count">中数量</param> |
| | | /// <returns></returns> |
| | | List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count); |
| | | Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count); |
| | | |
| | | /// <summary> |
| | | /// 获取添加波次单的出库单信息 |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetExportAllotList(GetExportAllotVm model) |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList> GetExportAllotList(GetExportAllotVm model) |
| | | { |
| | | try |
| | | { |
| | | var bolls = _exAllotSvc.GetExportAllotList(model.SoNo, model.WaveNo, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.Status,model.BoxNo, model.Page, model.Limit, out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _exAllotSvc.GetExportAllotList(model, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "出库分配信息", data = bolls }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = e.Message }); |
| | | } |
| | | return new SqlSugarPagedList() { Items = bolls, Total = count }; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetCompleteDetailList(GetCompleteDetailVm model) |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList> GetCompleteDetailList(GetCompleteDetailVm model) |
| | | { |
| | | try |
| | | { |
| | | var bolls = _comDetailSvc.GetCompleteDetailList(model.Id,model.Page, model.Limit, out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _comDetailSvc.GetCompleteDetailList(model, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "拣货明细信息", data = bolls }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = e.Message }); |
| | | } |
| | | return new SqlSugarPagedList() { Items = bolls, Total = count }; |
| | | } |
| | | |
| | | [HttpGet] |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetPalletNoOutList(GetPalletNoOutVm model) |
| | | [HttpPost] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList> GetPalletNoOutList(GetPalletNoOutVm model) |
| | | { |
| | | try |
| | | { |
| | | var bolls = _exNoticeSvc.GetPalletNoOutList(model.SkuNo,model.SkuName,model.PalletNo,model.LotNo,model.InspectMark,model.BitPalletMark,model.Page,model.Limit,out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _exNoticeSvc.GetPalletNoOutList(model, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "获取托盘出库数据异常", data = bolls}); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = "托盘出库数据" + e.Message }); |
| | | } |
| | | return new SqlSugarPagedList() { Items = bolls, Total = count }; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetWaveMageList(GetWaveMageVm model) |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList> GetWaveMageList(GetWaveMageVm model) |
| | | { |
| | | try |
| | | { |
| | | var bolls = _waveSvc.GetWaveMageList(model.WaveNo, model.Status, model.LotNo, model.LogisticsId, model.Page, model.Limit, out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _waveSvc.GetWaveMageList(model, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "出库单信息", data = bolls }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = e.Message }); |
| | | } |
| | | return new SqlSugarPagedList() { Items = bolls, Total = count }; |
| | | } |
| | | |
| | | /// <summary> |