| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | using Aitex.Core.Common;using Aitex.Core.RT.DBCore;using DocumentFormat.OpenXml.EMMA;using MECF.Framework.Common.Equipment;using MECF.Framework.Common.SubstrateTrackings;using PunkHPX8_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    {        /// <summary>        /// 加载Metal使用量集合        /// </summary>        /// <returns></returns>        public static List<MetalUsage> GetAllMetalUsages()        {            List<MetalUsage> result = new List<MetalUsage>();            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());                data.AnodeABathUsage = int.Parse(ds.Tables[0].Rows[i]["anode_a_bath_usage"].ToString());                data.AnodeBBathUsage = int.Parse(ds.Tables[0].Rows[i]["anode_b_bath_usage"].ToString());                data.BathResetTime = DateTime.Parse(ds.Tables[0].Rows[i]["bath_reset_time"].ToString());                result.Add(data);            }            ds.Clear();            return result;        }        /// <summary>        /// 新增        /// </summary>        /// <param name="metalName"></param>        /// <param name="info"></param>        /// <returns></returns>        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,anode_a_bath_usage,anode_b_bath_usage,bath_reset_time,create_time, update_time)                Values('{0}',{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},'{11}','{12}','{13}');",                        info.MetalName, info.TotalUsage, info.AnodeAUsage, info.AnodeBUsage, info.MembranceAUsage, info.MembranceBUsage,                        info.TotalWafers, info.AnodeAWafers, info.AnodeBWafers, info.AnodeABathUsage, info.AnodeBBathUsage, 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"));            return DB.SyncInsert(sql);        }        /// <summary>        /// 更新        /// </summary>        /// <param name="waferHolderId"></param>        /// <param name="info"></param>        /// <returns></returns>        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},anode_a_bath_usage={8},anode_b_bath_usage={9},bath_reset_time='{10}',update_time='{11}' where metal_name='{12}';",                        info.TotalUsage, info.AnodeAUsage, info.AnodeBUsage, info.MembranceAUsage, info.MembranceBUsage,                        info.TotalWafers, info.AnodeAWafers, info.AnodeBWafers, info.AnodeABathUsage, info.AnodeBBathUsage, info.BathResetTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), metalName);            DB.Update(sql);        }        /// <summary>        /// 更新        /// </summary>        /// <param name="metalName"></param>        /// <param name="info"></param>        /// <returns></returns>        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},anode_a_bath_usage={8},anode_b_bath_usage={9},bath_reset_time='{10}',update_time='{11}' where metal_name='{12}';",                        info.TotalUsage, info.AnodeAUsage, info.AnodeBWafers, info.MembranceAUsage, info.MembranceBUsage,                        info.TotalWafers, info.AnodeAWafers, info.AnodeBWafers, info.AnodeABathUsage, info.AnodeBBathUsage, info.BathResetTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), metalName);            return DB.SyncUpdate(sql);        }    }}
 |