Browse Source

库存余额导出添加配置

集成Redis
马昊 2 years ago
parent
commit
dd25bbb3b5
  1. 6
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceDTO.cs
  2. 42
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
  3. 3
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAutoMapperProfile.cs

6
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; }
/// <summary>
/// 配置
/// </summary>
[Display(Name = "配置")]
public string Configuration { get; set; }
//供应商批次
/// <summary>
/// 供应商批次

42
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
/// <summary>
/// 导出数据
/// </summary>
[HttpPost("export")]
public override async Task<IActionResult> ExportAsync(SfsInventoryRequestInputBase input)
{
var expression = input.Condition.Filters?.Count > 0
? input.Condition.Filters.ToLambda<Balance>()
: p => true;
var entities = await _repository.GetPagedListAsync(expression, input.SkipCount, input.MaxResultCount,
input.Sorting, true).ConfigureAwait(false);
var list = ObjectMapper.Map<List<Balance>, List<BalanceDTO>>(entities);
//var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase<TDetail> detailEntity;
var tt = typeof(Balance).GetBaseClasses(typeof(SfsMasterAggregateRootBase<EmptyDetail>));
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
/// <summary>
/// 库存余额更新物品基础信息
/// </summary>

3
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<Balance, BalanceDTO>()
.ReverseMap();
.Ignore(x => x.Configuration);
CreateMap<BalanceDTO, Balance>();
CreateMap<BalanceSummary, BalanceSummaryDTO>();

Loading…
Cancel
Save