diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceDTO.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceDTO.cs
index 6901bf067..108026c59 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceDTO.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceDTO.cs
@@ -50,6 +50,12 @@ public class BalanceDTO : SfsBasicDTOBase
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string ItemCode { get; set; }
+ ///
+ /// 配置
+ ///
+ [Display(Name = "配置")]
+ public string Configuration { get; set; }
+
//供应商批次
///
/// 供应商批次
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
index 4edd22ff0..6a96bbdd2 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
@@ -9,8 +9,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
-using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
+using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -38,19 +38,22 @@ public class BalanceAppService
private readonly IItemBasicAclService _itemBasicAclService;
private readonly ITransferLogManager _transferLogManager;
private readonly IBalanceManager _balanceManager;
+ private readonly IItemBasicAppService _itemBasicAppService;
public BalanceAppService(
IBalanceRepository repository,
ITransferLogManager transferLogManager,
IBalanceManager balanceManager,
ILocationAclService locationAclService,
- IItemBasicAclService itemBasicAclService) : base(repository)
+ IItemBasicAclService itemBasicAclService,
+ IItemBasicAppService itemBasicAppService) : base(repository)
{
_repository = repository;
_transferLogManager = transferLogManager;
_balanceManager = balanceManager;
_locationAclService = locationAclService;
_itemBasicAclService = itemBasicAclService;
+ _itemBasicAppService = itemBasicAppService;
}
#region Update
@@ -652,6 +655,41 @@ public class BalanceAppService
#endregion Get
+ #region export
+ ///
+ /// 导出数据
+ ///
+ [HttpPost("export")]
+ public override async Task ExportAsync(SfsInventoryRequestInputBase input)
+ {
+ var expression = input.Condition.Filters?.Count > 0
+ ? input.Condition.Filters.ToLambda()
+ : p => true;
+ var entities = await _repository.GetPagedListAsync(expression, input.SkipCount, input.MaxResultCount,
+ input.Sorting, true).ConfigureAwait(false);
+ var list = ObjectMapper.Map, List>(entities);
+
+ //var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase detailEntity;
+ var tt = typeof(Balance).GetBaseClasses(typeof(SfsMasterAggregateRootBase));
+ var hasDetails = tt.Length > 0 ? true : false;
+
+ if (list.Count > 0)
+ {
+ var itemCodes = list.Select(t => t.ItemCode).Distinct();
+ var itemBasicDtos = await _itemBasicAppService.GetByCodesAsync(itemCodes).ConfigureAwait(false);
+ if (itemBasicDtos.Count > 0)
+ {
+ list.ForEach(item =>
+ {
+ item.Configuration = itemBasicDtos.FirstOrDefault(t => t.Code == item.ItemCode)?.Configuration;
+ });
+ }
+ }
+
+ return ExportImportService.Export(list, detailsProptyName: hasDetails ? nameof(EmptyDetail) : null);
+ }
+ #endregion
+
///
/// 库存余额更新物品基础信息
///
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAutoMapperProfile.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAutoMapperProfile.cs
index d48e72113..2643d78fc 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAutoMapperProfile.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAutoMapperProfile.cs
@@ -10,7 +10,8 @@ public partial class InventoryApplicationAutoMapperProfile : Profile
private void BalanceAutoMapperProfile()
{
CreateMap()
- .ReverseMap();
+ .Ignore(x => x.Configuration);
+ CreateMap();
CreateMap();