From 281bc813cf73a653fc496e762a2a36a0cd8da661 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 24 May 2024 17:20:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IssueJobs/AssembleIssueJobsController.cs | 2 +- .../IssueJobs/CoatingIssueJobsController.cs | 2 +- .../IssueJobs/InjectionIssueJobsController.cs | 2 +- .../IssueJobs/KittingIssueJobsController.cs | 2 +- .../IssueJobs/SparePartIssueJobsController.cs | 2 +- .../Jobs/ThirdLocationJobController.cs | 2 +- .../Stores/ThirdLocationRequestController.cs | 1 - .../ThirdLocationJobAppService.cs | 19 ++++++++++++++----- .../ThirdLocationJobs/ThirdLocationJob.cs | 2 +- .../ThirdLocationJobManager.cs | 7 ++++++- .../Jobs/ThirdLocationJobAutoMapperProfile.cs | 12 ++++++------ .../Jobs/PurchaseReturnJobEventHandler.cs | 4 ++++ .../Jobs/ThirdLocationJobEventHandler.cs | 8 +------- 13 files changed, 38 insertions(+), 27 deletions(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs index b39bd3b49..d5ead3dee 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/AssembleIssueJobsController.cs @@ -176,7 +176,7 @@ public class AssembleIssueJobsController : AbpController } /// - /// + /// 根据Request Number 获取任务列表 /// /// /// diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs index a098b5477..0dea84b43 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/CoatingIssueJobsController.cs @@ -176,7 +176,7 @@ public class CoatingIssueJobsController : AbpController } /// - /// + /// 根据Request Number 获取任务列表 /// /// /// diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs index 03adddb81..fff6c5b0a 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/InjectionIssueJobsController.cs @@ -176,7 +176,7 @@ public class InjectionIssueJobsController : AbpController } /// - /// + /// 根据Request Number 获取任务列表 /// /// /// diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs index ad37cc954..695c8a3c8 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/KittingIssueJobsController.cs @@ -176,7 +176,7 @@ public class KittingIssueJobsController : AbpController } /// - /// + /// 根据Request Number 获取任务列表 /// /// /// diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs index ec8154019..fe5ac52ef 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobs/SparePartIssueJobsController.cs @@ -176,7 +176,7 @@ public class SparePartIssueJobsController : AbpController } /// - /// + /// 根据Request Number 获取任务列表 /// /// /// diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs index ad451e453..f51a48f62 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ThirdLocationJobController.cs @@ -79,7 +79,7 @@ public class ThirdLocationJobController : AbpController [HttpGet("list")] public virtual async Task> GetListAsync(int pageSize, int pageIndex) { - var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; + var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing, (int)EnumJobStatus.Partial }; var jsonStatus = JsonSerializer.Serialize(status); var request = new SfsJobRequestInputBase diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs index d20cbd4d7..9c5a29854 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs @@ -59,7 +59,6 @@ public class ThirdLocationRequestController : AbpController /// /// [HttpGet("get/{number}")] - public virtual async Task> GetRequestByNumberAsync(string number) { var result = await _thirdLocationRequestAppService.GetByNumberAsync(number).ConfigureAwait(false); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs index c8a8daca5..647260243 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ThirdLocationJobs/ThirdLocationJobAppService.cs @@ -58,14 +58,23 @@ public class ThirdLocationJobAppService { var jobDetail= job.Details.FirstOrDefault(p => p.ItemCode == dto.Details[0].ItemCode); - if (dto.Details[0].HandledQty > jobDetail.RecommendQty) + if(jobDetail==null) { - throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际数量【{dto.Details[0].HandledQty}】不能大于推荐数量【{dto.Details[0].RecommendQty}】"); + throw new UserFriendlyException($"任务错误:未找到物品【{dto.Details[0].ItemCode} 的明细信息"); } - if (jobDetail.ToLocationCode != dto.Details[0].ToLocationCode) + else { - throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际目标库位【{dto.Details[0].ToLocationCode}】与申请目标库位【{jobDetail.ToLocationCode}】不一致"); - } + if (dto.Details[0].HandledQty > jobDetail.RecommendQty) + { + throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际数量【{dto.Details[0].HandledQty}】不能大于推荐数量【{dto.Details[0].RecommendQty}】"); + } + if (jobDetail.ToLocationCode != dto.Details[0].ToLocationCode) + { + throw new UserFriendlyException($"任务错误:编号为【{job.Number}】的实际目标库位【{dto.Details[0].ToLocationCode}】与申请目标库位【{jobDetail.ToLocationCode}】不一致"); + } + } + + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs index 187dbe64d..1f8626f8d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJob.cs @@ -70,7 +70,7 @@ public class ThirdLocationJob : SfsJobAggregateRootBase detail.HandledFromLocationCode = handledLocationCode; detail.HandledFromLocationErpCode = handledLocationErpCode; detail.HandledFromWarehouseCode = handledWarehouseCode; - detail.HandledQty = handledQty; + //detail.HandledQty = handledQty; detail.HandledSupplierBatch = handledSupplierBatch; detail.HandledArriveDate = handledArriveDate; detail.HandledProduceDate = handledProduceDate; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs index f923c54b7..977c851e1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobManager.cs @@ -90,11 +90,16 @@ public class ThirdLocationJobManager : SfsJobManagerBase x.ToStatus, y => y.MapFrom(d => d.Status)) .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty)) .ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now)) - .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.HandledFromLocationCode)) - .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.HandledFromLocationArea)) + .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.FromLocationCode)) + .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.FromLocationArea)) .ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup)) .ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode)) .ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode)) @@ -70,8 +70,7 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.ActiveDate) ; CreateMap() - .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty)) - .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.RecommendFromLocationCode)) + .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty)) .ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now)) .ForMember(x => x.FromPackingCode, y => y.MapFrom(d => d.HandledPackingCode)) .ForMember(x => x.ToPackingCode, y => y.MapFrom(d => d.HandledPackingCode)) @@ -82,8 +81,9 @@ public partial class StoreEventAutoMapperProfile : Profile .ForMember(x => x.SupplierBatch, y => y.MapFrom(d => d.HandledSupplierBatch)) .ForMember(x => x.ArriveDate, y => y.MapFrom(d => d.HandledArriveDate)) .ForMember(x => x.ProduceDate, y => y.MapFrom(d => d.HandledProduceDate)) - .ForMember(x => x.ExpireDate, y => y.MapFrom(d => d.ExpiredTime)) - .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.HandledFromLocationArea)) + .ForMember(x => x.ExpireDate, y => y.MapFrom(d => d.ExpiredTime)) + .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.FromLocationCode)) + .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.FromLocationArea)) .ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup)) .ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode)) .ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode)) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs index ff371c8ba..cf20e7475 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReturnJobEventHandler.cs @@ -55,6 +55,10 @@ public class PurchaseReturnJobEventHandler : var input = ObjectMapper.Map(entity); input.Details.RemoveAll(p => p.Qty == 0); + foreach (var detail in input.Details) + { + detail.HandledQty = detail.Qty; + } return input; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs index b22884a92..bcc80e5c4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ThirdLocationJobEventHandler.cs @@ -43,13 +43,7 @@ public class ThirdLocationJobEventHandler : { var entity = eventData.Entity; - entity.CompleteTime = Clock.Now; - entity.JobStatus = EnumJobStatus.Done; - - //foreach (var detail in eventData.Entity.Details) - //{ - // detail.SetHandledFromRecommend(); - //} + entity.CompleteTime = Clock.Now; var thirdLocationNote = await BuildThirdLocationNoteAsync(entity).ConfigureAwait(false); await _thirdLocationNoteAppService.CreateAsync(thirdLocationNote).ConfigureAwait(false);