Sic.Framework-Nanjing-Baishi/MECF.Framework.Common/Aitex/Core/Common/WaferInfoRt.cs

514 lines
13 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Runtime.Serialization;
using DocumentFormat.OpenXml.Bibliography;
using MECF.Framework.Common.CommonData;
using MECF.Framework.Common.Jobs;
using MECF.Framework.Common.Properties;
namespace Aitex.Core.Common
{
[Serializable]
[DataContract]
public class WaferInfoRt : NotifiableItem
{
#region WaferInfo
public bool IsWaferEmpty => WaferStatus == WaferStatus.Empty;
[DataMember]
public Guid WaferInnerID { get; set; } = Guid.Empty;
[DataMember]
public string LotId { get; set; }
[DataMember]
public ProcessJobInfo ProcessJob { get; set; }
[DataMember]
public int NextSequenceStep { get; set; }
[DataMember]
public int WaferOriginStation { get; set; }
[DataMember]
public int WaferOriginSlot { get; set; }
[DataMember]
public WaferSize Size { get; set; }
[DataMember]
public bool HasWarning { get; set; }
[DataMember]
public string PPID { get; set; }
[DataMember]
public string TransFlag { get; set; }
private string waferID;
[DataMember]
public string WaferID
{
get => waferID;
set
{
waferID = value;
InvokePropertyChanged("WaferID");
}
}
private string processJobID;
[DataMember]
public string ProcessJobID
{
get => processJobID;
set
{
processJobID = value;
InvokePropertyChanged("ProcessJobID");
}
}
private string controlJobID;
[DataMember]
public string ControlJobID
{
get => controlJobID;
set
{
controlJobID = value;
InvokePropertyChanged("ControlJobID");
}
}
private string _waferOrigin;
[DataMember]
public string WaferOrigin
{
get => _waferOrigin;
set
{
_waferOrigin = value;
InvokePropertyChanged("WaferOrigin");
}
}
private WaferStatus waferStatus = WaferStatus.Empty;
[DataMember]
public WaferStatus WaferStatus
{
get => waferStatus;
set
{
waferStatus = value;
InvokePropertyChanged("WaferStatus");
}
}
private bool isChecked;
public bool IsChecked
{
get => isChecked;
set
{
isChecked = value;
InvokePropertyChanged("IsChecked");
}
}
private WaferProcessStatus processState;
[DataMember]
public WaferProcessStatus ProcessState
{
get => processState;
set
{
processState = value;
InvokePropertyChanged("ProcessStatus");
}
}
private SubstrateTransportStatus substtransstatus;
[DataMember]
public SubstrateTransportStatus SubstTransStatus
{
get => substtransstatus;
set
{
substtransstatus = value;
InvokePropertyChanged("SubstTransStatus");
}
}
private EnumE90Status Subste90status;
[DataMember]
public EnumE90Status SubstE90Status
{
get => Subste90status;
set
{
Subste90status = value;
InvokePropertyChanged("SubstE90Status");
}
}
private SubstHistory[] substhists;
[DataMember]
public SubstHistory[] SubstHists
{
get => substhists;
set
{
substhists = value;
InvokePropertyChanged("SubstHists");
}
}
#endregion
#region TrayInfo
public bool IsTrayEmpty => TrayState == TrayStatus.Empty;
[DataMember]
public Guid TrayInnerID { get; set; } = Guid.Empty;
[DataMember]
public int TrayProcessCount { get; set; }
[DataMember]
public int TrayUsedForWhichPM { get; set; }
[DataMember]
public string TrayBelongTo { get; set; }
[DataMember]
public int TrayOriginStation { get; set; }
[DataMember]
public int TrayOriginSlot { get; set; }
private TrayStatus trayState = TrayStatus.Empty;
[DataMember]
public TrayStatus TrayState
{
get => trayState;
set
{
trayState = value;
InvokePropertyChanged("TrayState");
}
}
#endregion
[DataMember]
public string CurrentCarrierID { get; set; }
[DataMember]
public int Station { get; set; }
[DataMember]
public int Slot { get; set; }
[DataMember]
public string OriginCarrierID { get; set; }
[DataMember]
public int DestinationStation { get; set; }
[DataMember]
public string DestinationCarrierID { get; set; }
[DataMember]
public int DestinationSlot { get; set; }
[DataMember]
public int NextStation { get; set; }
[DataMember]
public int NextStationSlot { get; set; }
[DataMember]
public int Notch { get; set; }
private bool isSource;
[DataMember]
public bool IsSource
{
get => isSource;
set
{
isSource = value;
InvokePropertyChanged("IsSource");
}
}
private bool isDestination;
[DataMember]
public bool IsDestination
{
get => isDestination;
set
{
isDestination = value;
InvokePropertyChanged("IsDestination");
}
}
#region δʹ<EFBFBD><EFBFBD>
private string hostlaserMark1;
[DataMember]
public string HostLaserMark1
{
get => hostlaserMark1;
set
{
hostlaserMark1 = value;
InvokePropertyChanged("HostLaserMark1");
}
}
private string hostlaserMark2;
[DataMember]
public string HostLaserMark2
{
get => hostlaserMark2;
set
{
hostlaserMark2 = value;
InvokePropertyChanged("HostLaserMark2");
}
}
private string laserMarker;
[DataMember]
public string LaserMarker
{
get => laserMarker;
set
{
laserMarker = value;
InvokePropertyChanged("LaserMarker");
}
}
private string t7Code;
[DataMember]
public string T7Code
{
get => t7Code;
set
{
t7Code = value;
InvokePropertyChanged("T7Code");
}
}
private string _laserMarkerScore;
[DataMember]
public string LaserMarkerScore
{
get => _laserMarkerScore;
set
{
_laserMarkerScore = value;
InvokePropertyChanged("LaserMarker1Score");
}
}
private string _t7CodeScore;
[DataMember]
public string T7CodeScore
{
get => _t7CodeScore;
set
{
_t7CodeScore = value;
InvokePropertyChanged("T7CodeScore");
}
}
private string _imageFileName;
[DataMember]
public string ImageFileName
{
get => _imageFileName;
set
{
_imageFileName = value;
InvokePropertyChanged("ImageFileName");
}
}
private string _imageFilePath;
[DataMember]
public string ImageFilePath
{
get => _imageFilePath;
set
{
_imageFilePath = value;
InvokePropertyChanged("ImageFilePath");
}
}
#endregion
public WaferInfoRt()
{
}
public WaferInfoRt(string waferID)
{
WaferID = waferID;
}
public void Update(WaferInfoRt source)
{
//WaferInfo
WaferInnerID = source.WaferInnerID;
LotId = source.LotId;
ProcessJob = source.ProcessJob;
NextSequenceStep = source.NextSequenceStep;
WaferOriginStation = source.WaferOriginStation;
WaferOriginSlot = source.WaferOriginSlot;
Size = source.Size;
HasWarning = source.HasWarning;
PPID = source.PPID;
WaferID = source.WaferID;
TransFlag = source.TransFlag;
ProcessJobID = source.ProcessJobID;
ControlJobID = source.ControlJobID;
WaferOrigin = source.WaferOrigin;
WaferStatus = source.WaferStatus;
IsChecked = source.IsChecked;
ProcessState = source.ProcessState;
SubstTransStatus = source.SubstTransStatus;
SubstE90Status = source.SubstE90Status;
SubstHists = source.SubstHists;
//TrayInfo
TrayInnerID = source.TrayInnerID;
TrayProcessCount = source.TrayProcessCount;
TrayUsedForWhichPM = source.TrayUsedForWhichPM;
TrayBelongTo = source.TrayBelongTo;
TrayOriginStation = source.TrayOriginStation;
TrayOriginSlot = source.TrayOriginSlot;
TrayState = source.TrayState;
}
public WaferInfoRt Clone()
{
return new WaferInfoRt
{
//WaferInfo
WaferInnerID = WaferInnerID,
LotId = LotId,
ProcessJob = ProcessJob,
NextSequenceStep = NextSequenceStep,
WaferOriginStation = WaferOriginStation,
WaferOriginSlot = WaferOriginSlot,
Size = Size,
HasWarning = HasWarning,
PPID = PPID,
WaferID = WaferID,
TransFlag = TransFlag,
ProcessJobID = ProcessJobID,
ControlJobID = ControlJobID,
WaferOrigin = WaferOrigin,
WaferStatus = WaferStatus,
IsChecked = IsChecked,
ProcessState = ProcessState,
SubstTransStatus = SubstTransStatus,
SubstE90Status = SubstE90Status,
SubstHists = SubstHists,
//TrayInfo
TrayInnerID = TrayInnerID,
TrayProcessCount = TrayProcessCount,
TrayUsedForWhichPM = TrayUsedForWhichPM,
TrayBelongTo = TrayBelongTo,
TrayOriginStation = TrayOriginStation,
TrayOriginSlot = TrayOriginSlot,
TrayState = TrayState,
};
}
public void SetWaferTrayEmpty()
{
//WaferInfo
WaferInnerID = Guid.Empty;
LotId = string.Empty;
ProcessJob = null;
NextSequenceStep = 0;
WaferOriginStation = 0;
WaferOriginSlot = 0;
Size = WaferSize.WS0;
HasWarning = false;
PPID = string.Empty;
WaferID = string.Empty;
TransFlag = string.Empty;
ProcessJobID = string.Empty;
ControlJobID = string.Empty;
WaferOrigin = string.Empty;
WaferStatus = WaferStatus.Empty;
IsChecked = false;
ProcessState = WaferProcessStatus.Idle;
SubstTransStatus = SubstrateTransportStatus.None;
SubstE90Status = EnumE90Status.None;
SubstHists = null;
//TrayInfo
TrayInnerID = Guid.Empty;
TrayProcessCount = 0;
TrayUsedForWhichPM = 0;
TrayBelongTo = string.Empty;
TrayOriginStation = 0;
TrayOriginSlot = 0;
TrayState = TrayStatus.Empty;
}
public void SetWaferEmpty()
{
//WaferInfo
WaferInnerID = Guid.Empty;
LotId = string.Empty;
ProcessJob = null;
NextSequenceStep = 0;
WaferOriginStation = 0;
WaferOriginSlot = 0;
Size = WaferSize.WS0;
HasWarning = false;
PPID = string.Empty;
WaferID = string.Empty;
TransFlag = string.Empty;
ProcessJobID = string.Empty;
ControlJobID = string.Empty;
WaferOrigin = string.Empty;
WaferStatus = WaferStatus.Empty;
IsChecked = false;
ProcessState = WaferProcessStatus.Idle;
SubstTransStatus = SubstrateTransportStatus.None;
SubstE90Status = EnumE90Status.None;
SubstHists = null;
}
public void SetTrayEmpty()
{
//TrayInfo
TrayInnerID = Guid.Empty;
TrayProcessCount = 0;
TrayUsedForWhichPM = 0;
TrayBelongTo = string.Empty;
TrayOriginStation = 0;
TrayOriginSlot = 0;
TrayState = TrayStatus.Empty;
}
}
}