using System;
using System.Data;
using System.IO;
using Microsoft.VisualBasic.CompilerServices;
using static iMESCore.DataBase.iMESSql;
namespace AutoLoaderLib_Base
{
// 調整行業包基底AutoLoaderLib_Base將原有EPIParseTemplate, ParseNEL, ParsePL, ParsePR, ParseQEL等類別進行下架處理
//public class ParseQEL : EPIParseTemplate
//{
// // 呼叫父類別的建構子
// public ParseQEL(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("POS", Type.GetType("System.Decimal"));
// dt.Columns.Add("LOP1", Type.GetType("System.Decimal"));
// dt.Columns.Add("LOP2", Type.GetType("System.Decimal"));
// dt.Columns.Add("WLP1", Type.GetType("System.Decimal"));
// dt.Columns.Add("WLD1", Type.GetType("System.Decimal"));
// dt.Columns.Add("VF1", Type.GetType("System.Decimal"));
// dt.Columns.Add("VF2", Type.GetType("System.Decimal"));
// blnResult = true;
// }
// catch (Exception ex)
// {
// throw;
// }
// return blnResult;
// }
// ///
// /// 將暫存資料表寫入資料庫
// ///
// ///
// ///
// ///
// internal override bool InsertTable(DataTable dt)
// {
// bool blnResult = false;
// string strSQL_Raw;
// string strSQL_Avg;
// string WaferID = "";
// decimal LOP1 = 0m;
// decimal LOP2 = 0m;
// decimal WLP1 = 0m;
// decimal WLD1 = 0m;
// decimal VF1 = 0m;
// decimal VF2 = 0m;
// strSQL_Raw = " INSERT INTO TBL_LEDLD_EL_Q_RAW " + " (WaferID, CreateDate, POS, LOP1, LOP2, WLP1, WLD1, VF1, VF2) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ";
// strSQL_Avg = " INSERT INTO TBL_LEDLD_EL_Q " + " (WaferID, CreateDate, LOP1, LOP2, WLP1, WLD1, VF1, VF2) " + " VALUES ('{0}', SYSDATE, {1}, {2}, {3}, {4}, {5}, {6}) ";
// try
// {
// using (var oTran = objConnection.BeginTransaction())
// {
// try
// {
// using (var cmd = CreateCommand())
// {
// cmd.Connection = objConnection;
// cmd.Transaction = oTran;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
// {
// cmd.CommandText = string.Format(strSQL_Raw, dt.Rows[i]["WaferID"], dt.Rows[i]["POS"], dt.Rows[i]["LOP1"], dt.Rows[i]["LOP2"], dt.Rows[i]["WLP1"], dt.Rows[i]["WLD1"], dt.Rows[i]["VF1"], dt.Rows[i]["VF2"]);
// cmd.ExecuteNonQuery();
// WaferID = Conversions.ToString(dt.Rows[i]["WaferID"]);
// LOP1 = LOP1 + Convert.ToDecimal(dt.Rows[i]["LOP1"]);
// LOP2 = LOP2 + Convert.ToDecimal(dt.Rows[i]["LOP2"]);
// WLP1 = WLP1 + Convert.ToDecimal(dt.Rows[i]["WLP1"]);
// WLD1 = WLD1 + Convert.ToDecimal(dt.Rows[i]["WLD1"]);
// VF1 = VF1 + Convert.ToDecimal(dt.Rows[i]["VF1"]);
// VF2 = VF2 + Convert.ToDecimal(dt.Rows[i]["VF2"]);
// }
// cmd.CommandText = string.Format(strSQL_Avg, WaferID, LOP1 / dt.Rows.Count, LOP2 / dt.Rows.Count, WLP1 / dt.Rows.Count, WLD1 / dt.Rows.Count, VF1 / dt.Rows.Count, VF2 / dt.Rows.Count);
// 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;
// bool startParsing = false;
// string WaferID;
// try
// {
// // 檔名即為 WaferID
// var fi = new FileInfo(file);
// WaferID = fi.Name.Replace(fi.Extension, "");
// fi = null;
// using (var sr = new StreamReader(file))
// {
// do
// {
// line = sr.ReadLine();
// if (!string.IsNullOrEmpty(line))
// {
// if (startParsing)
// {
// tmpData = line.Split(',');
// dr = dt.NewRow();
// dr["WaferID"] = WaferID;
// dr["POS"] = Convert.ToDecimal(tmpData[0].Trim());
// dr["LOP1"] = Convert.ToDecimal(tmpData[4].Trim());
// dr["LOP2"] = Convert.ToDecimal(tmpData[14].Trim());
// dr["WLP1"] = Convert.ToDecimal(tmpData[6].Trim());
// dr["WLD1"] = Convert.ToDecimal(tmpData[5].Trim());
// dr["VF1"] = Convert.ToDecimal(tmpData[3].Trim());
// dr["VF2"] = Convert.ToDecimal(tmpData[13].Trim());
// dt.Rows.Add(dr);
// }
// else if (line.IndexOf("PosX") >= 0 && line.IndexOf("PosY") >= 0)
// {
// startParsing = true;
// }
// }
// }
// while (!(line == null));
// blnResult = true;
// }
// }
// catch (Exception ex)
// {
// throw;
// }
// finally
// {
// if (dr != null)
// {
// dr = null;
// }
// }
// return blnResult;
// }
//}
}