| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Runtime.Serialization;
 
- namespace MECF.Framework.Common.CommonData
 
- {
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryCarrierData
 
-     {
 
-         [DataMember]
 
-         public string Guid { get; set; }
 
-         [DataMember]
 
-         public string Rfid { get; set; }
 
-         [DataMember]
 
-         public string Station { get; set; }
 
-         [DataMember]
 
-         public string LoadTime { get; set; }
 
-         [DataMember]
 
-         public string UnloadTime { get; set; }
 
-         [DataMember]
 
-         public string LotId { get; set; }
 
-         [DataMember]
 
-         public string ProductCategory { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryProcessData
 
-     {
 
-         [DataMember]
 
-         public string Guid { get; set; }
 
-         [DataMember]
 
-         public string StartTime { get; set; }
 
-         [DataMember]
 
-         public string EndTime { get; set; }
 
-         [DataMember]
 
-         public string RecipeName { get; set; }
 
-         [DataMember]
 
-         public string Result { get; set; }
 
-     }
 
-  
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryWaferData
 
-     {
 
-         [DataMember]
 
-         public string Guid { get; set; }
 
-         [DataMember]
 
-         public string CreateTime { get; set; }
 
-         [DataMember]
 
-         public string DeleteTime { get; set; }
 
-         [DataMember]
 
-         public string Station { get; set; }
 
-         [DataMember]
 
-         public string Slot { get; set; }
 
-         [DataMember]
 
-         public string LaserMarker { get; set; }
 
-         [DataMember]
 
-         public string T7Code { get; set; }
 
-         [DataMember]
 
-         public string CarrierGuid { get; set; }
 
-         [DataMember]
 
-         public string WaferId { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryMoveData
 
-     {
 
-         [DataMember]
 
-         public string WaferGuid { get; set; }
 
-         [DataMember]
 
-         public string ArriveTime { get; set; }
 
-         [DataMember]
 
-         public string Station { get; set; }
 
-         [DataMember]
 
-         public string Slot { get; set; }
 
-         [DataMember]
 
-         public string Result { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryJobMoveData
 
-     {
 
-         [DataMember]
 
-         public string JobGuid { get; set; }
 
-         [DataMember]
 
-         public string Station { get; set; }
 
-         [DataMember]
 
-         public string ArriveTime { get; set; }
 
-         [DataMember]
 
-         public string LeaveTime { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryBatData
 
-     {
 
-         [DataMember]
 
-         public string Guid { get; set; }
 
-         [DataMember]
 
-         public string StartTime { get; set; }
 
-         [DataMember]
 
-         public string EndTime { get; set; }
 
-         [DataMember]
 
-         public string RecipeName { get; set; }
 
-         [DataMember]
 
-         public string Result { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class HistoryFfuDiffPressureData
 
-     {
 
-         [DataMember]
 
-         public string Time { get; set; }
 
-         [DataMember]
 
-         public string FFU1Speed { get; set; }
 
-         [DataMember]
 
-         public string FFU2Speed { get; set; }
 
-         [DataMember]
 
-         public string DiffPressure1 { get; set; }
 
-         [DataMember]
 
-         public string DiffPressure2 { get; set; }
 
-     }
 
-     public interface ITreeItem<T> where T : ITreeItem<T>, new()
 
-     {
 
-         string ID { set; get; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public enum WaferHistoryItemType
 
-     {
 
-         [EnumMember]
 
-         None,
 
-         [EnumMember]
 
-         Lot,
 
-         [EnumMember]
 
-         Wafer,
 
-         [EnumMember]
 
-         Recipe
 
-     }
 
-     public class Anychange
 
-     {
 
-         public static string menuname { get; set; } 
 
-         public static bool needchange { get; set; } = false;
 
-         public static WaferHistoryWafer args { get; set;}
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryMovement
 
-     {
 
-         [DataMember]
 
-         public string Source { get; set; }
 
-         [DataMember]
 
-         public string Destination { get; set; }
 
-         [DataMember]
 
-         public string InTime { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryWafer : WaferHistoryItem
 
-     {
 
-         [DataMember]
 
-         public string ProcessJob { get; set; }
 
-         public string WaferGuid { get; set; }
 
-         [DataMember]
 
-         public string Sequence { get; set; }
 
-         [DataMember]
 
-         public string Status { get; set; }
 
-         [DataMember]
 
-         public string Reason { get; set; }
 
-         public DateTime? ProcessStartTime { get; set; }
 
-         [DataMember]
 
-         public DateTime? ProcessEndTime { get; set; }
 
-         //[DataMember]
 
-         //public string LotID { get; set; }
 
-         [DataMember]
 
-         public string SlotID { get; set; }
 
-         public string ProcessDuration
 
-         {
 
-             get
 
-             {
 
-                 if (!ProcessStartTime.HasValue || !ProcessEndTime.HasValue) return string.Empty;
 
-                 return ProcessEndTime.Value.Subtract(ProcessStartTime.Value).ToString(@"hh\:mm\:ss");
 
-             }
 
-         }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class RecipeStep
 
-     {
 
-         [DataMember]
 
-         public int No { get; set; }
 
-         [DataMember]
 
-         public string Name { get; set; }
 
-         [DataMember]
 
-         public DateTime StartTime { get; set; }
 
-         [DataMember]
 
-         public DateTime EndTime { get; set; }
 
-         [DataMember]
 
-         public string ActualTime { get; set; }
 
-         [DataMember]
 
-         public string SettingTime { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class RecipeStepFdcData
 
-     {
 
-         [DataMember]
 
-         public int StepNumber { get; set; }
 
-         [DataMember]
 
-         public string Name { get; set; }
 
-         [DataMember]
 
-         public float SetPoint { get; set; }
 
-         [DataMember]
 
-         public int SampleCount { get; set; }
 
-         [DataMember]
 
-         public float MinValue { get; set; }
 
-         [DataMember]
 
-         public float MaxValue { get; set; }
 
-         [DataMember]
 
-         public float StdValue { get; set; }
 
-         [DataMember]
 
-         public float MeanValue { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryRecipe : WaferHistoryItem
 
-     {
 
-         [DataMember]
 
-         public string Chamber { get; set; }
 
-         [DataMember]
 
-         public string Recipe { get; set; }
 
-         [DataMember]
 
-         public string SettingTime { get; set; }
 
-         [DataMember]
 
-         public string ActualTime { get; set; }
 
-         [DataMember]
 
-         public List<RecipeStep> Steps { get; set; }
 
-         [DataMember]
 
-         public List<RecipeStepFdcData> Fdcs { get; set; }
 
-     }
 
-     public class WaferHistoryRecipe2 : WaferHistoryItem
 
-     {
 
-         [DataMember]
 
-         public string Chamber { get; set; }
 
-         [DataMember]
 
-         public string Recipe { get; set; }
 
-         [DataMember]
 
-         public string SettingTime { get; set; }
 
-         [DataMember]
 
-         public string ActualTime { get; set; }
 
-         [DataMember]
 
-         public List<RecipeStep> Steps { get; set; }
 
-         public object SelectedLot { get; set; }
 
-         public object SelectedWafer { get; set; }
 
-         public object SelectedProcess { get; set; }
 
-         public bool IsToCompare { get; set; } = false;
 
-         public object Cache { get; set; }// 临时的
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryLot : WaferHistoryItem
 
-     {
 
-         [DataMember]
 
-         public string CarrierID { get; set; }
 
-         [DataMember]
 
-         public string Rfid { get; set; }
 
-         [DataMember]
 
-         public string InputPort { get; set; }
 
-         [DataMember]
 
-         public int WaferCount { get; set; }
 
-         [DataMember]
 
-         public int FaultWaferCount { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistorySecquence : WaferHistoryItem
 
-     {
 
-         [DataMember]
 
-         public string SecquenceName { get; set; }
 
-         [DataMember]
 
-         public string Recipe { get; set; }
 
-         [DataMember]
 
-         public string SecQuenceStartTime { get; set; }
 
-         [DataMember]
 
-         public string SecQuenceEndTime { get; set; }
 
-         [DataMember]
 
-         public string ActualTime { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryItem : ITreeItem<WaferHistoryItem>
 
-     {
 
-         [DataMember]
 
-         public WaferHistoryItemType Type { get; set; }
 
-         [DataMember]
 
-         public string Name { get; set; }
 
-         [DataMember]
 
-         public string ID { get; set; }
 
-         [DataMember]
 
-         public DateTime StartTime { get; set; }
 
-         [DataMember]
 
-         public DateTime EndTime { get; set; }
 
-         public string Duration => EndTime.CompareTo(StartTime) < 0 ? "" : EndTime.Subtract(StartTime).ToString(@"hh\:mm\:ss");
 
-         public string ItemInfo => string.IsNullOrEmpty(Name) ? "" : Name;
 
-         [DataMember]
 
-         public ITreeItem<WaferHistoryItem> SubItems { get; set; }
 
-         [DataMember]
 
-         public string RfID { get; set; }
 
-         [DataMember]
 
-         public string LotID { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class WaferHistoryMetrology
 
-     {
 
-         [DataMember]
 
-         public string dataname { get; set; }
 
-         [DataMember]
 
-         public string datavalue { get; set; }
 
-         [DataMember]
 
-         public string processtime { get; set; }
 
-         [DataMember]
 
-         public string stationname { get; set; }
 
-     }
 
-     [DataContract]
 
-     [Serializable]
 
-     public class FdcDataItem
 
-     {
 
-         [DataMember]
 
-         public string Name { get; set; }
 
-         [DataMember]
 
-         public float MaxValue { get; set; }
 
-         [DataMember]
 
-         public float MinValue { get; set; }
 
-         [DataMember]
 
-         public float MeanValue
 
-         {
 
-             get
 
-             {
 
-                 if (SampleCount == 0)
 
-                     return 0f;
 
-                 return Total / SampleCount;
 
-             }
 
-         }
 
-         [DataMember]
 
-         public float StdValue
 
-         {
 
-             get
 
-             {
 
-                 if (SampleCount <= 1)
 
-                     return 0f;
 
-                 return (float)Math.Sqrt(Math.Abs((SqrtTotal - 2 * (Total / SampleCount) * Total + SampleCount * (Total / SampleCount) * (Total / SampleCount)) / (SampleCount - 1)));
 
-             }
 
-         }
 
-         [DataMember]
 
-         public float SetPoint { get; set; }
 
-         [DataMember]
 
-         public float Total { get; set; }
 
-         [DataMember]
 
-         public float SqrtTotal { get; set; }
 
-         [DataMember]
 
-         public int SampleCount { get; set; }
 
-         public void Clear()
 
-         {
 
-             MaxValue = float.MinValue;
 
-             MinValue = float.MaxValue;
 
-             SetPoint = 0f;
 
-             Total = 0f;
 
-             SampleCount = 0;
 
-             SqrtTotal = 0f;
 
-         }
 
-         public void Update(float value)
 
-         {
 
-             if (value < MinValue)
 
-                 MinValue = value;
 
-             if (value > MaxValue)
 
-                 MaxValue = value;
 
-             Total += value;
 
-             SqrtTotal += value * value;
 
-             SampleCount++;
 
-         }
 
-         public FdcDataItem Clone()
 
-         {
 
-             var data  = new FdcDataItem();
 
-             data.SetPoint = SetPoint;
 
-             data.MaxValue = MaxValue;
 
-             data.MinValue = MinValue;
 
-             data.SampleCount = SampleCount;
 
-             data.SqrtTotal = SqrtTotal;
 
-             data.Total = Total;
 
-             data.Name = Name;
 
-             return data;
 
-         }
 
-     }
 
- }
 
 
  |