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); } } }