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 f97013a88..157c796da 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 @@ -5,6 +5,7 @@ using System.Linq; using System.Reflection; using System.Threading.Tasks; using Castle.Components.DictionaryAdapter; +using DocumentFormat.OpenXml.Spreadsheet; using Irony; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -93,14 +94,22 @@ public class UnplannedIssueJobAppService //{ // throw new UserFriendlyException($"请求单号{requestDto.Number},无推荐库位请检查是否又库存!"); //} - await _unplannedIssueJobManager.AddManyAsync(jobs).ConfigureAwait(false); - //await _repository.InsertManyAsync(jobs.ToList()).ConfigureAwait(false); - var first = jobs.FirstOrDefault(); - var outEditInputs = await BuildExpectOutAsync(useBalancesOut).ConfigureAwait(false); - foreach (var itm in outEditInputs) + foreach (var job in jobs) { - itm.JobNumber = first.Number; + job.SetIdAndNumberWithDetails(GuidGenerator, job.Number); + //await SendNotifyMessageAsync(job).ConfigureAwait(false); } + //await PublishCreatedAsync(jobs).ConfigureAwait(false); + await Repository.InsertManyAsync(jobs).ConfigureAwait(false); + + //await _unplannedIssueJobManager.AddManyAsync(jobs).ConfigureAwait(false); + //await _repository.InsertManyAsync(jobs.ToList()).ConfigureAwait(false); + + var outEditInputs = await BuildExpectOutAsync(useBalancesOut).ConfigureAwait(false); + //foreach (var itm in outEditInputs) + //{ + // itm.JobNumber = first.Number; + //} await _expectOutAppService.AddManyAsync(outEditInputs).ConfigureAwait(false); @@ -462,6 +471,15 @@ public class UnplannedIssueJobAppService job.JobStatus = EnumJobStatus.Wait; } jobs.Add(job); + + + foreach (var itm in returnlist.Item2) + { + itm.Remark = job.Number; + useBalancesOut.Add(itm); + } + //useBalancesOut.AddRange(returnlist.Item2); + } } else @@ -554,7 +572,12 @@ public class UnplannedIssueJobAppService private async Task> BuildExpectOutAsync(List balanceDtos) { - return ObjectMapper.Map, List>(balanceDtos); + var lst=ObjectMapper.Map, List>(balanceDtos); + foreach (var itm in lst) + { + itm.JobNumber = itm.Remark; + } + return lst; } /// 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 a643bcdb3..2d606faa8 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 @@ -6,6 +6,7 @@ using System.Linq; using System.Threading.Tasks; using DocumentFormat.OpenXml.Bibliography; using DocumentFormat.OpenXml.Office2016.Excel; +using IdentityModel; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; @@ -38,16 +39,19 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA { private readonly IDepartmentAppService _departmentApp; private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager; + private readonly IUnplannedIssueJobRepository _jobrepository ; + private readonly IBalanceAppService _balanceAppService; private readonly ILocationAppService _locationAppService; private readonly ITransactionTypeAclService _transactionTypeAclService; private readonly IUnplannedIssueJobAppService _unplannedIssueJobAppService; private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly ILogger _logger; + private readonly IExpectOutAppService _expectOutAppService; //private readonly IExportImportService _excelService; - public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository, + public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository, IUnplannedIssueJobRepository jobrepository, IExpectOutAppService expectOutAppService, IUnplannedIssueRequestManager unplannedIssueRequestManager, IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, ILocationAppService locationAppService, IExportImportService excelService, ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService, IUnitOfWorkManager unitOfWorkManager @@ -64,6 +68,8 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA _unplannedIssueJobAppService = unplannedIssueJobAppService; _unitOfWorkManager = unitOfWorkManager; _logger = logger; + _jobrepository= jobrepository; + _expectOutAppService = expectOutAppService; } /// /// OA创建计划外出库申请 @@ -789,5 +795,28 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA } } + /// + /// 中止请求 + /// + /// + /// + [HttpPost("abort/{id}")] + public override async Task AbortAsync(Guid id) + { + var entity=await GetAsync(id).ConfigureAwait(false); + + var unplannedRequestJobs =await _jobrepository.GetListAsync(p => p.UnplannedIssueRequestNumber == entity.Number).ConfigureAwait(false); + + foreach (var itm in unplannedRequestJobs) + { + await _expectOutAppService.RemoveAsync(itm.Number).ConfigureAwait(false); + } + + return await base.AbortAsync(id).ConfigureAwait(false); + } + + + + #endregion }