diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs index 37c874192..781dae313 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs @@ -21,12 +21,14 @@ public class PurchaseReturnRequestController : AbpController { private readonly IPurchaseReturnRequestAppService _purchaseReturnRequestAppService; private readonly ITransactionTypeAppService _transactionTypeAppService; + private readonly IPurchaseOrderAppService _purchaseOrderAppService; public PurchaseReturnRequestController(IPurchaseReturnRequestAppService purchaseReturnRequestAppService, - ITransactionTypeAppService transactionTypeAppService + ITransactionTypeAppService transactionTypeAppService, IPurchaseOrderAppService purchaseOrderAppService ) { _purchaseReturnRequestAppService = purchaseReturnRequestAppService; _transactionTypeAppService = transactionTypeAppService; + _purchaseOrderAppService = purchaseOrderAppService; } /// @@ -44,8 +46,12 @@ public class PurchaseReturnRequestController : AbpController entity.ReturnTime = DateTime.Now; await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false); entity.Details = new List(); + var order = await _purchaseOrderAppService.GetListByNumberWithDetailAsync(entity.PoNumber).ConfigureAwait(false); + var orderDetails = order.Details; foreach (var item in list) { + var orderDetail = orderDetails.FirstOrDefault(r => r.ItemCode == item.ItemCode); + item.PoLine= orderDetail.PoLine; var detail = ObjectMapper.Map(item); entity.Details.Add(detail); } 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 f7214bea9..c31bd3595 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 @@ -323,10 +323,11 @@ public class BalanceAppService && p.LocationCode == locationCode && p.PackingCode == packingCode && p.Status == status - && p.LastCountTime==datetime - && p.LastCountPlanNumber== countPlanNumber).ConfigureAwait(false); + ).ConfigureAwait(false); if (entity != null) { + entity.LastCountTime = datetime; + entity.LastCountPlanNumber = countPlanNumber; await entity.ActiveAsync().ConfigureAwait(false); await _repository.UpdateAsync(entity).ConfigureAwait(false); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs index b309f7386..c8e90b994 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs @@ -1,7 +1,9 @@ +using System.Threading.Tasks; + namespace Win_in.Sfs.Wms.Store.Application.Contracts; public interface IUnplannedIssueJobAppService : ISfsJobAppServiceBase { - + Task CancelByRequestNumberAsync(string number); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs index c32b2acc9..c41bea8e3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs @@ -1,7 +1,9 @@ +using System.Threading.Tasks; + namespace Win_in.Sfs.Wms.Store.Application.Contracts; public interface IUnplannedReceiptJobAppService : ISfsJobAppServiceBase { - + Task CancelByRequestNumberAsync(string number); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs index 40900c47b..ccad8f304 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs @@ -42,4 +42,5 @@ public interface IPurchaseOrderAppService Task> GetNoPoBillList(List poBillNo); Task CreateOrUpdateAsync(PurchaseOrderEditInput input); Task GetListByNumberAndItemCodeAsync(string number, string itemCode); + Task GetListByNumberWithDetailAsync(string number); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs index e2380a5bc..0ee5844d2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Win_in.Sfs.Wms.Store.Application.Contracts; @@ -13,9 +14,27 @@ public class UnplannedIssueJobAppService : SfsJobAppServiceBase, IUnplannedIssueJobAppService { + + private readonly IUnplannedIssueJobManager _unplannedIssueJobManager; public UnplannedIssueJobAppService( - IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager UnplannedIssueJobManager - ) : base(repository, UnplannedIssueJobManager) + IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager + ) : base(repository, unplannedIssueJobManager) + { + _unplannedIssueJobManager = unplannedIssueJobManager; +} + + /// + /// 根据申请单号作废任务 + /// + /// + /// + [HttpPost("cancel-by-number}")] + public virtual async Task CancelByRequestNumberAsync(string number) { + var entities = await _repository.GetListAsync(p => p.UnplannedIssueRequestNumber == number).ConfigureAwait(false); + foreach (var entity in entities) + { + await _unplannedIssueJobManager.CancelAsync(entity).ConfigureAwait(false); + } } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs index cb1ee0feb..ec8b4ae43 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Win_in.Sfs.Wms.Store.Application.Contracts; @@ -13,9 +14,28 @@ public class UnplannedReceiptJobAppService : SfsJobAppServiceBase, IUnplannedReceiptJobAppService { + + private readonly IUnplannedReceiptJobManager _unplannedReceiptJobManager; public UnplannedReceiptJobAppService( IUnplannedReceiptJobRepository repository, IUnplannedReceiptJobManager UnplannedReceiptJobManager ) : base(repository, UnplannedReceiptJobManager) { + _unplannedReceiptJobManager = UnplannedReceiptJobManager; + } + + + /// + /// 根据申请单号作废任务 + /// + /// + /// + [HttpPost("cancel-by-number}")] + public virtual async Task CancelByRequestNumberAsync(string number) + { + var entities = await _repository.GetListAsync(p => p.UnplannedReceiptRequestNumber == number).ConfigureAwait(false); + foreach (var entity in entities) + { + await _unplannedReceiptJobManager.CancelAsync(entity).ConfigureAwait(false); + } } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs index 31b2a920b..b170280e8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs @@ -321,6 +321,15 @@ public class PurchaseOrderAppService : return dtos; } + [HttpGet("get-list-by-number-with-detail-async")] + public virtual async Task GetListByNumberWithDetailAsync(string number) + { + var entity = await _repository.GetAsync(p => p.Number == number,true).ConfigureAwait(false); + + var dto = ObjectMapper.Map(entity); + + return dto; + } [HttpGet("get-list-by-number-nad-item-code")] public virtual async Task GetListByNumberAndItemCodeAsync(string number,string itemCode) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs index 6f9c964f1..233965ef9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs @@ -105,12 +105,21 @@ public class UnplannedIssueRequestEventHandler await ExpectOutAppService.RemoveAsync(entity.Number).ConfigureAwait(false); } } + /// + /// 中止订阅 + /// + /// + /// public virtual async Task HandleEventAsync(SfsAbortedEntityEventData eventData) { var entity = eventData.Entity; - if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw) - { + // if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw) + // { await ExpectOutAppService.RemoveAsync(entity.Number).ConfigureAwait(false); + // } + if (!entity.DirectCreateNote)//作废任务 + { + await _unplannedIssueJobApp.CancelByRequestNumberAsync(entity.Number).ConfigureAwait(false); } } public virtual async Task HandleEventAsync(SfsCancelledEntityEventData eventData) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedReceiptRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedReceiptRequestEventHandler.cs index 87ef2324a..3935b0455 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedReceiptRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedReceiptRequestEventHandler.cs @@ -13,6 +13,7 @@ public class UnplannedReceiptRequestEventHandler , ILocalEventHandler> , ILocalEventHandler>> , ILocalEventHandler> + , ILocalEventHandler> { private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobApp; private readonly IUnplannedReceiptNoteAppService _unplannedReceiptNoteApp; @@ -27,7 +28,19 @@ public class UnplannedReceiptRequestEventHandler _unplannedReceiptRequestManager = unplannedReceiptRequestManager; _unplannedReceiptJobApp = unplannedReceiptJobApp; } - + /// + /// 中止订阅 + /// + /// + /// + public virtual async Task HandleEventAsync(SfsAbortedEntityEventData eventData) + { + var entity = eventData.Entity; + if (!entity.DirectCreateNote)//作废任务 + { + await _unplannedReceiptJobApp.CancelByRequestNumberAsync(entity.Number).ConfigureAwait(false); + } + } /// /// 创建后 ///