|
|
@ -633,13 +633,20 @@ public class UnplannedIssueJobAppService |
|
|
|
public override async Task<UnplannedIssueJobDTO> 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(); |
|
|
|