|
|
@ -7,6 +7,7 @@ using Volo.Abp; |
|
|
|
using Volo.Abp.Domain.Repositories; |
|
|
|
using Volo.Abp.Domain.Services; |
|
|
|
using Volo.Abp.ObjectMapping; |
|
|
|
using Win_in.Sfs.Basedata.Commons; |
|
|
|
using Win_in.Sfs.Basedata.Domain.Shared; |
|
|
|
|
|
|
|
namespace Win_in.Sfs.Basedata.Domain; |
|
|
@ -76,7 +77,8 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager |
|
|
|
if (hisLst3.ContainsKey(item.ToPackingCode) == false) |
|
|
|
{ |
|
|
|
//SplitPackingRec newObj = CommonHelper.CloneObj(item);
|
|
|
|
SplitPackingRec newObj = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item); |
|
|
|
//SplitPackingRec newObj = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item);
|
|
|
|
SplitPackingRec newObj = CloneSplitPackingRec(item); |
|
|
|
newObj.SetId(GuidGenerator.Create()); |
|
|
|
newObj.OprType = OprTypeEnum.Other; |
|
|
|
newObj.FromPackingCode = newObj.ToPackingCode; //克隆赋值
|
|
|
@ -93,7 +95,8 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager |
|
|
|
//{
|
|
|
|
//}
|
|
|
|
//SplitPackingRec newEntity = CommonHelper.CloneObj(item);
|
|
|
|
SplitPackingRec newEntity = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item); |
|
|
|
//SplitPackingRec newEntity = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item);
|
|
|
|
SplitPackingRec newEntity = CloneSplitPackingRec(item); |
|
|
|
|
|
|
|
newEntity.SetId(GuidGenerator.Create()); |
|
|
|
// var ret = await _repository.InsertAsync(newEntity, false).ConfigureAwait(false);
|
|
|
@ -108,19 +111,79 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager |
|
|
|
} |
|
|
|
if (item.ToTopPackingCode.IsNullOrEmpty()) |
|
|
|
{ |
|
|
|
item.ToTopPackingCode = item.FromPackingCode;// ToPackingCode;
|
|
|
|
item.ToTopPackingCode = item.FromPackingCode; |
|
|
|
} |
|
|
|
//SplitPackingRec newEntity = CommonHelper.CloneObj(item);
|
|
|
|
SplitPackingRec newEntity = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item); |
|
|
|
//SplitPackingRec newEntity = ExpressionGenericMapper<SplitPackingRec, SplitPackingRec>.Trans(item);
|
|
|
|
SplitPackingRec newEntity = CloneSplitPackingRec(item); |
|
|
|
newEntity.SetId(GuidGenerator.Create()); |
|
|
|
//var ret = await _repository.InsertAsync(newEntity, false).ConfigureAwait(false);
|
|
|
|
operLst.Add(newEntity); |
|
|
|
} |
|
|
|
} //foreach
|
|
|
|
await _repository.InsertManyAsync(operLst).ConfigureAwait(false); |
|
|
|
bool autoSave = false; |
|
|
|
await _repository.InsertManyAsync(operLst, autoSave).ConfigureAwait(false); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
private static SplitPackingRec CloneSplitPackingRec(SplitPackingRec input) |
|
|
|
{ |
|
|
|
SplitPackingRec entity = new SplitPackingRec(); |
|
|
|
entity.OprType = input.OprType; |
|
|
|
entity.FromPackingCode = input.FromPackingCode; |
|
|
|
entity.FromTopPackingCode = input.FromTopPackingCode; |
|
|
|
entity.FromStdPackQty = input.FromStdPackQty; |
|
|
|
entity.FromUom = input.FromUom; |
|
|
|
entity.FromQty = input.FromQty; |
|
|
|
entity.ToPackingCode = input.ToPackingCode; |
|
|
|
entity.ToTopPackingCode = input.ToTopPackingCode; |
|
|
|
entity.ToStdPackQty = input.ToStdPackQty; |
|
|
|
entity.ToUom = input.ToUom; |
|
|
|
entity.ToQty = input.ToQty; |
|
|
|
entity.ItemCode = input.ItemCode; |
|
|
|
entity.ItemName = input.ItemName; |
|
|
|
entity.ItemDesc1 = input.ItemDesc1; |
|
|
|
entity.ItemDesc2 = input.ItemDesc2; |
|
|
|
entity.FromLot = input.FromLot; |
|
|
|
entity.ToLot = input.ToLot; |
|
|
|
entity.PurchaseInfo_PoNumber = input.PurchaseInfo_PoNumber; |
|
|
|
entity.PurchaseInfo_AsnNumber = input.PurchaseInfo_AsnNumber; |
|
|
|
entity.ArrivalNoticNumber = input.ArrivalNoticNumber; |
|
|
|
entity.TaskOrderNumber = input.TaskOrderNumber; |
|
|
|
entity.ReceiptRecNumber = input.ReceiptRecNumber; |
|
|
|
entity.PutOnShelfNumber = input.PutOnShelfNumber; |
|
|
|
entity.LabelType = input.LabelType; |
|
|
|
entity.CreationTime = input.CreationTime; |
|
|
|
entity.CreatorId = input.CreatorId; |
|
|
|
entity.LastModificationTime = input.LastModificationTime; |
|
|
|
entity.LastModifierId = input.LastModifierId; |
|
|
|
entity.Remark = input.Remark; |
|
|
|
|
|
|
|
entity.ArriveDate = input.ArriveDate; |
|
|
|
//entity.ContainerCode = input.ContainerCode;
|
|
|
|
entity.ExpireDate = input.ExpireDate; |
|
|
|
entity.FullBarcodeString = input.FullBarcodeString; |
|
|
|
entity.LabelStatus = input.LabelStatus; |
|
|
|
entity.LocationErpCode = input.LocationErpCode; |
|
|
|
entity.PlanArriveDate = input.PlanArriveDate; |
|
|
|
entity.ProduceDate = input.ProduceDate; |
|
|
|
//entity.ProdLine = input.ProdLine;
|
|
|
|
//entity.Shift = input.Shift;
|
|
|
|
//entity.Team = input.Team;
|
|
|
|
entity.RpNumber = input.RpNumber; |
|
|
|
entity.SupplierCode = input.SupplierCode; |
|
|
|
//entity.QLevel = input.QLevel;
|
|
|
|
//entity.QualityFile = input.QualityFile;
|
|
|
|
entity.RecommendLocationCode = input.RecommendLocationCode; |
|
|
|
//entity.Specifications = input.Specifications;
|
|
|
|
entity.SupplierBatch = input.SupplierBatch; |
|
|
|
entity.SupplierItemCode = input.SupplierItemCode; |
|
|
|
entity.SupplierItemName = input.SupplierItemName; |
|
|
|
entity.SupplierName = input.SupplierName; |
|
|
|
entity.SupplierSimpleName = input.SupplierSimpleName; |
|
|
|
return entity; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 取每个目标箱码的最后一条拆箱记录
|
|
|
|
/// </summary>
|
|
|
@ -343,4 +406,32 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager |
|
|
|
return lst; |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<bool> BatchInsertTestAsync(List<SplitPackingRec> input) |
|
|
|
{ |
|
|
|
List<SplitPackingRec> operLst = new List<SplitPackingRec>(); |
|
|
|
var firstObj = input[0]; |
|
|
|
int cnt = (int)(firstObj.FromStdPackQty); |
|
|
|
for (int i = 1; i <= cnt; i++) |
|
|
|
{ |
|
|
|
var newObj = CloneSplitPackingRec(firstObj); |
|
|
|
newObj.SetId(this.GuidGenerator.Create()); |
|
|
|
newObj.FromTopPackingCode = newObj.FromPackingCode; |
|
|
|
newObj.ToTopPackingCode = newObj.ToPackingCode; |
|
|
|
operLst.Add(newObj); |
|
|
|
} |
|
|
|
|
|
|
|
//分页
|
|
|
|
int pageSize = 50; |
|
|
|
int pageTotal = PageHelper.GetTotalPages(operLst.Count, pageSize); |
|
|
|
for (int i = 1; i <= pageTotal; i++) |
|
|
|
{ |
|
|
|
var curPage = PageHelper.GetPage<SplitPackingRec>(operLst, i, pageSize); |
|
|
|
bool autoSave = false; |
|
|
|
await _repository.InsertManyAsync(curPage, autoSave).ConfigureAwait(false); |
|
|
|
|
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|