From fcd5083330abfcc696eb9b6e60684615b0950284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 25 Nov 2024 11:21:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0PDA=E6=97=A0=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Jobs/CountJobController.cs | 50 ++++++++++++++++++- .../Jobs/CountJobs/CountJobAppService.cs | 13 +++++ ...CountAdjustRequestForDongyangAppService.cs | 1 + 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs index 1f5d9c0cc..548829ed3 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; @@ -7,6 +8,7 @@ using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; using Win_in.Sfs.Auth.Application.Contracts; +using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.Store.Application.Contracts; @@ -25,6 +27,8 @@ public class CountJobController : AbpController private readonly IUserWorkGroupAppService _userWorkGroupAppService; + private readonly IItemBasicAppService _itemBasicAppService; + /// /// /// @@ -32,10 +36,11 @@ public class CountJobController : AbpController /// public CountJobController( ICountJobAppService countJobAppService - , IUserWorkGroupAppService userWorkGroupAppService) + , IUserWorkGroupAppService userWorkGroupAppService, IItemBasicAppService itemBasicAppService) { _userWorkGroupAppService = userWorkGroupAppService; _countJobAppService = countJobAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -220,6 +225,11 @@ public class CountJobController : AbpController [HttpPost("finish/{id}")] public virtual async Task FinishAsync(Guid id, [FromBody] CountJobDTO dto) { + var errors=await Check(dto).ConfigureAwait(false); + if (errors.Count > 0) + { + throw new UserFriendlyException(string.Join(',', errors)); + } await _countJobAppService.CompleteAsync(id, dto).ConfigureAwait(false); } @@ -246,7 +256,45 @@ public class CountJobController : AbpController [HttpPost("handle-note")] public virtual async Task HandleForNoteAsync(Guid id, CountJobDTO dto) { + var errors = await Check(dto).ConfigureAwait(false); + if (errors.Count > 0) + { + throw new UserFriendlyException(string.Join(',', errors)); + } await _countJobAppService.CompleteAsync(id, dto).ConfigureAwait(false); } + + private async Task> Check(CountJobDTO dto) + { + List errors = new List(); + foreach (var itm in dto.Details) + { + var item = await _itemBasicAppService.GetByCodeAsync(itm.ItemCode).ConfigureAwait(false); + if (item == null) + { + errors.Add($"ERP料号{itm.ItemCode}不存在"); + //validationRresult.Add(new ValidationResult($"ERP料号{importInput.ItemCode}不存在", new[] { "ERP料号" })); + } + else if (item.StdPackQty == 0) + { + errors.Add($"ERP料号{itm.ItemCode}的物品信息中标准包装等于0或不存在"); + //validationRresult.Add( + // new ValidationResult($"ERP料号{importInput.ItemCode}的物品信息中标准包装等于0或不存在", new[] { "标准包装" })); + } + else + { + itm.ItemName = item.Name; + itm.ItemDesc1 = item.Desc1; + itm.ItemDesc2 = item.Desc2; + itm.StdPackQty = item.StdPackQty; + itm.Uom = item.BasicUom; + } + + } + return errors; + + } + + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs index c7bd91786..15e4c6002 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs @@ -268,6 +268,19 @@ public class CountJobAppService public override async Task CompleteAsync(Guid id, CountJobDTO dto) { + + var partlist = dto.Details.Select(p => p.ItemCode); + + + + + + + + + + + var input = new CountJobCheckInput { JobStatuses = new List() { EnumJobStatus.Doing }, diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestForDongyangAppService.cs index a1262e142..4f659c8b1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestForDongyangAppService.cs @@ -155,6 +155,7 @@ public class CountAdjustRequestForDongyangAppService : CountAdjustRequestAppServ detail.ItemDesc1 = itemBasic.Desc1; detail.ItemDesc2 = itemBasic.Desc2; detail.StdPackQty = itemBasic.StdPackQty; + detail.Uom = itemBasic.BasicUom; } var location = await LocationAclService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false);