|
|
@ -345,8 +345,13 @@ public class UnplannedIssueJobAppService |
|
|
|
{ |
|
|
|
_logger.LogError($"{"非生产领料" + requestDto.Number + "零件号:" + requestDtoDetail.ItemCode + "库存不够" + requestDtoDetail.Qty.ToString()}"); |
|
|
|
// Errors.Add($"{"非生产领料"+requestDto.Number+"零件号:"+requestDtoDetail.ItemCode + "库存不够" + requestDtoDetail.Qty.ToString()}");
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (useBalances.Count > 0) |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
foreach (var balanceDtoGroup in useBalances.GroupBy(p => p.LocationErpCode)) |
|
|
|
{ |
|
|
|
//var locationDto = await _locationAppService.GetByCodeAsync(balanceDtoGroup.Key).ConfigureAwait(false);
|
|
|
@ -475,6 +480,83 @@ public class UnplannedIssueJobAppService |
|
|
|
} |
|
|
|
jobs.Add(job); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var job = new UnplannedIssueJob(); |
|
|
|
|
|
|
|
switch (locationDto.Type) |
|
|
|
{ |
|
|
|
case EnumLocationType.SEMI: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.CUST: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.FG: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.RAW: |
|
|
|
job.IsHasPackingCode = true; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.THIRDPARTY: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.OUTSIDE: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
break; |
|
|
|
case EnumLocationType.DimensionalStorehouse: |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Raw; |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
break; |
|
|
|
|
|
|
|
case EnumLocationType.KittingWip: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Wip; |
|
|
|
break; |
|
|
|
case EnumLocationType.WIP: |
|
|
|
job.IsHasPackingCode = false; |
|
|
|
job.UnplannedIssueType = EnumUnplannedIssueType.Wip; |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
job.ItemCode = requestDtoDetail.ItemCode; |
|
|
|
job.ItemName = requestDtoDetail.ItemName; |
|
|
|
job.ItemDesc1 = requestDtoDetail.ItemDesc1; |
|
|
|
job.ItemDesc2 = requestDtoDetail.ItemDesc2; |
|
|
|
job.FromErpLocationCode = requestDtoDetail.LocationErpCode; |
|
|
|
job.Qty = requestDtoDetail.Qty; |
|
|
|
|
|
|
|
|
|
|
|
job.SetId(GuidGenerator.Create()); |
|
|
|
job.UnplannedIssueRequestNumber = requestDto.Number; |
|
|
|
job.JobType = EnumJobType.UnplannedIssueJob; |
|
|
|
job.JobStatus = EnumJobStatus.Open; |
|
|
|
job.IsAutoComplete = false; |
|
|
|
job.DeptCode = requestDto.DeptCode; |
|
|
|
job.DeptName = requestDto.DeptName; |
|
|
|
job.Worker = requestDto.Worker; |
|
|
|
job.OANumber = requestDto.OANumber; |
|
|
|
job.Number = await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true); |
|
|
|
job.Details = new List<UnplannedIssueJobDetail>(); |
|
|
|
job.FacDetails = new List<UnplannedIssueJobFacDetail>(); |
|
|
|
job.WarehouseCode = locationDto.WarehouseCode; |
|
|
|
job.BuildDate = DateTime.Now; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
//if (Errors.Count > 0)
|
|
|
|
//{
|
|
|
|