180 lines
5.6 KiB
C#
180 lines
5.6 KiB
C#
using Seyounth.Hyosung.Data.Entities;
|
|
|
|
namespace Seyounth.Hyosung.Data.Models;
|
|
|
|
public class Variety
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
public string Code { get; set; }
|
|
|
|
public int Lot { get; set; }
|
|
|
|
public int YarnCarType { get; set; }
|
|
|
|
public int YarnCarSide { get; set; }
|
|
|
|
public string Specifications { get; set; }
|
|
|
|
public int InnerDiameter { get; set; }
|
|
|
|
public int OuterDiameter { get; set; }
|
|
|
|
public int YarnDiameter { get; set; }
|
|
|
|
public int PaperTubeHeight { get; set; }
|
|
|
|
public int YarnThickness { get; set; }
|
|
|
|
public double SingleWeight { get; set; }
|
|
|
|
public int StackingLayers { get; set; }
|
|
|
|
public int TotalCount { get; set; }
|
|
|
|
public Pallet MiddlePallet { get; set; }
|
|
|
|
public Pallet TopAndBottomPallet { get; set; }
|
|
|
|
public Pallet Tray { get; set; }
|
|
|
|
public string? StackHeadSpec { get; set; }
|
|
|
|
public int? StackHeadCount { get; set; }
|
|
|
|
public Pallet? PaperTray { get; set; }
|
|
|
|
public bool HasBox { get; set; }
|
|
|
|
public NeedType NeedTopBoard { get; set; }
|
|
|
|
public NeedType NeedAngleBeam { get; set; }
|
|
|
|
public NeedType NeedPackStrap { get; set; }
|
|
|
|
public NeedType NeedFilmWrapping { get; set; }
|
|
|
|
public NeedType NeedFilmCoating { get; set; }
|
|
|
|
public int MasterLabelCount { get; set; }
|
|
|
|
public int SubLabelCount { get; set; }
|
|
|
|
public bool IsTurn { get; set; }
|
|
|
|
public static Variety Create(VarietyEntity entity, List<PalletEntity> pallets)
|
|
{
|
|
var variety = new Variety()
|
|
{
|
|
Id = entity.Id,
|
|
Code = entity.Code,
|
|
Lot = entity.Lot,
|
|
Specifications = entity.Specifications,
|
|
InnerDiameter = entity.InnerDiameter,
|
|
OuterDiameter = entity.OuterDiameter,
|
|
YarnDiameter = entity.YarnDiameter,
|
|
PaperTubeHeight = entity.PaperTubeHeight,
|
|
YarnThickness = entity.YarnThickness,
|
|
SingleWeight = entity.SingleWeight,
|
|
StackingLayers = entity.StackingLayers,
|
|
TotalCount = entity.TotalCount,
|
|
StackHeadSpec = entity.StackHeadSpec,
|
|
StackHeadCount = entity.StackHeadCount,
|
|
NeedTopBoard = entity.NeedTopBoard,
|
|
NeedAngleBeam = entity.NeedAngleBeam,
|
|
NeedPackStrap = entity.NeedPackStrap,
|
|
NeedFilmWrapping = entity.NeedFilmWrapping,
|
|
NeedFilmCoating = entity.NeedFilmCoating,
|
|
MasterLabelCount = entity.MasterLabelCount,
|
|
SubLabelCount = entity.SubLabelCount,
|
|
MiddlePallet = Pallet.FromEntity( pallets.First(x => x.Id == entity.MiddlePalletId)),
|
|
TopAndBottomPallet = Pallet.FromEntity(pallets.First(x => x.Id == entity.TopAndBottomPalletId)),
|
|
Tray = Pallet.FromEntity(pallets.First(x => x.Id == entity.TrayId)),
|
|
HasBox = entity.HasBox
|
|
};
|
|
if (entity.PaperTrayId != null && entity.PaperTrayId != 0)
|
|
variety.PaperTray = Pallet.FromEntity(pallets.First(x => x.Id == entity.PaperTrayId));
|
|
|
|
return variety;
|
|
}
|
|
|
|
public VarietyEntity ToEntity()
|
|
{
|
|
var entity = new VarietyEntity()
|
|
{
|
|
Id = Id,
|
|
Code = Code,
|
|
Lot = Lot,
|
|
Specifications = Specifications,
|
|
InnerDiameter = InnerDiameter,
|
|
OuterDiameter = OuterDiameter,
|
|
YarnDiameter = YarnDiameter,
|
|
PaperTubeHeight = PaperTubeHeight,
|
|
YarnThickness = YarnThickness,
|
|
SingleWeight = SingleWeight,
|
|
StackingLayers = StackingLayers,
|
|
TotalCount = TotalCount,
|
|
StackHeadSpec = StackHeadSpec,
|
|
StackHeadCount = StackHeadCount,
|
|
PaperTrayId = PaperTray?.Id,
|
|
NeedTopBoard = NeedTopBoard,
|
|
NeedAngleBeam = NeedAngleBeam,
|
|
NeedPackStrap = NeedPackStrap,
|
|
NeedFilmWrapping = NeedFilmWrapping,
|
|
NeedFilmCoating = NeedFilmCoating,
|
|
MasterLabelCount = MasterLabelCount,
|
|
SubLabelCount = SubLabelCount,
|
|
MiddlePalletId = MiddlePallet.Id,
|
|
TopAndBottomPalletId = TopAndBottomPallet.Id,
|
|
TrayId = Tray.Id,
|
|
HasBox = HasBox,
|
|
};
|
|
return entity;
|
|
}
|
|
|
|
public short[] ToVarietyPlcData()
|
|
{
|
|
List<short> ls = new List<short>();
|
|
ls.Add((short)YarnCarSide);
|
|
ls.Add((short)YarnCarType);
|
|
ls.Add((short)InnerDiameter);
|
|
ls.Add((short)OuterDiameter);
|
|
ls.Add((short)YarnDiameter);
|
|
ls.Add((short)PaperTubeHeight);
|
|
ls.Add((short)YarnThickness);
|
|
ls.Add((short)Tray.Type);
|
|
ls.Add((short)Tray.Length);
|
|
ls.Add((short)Tray.Width);
|
|
ls.Add((short)Tray.Height);
|
|
ls.Add((short)(HasBox ? 70 : 0));
|
|
if (PaperTray is null)
|
|
{
|
|
ls.Add(0);
|
|
ls.Add(0);
|
|
ls.Add(0);
|
|
ls.Add(0);
|
|
}
|
|
else
|
|
{
|
|
ls.Add(1);
|
|
ls.Add((short)PaperTray.Length);
|
|
ls.Add((short)PaperTray.Width);
|
|
ls.Add((short)PaperTray.Height);
|
|
}
|
|
|
|
ls.Add((short)TopAndBottomPallet.HoleCount);
|
|
ls.Add((short)(TopAndBottomPallet.IsBigHole.Value ? 1 : 2));
|
|
ls.Add((short)TopAndBottomPallet.Length);
|
|
ls.Add((short)TopAndBottomPallet.Width);
|
|
ls.Add((short)TopAndBottomPallet.Height);
|
|
ls.Add((short)MiddlePallet.HoleCount);
|
|
ls.Add((short)(MiddlePallet.IsBigHole.Value ? 1 : 2));
|
|
ls.Add((short)MiddlePallet.Length);
|
|
ls.Add((short)MiddlePallet.Width);
|
|
ls.Add((short)MiddlePallet.Height);
|
|
ls.Add((short)(IsTurn ? 1 : 2));
|
|
ls.Add((short)TotalCount);
|
|
ls.Add((short)StackingLayers);
|
|
return ls.ToArray();
|
|
}
|
|
} |