From a1ef0d27cc740e3b74f51cd38c1ed596f30c7e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Sat, 12 Oct 2024 10:49:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnplannedIssueJobAppService.cs | 46 +++++++++---------- .../UnplannedIssueRequestAppService.cs | 29 +----------- ...lannedIssueRequestForDongyangAppService.cs | 18 +++++++- ...ssueJobDbContextModelCreatingExtensions.cs | 3 ++ 4 files changed, 43 insertions(+), 53 deletions(-) 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 8edbbf73c..d17fe8e41 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 @@ -133,8 +133,6 @@ public class UnplannedIssueJobAppService Locations = locationCodes.Select(p => p.Code).ToList(), IsPackingCode = false }; - - var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);//获取推荐库存 usableList = usableList .OrderBy(p => p.Lot) @@ -147,13 +145,7 @@ public class UnplannedIssueJobAppService decimal qty = 0; //实际要用库存 List useBalances = new List(); - - var returnlist=DeductInventory(usableList, requestDtoDetail.Qty); - - - - useBalances.AddRange(returnlist); useBalancesOut.AddRange(returnlist); @@ -200,7 +192,6 @@ public class UnplannedIssueJobAppService job.IsAutoComplete = false; job.OANumber = requestDto.OANumber; job.Number =await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true); - job.Details = new List(); job.FacDetails = new List(); job.WarehouseCode = balanceDtoGroup.First().WarehouseCode; @@ -229,6 +220,17 @@ public class UnplannedIssueJobAppService jobDetail.RecommendProduceDate = balanceDto.ProduceDate; jobDetail.RecommendQty = balanceDto.Qty; jobDetail.RecommendSupplierBatch = balanceDto.SupplierBatch; + jobDetail.StdPackQty = requestDtoDetail.StdPackQty; + jobDetail.RecommendPackingCode = balanceDto.PackingCode; + jobDetail.HandledPackingCode = balanceDto.PackingCode; + jobDetail.RecommendFromLocationArea = balanceDto.LocationArea; + jobDetail.RecommendFromLocationCode = balanceDto.LocationCode; + jobDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode; + jobDetail.RecommendFromLocationGroup = balanceDto.LocationGroup; + jobDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode; + jobDetail.HandledQty = balanceDto.Qty; + + var jobfacDetail = new UnplannedIssueJobFacDetail(); @@ -251,25 +253,21 @@ public class UnplannedIssueJobAppService jobfacDetail.RecommendProduceDate = balanceDto.ProduceDate; jobfacDetail.RecommendQty = balanceDto.Qty; jobfacDetail.RecommendSupplierBatch = balanceDto.SupplierBatch; + jobfacDetail.StdPackQty = requestDtoDetail.StdPackQty; + jobfacDetail.RecommendPackingCode = balanceDto.PackingCode; + jobfacDetail.HandledPackingCode = balanceDto.PackingCode; - - //jobDetail.recommendRecommendToLocationArea = balanceDto.LocationArea; - //jobDetail.RecommendToLocationCode = balanceDto.LocationCode; - //jobDetail.RecommendToLocationErpCode = balanceDto.LocationErpCode; - //jobDetail.RecommendToLocationGroup = balanceDto.LocationGroup; - //jobDetail.RecommendToWarehouseCode = balanceDto.WarehouseCode; + jobfacDetail.RecommendFromLocationArea = balanceDto.LocationArea; + jobfacDetail.RecommendFromLocationCode = balanceDto.LocationCode; + jobfacDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode; + jobfacDetail.RecommendFromLocationGroup = balanceDto.LocationGroup; + jobfacDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode; + jobfacDetail.HandledQty = balanceDto.Qty; + job.Details.Add(jobDetail); job.FacDetails.Add(jobfacDetail); - } - - - - - - //job.SetProperty("details", System.Text.Json.JsonSerializer.Serialize(job.Details)); - - + } if (locationDto.Type == EnumLocationType.DimensionalStorehouse)//如果是立库的 { await SendDimensionalStorehouseAsync().ConfigureAwait(false); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs index a13eac32b..a46cd917a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs @@ -77,34 +77,7 @@ public abstract class UnplannedIssueRequestAppService : return dto; } - [HttpPost("import")] - [Consumes("multipart/form-data")] - - public override async Task ImportAsync([FromForm] SfsImportRequestInput requestInput, [Required] IFormFile file) - { - //var query = _repository.WithDetails().AsNoTracking(); - using var ms = new MemoryStream(); - await file.OpenReadStream().CopyToAsync(ms).ConfigureAwait(false); - var inputFileBytes = ms.GetAllBytes(); - var importList = _excelService.Import(inputFileBytes); - - - - - - //var checklist = importList.GroupBy(p => new { p.Code, p.ItemCode }).Where(g => g.Count() > 1).Select(p => new { Code = p.Key.Code, PartCode = p.Key.ItemCode });//导入重复报错 //检测是否导入重复 - //List errors = new List(); - - //if (errors.Count > 0) - //{ - // var fileContent = _excelService.Export(errors); - // return new TestResult(fileContent.FileContents, ExportImportService.ContentType) { FileDownloadName = "错误信息" }; - //} - - //var fileContent1 = _excelService.Export(importList); - // return new TestResult(fileContent1.FileContents, ExportImportService.ContentType) { FileDownloadName = "Kitting导入文件" }; - return new JsonResult(new { Code = 200, FileDownloadName = "" }); - } + 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 b02c2ccaa..463d655ff 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 @@ -137,8 +137,8 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA { throw new UserFriendlyException("导入内容为空请填写!"); } + var first = p_list.FirstOrDefault(); - request.UnplannedIssueType = type; request.SetId(GuidGenerator.Create()); request.AutoCompleteJob = false; @@ -146,17 +146,33 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA request.AutoAgree = false; request.AutoHandle = false; request.DirectCreateNote = false; + request.DeptCode = first.DeptCode; + request.DeptName = first.DeptName; + + + List detailList = new List(); foreach (var itm in p_list) { var detail = new UnplannedIssueRequestDetail(); detail.ItemCode = itm.ItemCode; detail.Qty = itm.Qty; + detail.LocationErpCode = itm.LocationErpCode; + detail.LocationCode = "Random"; detail.WarehouseCode ="Random"; detail.LocationGroup ="Random"; detail.LocationArea = "Random"; + + + detail.CaseCode = first.CaseCode; + detail.ProjCapacityCode = first.ProjCapacityCode; + detail.OnceBusiCode = first.OnceBusiCode; + detail.Explain = first.Explain; + + + await SetDetailPropertiesAsync(detail).ConfigureAwait(false); detailList.Add(detail); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/UnplannedIssueJobs/UnplannedIssueJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/UnplannedIssueJobs/UnplannedIssueJobDbContextModelCreatingExtensions.cs index 6a02063b6..a4ffa4a30 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/UnplannedIssueJobs/UnplannedIssueJobDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/UnplannedIssueJobs/UnplannedIssueJobDbContextModelCreatingExtensions.cs @@ -26,6 +26,9 @@ public static class UnplannedIssueJobDbContextModelCreatingExtensions b.Property(q => q.UnplannedIssueRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength); //Relations b.HasMany(q => q.Details).WithOne().HasForeignKey(d => d.MasterID).IsRequired(); + b.HasMany(q => q.FacDetails).WithOne().HasForeignKey(d => d.MasterID).IsRequired(); + + //Indexes b.HasIndex(q => new { q.Number }).IsUnique(); });