lvzb 2 years ago
parent
commit
fa8f26072d
  1. 8
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs
  2. 32
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAutoMapperProfile.cs
  3. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SupplierTimeWindows/SupplierTimeWindowAutoMapperProfile.cs
  4. 7
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  5. 10
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
  6. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
  7. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
  8. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ProductReceiptNotes/ProductReceiptNoteManager.cs
  9. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs
  10. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs
  11. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs
  12. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs
  13. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReturnNoteEventHandler.cs

8
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs

@ -79,10 +79,10 @@ public class ItemBasicImportInput : SfsBaseDataImportInputBase
/// 类型 /// 类型
/// </summary> /// </summary>
[Display(Name = "类型")] [Display(Name = "类型")]
[ValueMapping("成品", "成品")] [ValueMapping("10C01", "10C01")]
[ValueMapping("原料", "原料")] [ValueMapping("10C02", "10C02")]
[ValueMapping("物料", "物料")] [ValueMapping("10C03", "10C03")]
[ValueMapping("半成品", "半成品")] [ValueMapping("10C04", "10C04")]
public string Type { get; set; } public string Type { get; set; }
/// <summary> /// <summary>

32
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAutoMapperProfile.cs

@ -17,22 +17,22 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId) .Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties) .Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp) .Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.EnableMixItem) //.Ignore(x => x.EnableMixItem)
.Ignore(x => x.EnableMixLot) //.Ignore(x => x.EnableMixLot)
.Ignore(x => x.EnableMixStatus) //.Ignore(x => x.EnableMixStatus)
.Ignore(x => x.EnableNegative) //.Ignore(x => x.EnableNegative)
.Ignore(x => x.EnableKeepZero) //.Ignore(x => x.EnableKeepZero)
.Ignore(x => x.EnableOpportunityCount) //.Ignore(x => x.EnableOpportunityCount)
.Ignore(x => x.EnablePick) //.Ignore(x => x.EnablePick)
.Ignore(x => x.EnableOverPick) //.Ignore(x => x.EnableOverPick)
.Ignore(x => x.EnableWholeStore) //.Ignore(x => x.EnableWholeStore)
.Ignore(x => x.EnableBreakStore) //.Ignore(x => x.EnableBreakStore)
.Ignore(x => x.EnableShip) //.Ignore(x => x.EnableShip)
.Ignore(x => x.EnableReceive) //.Ignore(x => x.EnableReceive)
.Ignore(x => x.EnableReturnToSupplier) //.Ignore(x => x.EnableReturnToSupplier)
.Ignore(x => x.EnableReturnFromCustomer) //.Ignore(x => x.EnableReturnFromCustomer)
.Ignore(x => x.EnableSplitPallet) //.Ignore(x => x.EnableSplitPallet)
.Ignore(x => x.EnableSplitBox) //.Ignore(x => x.EnableSplitBox)
; ;

3
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SupplierTimeWindows/SupplierTimeWindowAutoMapperProfile.cs

@ -17,11 +17,10 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId) .Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties) .Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp) .Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.SupplierName)
; ;
CreateMap<SupplierTimeWindow, SupplierTimeWindowImportInput>() CreateMap<SupplierTimeWindow, SupplierTimeWindowImportInput>()
.Ignore(x => x.ReportStatus) .Ignore(x => x.ReportStatus)
.Ignore(x => x.ReportReason); .Ignore(x => x.ReportReason);
} }
} }

7
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs

@ -772,8 +772,11 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
{ {
if (entity != null) if (entity != null)
{ {
var first = entity.GetProps().First(p => p.Name == "Worker"); if (entity.GetProps().Any(p => p.Name == "Worker"))
first.SetValue(first, CurrentUser.GetUserName()); {
var first = entity.GetProps().First(p => p.Name == "Worker");
first.SetValue(first, CurrentUser.GetUserName());
}
} }
var hasEntity = entity != null; var hasEntity = entity != null;

10
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs

@ -1,6 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -29,4 +30,13 @@ public interface IPurchaseReceiptRequestAppService
/// <returns></returns> /// <returns></returns>
Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndPackingAsync(string itemCode, Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndPackingAsync(string itemCode,
string packingCode); string packingCode);
/// <summary>
/// 修改请求状态
/// </summary>
/// <param name="number"></param>
/// <param name="enumRequestStatus"></param>
/// <returns></returns>
Task<PurchaseReceiptRequestDTO> UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus);
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs

@ -4,9 +4,11 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Label.Application.Contracts; using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared; using Win_in.Sfs.Wms.Store.Domain.Shared;
@ -120,6 +122,22 @@ public class PurchaseReceiptRequestAppService :
return ObjectMapper.Map<List<PurchaseReceiptRequest>, List<PurchaseReceiptRequestDTO>>(entity); return ObjectMapper.Map<List<PurchaseReceiptRequest>, List<PurchaseReceiptRequestDTO>>(entity);
} }
/// <summary>
/// 修改请求状态
/// </summary>
/// <param name="number"></param>
/// <param name="enumRequestStatus"></param>
/// <returns></returns>
[HttpGet("update-request-status")]
public virtual async Task<PurchaseReceiptRequestDTO> UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus)
{
var entity=await _repository.GetAsync(p => p.Number == number).ConfigureAwait(false);
entity.RequestStatus=enumRequestStatus;
entity= await _repository.UpdateAsync(entity).ConfigureAwait(false);
return ObjectMapper.Map<PurchaseReceiptRequest, PurchaseReceiptRequestDTO>(entity);
}
protected override Func<PurchaseReceiptRequestImportInput, object> GetEntityExpression() protected override Func<PurchaseReceiptRequestImportInput, object> GetEntityExpression()
{ {
throw new NotImplementedException(); throw new NotImplementedException();

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs

@ -148,8 +148,11 @@ public class InspectJobManager : SfsJobManagerBase<InspectJob, InspectJobDetail>
}); });
var goodqty = jobEntity.Details.Where(p => var goodqty = jobEntity.Details.Where(p =>
p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK || (p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK ||
p.DetailInspectStatus == EnumDetailInspectStatus.OK).Sum(p => p.GoodQty); p.DetailInspectStatus == EnumDetailInspectStatus.OK)
&& p.ItemCode == input.ItemCode
&& p.Lot == input.Lot)
.Sum(p => p.GoodQty);
//获取 汇总详情 //获取 汇总详情
var summaryDetailEntity = jobEntity.SummaryDetails.Find(p => p.Id == summaryDetailId); var summaryDetailEntity = jobEntity.SummaryDetails.Find(p => p.Id == summaryDetailId);

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ProductReceiptNotes/ProductReceiptNoteManager.cs

@ -42,7 +42,7 @@ public class ProductReceiptNoteManager : SfsStoreManagerBase<ProductReceiptNote,
public override async Task<ProductReceiptNote> CreateAsync(ProductReceiptNote productReceiptNote) public override async Task<ProductReceiptNote> CreateAsync(ProductReceiptNote productReceiptNote)
{ {
if (string.IsNullOrEmpty(productReceiptNote.ProductionPlanNumber) == false) if (string.IsNullOrEmpty(productReceiptNote.ProductionPlanNumber) == false)
{ {
//更新生产计划 //更新生产计划
var productionPlan = await _productionPlanRepository.FindAsync(c => c.Number == productReceiptNote.ProductionPlanNumber, true).ConfigureAwait(false); var productionPlan = await _productionPlanRepository.FindAsync(c => c.Number == productReceiptNote.ProductionPlanNumber, true).ConfigureAwait(false);

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs

@ -54,7 +54,6 @@ public class PurchaseOrderManager : SfsStoreManagerBase<PurchaseOrder, PurchaseO
purchaseOrder.SetIdAndNumberWithDetails(GuidGenerator, purchaseOrder.Number); purchaseOrder.SetIdAndNumberWithDetails(GuidGenerator, purchaseOrder.Number);
//await PublishCreatedAsync(purchaseOrder).ConfigureAwait(false); //await PublishCreatedAsync(purchaseOrder).ConfigureAwait(false);
//不要用base.create 要不会把number覆盖 //不要用base.create 要不会把number覆盖
await PublishCreatedAsync(purchaseOrder).ConfigureAwait(false);
return await Repository.InsertAsync(purchaseOrder).ConfigureAwait(false); return await Repository.InsertAsync(purchaseOrder).ConfigureAwait(false);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs

@ -73,6 +73,7 @@ public class BackFlushNoteEventHandler
transaction.LocationCode=detail.LocationCode; transaction.LocationCode=detail.LocationCode;
transaction.LocationErpCode=detail.LocationErpCode; transaction.LocationErpCode=detail.LocationErpCode;
transaction.WarehouseCode=detail.WarehouseCode; transaction.WarehouseCode=detail.WarehouseCode;
transaction.Status = EnumInventoryStatus.OK;
transactions.Add(transaction); transactions.Add(transaction);
} }

31
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs

@ -1,7 +1,9 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Inventory.Application.Contracts; using Win_in.Sfs.Wms.Inventory.Application.Contracts;
@ -17,6 +19,14 @@ public class ProductReceiptNoteEventHandler
{ {
private const EnumTransInOut TransInOut = EnumTransInOut.In; private const EnumTransInOut TransInOut = EnumTransInOut.In;
private const EnumTransType TransType = EnumTransType.ProductReceipt; private const EnumTransType TransType = EnumTransType.ProductReceipt;
private readonly IItemBasicAppService _itemBasicAppService;
private readonly ILocationAppService _locationAppService;
public ProductReceiptNoteEventHandler(IItemBasicAppService itemBasicAppService, ILocationAppService locationAppService)
{
_itemBasicAppService = itemBasicAppService;
_locationAppService = locationAppService;
}
[UnitOfWork] [UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<ProductReceiptNote> eventData) public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<ProductReceiptNote> eventData)
@ -30,7 +40,7 @@ public class ProductReceiptNoteEventHandler
{ {
var inboundTransactions = new List<TransactionEditInput>(); var inboundTransactions = new List<TransactionEditInput>();
inboundTransactions.AddRange(BuildTransactions(productReceiptNote)); inboundTransactions.AddRange(await BuildTransactions(productReceiptNote));
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false); await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
@ -51,13 +61,13 @@ public class ProductReceiptNoteEventHandler
//如果要做库存事务汇总,可以修改此处 //如果要做库存事务汇总,可以修改此处
foreach (var productReceiptNote in productReceiptNotes) foreach (var productReceiptNote in productReceiptNotes)
{ {
inboundTransactions.AddRange(BuildTransactions(productReceiptNote)); inboundTransactions.AddRange(await BuildTransactions(productReceiptNote));
} }
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false); await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
} }
private List<TransactionEditInput> BuildTransactions(ProductReceiptNote productReceiptNote) private async Task<List<TransactionEditInput>> BuildTransactions(ProductReceiptNote productReceiptNote)
{ {
var transactionCreateInputs = new List<TransactionEditInput>(); var transactionCreateInputs = new List<TransactionEditInput>();
//构造库存入库创建Input //构造库存入库创建Input
@ -65,6 +75,21 @@ public class ProductReceiptNoteEventHandler
{ {
var transaction = ObjectMapper.Map<ProductReceiptNoteDetail, TransactionEditInput>(detail); var transaction = ObjectMapper.Map<ProductReceiptNoteDetail, TransactionEditInput>(detail);
var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
;
detail.ItemDesc1 = itemBasicDto.Desc1;
detail.ItemDesc2 = itemBasicDto.Desc2;
detail.ItemName=itemBasicDto.Name;
detail.StdPackQty=itemBasicDto.StdPackQty;
var erpLocationDtos= await _locationAppService.GetListByTypesAndErpCodeAsync(new List<EnumLocationType> { EnumLocationType.WIP },
detail.LocationErpCode).ConfigureAwait(false);
var erpLocationDto = erpLocationDtos.First();
detail.LocationArea = erpLocationDto.Code;
detail.LocationGroup = erpLocationDto.LocationGroupCode;
detail.LocationErpCode= erpLocationDto.Code;
detail.LocationCode= erpLocationDto.Code;
transaction.TransType = TransType; transaction.TransType = TransType;
transaction.TransInOut = TransInOut; transaction.TransInOut = TransInOut;
transaction.WarehouseCode = productReceiptNote.WarehouseCode; transaction.WarehouseCode = productReceiptNote.WarehouseCode;

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs

@ -30,6 +30,7 @@ public class PurchaseReceiptNoteEventHandler
private readonly IPurchaseOrderAppService _purchaseOrderAppService; private readonly IPurchaseOrderAppService _purchaseOrderAppService;
private readonly IItemQualityAppService _itemQualityAppService; private readonly IItemQualityAppService _itemQualityAppService;
private readonly ISupplierAsnAppService _supplierAsnAppService; private readonly ISupplierAsnAppService _supplierAsnAppService;
private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService;
/// <summary> /// <summary>
/// 收货记录 /// 收货记录
@ -41,12 +42,14 @@ public class PurchaseReceiptNoteEventHandler
IInspectRequestAppService inspectRequestAppService, IInspectRequestAppService inspectRequestAppService,
IPurchaseOrderAppService purchaseOrderAppService, IPurchaseOrderAppService purchaseOrderAppService,
IItemQualityAppService itemQualityAppService, IItemQualityAppService itemQualityAppService,
ISupplierAsnAppService supplierAsnAppService) ISupplierAsnAppService supplierAsnAppService,
IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService)
{ {
_inspectRequestAppService = inspectRequestAppService; _inspectRequestAppService = inspectRequestAppService;
_purchaseOrderAppService = purchaseOrderAppService; _purchaseOrderAppService = purchaseOrderAppService;
_itemQualityAppService = itemQualityAppService; _itemQualityAppService = itemQualityAppService;
_supplierAsnAppService = supplierAsnAppService; _supplierAsnAppService = supplierAsnAppService;
_purchaseReceiptRequestAppService = purchaseReceiptRequestAppService;
} }
/// <summary> /// <summary>
@ -70,6 +73,9 @@ public class PurchaseReceiptNoteEventHandler
//更新订单已收货数量 //更新订单已收货数量
await UpdatePurchaseOrderAsync(entity).ConfigureAwait(false); await UpdatePurchaseOrderAsync(entity).ConfigureAwait(false);
//更新收货请求状态
await UpdatePurchaseReceiptRequest(entity.PurchaseReceiptRequestNumber).ConfigureAwait(false);
//更新发货单状态 //更新发货单状态
await UpdateSupplierAsnAsync(entity.AsnNumber).ConfigureAwait(false); await UpdateSupplierAsnAsync(entity.AsnNumber).ConfigureAwait(false);
} }
@ -108,6 +114,16 @@ public class PurchaseReceiptNoteEventHandler
await _supplierAsnAppService.UpdateStatusAsync(asnNumber,EnumSupplierAsnStatus.Received).ConfigureAwait(false); await _supplierAsnAppService.UpdateStatusAsync(asnNumber,EnumSupplierAsnStatus.Received).ConfigureAwait(false);
} }
/// <summary>
/// 更新发货请求状态
/// </summary>
/// <param name="purchaseReceiptRequestNumber"></param>
/// <returns></returns>
private async Task UpdatePurchaseReceiptRequest(string purchaseReceiptRequestNumber)
{
await _purchaseReceiptRequestAppService.UpdatePurchaseReceiptRequestAsync(purchaseReceiptRequestNumber,EnumRequestStatus.Completed).ConfigureAwait(false);
}
#region 私有 #region 私有
/// <summary> /// <summary>

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReturnNoteEventHandler.cs

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Label.Application.Contracts; using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
@ -27,15 +28,18 @@ public class PurchaseReturnNoteEventHandler
private readonly IPurchaseReturnRequestAppService _purchaseReturnRequestApp; private readonly IPurchaseReturnRequestAppService _purchaseReturnRequestApp;
private readonly IPurchaseOrderAppService _purchaseOrderAppService; private readonly IPurchaseOrderAppService _purchaseOrderAppService;
private readonly IInventoryLabelAppService _inventoryLabelAppService; private readonly IInventoryLabelAppService _inventoryLabelAppService;
private readonly IItemBasicAppService _itemBasicAppService;
public PurchaseReturnNoteEventHandler( public PurchaseReturnNoteEventHandler(
IPurchaseReturnRequestAppService purchaseReturnRequestApp IPurchaseReturnRequestAppService purchaseReturnRequestApp
, IPurchaseOrderAppService purchaseOrderAppService, , IPurchaseOrderAppService purchaseOrderAppService,
IInventoryLabelAppService inventoryLabelAppService) IInventoryLabelAppService inventoryLabelAppService,
IItemBasicAppService itemBasicAppService)
{ {
_purchaseReturnRequestApp = purchaseReturnRequestApp; _purchaseReturnRequestApp = purchaseReturnRequestApp;
_purchaseOrderAppService = purchaseOrderAppService; _purchaseOrderAppService = purchaseOrderAppService;
_inventoryLabelAppService = inventoryLabelAppService; _inventoryLabelAppService = inventoryLabelAppService;
_itemBasicAppService = itemBasicAppService;
} }
[UnitOfWork] [UnitOfWork]
@ -81,7 +85,7 @@ public class PurchaseReturnNoteEventHandler
{ {
var inboundTransactions = new List<TransactionEditInput>(); var inboundTransactions = new List<TransactionEditInput>();
inboundTransactions.AddRange(BuildTransactions(purchaseReturnNote)); inboundTransactions.AddRange(await BuildTransactions(purchaseReturnNote).ConfigureAwait(false));
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false); await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
@ -118,12 +122,13 @@ public class PurchaseReturnNoteEventHandler
} }
*/ */
private List<TransactionEditInput> BuildTransactions(PurchaseReturnNote purchaseReturnNote) private async Task<List<TransactionEditInput>> BuildTransactions(PurchaseReturnNote purchaseReturnNote)
{ {
var transactions = new List<TransactionEditInput>(); var transactions = new List<TransactionEditInput>();
//构造库存转移记录创建Input //构造库存转移记录创建Input
foreach (var detail in purchaseReturnNote.Details.Where(detail => detail.Qty != 0)) foreach (var detail in purchaseReturnNote.Details.Where(detail => detail.Qty != 0))
{ {
var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
var transaction = ObjectMapper.Map<PurchaseReturnNoteDetail, TransactionEditInput>(detail); var transaction = ObjectMapper.Map<PurchaseReturnNoteDetail, TransactionEditInput>(detail);
transaction.TransType = transaction.TransType =
@ -134,6 +139,7 @@ public class PurchaseReturnNoteEventHandler
transaction.Worker = purchaseReturnNote.Worker; transaction.Worker = purchaseReturnNote.Worker;
transaction.DocNumber = purchaseReturnNote.Number; transaction.DocNumber = purchaseReturnNote.Number;
transaction.JobNumber = purchaseReturnNote.JobNumber; transaction.JobNumber = purchaseReturnNote.JobNumber;
transaction.ManageType = itemBasicDto.ManageType;
//transaction.Status = //transaction.Status =
// detail.Status == EnumInventoryStatus.None // detail.Status == EnumInventoryStatus.None
// ? InventoryStatus // ? InventoryStatus

Loading…
Cancel
Save