diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 8686cfc4..21e2494d 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -41,7 +41,7 @@ namespace WMS.Web.Domain.Services private readonly RedisClientService _redisClientService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly ISingleDataService _singleDataService; - private readonly IBoxRepositories _boxRepositories; + private IBoxRepositories _boxRepositories; private readonly IExportExcelService _exportExcelService; private readonly IServiceScopeFactory _serviceScopeFactory; @@ -461,11 +461,12 @@ namespace WMS.Web.Domain.Services /// public async Task> GetInfo(int id, LoginInDto loginInfo, IServiceScope scope = null) { - if (scope == null) + if (scope != null) { _outStockTaskRepositories = scope.ServiceProvider.GetRequiredService(); _outStockRepositories = scope.ServiceProvider.GetRequiredService(); _erpService = scope.ServiceProvider.GetRequiredService(); + _boxRepositories= scope.ServiceProvider.GetRequiredService(); } var entity = await _outStockTaskRepositories.Get(id); @@ -486,10 +487,10 @@ namespace WMS.Web.Domain.Services if (customer_result.IsSuccess) customers = customer_result.Data.ToList(); - var materials_result = await _erpService.BillQueryForMaterial(); + //var materials_result = await _erpService.BillQueryForMaterial(); List materials = new List(); - if (materials_result.IsSuccess) - materials = materials_result.Data.ToList(); + //if (materials_result.IsSuccess) + // materials = materials_result.Data.ToList(); OutStockTaskInfoResponse response = new OutStockTaskInfoResponse() { @@ -540,36 +541,20 @@ namespace WMS.Web.Domain.Services /// public async Task ExportInfo(OperateRequest dto, string fileName, LoginInDto loginInfo) { - var ids = dto.Ids.Distinct().ToList(); - using (var scope = _serviceScopeFactory.CreateScope()) + try { - List list = new List(); - foreach (var id in ids) + var ids = dto.Ids.Distinct().ToList(); + using (var scope = _serviceScopeFactory.CreateScope()) { - var info = await this.GetInfo(id, loginInfo, scope); - if (!info.IsSuccess) continue; - var response = info.Data; - foreach (var d in response.Details) + List list = new List(); + foreach (var id in ids) { - if (d.SerialNumberList == null || d.SerialNumberList.Count() <= 0) + var info = await this.GetInfo(id, loginInfo, scope); + if (!info.IsSuccess) continue; + var response = info.Data; + foreach (var d in response.Details) { - list.Add(new ExportInfoResponse() - { - SourceBillNo = response.SourceBillNo, - SaleBillNo = response.SaleBillNo, - ReceiptCustomer = response.ReceiptCustomer, - CreateTime = d.CreateTime, - BoxBillNo = d.BoxBillNo, - Specifications = d.Specifications, - MaterialName = d.MaterialName, - MaterialNumber = d.MaterialNumber, - BarCode = d.BarCode, - SerialNumbers = "" - }); - } - else - { - foreach (var s in d.SerialNumberList) + if (d.SerialNumberList == null || d.SerialNumberList.Count() <= 0) { list.Add(new ExportInfoResponse() { @@ -582,15 +567,38 @@ namespace WMS.Web.Domain.Services MaterialName = d.MaterialName, MaterialNumber = d.MaterialNumber, BarCode = d.BarCode, - SerialNumbers = s + SerialNumbers = "" }); } + else + { + foreach (var s in d.SerialNumberList) + { + list.Add(new ExportInfoResponse() + { + SourceBillNo = response.SourceBillNo, + SaleBillNo = response.SaleBillNo, + ReceiptCustomer = response.ReceiptCustomer, + CreateTime = d.CreateTime, + BoxBillNo = d.BoxBillNo, + Specifications = d.Specifications, + MaterialName = d.MaterialName, + MaterialNumber = d.MaterialNumber, + BarCode = d.BarCode, + SerialNumbers = s + }); + } + } } } - } - var _exportExcelService = scope.ServiceProvider.GetRequiredService(); - await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo); + var _exportExcelService = scope.ServiceProvider.GetRequiredService(); + await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo); + } + } + catch (Exception ex) + { + throw ex; } } }