using System; using System.Data; using System.IO; using static iMESCore.DataBase.iMESSql; namespace AutoLoaderLib_Base { // 調整行業包基底AutoLoaderLib_Base將原有EPIParseTemplate, ParseNEL, ParsePL, ParsePR, ParseQEL等類別進行下架處理 //public class ParsePL : EPIParseTemplate //{ // // 呼叫父類別的建構子 // public ParsePL(string paramSourcePath, string paramDestinationPath, string paramQueuePath, string paramFailPath) : base(paramSourcePath, paramDestinationPath, paramQueuePath, paramFailPath) // { // } // /// ///// 設定暫存資料表的欄位 ///// ///// ///// ///// // internal override bool AddColumns(DataTable dt) // { // bool blnResult = false; // try // { // dt.Columns.Add("WaferID", Type.GetType("System.String")); // dt.Columns.Add("MeasurementTime", Type.GetType("System.String")); // dt.Columns.Add("NG", Type.GetType("System.Decimal")); // dt.Columns.Add("OK", Type.GetType("System.Decimal")); // dt.Columns.Add("Yield", Type.GetType("System.String")); // dt.Columns.Add("Setup", Type.GetType("System.String")); // dt.Columns.Add("LaserOutput", Type.GetType("System.String")); // dt.Columns.Add("WPMIN", Type.GetType("System.Decimal")); // dt.Columns.Add("WPMAX", Type.GetType("System.Decimal")); // dt.Columns.Add("WPAVG", Type.GetType("System.Decimal")); // dt.Columns.Add("WPDEV", Type.GetType("System.Decimal")); // dt.Columns.Add("FWHMMIN", Type.GetType("System.Decimal")); // dt.Columns.Add("FWHMMAX", Type.GetType("System.Decimal")); // dt.Columns.Add("FWHMAVG", Type.GetType("System.Decimal")); // dt.Columns.Add("FWHMDEV", Type.GetType("System.Decimal")); // dt.Columns.Add("WDMIN", Type.GetType("System.Decimal")); // dt.Columns.Add("WDMAX", Type.GetType("System.Decimal")); // dt.Columns.Add("WDAVG", Type.GetType("System.Decimal")); // dt.Columns.Add("WDDEV", Type.GetType("System.Decimal")); // blnResult = true; // } // catch (Exception ex) // { // throw; // } // return blnResult; // } // /// ///// 將暫存資料表寫入資料庫 ///// ///// ///// ///// // internal override bool InsertTable(DataTable dt) // { // bool blnResult = false; // string strSQL; // strSQL = " INSERT INTO TBL_LEDLD_PL " + " (WaferID, CreateDate, MeasurementTime, NG, OK, Yield, Setup, LaserOutput, " + " WPMIN, WPMAX, WPAVG, WPDEV, " + " FWHMMIN, FWHMMAX, FWHMAVG, FWHMDEV, " + " WDMIN, WDMAX, WDAVG, WDDEV) " + " VALUES ('{0}', SYSDATE, '{1}', {2}, {3}, '{4}', '{5}', '{6}', " + " {7}, {8}, {9}, {10}, " + " {11}, {12}, {13}, {14}, " + " {15}, {16}, {17}, {18}) "; // try // { // using (var oTran = objConnection.BeginTransaction()) // { // try // { // using (var cmd = CreateCommand()) // { // cmd.Connection = objConnection; // cmd.Transaction = oTran; // for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++) // { // cmd.CommandText = string.Format(strSQL, dt.Rows[i]["WaferID"], dt.Rows[i]["MeasurementTime"], dt.Rows[i]["NG"], dt.Rows[i]["OK"], dt.Rows[i]["Yield"], dt.Rows[i]["Setup"], dt.Rows[i]["LaserOutput"], dt.Rows[i]["WPMIN"], dt.Rows[i]["WPMAX"], dt.Rows[i]["WPAVG"], dt.Rows[i]["WPDEV"], dt.Rows[i]["FWHMMIN"], dt.Rows[i]["FWHMMAX"], dt.Rows[i]["FWHMAVG"], dt.Rows[i]["FWHMDEV"], dt.Rows[i]["WDMIN"], dt.Rows[i]["WDMAX"], dt.Rows[i]["WDAVG"], dt.Rows[i]["WDDEV"]); // cmd.ExecuteNonQuery(); // } // } // oTran.Commit(); // blnResult = true; // } // catch (Exception ex) // { // oTran.Rollback(); // throw; // } // } // } // catch (Exception ex) // { // throw; // } // return blnResult; // } // /// ///// 解析資料, 並寫入暫存資料表 ///// ///// ///// ///// ///// // internal override bool ParsingFile(DataTable dt, string file) // { // bool blnResult = false; // DataRow dr = null; // string line; // string[] tmpData; // string LotNo; // try // { // // 檔名即為 LotNo // var fi = new FileInfo(file); // LotNo = fi.Name.Replace(fi.Extension, ""); // fi = null; // using (var sr = new StreamReader(file)) // { // // 第一行是欄位抬頭 // line = sr.ReadLine(); // do // { // line = sr.ReadLine(); // if (!string.IsNullOrEmpty(line)) // { // tmpData = line.Split(','); // dr = dt.NewRow(); // dr["WaferID"] = tmpData[4].Trim() + tmpData[5].Trim().Substring(tmpData[5].Trim().Length - 2); // dr["MeasurementTime"] = tmpData[3].Trim(); // dr["NG"] = Convert.ToDecimal(tmpData[11].Trim()); // dr["OK"] = Convert.ToDecimal(tmpData[12].Trim()); // dr["Yield"] = tmpData[13].Trim(); // dr["Setup"] = tmpData[14].Trim(); // dr["LaserOutput"] = tmpData[15].Trim(); // dr["WPMIN"] = Convert.ToDecimal(tmpData[16].Trim()); // dr["WPMAX"] = Convert.ToDecimal(tmpData[17].Trim()); // dr["WPAVG"] = Convert.ToDecimal(tmpData[18].Trim()); // dr["WPDEV"] = Convert.ToDecimal(tmpData[20].Trim()); // dr["FWHMMIN"] = Convert.ToDecimal(tmpData[28].Trim()); // dr["FWHMMAX"] = Convert.ToDecimal(tmpData[29].Trim()); // dr["FWHMAVG"] = Convert.ToDecimal(tmpData[30].Trim()); // dr["FWHMDEV"] = Convert.ToDecimal(tmpData[32].Trim()); // dr["WDMIN"] = Convert.ToDecimal(tmpData[40].Trim()); // dr["WDMAX"] = Convert.ToDecimal(tmpData[41].Trim()); // dr["WDAVG"] = Convert.ToDecimal(tmpData[42].Trim()); // dr["WDDEV"] = Convert.ToDecimal(tmpData[44].Trim()); // dt.Rows.Add(dr); // } // } // while (!string.IsNullOrEmpty(line)); // blnResult = true; // } // } // catch (Exception ex) // { // throw; // } // finally // { // if (dr != null) // { // dr = null; // } // } // return blnResult; // } //} }