Browse Source

添加CloneSplitPackingRec方法, 删除7个成员, 添加BatchInsertTestAsync方法

dev_DY_CC
刘云峰 10 months ago
parent
commit
2a99905ef3
  1. 31
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/Dtos/SplitPackingRecDto.cs
  2. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs
  3. 35
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/Inputs/SplitPackingRecEditInput.cs
  4. 11
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
  5. 28
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/PageHelper.cs
  6. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs
  7. 28
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRec.cs
  8. 101
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
  9. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Win_in.Sfs.Basedata.Domain.csproj
  10. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SplitPackings/SplitPackingRecDbContextModelCreatingExtensions.cs
  11. 24
      be/Modules/Label/src/Win_in.Sfs.Label.Application/InventoryLabels/InventoryLabelAppService.cs
  12. 14
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs

31
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/Dtos/SplitPackingRecDto.cs

@ -162,8 +162,6 @@ public class SplitPackingRecDTO : SfsBaseDataDTOBase
#region InventoryLabel兼容成员
/// <summary>
@ -217,22 +215,22 @@ public class SplitPackingRecDTO : SfsBaseDataDTOBase
/// <summary>
/// 托标签号
/// </summary>
[Display(Name = "托标签号")]
public string ContainerCode { get; set; }
//[Display(Name = "托标签号")]
//public string ContainerCode { get; set; }
#region 三个子实体成员
//-----------------------QualityInfo
/// <summary>
/// 质量级别
/// </summary>
[Display(Name = "质量级别")]
public string QLevel { get; set; }
//[Display(Name = "质量级别")]
//public string QLevel { get; set; }
/// <summary>
/// 质检文件
/// </summary>
[Display(Name = "质检文件")]
public string QualityFile { get; set; }
//[Display(Name = "质检文件")]
//public string QualityFile { get; set; }
//----------------------PurchaseInfo
/// <summary>
@ -263,28 +261,28 @@ public class SplitPackingRecDTO : SfsBaseDataDTOBase
/// <summary>
/// 生产线
/// </summary>
[Display(Name = "生产线")]
public string ProdLine { get; set; }
//[Display(Name = "生产线")]
//public string ProdLine { get; set; }
/// <summary>
/// 班组
/// </summary>
[Display(Name = "班组")]
public string Team { get; set; }
//[Display(Name = "班组")]
//public string Team { get; set; }
/// <summary>
/// 班次
/// </summary>
[Display(Name = "班次")]
public string Shift { get; set; }
//[Display(Name = "班次")]
//public string Shift { get; set; }
#endregion
/// <summary>
/// 规格
/// </summary>
[Display(Name = "规格")]
public string Specifications { get; set; }
//[Display(Name = "规格")]
//public string Specifications { get; set; }
/// <summary>
/// 供应商名称
@ -317,6 +315,5 @@ public class SplitPackingRecDTO : SfsBaseDataDTOBase
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
#endregion
}

3
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs

@ -45,4 +45,7 @@ public interface ISplitPackingRecAppService
/// <returns></returns>
Task<bool> CheckSplitNum(string fromPackCode, decimal inputQty);
Task<bool> BatchInsertTestAsync(List<SplitPackingRecEditInput> inputs);
}

35
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/Inputs/SplitPackingRecEditInput.cs

@ -14,8 +14,8 @@ namespace Win_in.Sfs.Basedata.Application.Contracts;
public class SplitPackingRecEditInput : SfsBaseDataCreateOrUpdateInputBase
//, IHasPurchaseInfoDto
, IHasProductionInfoDto
, IHasQualityInfoDto
//, IHasProductionInfoDto
//, IHasQualityInfoDto
{
/// <summary>
/// 操作类型
@ -170,8 +170,6 @@ public class SplitPackingRecEditInput : SfsBaseDataCreateOrUpdateInputBase
public EnumLabelType LabelType { get; set; }
#region InventoryLabel兼容成员
/// <summary>
@ -225,22 +223,22 @@ public class SplitPackingRecEditInput : SfsBaseDataCreateOrUpdateInputBase
/// <summary>
/// 托标签号
/// </summary>
[Display(Name = "托标签号")]
public string ContainerCode { get; set; }
//[Display(Name = "托标签号")]
//public string ContainerCode { get; set; }
#region 三个子实体成员
//-----------------------QualityInfo
/// <summary>
/// 质量级别
/// </summary>
[Display(Name = "质量级别")]
public string QLevel { get; set; }
//[Display(Name = "质量级别")]
//public string QLevel { get; set; }
/// <summary>
/// 质检文件
/// </summary>
[Display(Name = "质检文件")]
public string QualityFile { get; set; }
//[Display(Name = "质检文件")]
//public string QualityFile { get; set; }
//----------------------PurchaseInfo
/// <summary>
@ -271,28 +269,28 @@ public class SplitPackingRecEditInput : SfsBaseDataCreateOrUpdateInputBase
/// <summary>
/// 生产线
/// </summary>
[Display(Name = "生产线")]
public string ProdLine { get; set; }
//[Display(Name = "生产线")]
//public string ProdLine { get; set; }
/// <summary>
/// 班组
/// </summary>
[Display(Name = "班组")]
public string Team { get; set; }
//[Display(Name = "班组")]
//public string Team { get; set; }
/// <summary>
/// 班次
/// </summary>
[Display(Name = "班次")]
public string Shift { get; set; }
//[Display(Name = "班次")]
//public string Shift { get; set; }
#endregion
/// <summary>
/// 规格
/// </summary>
[Display(Name = "规格")]
public string Specifications { get; set; }
//[Display(Name = "规格")]
//public string Specifications { get; set; }
/// <summary>
/// 供应商名称
@ -325,5 +323,4 @@ public class SplitPackingRecEditInput : SfsBaseDataCreateOrUpdateInputBase
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
#endregion
}

11
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs

@ -8,6 +8,7 @@ using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
using System.Linq;
using Volo.Abp;
using Volo.Abp.Uow;
namespace Win_in.Sfs.Basedata.Application;
@ -149,6 +150,12 @@ public class SplitPackingRecAppService :
return overplusQty >= inputQty;
}
[HttpPost("batch-insert-test")]
[UnitOfWork(IsDisabled =true)]
public async Task<bool> BatchInsertTestAsync(List<SplitPackingRecEditInput> inputs)
{
List<SplitPackingRec> lst = ObjectMapper.Map<List<SplitPackingRecEditInput>, List<SplitPackingRec>>(inputs);
bool ret = await _splitPackingRecManager.BatchInsertTestAsync(lst).ConfigureAwait(false);
return ret;
}
}

28
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/PageHelper.cs

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Win_in.Sfs.Basedata.Commons;
public static class PageHelper
{
// 计算总页数
public static int GetTotalPages(int itemCount, int pageSize)
{
return (int)Math.Ceiling((double)itemCount / pageSize);
}
// 获取特定页的数据
public static List<T> GetPage<T>(List<T> sourceList, int pageNumber, int pageSize)
{
if (pageNumber < 1 || pageSize < 1)
throw new ArgumentException("页数和每页大小必须大于零");
int startIndex = (pageNumber - 1) * pageSize;
int count = Math.Min(pageSize, sourceList.Count - startIndex);
return sourceList.GetRange(startIndex, count);
}
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs

@ -34,4 +34,6 @@ public interface ISplitPackingRecManager : IDomainService
/// <returns></returns>
Task<List<SplitPackingRec>> GetAllByFromPackingCode(string fromPackingCode);
Task<bool> BatchInsertTestAsync(List<SplitPackingRec> input);
}

28
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRec.cs

@ -148,8 +148,6 @@ public class SplitPackingRec : SfsBaseDataAggregateRootBase
public EnumLabelType LabelType { get; set; }
#region InventoryLabel兼容成员
/// <summary>
@ -195,7 +193,7 @@ public class SplitPackingRec : SfsBaseDataAggregateRootBase
/// <summary>
/// 托标签号
/// </summary>
public string ContainerCode { get; set; }
//public string ContainerCode { get; set; }
/// <summary>
/// 质量信息
@ -205,14 +203,14 @@ public class SplitPackingRec : SfsBaseDataAggregateRootBase
/// <summary>
/// 质量等级
/// </summary>
[MaxLength(SfsEfCorePropertyConst.CodeLength)]
public string QLevel { get; set; }
//[MaxLength(SfsEfCorePropertyConst.CodeLength)]
//public string QLevel { get; set; }
/// <summary>
/// 质检文件
/// </summary>
[MaxLength(SfsEfCorePropertyConst.CodeLength)]
public string QualityFile { get; set; }
//[MaxLength(SfsEfCorePropertyConst.CodeLength)]
//public string QualityFile { get; set; }
/// <summary>
@ -240,26 +238,26 @@ public class SplitPackingRec : SfsBaseDataAggregateRootBase
/// <summary>
/// 生产线
/// </summary>
[MaxLength(SfsEfCorePropertyConst.CodeLength)]
public string ProdLine { get; set; }
//[MaxLength(SfsEfCorePropertyConst.CodeLength)]
//public string ProdLine { get; set; }
/// <summary>
/// 班组
/// </summary>
[MaxLength(SfsEfCorePropertyConst.CodeLength)]
public string Team { get; set; }
//[MaxLength(SfsEfCorePropertyConst.CodeLength)]
//public string Team { get; set; }
/// <summary>
/// 班次
/// </summary>
[MaxLength(SfsEfCorePropertyConst.CodeLength)]
public string Shift { get; set; }
//[MaxLength(SfsEfCorePropertyConst.CodeLength)]
//public string Shift { get; set; }
/// <summary>
/// 规格
/// </summary>
[Display(Name = "规格")]
public string Specifications { get; set; }
//[Display(Name = "规格")]
//public string Specifications { get; set; }
/// <summary>
/// 供应商名称

101
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs

@ -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;
}
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Win_in.Sfs.Basedata.Domain.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SplitPackings/SplitPackingRecDbContextModelCreatingExtensions.cs

@ -51,8 +51,8 @@ public static class SplitPackingRecDbContextModelCreatingExtensions
b.Property(q => q.SupplierBatch).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.RecommendLocationCode).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.LocationErpCode).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ContainerCode).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.Specifications).HasMaxLength(SfsPropertyConst.CodeLength);
//b.Property(q => q.ContainerCode).HasMaxLength(SfsPropertyConst.CodeLength);
//b.Property(q => q.Specifications).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.SupplierName).HasMaxLength(SfsPropertyConst.NameLength);
b.Property(q => q.SupplierSimpleName).HasMaxLength(SfsPropertyConst.NameLength);
b.Property(q => q.SupplierItemCode).HasMaxLength(SfsPropertyConst.CodeLength);

24
be/Modules/Label/src/Win_in.Sfs.Label.Application/InventoryLabels/InventoryLabelAppService.cs

@ -12,6 +12,7 @@ using Volo.Abp.Domain.Repositories;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Commons;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Label.Domain;
@ -205,17 +206,17 @@ public class InventoryLabelAppService
packRec.LabelStatus = (Win_in.Sfs.Basedata.LabelStatus)((int)inputObj.LabelStatus);
packRec.RecommendLocationCode = inputObj.RecommendLocationCode;
packRec.LocationErpCode = inputObj.LocationErpCode;
packRec.ContainerCode = inputObj.ContainerCode;
packRec.QLevel = inputObj.QLevel;//
packRec.QualityFile = inputObj.QualityFile;
//packRec.ContainerCode = inputObj.ContainerCode;
//packRec.QLevel = inputObj.QLevel;//
//packRec.QualityFile = inputObj.QualityFile;
packRec.SupplierCode = inputObj.SupplierCode;
//packRec.PoNumber = inputObj.PoNumber;
packRec.RpNumber = inputObj.RpNumber;
//packRec.AsnNumber = inputObj.AsnNumber;
packRec.ProdLine = inputObj.ProdLine;
packRec.Team = inputObj.Team;
packRec.Shift = inputObj.Shift;//
packRec.Specifications = inputObj.Specifications;
//packRec.ProdLine = inputObj.ProdLine;
//packRec.Team = inputObj.Team;
//packRec.Shift = inputObj.Shift;//
//packRec.Specifications = inputObj.Specifications;
packRec.SupplierName = inputObj.SupplierName;
packRec.SupplierSimpleName = inputObj.SupplierSimpleName;
packRec.SupplierItemCode = inputObj.SupplierItemCode;
@ -224,14 +225,19 @@ public class InventoryLabelAppService
#endregion
recLst.Add(packRec);
}
bool bo = await _splitPackingRecAppService.BatchInsertAsync(recLst).ConfigureAwait(false);
int pageSize = 50;
int pageTotal = PageHelper.GetTotalPages(recLst.Count, pageSize);
for (int i = 1; i <= pageTotal; i++)
{
var curPage = PageHelper.GetPage<SplitPackingRecEditInput>(recLst, i, pageSize);
bool bo = await _splitPackingRecAppService.BatchInsertAsync(curPage).ConfigureAwait(false);
if (bo == false)
{
throw new UserFriendlyException("调用插入拆箱记录表方法时返回假!");
}
}
}
[HttpPost("generate-and-create")]
[UnitOfWork]

14
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs

@ -486,17 +486,17 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
packRec.LabelStatus = (Win_in.Sfs.Basedata.LabelStatus)((int)inputObj.LabelStatus);
packRec.RecommendLocationCode = inputObj.RecommendLocationCode;
packRec.LocationErpCode = inputObj.LocationErpCode;
packRec.ContainerCode = inputObj.ContainerCode;
packRec.QLevel = inputObj.QLevel;//
packRec.QualityFile = inputObj.QualityFile;
//packRec.ContainerCode = inputObj.ContainerCode;
//packRec.QLevel = inputObj.QLevel;//
//packRec.QualityFile = inputObj.QualityFile;
packRec.SupplierCode = inputObj.SupplierCode;
packRec.PurchaseInfo_PoNumber = inputObj.PoNumber;
packRec.RpNumber = inputObj.RpNumber;
packRec.PurchaseInfo_AsnNumber = inputObj.AsnNumber;
packRec.ProdLine = inputObj.ProdLine;
packRec.Team = inputObj.Team;
packRec.Shift = inputObj.Shift;//
packRec.Specifications = inputObj.Specifications;
//packRec.ProdLine = inputObj.ProdLine;
//packRec.Team = inputObj.Team;
//packRec.Shift = inputObj.Shift;//
//packRec.Specifications = inputObj.Specifications;
packRec.SupplierName = inputObj.SupplierName;
packRec.SupplierSimpleName = inputObj.SupplierSimpleName;
packRec.SupplierItemCode = inputObj.SupplierItemCode;

Loading…
Cancel
Save