From 4ce81ee827c0607cbf9f99be9e37a9c7fa966b72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Wed, 16 Oct 2024 16:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnplannedIssueJobAppService.cs | 104 ++---------------- ...lannedIssueRequestForDongyangAppService.cs | 29 ++++- .../UnplannedIssueJobManager.cs | 1 + 3 files changed, 32 insertions(+), 102 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 9b7b8a0d1..d927fe72a 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 @@ -40,7 +40,7 @@ public class UnplannedIssueJobAppService public UnplannedIssueJobAppService( IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager, ILocationAppService locationAppService, IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService - ) : base(repository, unplannedIssueJobManager) + ) : base(repository, unplannedIssueJobManager ) { _unplannedIssueJobManager = unplannedIssueJobManager; _locationAppService = locationAppService; @@ -96,57 +96,7 @@ public class UnplannedIssueJobAppService - /// - /// 根据储位推荐 - /// - /// - //[HttpPost("add-detail")] - //public async Task AddDetailsAsync(UnplannedIssueJobDTO jobInput) - //{ - // var entity=await _repository.GetAsync(p=>p.Id==jobInput.Id).ConfigureAwait(false); - // var details=ObjectMapper.Map, List>(jobInput.Details); - - // var balances=new List(); - - - // foreach (var itm in entity.Details) - // { - // entity.RemoveDetail(itm.Id); - // } - // //var strs=GetAllFields(typeof(UnplannedIssueJobDetail)); - // foreach (var detail in details)//明细 - // { - // //_locationAppService.get detail.HandledFromLocationCode - // var input = new RecommendBalanceRequestInput - // { - // ItemCode = detail.ItemCode, - // Qty = detail.HandledQty, - // Statuses = new EditableList { EnumInventoryStatus.OK }, - // Locations = new List() { detail.RecommendFromLocationCode }, - // IsPackingCode = false - // }; - // var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);//获取推荐库存 - // usableList = usableList - // .OrderBy(p => p.Lot) - // .ThenBy(p => p.PutInTime) - // .ThenBy(p => p.Qty) //2023-9-14 苑静雯 从小数开始发料 - // .ThenBy(p => p.LocationCode) - // .ThenBy(p => p.PackingCode) - // .ToList(); - // decimal qty = 0; - // //实际要用库存 - // var returnlist = DeductInventory(usableList, detail.HandledQty); - // balances.AddRange(returnlist); - // //useBalancesOut.AddRange(returnlist); - // entity.AddDetail(detail); - // } - // var outEditInputs = await BuildExpectOutAsync(balances).ConfigureAwait(false); - // foreach (var itm in outEditInputs) - // { - // itm.JobNumber = jobInput.Number; - // } - // await _expectOutAppService.AddManyAsync(outEditInputs).ConfigureAwait(false); - //} + public static string[] GetAllFields(Type type) { // 获取公共实例字段 @@ -267,48 +217,7 @@ public class UnplannedIssueJobAppService foreach (var balanceDto in balanceDtoGroup) { - //var jobDetail = new UnplannedIssueJobDetail(); - //jobDetail.Number = job.Number; - //jobDetail.SetIdAndNumber(GuidGenerator,job.Id,job.Number); - //jobDetail.CaseCode = requestDtoDetail.CaseCode; - //jobDetail.Explain = requestDtoDetail.Explain; - //jobDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode; - //jobDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode; - ////jobDetail.ReasonCode = requestDtoDetail.ReasonCode; - //jobDetail.ItemCode = requestDtoDetail.ItemCode; - //jobDetail.ItemDesc1 = requestDtoDetail.ItemDesc1; - //jobDetail.ItemDesc2 = requestDtoDetail.ItemDesc2; - //jobDetail.ItemName = requestDtoDetail.ItemName; - //jobDetail.RecommendArriveDate = balanceDto.ArriveDate; - //jobDetail.RecommendContainerCode = string.Empty; - //jobDetail.RecommendExpireDate = balanceDto.ExpireDate; - //jobDetail.RecommendLot = balanceDto.Lot; - //jobDetail.RecommendPackingCode = balanceDto.PackingCode; - //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.HandledFromLocationGroup = balanceDto.LocationGroup; - //jobDetail.HandledFromLocationArea = balanceDto.LocationArea; - //jobDetail.HandledFromLocationCode = balanceDto.LocationCode; - //jobDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode; - //jobDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode; - //jobDetail.HandledQty = balanceDto.Qty; - //jobDetail.HandledSupplierBatch = balanceDto.Lot; - //jobDetail.HandledArriveDate = balanceDto.ArriveDate; - //jobDetail.HandledProduceDate = balanceDto.ProduceDate; - //jobDetail.HandledExpireDate = balanceDto.ExpireDate; - //jobDetail.HandledContainerCode = balanceDto.ContainerCode; - //jobDetail.HandledLot = balanceDto.Lot; - //jobDetail.HandledPackingCode = balanceDto.PackingCode; - //jobDetail.Uom = balanceDto.Uom; + var jobfacDetail = new UnplannedIssueJobFacDetail(); @@ -435,7 +344,10 @@ public class UnplannedIssueJobAppService public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto) { - var job = await _repository.GetAsync(id).ConfigureAwait(false); + + //using (var _uow = new UnitOfWorkManager()) { } + + var job = await _repository.GetAsync(id).ConfigureAwait(false); if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中 { throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】"); @@ -447,7 +359,7 @@ public class UnplannedIssueJobAppService var handleDto = ObjectMapper.Map(handleResult); - + await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false); return handleDto; 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 5180205ff..1f26798b7 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 @@ -100,14 +100,31 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA await CreateByDYOAsync(importList, EnumUnplannedIssueType.IMPORT).ConfigureAwait(false); - //if (errors.Count > 0) - //{ - // var fileContent = _excelService.Export(errors); - // return new TestResult(fileContent.FileContents, ExportImportService.ContentType) { FileDownloadName = "错误信息" }; - //} + List errorsList = new List(); + + foreach (var itm in importList) + { + if (string.IsNullOrEmpty(itm.CaseCode) + || string.IsNullOrEmpty(itm.ItemCode) + || itm.Qty == 0 + || string.IsNullOrEmpty(itm.ProjCapacityCode) + || string.IsNullOrEmpty(itm.LocationErpCode) + + ) + { + itm.Explain = "此项错误"; + errorsList.Add(itm); + } + } + + if (errorsList.Count > 0) + { + var fileContent = _excelService.Export(errorsList); + return new TestResult(fileContent.FileContents, ExportImportService.ContentType) { FileDownloadName =fileContent.FileDownloadName }; + } var fileContent1 = _excelService.Export(importList); - // return new TestResult(fileContent1.FileContents, ExportImportService.ContentType) { FileDownloadName = "Kitting导入文件" }; + return new JsonResult(new { Code = 200, FileDownloadName = fileContent1.FileDownloadName }); } catch (Exception e) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs index 174015bc2..e9aa8610a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs @@ -52,6 +52,7 @@ public class UnplannedIssueJobManager : SfsJobManagerBase