| | |
| | | using WIDESEA_IOutboundRepository; |
| | | using WIDESEA_IStockRepository; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_IBasicRepository; |
| | | using WIDESEA_Common.WareHouseEnum; |
| | | |
| | | namespace WIDESEA_StockService |
| | | { |
| | |
| | | private readonly SqlSugarClient _dbBase; |
| | | private readonly IOutboundRepository _outboundRepository; |
| | | private readonly IStockRepository _stockRepository; |
| | | private readonly IBasicRepository _basicRepository; |
| | | |
| | | public ProStockViewService(IUnitOfWorkManage unitOfWorkManage, IOutboundRepository outboundRepository, IStockRepository stockRepository) |
| | | public ProStockViewService(IUnitOfWorkManage unitOfWorkManage, IOutboundRepository outboundRepository, IStockRepository stockRepository,IBasicRepository basicRepository) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _dbBase = unitOfWorkManage.GetDbClient(); |
| | | _outboundRepository = outboundRepository; |
| | | _stockRepository = stockRepository; |
| | | _basicRepository = basicRepository; |
| | | } |
| | | |
| | | public virtual PageGridData<ProStockViewDTO> GetPageData(PageDataOptions options) |
| | |
| | | ProStockId = b.Id, |
| | | StockStatus = b.StockStatus, |
| | | Details = b.proStockInfoDetails, |
| | | SumStocks=b.proStockInfoDetails.Sum(x=>x.StockPcsQty) |
| | | }); |
| | | |
| | | //var pklist = sugarQueryable1.Where(b => b.LocationCode == "å¹³åºä½").Select(b => new StockViewDTO |
| | | //{ |
| | | // LocationCode = b.LocationCode, |
| | | // Column = 0, |
| | | // WarehouseId = b.WarehouseId, |
| | | // CreateDate = b.CreateDate, |
| | | // Creater = b.Creater, |
| | | // Depth = 0, |
| | | // EnalbeStatus = EnableStatusEnum.Normal.ObjToInt(), |
| | | // Layer = 0, |
| | | // LocationName = "å¹³åºä½", |
| | | // LocationStatus = LocationStatusEnum.InStock.ObjToInt(), |
| | | // LocationType = LocationTypeEnum.Undefined.ObjToInt(), |
| | | // Modifier = b.Modifier, |
| | | // ModifyDate = b.ModifyDate, |
| | | // PalletCode = b.PalletCode, |
| | | // StockRemark = b.Remark, |
| | | // RoadwayNo = "å¹³åº", |
| | | // Row = 0, |
| | | // StockId = b.Id, |
| | | // StockStatus = b.StockStatus, |
| | | // Details = b.Details, |
| | | //}); |
| | | var pklist = sugarQueryable1.Where(b => b.LocationCode == "æåå¾
åè´§åº" || b.LocationCode == "æåå
è£
æ£è´§åº").Select(b => new ProStockViewDTO |
| | | { |
| | | ProStockAttribute = b.ProStockAttribute, |
| | | LocationCode = b.LocationCode, |
| | | WarehouseId = b.WarehouseId, |
| | | CreateDate = b.CreateDate, |
| | | Creater = b.Creater, |
| | | LocationName = b.LocationCode, |
| | | Modifier = b.Modifier, |
| | | ModifyDate = b.ModifyDate, |
| | | PalletCode = b.PalletCode, |
| | | StockRemark = b.Remark, |
| | | ProStockId = b.Id, |
| | | StockStatus = b.StockStatus, |
| | | Details = b.proStockInfoDetails, |
| | | SumStocks = b.proStockInfoDetails.Sum(x => x.StockPcsQty) |
| | | }); |
| | | |
| | | int totalCount = 0; |
| | | int pktotalCount = 0; |
| | | |
| | | stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount); |
| | | //stockViewDTOs.AddRange(pklist.ToPageList(options.Page, options.Rows, ref pktotalCount)); |
| | | stockViewDTOs.AddRange(pklist.ToPageList(options.Page, options.Rows, ref pktotalCount)); |
| | | |
| | | stockViewDTOs.ForEach(x => |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | | x.SaleOrder= x.Details.FirstOrDefault()?.SaleOrder ?? ""; |
| | | x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? ""; |
| | | } |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | | x.SaleOrder= x.Details.FirstOrDefault()?.SaleOrder ?? ""; |
| | | x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? ""; |
| | | } |
| | | ); |
| | | return new PageGridData<ProStockViewDTO>(totalCount + pktotalCount, stockViewDTOs); |
| | | return new PageGridData<ProStockViewDTO>(totalCount + pktotalCount, stockViewDTOs.OrderByDescending(x=>x.CreateDate).ToList()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | options.Order = "desc"; |
| | | options.Sort = "proStockId"; |
| | | List<ProStockViewDTO> stockViewDTOs = new List<ProStockViewDTO>(); |
| | | |
| | | List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(x => x.WarehouseType == WarehouseTypEnum.æå.ToString()); |
| | | string where = string.Empty; |
| | | ISugarQueryable<Dt_ProStockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_ProStockInfo>().Includes(x => x.proStockInfoDetails); |
| | | if (!string.IsNullOrEmpty(options.Wheres)) |
| | |
| | | ProStockId = b.Id, |
| | | StockStatus = b.StockStatus, |
| | | Details = b.proStockInfoDetails, |
| | | SumStocks = b.proStockInfoDetails.Sum(x => x.StockPcsQty), |
| | | |
| | | }); |
| | | |
| | | //var pklist = sugarQueryable1.Where(b => b.LocationCode == "å¹³åºä½").Select(b => new StockViewDTO |
| | |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | | x.SaleOrder = x.Details.FirstOrDefault()?.SaleOrder ?? ""; |
| | | x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? ""; |
| | | x.StockRemark = warehouses.FirstOrDefault(v => v.WarehouseId == x.WarehouseId).WarehouseName; |
| | | } |
| | | ); |
| | | |
| | | byte[] data = exporter.ExportAsByteArray(stockViewDTOs).Result; |
| | | |
| | | string fileName = "åºåè§å¾.xlsx"; |
| | | string fileName = "æååºåè§å¾.xlsx"; |
| | | |
| | | FileHelper.WriteFile(savePath, fileName, data); |
| | | |
| | |
| | | try |
| | | { |
| | | Dt_ProOutOrderDetail outOrderDetail = _outboundRepository.ProOutOrderDetailRepository.QueryFirst(x => x.Id == orderId); |
| | | Dt_ProOutOrder outOrder = _outboundRepository.ProOutOrderRepository.QueryFirst(x => x.Id == outOrderDetail.Id); |
| | | if (outOrderDetail == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåºåæç»"); |
| | | } |
| | | return _stockRepository.ProStockInfoRepository.QueryTabs<Dt_ProStockInfo, Dt_ProStockInfoDetail, ProStockViewDTO>((a, b) => a.Id == b.ProStockId, (a, b) => new ProStockViewDTO |
| | | List<ProStockViewDTO> stockViewDTOs = new List<ProStockViewDTO>(); |
| | | ISugarQueryable<Dt_ProStockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_ProStockInfo>().Includes(x => x.proStockInfoDetails); |
| | | var pklist = sugarQueryable1.Where(b => b.LocationCode == "æåå¾
åè´§åº" && b.StockStatus==StockStatusEmun.å¹³åºå
¥åºå®æ.ObjToInt() && (b.ShipmentOrder==null|| b.ShipmentOrder =="")).Where(x=>x.proStockInfoDetails.Any(v=>v.ProductCode== outOrderDetail.PCode)).Select(b => new ProStockViewDTO |
| | | { |
| | | LocationCode = a.LocationCode, |
| | | ProductCode = b.ProductCode, |
| | | ProStockAttribute = a.ProStockAttribute, |
| | | ProductVersion=b.ProductVersion, |
| | | DateCode=b.DateCode, |
| | | ProStockId=a.Id, |
| | | SumStocks=b.StockPcsQty, |
| | | SaleOrder=b.SaleOrder, |
| | | PalletCode = a.PalletCode |
| | | }, a => a.LocationCode == "æåå¾
åè´§åº", b => b.ProductCode == outOrderDetail.PCode, x => true).GroupBy(x => x.PalletCode).Select(x => new ProStockViewDTO |
| | | { |
| | | LocationCode = x.FirstOrDefault()?.LocationCode ?? "", |
| | | ProductCode = x.FirstOrDefault()?.ProductCode ?? "", |
| | | ProductVersion = x.FirstOrDefault()?.ProductVersion ?? "", |
| | | DateCode = x.FirstOrDefault()?.DateCode ?? "", |
| | | ProStockId = x.FirstOrDefault().ProStockId, |
| | | SumStocks=x.FirstOrDefault().SumStocks, |
| | | SaleOrder = x.FirstOrDefault()?.SaleOrder ?? "", |
| | | ProStockAttribute=x.FirstOrDefault()?.ProStockAttribute ?? 0, |
| | | PalletCode = x.Key, |
| | | |
| | | }).ToList(); |
| | | ProStockAttribute = b.ProStockAttribute, |
| | | LocationCode = b.LocationCode, |
| | | WarehouseId = b.WarehouseId, |
| | | CreateDate = b.CreateDate, |
| | | Creater = b.Creater, |
| | | LocationName = b.LocationCode, |
| | | Modifier = b.Modifier, |
| | | ModifyDate = b.ModifyDate, |
| | | PalletCode = b.PalletCode, |
| | | StockRemark = b.Remark, |
| | | ProStockId = b.Id, |
| | | StockStatus = b.StockStatus, |
| | | Details = b.proStockInfoDetails, |
| | | }); |
| | | stockViewDTOs.AddRange(pklist.ToList()); |
| | | stockViewDTOs.ForEach(x => |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | | x.SaleOrder = x.Details.FirstOrDefault()?.SaleOrder ?? ""; |
| | | x.MoNumber = x.Details.FirstOrDefault()?.MoNumber ?? ""; |
| | | x.SumStocks = x.Details.Sum(x => x.StockPcsQty); |
| | | } |
| | | ); |
| | | return stockViewDTOs.OrderBy(x => x.DateCode).ThenBy(x => x.CreateDate).ToList(); |
| | | //return _stockRepository.ProStockInfoRepository.QueryTabs<Dt_ProStockInfo, Dt_ProStockInfoDetail, ProStockViewDTO>((a, b) => a.Id == b.ProStockId, (a, b) => new ProStockViewDTO |
| | | //{ |
| | | // LocationCode = a.LocationCode, |
| | | // ProductCode = b.ProductCode, |
| | | // ProStockAttribute = a.ProStockAttribute, |
| | | // ProductVersion=b.ProductVersion, |
| | | // DateCode=b.DateCode, |
| | | // ProStockId=a.Id, |
| | | // SumStocks=b.StockPcsQty, |
| | | // SaleOrder=b.SaleOrder, |
| | | // PalletCode = a.PalletCode, |
| | | // CreateDate=a.CreateDate, |
| | | // ERPOrder=b.ERPOrder, |
| | | // MoNumber=b.MoNumber |
| | | //}, a => a.LocationCode == "æåå¾
åè´§åº", b => b.ProductCode == outOrderDetail.PCode, x => true).GroupBy(x => x.PalletCode).Select(x => new ProStockViewDTO |
| | | //{ |
| | | // LocationCode = x.FirstOrDefault()?.LocationCode ?? "", |
| | | // ProductCode = x.FirstOrDefault()?.ProductCode ?? "", |
| | | // ProductVersion = x.FirstOrDefault()?.ProductVersion ?? "", |
| | | // DateCode = x.FirstOrDefault()?.DateCode ?? "", |
| | | // ProStockId = x.FirstOrDefault().ProStockId, |
| | | // SumStocks=x.FirstOrDefault().SumStocks, |
| | | // SaleOrder = x.FirstOrDefault()?.SaleOrder ?? "", |
| | | // ProStockAttribute=x.FirstOrDefault()?.ProStockAttribute ?? 0, |
| | | // PalletCode = x.Key, |
| | | // ERPOrder=x.FirstOrDefault()?.ERPOrder ?? "", |
| | | // MoNumber=x.FirstOrDefault()?.MoNumber ?? "", |
| | | // CreateDate=x.FirstOrDefault()?.CreateDate ?? new DateTime() |
| | | //}).ToList(); |
| | | } |
| | | catch (Exception ex) |
| | | { |