修复bug

This commit is contained in:
18942506660
2024-04-23 17:57:37 +08:00
parent 1cfe4e0c93
commit 68ad217906

View File

@@ -41,7 +41,7 @@ namespace WMS.Web.Domain.Services
private readonly RedisClientService _redisClientService; private readonly RedisClientService _redisClientService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
private readonly ISingleDataService _singleDataService; private readonly ISingleDataService _singleDataService;
private readonly IBoxRepositories _boxRepositories; private IBoxRepositories _boxRepositories;
private readonly IExportExcelService _exportExcelService; private readonly IExportExcelService _exportExcelService;
private readonly IServiceScopeFactory _serviceScopeFactory; private readonly IServiceScopeFactory _serviceScopeFactory;
@@ -461,11 +461,12 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result<OutStockTaskInfoResponse>> GetInfo(int id, LoginInDto loginInfo, IServiceScope scope = null) public async Task<Result<OutStockTaskInfoResponse>> GetInfo(int id, LoginInDto loginInfo, IServiceScope scope = null)
{ {
if (scope == null) if (scope != null)
{ {
_outStockTaskRepositories = scope.ServiceProvider.GetRequiredService<IOutStockTaskRepositories>(); _outStockTaskRepositories = scope.ServiceProvider.GetRequiredService<IOutStockTaskRepositories>();
_outStockRepositories = scope.ServiceProvider.GetRequiredService<IOutStockRepositories>(); _outStockRepositories = scope.ServiceProvider.GetRequiredService<IOutStockRepositories>();
_erpService = scope.ServiceProvider.GetRequiredService<IErpService>(); _erpService = scope.ServiceProvider.GetRequiredService<IErpService>();
_boxRepositories= scope.ServiceProvider.GetRequiredService<IBoxRepositories>();
} }
var entity = await _outStockTaskRepositories.Get(id); var entity = await _outStockTaskRepositories.Get(id);
@@ -486,10 +487,10 @@ namespace WMS.Web.Domain.Services
if (customer_result.IsSuccess) if (customer_result.IsSuccess)
customers = customer_result.Data.ToList(); customers = customer_result.Data.ToList();
var materials_result = await _erpService.BillQueryForMaterial(); //var materials_result = await _erpService.BillQueryForMaterial();
List<ErpMaterialDto> materials = new List<ErpMaterialDto>(); List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
if (materials_result.IsSuccess) //if (materials_result.IsSuccess)
materials = materials_result.Data.ToList(); // materials = materials_result.Data.ToList();
OutStockTaskInfoResponse response = new OutStockTaskInfoResponse() OutStockTaskInfoResponse response = new OutStockTaskInfoResponse()
{ {
@@ -540,36 +541,20 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task ExportInfo(OperateRequest dto, string fileName, LoginInDto loginInfo) public async Task ExportInfo(OperateRequest dto, string fileName, LoginInDto loginInfo)
{ {
var ids = dto.Ids.Distinct().ToList(); try
using (var scope = _serviceScopeFactory.CreateScope())
{ {
List<ExportInfoResponse> list = new List<ExportInfoResponse>(); var ids = dto.Ids.Distinct().ToList();
foreach (var id in ids) using (var scope = _serviceScopeFactory.CreateScope())
{ {
var info = await this.GetInfo(id, loginInfo, scope); List<ExportInfoResponse> list = new List<ExportInfoResponse>();
if (!info.IsSuccess) continue; foreach (var id in ids)
var response = info.Data;
foreach (var d in response.Details)
{ {
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() if (d.SerialNumberList == null || d.SerialNumberList.Count() <= 0)
{
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)
{ {
list.Add(new ExportInfoResponse() list.Add(new ExportInfoResponse()
{ {
@@ -582,15 +567,38 @@ namespace WMS.Web.Domain.Services
MaterialName = d.MaterialName, MaterialName = d.MaterialName,
MaterialNumber = d.MaterialNumber, MaterialNumber = d.MaterialNumber,
BarCode = d.BarCode, 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<IExportExcelService>(); var _exportExcelService = scope.ServiceProvider.GetRequiredService<IExportExcelService>();
await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo); await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo);
}
}
catch (Exception ex)
{
throw ex;
} }
} }
} }