From fe0946e576549032fc98d969af6fb606e5754f7a Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 31 May 2024 15:23:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=9B=98=E7=82=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Plans/CountPlans/ICountPlanAppService.cs | 1 + .../Plans/CountPlans/CountPlanAppService.cs | 13 +++++ .../Plans/CountPlans/CountPlanManager.cs | 52 +++++++++++++++++++ .../Plans/CountPlans/ICountPlanManager.cs | 1 + .../Jobs/CountJobEventHandler.cs | 5 +- 5 files changed, 71 insertions(+), 1 deletion(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs index 0d397e79f..a7d4db6dc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs @@ -33,4 +33,5 @@ public interface ICountPlanAppService Task ChangeStageAsync(Guid id, List detailIdList, EnumCountStage stage); Task ResetStatusByNumberAsync(string number); + Task NewResetStatusByNumberAsync(string number, List locationCodes); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs index 5bad74a89..b3cf850a3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs @@ -146,6 +146,19 @@ public class CountPlanAppService : { await _countPlanManager.ResetStatusByNumberAsync(number).ConfigureAwait(false); } + // + // 更新计划状态 + // + // + // + [HttpPost("new-reset-by-number")] + public virtual async Task NewResetStatusByNumberAsync(string number,ListlocationCodes) + { + await _countPlanManager.ResetStatusByNumberAsync1(number, locationCodes).ConfigureAwait(false); + } + + + [HttpPost("check-status")] public virtual async Task CheckStatusAsync(string number) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs index 55709757f..02eb3e7db 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs @@ -313,6 +313,58 @@ public class CountPlanManager : SfsStoreRequestManagerBase + /// 根据plannumber更新主表状态和子表状态 + /// + /// + /// + public virtual async Task ResetStatusByNumberAsync1(string number,List locationCodes) + { + var entity = await Repository.GetAsync(r => r.Number == number).ConfigureAwait(false); + entity.RequestStatus = EnumRequestStatus.Handling; + entity.InventoryStage++; + + switch (entity.CountMethod) + { + case EnumCountMethod.ByLocation: + { + //按库位拆分成多个盘点任务 + entity.Details.Where(r=> locationCodes.Contains(r.LocationCode)).ToList().ForEach(p => + { + p.FirstCountQty = 0; + p.FinalCountQty = 0; + p.DetailStatus = EnumCountStatus.New; + }); + break; + } + case EnumCountMethod.ByItem: + { + //按物品生成多个盘点任务 + entity.Details.ForEach(p => + { + p.FirstCountQty = 0; + p.FinalCountQty = 0; + p.DetailStatus = EnumCountStatus.New; + }); + break; + } + case EnumCountMethod.ByLocationAndItem: + { + //按物品和库位生成多个盘点任务 + entity.Details.ForEach(p => + { + p.FirstCountQty = 0; + p.FinalCountQty = 0; + p.DetailStatus = EnumCountStatus.New; + }); + break; + } + case EnumCountMethod.None: + default: + throw new UserFriendlyException($"盘点任务生成失败;原因:盘点方式错误,将执行回滚操作!"); + } + } /// /// job执行后更新计划 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs index 6e311701e..f293ec629 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/ICountPlanManager.cs @@ -22,4 +22,5 @@ public interface ICountPlanManager : ISfsStoreRequestManager Task CompleteByJobAsync(CountPlan entity); Task ResetStatusByNumberAsync(string number); + Task ResetStatusByNumberAsync1(string number, List locationCodes); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs index 7f26533c3..7e7233104 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs @@ -50,7 +50,10 @@ public class CountJobEventHandler : var entity = eventData.Entity.First(); if (!string.IsNullOrEmpty(entity.CountPlanNumber)) { - await _countPlanAppService.ResetStatusByNumberAsync(entity.CountPlanNumber).ConfigureAwait(false); + // await _countPlanAppService.ResetStatusByNumberAsync(entity.CountPlanNumber).ConfigureAwait(false); + var locationCodes = eventData.Entity.SelectMany(r => r.Details).Select(p => p.LocationCode).Distinct().ToList(); + await _countPlanAppService.NewResetStatusByNumberAsync(entity.CountPlanNumber, locationCodes).ConfigureAwait(false); + } } private async Task BuildCountPlanJobUpdateDTO(CountJob entity) From a508ac4cc1b4fdeccad57d88920669c425f4103d Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 31 May 2024 15:29:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=9B=98=E7=82=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jobs/CountJobs/CountJobManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs index 3297f432b..167428d17 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs @@ -66,7 +66,7 @@ public class CountJobManager : SfsJobManagerBase, ICou job.AddDetails(newDetails); } await _repository.UpdateManyAsync(joblist).ConfigureAwait(false); - await _noteRepository.DeleteAsync(r => numbers.Contains(r.CountJobNumber)).ConfigureAwait(false); + await _noteRepository.DeleteAsync(r => r.CountPlanNumber== joblist.First().CountPlanNumber).ConfigureAwait(false); await LocalEventBus.PublishAsync(new SfsSubmittedEntityEventData>(joblist), false).ConfigureAwait(false); return joblist; } From 51bffb80c88370a675ff62b483dfcaad711e5d4a Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 31 May 2024 17:18:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B95=E4=B8=AA=E5=8F=AB?= =?UTF-8?q?=E6=96=99=E5=8A=9F=E8=83=BD=E7=94=9F=E4=BA=A7=E7=BA=BF=E5=92=8C?= =?UTF-8?q?=E7=89=A9=E5=93=81=E5=AF=B9=E5=BA=94=E5=85=B3=E7=B3=BB=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Requests/IssueRequest/AssembleIssueRequestEventHandler.cs | 2 +- .../Requests/IssueRequest/CoatingIssueRequestEventHandler.cs | 2 +- .../Requests/IssueRequest/InjectionIssueRequestEventHandler.cs | 2 +- .../Requests/IssueRequest/KittingIssueRequestEventHandler.cs | 2 +- .../Requests/IssueRequest/SparePartIssueRequestEventHandler.cs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs index 545a2c606..4155c7845 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/AssembleIssueRequestEventHandler.cs @@ -508,7 +508,7 @@ public class AssembleIssueRequestEventHandler if (productionLineItemDto == null) { throw new UserFriendlyException( - $"未在生产线【{assembleIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】"); + $"未在生产线物品关系表中维护【{assembleIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】"); } //原料 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs index 4da179fbc..ae980e121 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/CoatingIssueRequestEventHandler.cs @@ -508,7 +508,7 @@ public class CoatingIssueRequestEventHandler if (productionLineItemDto == null) { throw new UserFriendlyException( - $"未在生产线【{coatingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】"); + $"未在生产线物品关系表中维护【{coatingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】"); } //原料 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs index cbfae557b..dd11dab54 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/InjectionIssueRequestEventHandler.cs @@ -508,7 +508,7 @@ public class InjectionIssueRequestEventHandler if (productionLineItemDto == null) { throw new UserFriendlyException( - $"未在生产线【{injectionIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】"); + $"未在生产线物品关系表中维护【{injectionIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】"); } //原料 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs index a7e7fa77a..1396370f0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/KittingIssueRequestEventHandler.cs @@ -506,7 +506,7 @@ public class KittingIssueRequestEventHandler if (productionLineItemDto == null) { throw new UserFriendlyException( - $"未在生产线【{kittingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】"); + $"未在生产线物品关系表中维护【{kittingIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】"); } //原料 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs index 3196a5aea..b620ad532 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/IssueRequest/SparePartIssueRequestEventHandler.cs @@ -506,7 +506,7 @@ public class SparePartIssueRequestEventHandler if (productionLineItemDto == null) { throw new UserFriendlyException( - $"未在生产线【{sparePartIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请查看【生产线物品关系】"); + $"未在生产线物品关系表中维护【{sparePartIssueRequestDetail.ProdLine}】物品【{groupbyItemCodeAndProdLine.Key.ItemCode}】的关系,请配置【生产线物品关系】"); } //原料