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);