Exemple #1
0
        /// <summary>
        /// Lot_Run赋值
        /// </summary>
        /// <param name="dr">行数据</param>
        private void SetLotRun(DataRow dr)
        {
            if (string.IsNullOrEmpty(lot_run.Lot))
            {
                lot_run.Lot     = dr[0].ToString();
                lot_run.Product = dr[1].ToString();
                //debug:需要根据日期格式来判断
                lot_run.MeasureTime     = FixHlcmDate(dr[2].ToString()) + "_" + FixTime(dr[3]);
                lot_run.Operation       = "HLCMWAT";
                lot_run.SpecfileName    = FileName;
                lot_run.TestProgram     = lot_run.Product;
                lot_run.Operator        = "";
                lot_run.ProbeCard       = "";
                lot_run.FlatOrientation = "DOWN";
                lot_run.Owner           = "";
            }
            Etest_Wafer_Run wafer_Run = GetWaferRun(dr);

            Etest_Site site = new Etest_Site()
            {
                SiteID   = dr[5].ToString(),
                SiteX    = wafer_Run.WaferNumber,
                SiteY    = dr[5].ToString(),
                etest_ts = new List <Etest_T>()
            };

            for (int i = 0; i < ParameterList.Count; i++)
            {
                site.etest_ts.Add(new Etest_T()
                {
                    TestID = GetTestIDByDescription(ParameterList[i]).ToString(), TestValue = dr[i + 7].ToString()
                });
            }
            wafer_Run.sites.Add(site);
        }
Exemple #2
0
 public void GetData(WAT wat, IList <WATSpecData> specDatas)
 {
     Lot             = wat.LotID;
     SourceLot       = "";
     Operation       = "WAT";
     MeasureTime     = wat.DateTime;
     Fab             = "FAB2";
     SpecfileName    = wat.LimitFile;
     TestProgram     = wat.TestProgram;
     Operator        = wat.TesterID;
     ProbeCard       = wat.ProbeCardID;
     FlatOrientation = wat.Notch;
     Owner           = wat.UserID;
     foreach (WATSpecData spec in specDatas)
     {
         Etest_Limit limit = new Etest_Limit();
         limit.GetData(spec);
         etest_limits.Add(limit);
     }
     foreach (WATWafer wafer in wat.wafers)
     {
         Etest_Wafer_Run wafer_Run = new Etest_Wafer_Run();
         wafer_Run.GetData(wafer, wat);
         etest_wafers.Add(wafer_Run);
     }
 }
Exemple #3
0
        /// <summary>
        /// 判断是否已经存在WaferRun,并返回该WaferRun
        /// </summary>
        /// <param name="dr">行数据</param>
        /// <returns>LotRun中的WaferRun</returns>
        private Etest_Wafer_Run GetWaferRun(DataRow dr)
        {
            try
            {
                foreach (Etest_Wafer_Run wafer in lot_run.etest_wafers)
                {
                    if (wafer.WaferNumber == dr[4].ToString())
                    {
                        return(wafer);
                    }
                }
            }
            catch (Exception) { }
            Etest_Wafer_Run wafer_Run = new Etest_Wafer_Run
            {
                WaferNumber    = dr[4].ToString(),
                Comments       = "",
                ParameterCount = ParameterList.Count.ToString()
            };

            wafer_Run.sites = new List <Etest_Site>();
            lot_run.etest_wafers.Add(wafer_Run);
            return(wafer_Run);
        }