| | |
| | | using Magicodes.ExporterAndImporter.Core; |
| | | using WIDESEA_Core.HostedService; |
| | | using WIDESEA_Core.DB.Models; |
| | | using WIDESEA_IOutboundRepository; |
| | | using WIDESEA_IStockRepository; |
| | | using WIDESEA_Common.StockEnum; |
| | | |
| | | namespace WIDESEA_StockService |
| | | { |
| | |
| | | { |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly SqlSugarClient _dbBase; |
| | | private readonly IOutboundRepository _outboundRepository; |
| | | private readonly IStockRepository _stockRepository; |
| | | |
| | | public ProStockViewService(IUnitOfWorkManage unitOfWorkManage) |
| | | public ProStockViewService(IUnitOfWorkManage unitOfWorkManage, IOutboundRepository outboundRepository, IStockRepository stockRepository) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _dbBase = unitOfWorkManage.GetDbClient(); |
| | | _outboundRepository = outboundRepository; |
| | | _stockRepository = stockRepository; |
| | | } |
| | | |
| | | public virtual PageGridData<ProStockViewDTO> GetPageData(PageDataOptions options) |
| | |
| | | throw new Exception($"鏃犳潈闄愶紝{ex.Message}"); |
| | | } |
| | | } |
| | | public List<ProStockViewDTO> GetProPKSelectStocks(int orderId) |
| | | { |
| | | 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 |
| | | { |
| | | 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(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |