using Aitex.Core.Common;
using Aitex.Core.RT.DBCore;
using DocumentFormat.OpenXml.EMMA;
using MECF.Framework.Common.Equipment;
using MECF.Framework.Common.SubstrateTrackings;
using MECF.Framework.Common.WaferHolder;
using CyberX8_Core;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MECF.Framework.Common.ProcessCell;
namespace MECF.Framework.Common.DBCore
{
public class ReservoirUsageRecorder
{
///
/// 加载Reservoir使用量集合
///
///
public static List GetAllReservoirUsages()
{
List result = new List();
string sql = $"SELECT * FROM reservoir_usage";
DataSet ds = DB.ExecuteDataset(sql);
if (ds == null)
return result;
if (ds.Tables.Count == 0)
return result;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ReservoirUsage data = new ReservoirUsage();
data.ReservoirName = ds.Tables[0].Rows[i]["reservoir_name"].ToString();
data.TotalUsage = double.Parse(ds.Tables[0].Rows[i]["total_usage"].ToString());
data.BathUsage = double.Parse(ds.Tables[0].Rows[i]["bath_usage"].ToString());
data.AnodeUsage= double.Parse(ds.Tables[0].Rows[i]["anode_usage"].ToString());
data.MembranceUsage= double.Parse(ds.Tables[0].Rows[i]["membrance_usage"].ToString());
data.BathUsageDays = int.Parse(ds.Tables[0].Rows[i]["bath_usage_days"].ToString());
data.TotalWafers = int.Parse(ds.Tables[0].Rows[i]["total_wafers"].ToString());
data.BathResetTime = DateTime.Parse(ds.Tables[0].Rows[i]["bath_reset_time"].ToString());
data.CMMAnodeUsage = double.Parse(ds.Tables[0].Rows[i]["cmm_anode_usage"].ToString());
data.CMMMembranceUsage = double.Parse(ds.Tables[0].Rows[i]["cmm_membrance_usage"].ToString());
result.Add(data);
}
ds.Clear();
return result;
}
///
/// 新增
///
///
///
public static void AddReservoirUsage(ReservoirUsage info)
{
string sql =string.Format(@"Insert into reservoir_usage(reservoir_name, total_usage,bath_usage,anode_usage,membrance_usage,
total_wafers,bath_usage_days,bath_reset_time,create_time, update_time, cmm_anode_usage, cmm_membrance_usage)
Values('{0}',{1},{2},{3},{4},{5},{6},'{7}','{8}','{9}','{10}','{11}');",
info.ReservoirName,info.TotalUsage,info.BathUsage,info.AnodeUsage,info.MembranceUsage,
info.TotalWafers,info.BathUsageDays,info.BathResetTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),info.CMMAnodeUsage,info.CMMMembranceUsage);
DB.Insert(sql);
}
///
/// 更新
///
///
///
///
public static void UpdateReservoirUsageData(string reservoirName, ReservoirUsage info)
{
string sql = string.Format(@"update reservoir_usage set total_usage={0},bath_usage={1},anode_usage={2},
membrance_usage={3},total_wafers={4},bath_usage_days={5},
bath_reset_time='{6}',update_time='{7}',cmm_anode_usage='{9}',cmm_membrance_usage='{10}' where reservoir_name='{8}';",
info.TotalUsage, info.BathUsage, info.AnodeUsage,info.MembranceUsage,
info.TotalWafers, info.BathUsageDays,info.BathResetTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),reservoirName, info.CMMAnodeUsage, info.CMMMembranceUsage);
DB.Update(sql);
}
///
/// 更新
///
///
///
///
public static int SyncUpdateReservoirUsageData(string reservoirName, ReservoirUsage info)
{
string sql = string.Format(@"update reservoir_usage set total_usage={0},bath_usage={1},anode_usage={2},
membrance_usage={3},total_wafers={4},bath_usage_days={5},
bath_reset_time='{6}',update_time='{7}',cmm_anode_usage='{9}',cmm_membrance_usage='{10}' where reservoir_name='{8}';",
info.TotalUsage, info.BathUsage, info.AnodeUsage, info.MembranceUsage,
info.TotalWafers, info.BathUsageDays, info.BathResetTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), reservoirName, info.CMMAnodeUsage, info.CMMMembranceUsage);
return DB.SyncUpdate(sql);
}
}
}