|
|
@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.AspNetCore.Mvc; |
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using NUglify.Helpers; |
|
|
|
using Omu.ValueInjecter; |
|
|
|
using Org.BouncyCastle.Asn1.Ocsp; |
|
|
|
using Volo.Abp; |
|
|
@ -399,16 +400,42 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA |
|
|
|
{ |
|
|
|
var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var listDetails = new List<UnplannedIssueRequestDetail>(); |
|
|
|
addList.ForEach(p => |
|
|
|
{ |
|
|
|
listDetails.AddRange(p.Details); |
|
|
|
}); |
|
|
|
var groupBy = listDetails.GroupBy(p => new { p.ItemCode, p.FromErpLocationCode }); |
|
|
|
foreach (var keyGroup in groupBy) |
|
|
|
{ |
|
|
|
if (keyGroup.ToList().Count > 1) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"Erp料号【{keyGroup.Key.ItemCode}】和储位【{keyGroup.Key.FromErpLocationCode}】有重复项"); |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var detail in keyGroup) |
|
|
|
{ |
|
|
|
if (detail.Qty <= 0) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"数量必须大于0"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var unplannedReceiptRequest in addList) |
|
|
|
{ |
|
|
|
//if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
|
|
|
|
//if (unplannedReceiptRequest.UnplannedType != EnumUnplannedReceiptType.Wip && unplannedReceiptRequest.UnplannedReceiptType != EnumUnplannedReceiptType.Raw)
|
|
|
|
//{
|
|
|
|
// throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," +
|
|
|
|
// throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedReceiptType}】退料料类型," +
|
|
|
|
// $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" +
|
|
|
|
// $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】");
|
|
|
|
//}
|
|
|
|
//unplannedReceiptRequest.UnplannedIssueType = type;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unplannedReceiptRequest.AutoCompleteJob = false; |
|
|
|
unplannedReceiptRequest.AutoSubmit = true; |
|
|
|
unplannedReceiptRequest.AutoAgree = false; |
|
|
@ -417,21 +444,59 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA |
|
|
|
unplannedReceiptRequest.BuildDate = DateTime.Now; |
|
|
|
await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); |
|
|
|
await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false); |
|
|
|
|
|
|
|
foreach (var detail in unplannedReceiptRequest.Details) |
|
|
|
{ |
|
|
|
detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode; |
|
|
|
detail.LocationErpCode = detail.FromErpLocationCode; |
|
|
|
detail.LocationCode = "Random"; |
|
|
|
detail.WarehouseCode = "Random"; |
|
|
|
detail.LocationGroup = "Random"; |
|
|
|
detail.LocationArea = "Random"; |
|
|
|
//detail.CaseCode = unplannedReceiptRequest.CaseCode;
|
|
|
|
//detail.ProjCapacityCode = first.ProjCapacityCode;
|
|
|
|
//detail.OnceBusiCode = first.OnceBusiCode;
|
|
|
|
//detail.Explain = first.Explain;
|
|
|
|
await SetDetailPropertiesAsync(detail).ConfigureAwait(false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//foreach (var unplannedReceiptRequest in addList)
|
|
|
|
//{
|
|
|
|
// //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
|
|
|
|
// //{
|
|
|
|
// // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," +
|
|
|
|
// // $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" +
|
|
|
|
// // $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】");
|
|
|
|
// //}
|
|
|
|
// //unplannedReceiptRequest.UnplannedIssueType = type;
|
|
|
|
// unplannedReceiptRequest.AutoCompleteJob = false;
|
|
|
|
// unplannedReceiptRequest.AutoSubmit = true;
|
|
|
|
// unplannedReceiptRequest.AutoAgree = false;
|
|
|
|
// unplannedReceiptRequest.AutoHandle = false;
|
|
|
|
// unplannedReceiptRequest.DirectCreateNote = false;
|
|
|
|
// unplannedReceiptRequest.BuildDate = DateTime.Now;
|
|
|
|
// await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
|
|
|
|
// await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
|
|
|
|
// foreach (var detail in unplannedReceiptRequest.Details)
|
|
|
|
// {
|
|
|
|
// detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode;
|
|
|
|
// detail.LocationCode = "Random";
|
|
|
|
// detail.WarehouseCode = "Random";
|
|
|
|
// detail.LocationGroup = "Random";
|
|
|
|
// detail.LocationArea = "Random";
|
|
|
|
// //detail.CaseCode = unplannedReceiptRequest.CaseCode;
|
|
|
|
// //detail.ProjCapacityCode = first.ProjCapacityCode;
|
|
|
|
// //detail.OnceBusiCode = first.OnceBusiCode;
|
|
|
|
// //detail.Explain = first.Explain;
|
|
|
|
// await SetDetailPropertiesAsync(detail).ConfigureAwait(false);
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
return dictionary; |
|
|
|
} |
|
|
|
|
|
|
|