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 3fe893372..5c69339d5 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 @@ -633,13 +633,20 @@ public class UnplannedIssueJobAppService public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto) { var job = await _repository.GetAsync(id).ConfigureAwait(false); - var facQuery=job.FacDetails.GroupBy(p => new { p.ItemCode }).Select(p=>new {ItemCode= p.Key.ItemCode,Qty= p.Sum(itm=>itm.RecommendQty) }); + //var facQuery=job.FacDetails.GroupBy(p => new { p.ItemCode }).Select(p=>new {ItemCode= p.Key.ItemCode,Qty= p.Sum(itm=>itm.RecommendQty) }); var query=dto.Details.GroupBy(p => new { p.ItemCode }).Select(p => new { ItemCode = p.Key.ItemCode, Qty = p.Sum(itm => itm.HandledQty) }); - var errorQuery = from itm in facQuery join itm1 in query on itm.ItemCode equals itm1.ItemCode where itm1.Qty > itm.Qty select itm.ItemCode ; - var errorList = errorQuery.ToList(); - if (errorList.Count > 0) + //var errorQuery = from itm in facQuery join itm1 in query on itm.ItemCode equals itm1.ItemCode where itm1.Qty > itm.Qty select itm.ItemCode ; + //var errorList = errorQuery.ToList(); + + if (dto.Details.Count == 0) + { + throw new UserFriendlyException($"任务无明细信息!"); + } + var sumqty = query.FirstOrDefault().Qty; + + if (job.Qty < sumqty) { - throw new UserFriendlyException($"零件{string.Join(",",errorList)}实际数量不能大于推荐数量!"); + throw new UserFriendlyException($"零件实际数量不能大于需求数量!"); } var handleDto = new UnplannedIssueJobDTO();