Browse Source

更新版本

dev_DY_CC
赵新宇 6 months ago
parent
commit
1b94a7207a
  1. 206
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs

206
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs

@ -345,13 +345,145 @@ 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);
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 = balanceDtoGroup.First().WarehouseCode;
job.BuildDate = DateTime.Now;
foreach (var balanceDto in balanceDtoGroup)
{
var jobfacDetail = new UnplannedIssueJobFacDetail();
jobfacDetail.Number = job.Number;
jobfacDetail.SetIdAndNumber(GuidGenerator, job.Id, job.Number);
jobfacDetail.CaseCode = requestDtoDetail.CaseCode;
jobfacDetail.Explain = requestDtoDetail.Explain;
jobfacDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode;
jobfacDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode;
//jobfacDetail.ReasonCode = requestDtoDetail.ReasonCode;
jobfacDetail.ItemCode = requestDtoDetail.ItemCode;
jobfacDetail.ItemDesc1 = requestDtoDetail.ItemDesc1;
jobfacDetail.ItemDesc2 = requestDtoDetail.ItemDesc2;
jobfacDetail.ItemName = requestDtoDetail.ItemName;
jobfacDetail.RecommendArriveDate = balanceDto.ArriveDate;
jobfacDetail.RecommendContainerCode = string.Empty;
jobfacDetail.RecommendExpireDate = balanceDto.ExpireDate;
jobfacDetail.RecommendLot = balanceDto.Lot;
jobfacDetail.RecommendPackingCode = balanceDto.PackingCode;
jobfacDetail.RecommendProduceDate = balanceDto.ProduceDate;
jobfacDetail.RecommendQty = balanceDto.Qty;
jobfacDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
jobfacDetail.StdPackQty = requestDtoDetail.StdPackQty;
jobfacDetail.RecommendPackingCode = balanceDto.PackingCode;
jobfacDetail.HandledFromLocationGroup = balanceDto.LocationGroup;
jobfacDetail.HandledFromLocationArea = balanceDto.LocationArea;
jobfacDetail.HandledFromLocationCode = balanceDto.LocationCode;
jobfacDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode;
jobfacDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode;
jobfacDetail.HandledQty = balanceDto.Qty;
jobfacDetail.HandledSupplierBatch = balanceDto.Lot;
jobfacDetail.HandledArriveDate = balanceDto.ArriveDate;
jobfacDetail.HandledProduceDate = balanceDto.ProduceDate;
jobfacDetail.HandledExpireDate = balanceDto.ExpireDate;
jobfacDetail.HandledContainerCode = balanceDto.ContainerCode;
jobfacDetail.HandledLot = balanceDto.Lot;
jobfacDetail.HandledPackingCode = balanceDto.PackingCode;
jobfacDetail.RecommendFromLocationArea = balanceDto.LocationArea;
jobfacDetail.RecommendFromLocationCode = balanceDto.LocationCode;
jobfacDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
jobfacDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
jobfacDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
jobfacDetail.Status = balanceDto.Status;
jobfacDetail.HandledQty = balanceDto.Qty;
jobfacDetail.Uom = balanceDto.Uom;
//job.Details.Add(jobDetail);
job.FacDetails.Add(jobfacDetail);
}
if (locationDto.Type == EnumLocationType.DimensionalStorehouse)//如果是立库的
{
await SendDimensionalStorehouseAsync().ConfigureAwait(false);
job.JobStatus = EnumJobStatus.Wait;
}
jobs.Add(job);
}
}
foreach (var balanceDtoGroup in useBalances.GroupBy(p => p.LocationErpCode))
else
{
//var locationDto = await _locationAppService.GetByCodeAsync(balanceDtoGroup.Key).ConfigureAwait(false);
var job = new UnplannedIssueJob();
switch (locationDto.Type)
{
@ -398,14 +530,14 @@ public class UnplannedIssueJobAppService
job.ItemCode = requestDtoDetail.ItemCode;
job.ItemName = requestDtoDetail.ItemName;
job.ItemDesc1 =requestDtoDetail.ItemDesc1;
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.UnplannedIssueRequestNumber = requestDto.Number;
job.JobType = EnumJobType.UnplannedIssueJob;
job.JobStatus = EnumJobStatus.Open;
job.IsAutoComplete = false;
@ -413,68 +545,18 @@ public class UnplannedIssueJobAppService
job.DeptName = requestDto.DeptName;
job.Worker = requestDto.Worker;
job.OANumber = requestDto.OANumber;
job.Number =await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true);
job.Number = await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true);
job.Details = new List<UnplannedIssueJobDetail>();
job.FacDetails = new List<UnplannedIssueJobFacDetail>();
job.WarehouseCode = balanceDtoGroup.First().WarehouseCode;
job.WarehouseCode = locationDto.WarehouseCode;
job.BuildDate = DateTime.Now;
foreach (var balanceDto in balanceDtoGroup)
{
var jobfacDetail = new UnplannedIssueJobFacDetail();
jobfacDetail.Number = job.Number;
jobfacDetail.SetIdAndNumber(GuidGenerator, job.Id, job.Number);
jobfacDetail.CaseCode = requestDtoDetail.CaseCode;
jobfacDetail.Explain = requestDtoDetail.Explain;
jobfacDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode;
jobfacDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode;
//jobfacDetail.ReasonCode = requestDtoDetail.ReasonCode;
jobfacDetail.ItemCode = requestDtoDetail.ItemCode;
jobfacDetail.ItemDesc1 = requestDtoDetail.ItemDesc1;
jobfacDetail.ItemDesc2 = requestDtoDetail.ItemDesc2;
jobfacDetail.ItemName = requestDtoDetail.ItemName;
jobfacDetail.RecommendArriveDate = balanceDto.ArriveDate;
jobfacDetail.RecommendContainerCode = string.Empty;
jobfacDetail.RecommendExpireDate = balanceDto.ExpireDate;
jobfacDetail.RecommendLot = balanceDto.Lot;
jobfacDetail.RecommendPackingCode = balanceDto.PackingCode;
jobfacDetail.RecommendProduceDate = balanceDto.ProduceDate;
jobfacDetail.RecommendQty = balanceDto.Qty;
jobfacDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
jobfacDetail.StdPackQty = requestDtoDetail.StdPackQty;
jobfacDetail.RecommendPackingCode = balanceDto.PackingCode;
jobfacDetail.HandledFromLocationGroup = balanceDto.LocationGroup;
jobfacDetail.HandledFromLocationArea = balanceDto.LocationArea;
jobfacDetail.HandledFromLocationCode = balanceDto.LocationCode;
jobfacDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode;
jobfacDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode;
jobfacDetail.HandledQty = balanceDto.Qty;
jobfacDetail.HandledSupplierBatch = balanceDto.Lot;
jobfacDetail.HandledArriveDate = balanceDto.ArriveDate;
jobfacDetail.HandledProduceDate = balanceDto.ProduceDate;
jobfacDetail.HandledExpireDate = balanceDto.ExpireDate;
jobfacDetail.HandledContainerCode =balanceDto.ContainerCode ;
jobfacDetail.HandledLot = balanceDto.Lot;
jobfacDetail.HandledPackingCode =balanceDto.PackingCode;
jobfacDetail.RecommendFromLocationArea = balanceDto.LocationArea;
jobfacDetail.RecommendFromLocationCode = balanceDto.LocationCode;
jobfacDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
jobfacDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
jobfacDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
jobfacDetail.Status = balanceDto.Status;
jobfacDetail.HandledQty = balanceDto.Qty;
jobfacDetail.Uom = balanceDto.Uom;
//job.Details.Add(jobDetail);
job.FacDetails.Add(jobfacDetail);
}
if (locationDto.Type == EnumLocationType.DimensionalStorehouse)//如果是立库的
{
await SendDimensionalStorehouseAsync().ConfigureAwait(false);
job.JobStatus = EnumJobStatus.Wait;
}
jobs.Add(job);
}
}
//if (Errors.Count > 0)
//{

Loading…
Cancel
Save