From be3283501346ab7c1022d319daa4222f2741014b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Wed, 23 Oct 2024 11:57:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DTOs/UnplannedIssueRequestDetailDTO.cs | 3 + .../UnplannedIssueRequestDetailInput.cs | 7 ++ .../UnplannedIssueJobAppService.cs | 2 +- ...lannedIssueRequestForDongyangAppService.cs | 83 +++++++++++++++++-- .../UnplannedIssueRequestDetail.cs | 7 ++ 5 files changed, 92 insertions(+), 10 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs index 93371f9d2..e23953d45 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs @@ -38,4 +38,7 @@ public class UnplannedIssueRequestDetailDTO /// [Display(Name = "说明")] public string Explain { get; set; } + + [Display(Name = "储位")] + public string FromErpLocationCode { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs index f16937e51..afe1cd152 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs @@ -36,4 +36,11 @@ public class UnplannedIssueRequestDetailInput : SfsStoreDetailWithLotPackingQtyL /// [Display(Name = "说明")] public string Explain { get; set; } + + + /// + /// 储位 + /// + [Display(Name = "储位")] + public string FromErpLocationCode { get; set; } } 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 b00b2c5e8..f689bf65e 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 @@ -551,7 +551,7 @@ public class UnplannedIssueJobAppService job.WarehouseCode = locationDto.WarehouseCode; job.BuildDate = DateTime.Now; - + jobs.Add(job); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs index 27218ff9b..35a1c37b6 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; +using NUglify.Helpers; using Omu.ValueInjecter; using Org.BouncyCastle.Asn1.Ocsp; using Volo.Abp; @@ -399,16 +400,42 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA { var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); + + + var listDetails = new List(); + addList.ForEach(p => + { + listDetails.AddRange(p.Details); + }); + var groupBy = listDetails.GroupBy(p => new { p.ItemCode, p.FromErpLocationCode }); + foreach (var keyGroup in groupBy) + { + if (keyGroup.ToList().Count > 1) + { + throw new UserFriendlyException($"Erp料号【{keyGroup.Key.ItemCode}】和储位【{keyGroup.Key.FromErpLocationCode}】有重复项"); + } + + foreach (var detail in keyGroup) + { + if (detail.Qty <= 0) + { + throw new UserFriendlyException($"数量必须大于0"); + } + } + } + + + foreach (var unplannedReceiptRequest in addList) { - //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw) + //if (unplannedReceiptRequest.UnplannedType != EnumUnplannedReceiptType.Wip && unplannedReceiptRequest.UnplannedReceiptType != EnumUnplannedReceiptType.Raw) //{ - // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," + + // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedReceiptType}】退料料类型," + // $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" + // $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】"); //} - //unplannedReceiptRequest.UnplannedIssueType = type; - + + unplannedReceiptRequest.AutoCompleteJob = false; unplannedReceiptRequest.AutoSubmit = true; unplannedReceiptRequest.AutoAgree = false; @@ -417,21 +444,59 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA unplannedReceiptRequest.BuildDate = DateTime.Now; await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); + foreach (var detail in unplannedReceiptRequest.Details) { - detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode; + detail.LocationErpCode = detail.FromErpLocationCode; detail.LocationCode = "Random"; detail.WarehouseCode = "Random"; detail.LocationGroup = "Random"; detail.LocationArea = "Random"; - //detail.CaseCode = unplannedReceiptRequest.CaseCode; - //detail.ProjCapacityCode = first.ProjCapacityCode; - //detail.OnceBusiCode = first.OnceBusiCode; - //detail.Explain = first.Explain; await SetDetailPropertiesAsync(detail).ConfigureAwait(false); } } + + + + + + + + + + //foreach (var unplannedReceiptRequest in addList) + //{ + // //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw) + // //{ + // // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," + + // // $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" + + // // $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】"); + // //} + // //unplannedReceiptRequest.UnplannedIssueType = type; + // unplannedReceiptRequest.AutoCompleteJob = false; + // unplannedReceiptRequest.AutoSubmit = true; + // unplannedReceiptRequest.AutoAgree = false; + // unplannedReceiptRequest.AutoHandle = false; + // unplannedReceiptRequest.DirectCreateNote = false; + // unplannedReceiptRequest.BuildDate = DateTime.Now; + // await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); + // await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); + // foreach (var detail in unplannedReceiptRequest.Details) + // { + // detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode; + // detail.LocationCode = "Random"; + // detail.WarehouseCode = "Random"; + // detail.LocationGroup = "Random"; + // detail.LocationArea = "Random"; + // //detail.CaseCode = unplannedReceiptRequest.CaseCode; + // //detail.ProjCapacityCode = first.ProjCapacityCode; + // //detail.OnceBusiCode = first.OnceBusiCode; + // //detail.Explain = first.Explain; + // await SetDetailPropertiesAsync(detail).ConfigureAwait(false); + // } + //} + return dictionary; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs index 0f723262f..d29d933aa 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs @@ -40,4 +40,11 @@ public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocati [Display(Name = "说明")] public string Explain { get; set; } + + /// + /// 储位 + /// + [Display(Name = "储位")] + public string FromErpLocationCode { get; set; } + }