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 MetalUsageRecorder { /// /// 加载Metal使用量集合 /// /// public static List GetAllMetalUsages() { List result = new List(); string sql = $"SELECT * FROM metal_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++) { MetalUsage data = new MetalUsage(); data.MetalName = ds.Tables[0].Rows[i]["metal_name"].ToString(); data.TotalUsage = double.Parse(ds.Tables[0].Rows[i]["total_usage"].ToString()); data.AnodeAUsage = double.Parse(ds.Tables[0].Rows[i]["anode_a_usage"].ToString()); data.AnodeBUsage= double.Parse(ds.Tables[0].Rows[i]["anode_b_usage"].ToString()); data.MembranceAUsage= double.Parse(ds.Tables[0].Rows[i]["membrance_a_usage"].ToString()); data.MembranceBUsage= double.Parse(ds.Tables[0].Rows[i]["membrance_b_usage"].ToString()); data.TotalWafers = int.Parse(ds.Tables[0].Rows[i]["total_wafers"].ToString()); data.AnodeAWafers = int.Parse(ds.Tables[0].Rows[i]["anode_a_wafers"].ToString()); data.AnodeBWafers = int.Parse(ds.Tables[0].Rows[i]["anode_b_wafers"].ToString()); result.Add(data); } ds.Clear(); return result; } /// /// 新增 /// /// /// /// public static int AddMetalUsage(MetalUsage info) { string sql =string.Format(@"Insert into metal_usage(metal_name, total_usage,anode_a_usage,anode_b_usage,membrance_a_usage, membrance_b_usage,total_wafers,anode_a_wafers,anode_b_wafers,create_time, update_time) Values('{0}',{1},{2},{3},{4},{5},{6},{7},{8},'{9}','{10}');", info.MetalName,info.TotalUsage,info.AnodeAUsage,info.AnodeBUsage,info.MembranceAUsage,info.MembranceBUsage, info.TotalWafers,info.AnodeAWafers,info.AnodeBWafers, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")); return DB.SyncInsert(sql); } /// /// 更新 /// /// /// /// public static void UpdateMetalUsageData(string metalName, MetalUsage info) { string sql = string.Format(@"update metal_usage set total_usage={0},anode_a_usage={1},anode_b_usage={2}, membrance_a_usage={3},membrance_b_usage={4},total_wafers={5},anode_a_wafers={6}, anode_b_wafers={7},update_time='{8}' where metal_name='{9}';", info.TotalUsage, info.AnodeAUsage, info.AnodeBUsage,info.MembranceAUsage, info.MembranceBUsage, info.TotalWafers, info.AnodeAWafers,info.AnodeBWafers,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),metalName); DB.Update(sql); } /// /// 更新 /// /// /// /// public static int SyncUpdateMetalUsageData(string metalName, MetalUsage info) { string sql = string.Format(@"update metal_usage set total_usage={0},anode_a_usage={1},anode_b_usage={2}, membrance_a_usage={3},membrance_b_usage={4},total_wafers={5},anode_a_wafers={6}, anode_b_wafers={7},update_time='{8}' where metal_name='{9}';", info.TotalUsage, info.AnodeAUsage, info.AnodeBWafers, info.MembranceAUsage, info.MembranceBUsage, info.TotalWafers, info.AnodeAWafers, info.AnodeBWafers, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), metalName); return DB.SyncUpdate(sql); } } }