| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | 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;namespace MECF.Framework.Common.DBCore{    public class WaferHolderDataRecorder    {        /// <summary>        /// 加载所有载具        /// </summary>        /// <returns></returns>        public static List<WaferHolderInfo> GetAllWaferHolderDatas()        {            List<WaferHolderInfo> result = new List<WaferHolderInfo>();            string sql = $"SELECT * FROM wafer_holder";            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++)            {                WaferHolderInfo data = new WaferHolderInfo();                data.Id = ds.Tables[0].Rows[i]["id"].ToString();                data.TotalUses = int.Parse(ds.Tables[0].Rows[i]["total_uses"].ToString());                data.BufferId = int.Parse(ds.Tables[0].Rows[i]["buffer_id"].ToString());                data.CrsType = ds.Tables[0].Rows[i]["crs_type"].ToString();                data.Enabled = bool.Parse(ds.Tables[0].Rows[i]["enabled"].ToString());                data.WaferSize = int.Parse(ds.Tables[0].Rows[i]["wafer_size"].ToString());                data.Chemistry = ds.Tables[0].Rows[i]["chemistry"].ToString();                data.CrsAId = ds.Tables[0].Rows[i]["crsa_id"].ToString();                data.CrsATotalUses = int.Parse(ds.Tables[0].Rows[i]["crsa_total_uses"].ToString());                data.CrsAUsesSincePadClean =int.Parse(ds.Tables[0].Rows[i]["crsa_pad_uses"].ToString());                data.CrsAUsesSinceSealClean =int.Parse(ds.Tables[0].Rows[i]["crsa_seal_uses"].ToString());                data.CrsBId = ds.Tables[0].Rows[i]["crsb_id"].ToString();                data.CrsBTotalUses = int.Parse(ds.Tables[0].Rows[i]["crsb_total_uses"].ToString());                data.CrsBUsesSincePadClean = int.Parse(ds.Tables[0].Rows[i]["crsb_pad_uses"].ToString());                data.CrsBUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[i]["crsb_seal_uses"].ToString());                data.TotalDummyWafers = int.Parse(ds.Tables[0].Rows[i]["total_dummy_wafers"].ToString());                data.TotalProductWafers = int.Parse(ds.Tables[0].Rows[i]["total_product_wafers"].ToString());                data.CurrentLocation = ds.Tables[0].Rows[i]["current_location"].ToString();                data.Status = (WaferHolderStatus)int.Parse(ds.Tables[0].Rows[i]["status"].ToString());                data.WaferAId = ds.Tables[0].Rows[i]["wafera_id"].ToString();                data.WaferBId = ds.Tables[0].Rows[i]["waferb_id"].ToString();                data.WaferAType = int.Parse(ds.Tables[0].Rows[i]["wafera_type"].ToString());                data.WaferBType = int.Parse(ds.Tables[0].Rows[i]["waferb_type"].ToString());                result.Add(data);            }            ds.Clear();            return result;        }        /// <summary>        /// 根据Location加载WaferHolder信息        /// </summary>        /// <returns></returns>        public static WaferHolderInfo GetWaferHolderDataByLocation(string location)        {            WaferHolderInfo data = new WaferHolderInfo();            string sql = $"SELECT * FROM wafer_holder WHERE current_location='{location}'";            DataSet ds = DB.ExecuteDataset(sql);            if (ds == null)                return null;            if (ds.Tables[0].Rows.Count == 0)                return null;            data.Id = ds.Tables[0].Rows[0]["id"].ToString();            data.BufferId = int.Parse(ds.Tables[0].Rows[0]["buffer_id"].ToString());            data.TotalUses = int.Parse(ds.Tables[0].Rows[0]["total_uses"].ToString());            data.CrsType = ds.Tables[0].Rows[0]["crs_type"].ToString();            data.Enabled = bool.Parse(ds.Tables[0].Rows[0]["enabled"].ToString());            data.WaferSize = int.Parse(ds.Tables[0].Rows[0]["wafer_size"].ToString());            data.Chemistry = ds.Tables[0].Rows[0]["chemistry"].ToString();            data.CrsAId = ds.Tables[0].Rows[0]["crsa_id"].ToString();            data.CrsATotalUses = int.Parse(ds.Tables[0].Rows[0]["crsa_total_uses"].ToString());            data.CrsAUsesSincePadClean = int.Parse(ds.Tables[0].Rows[0]["crsa_pad_uses"].ToString());            data.CrsAUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[0]["crsa_seal_uses"].ToString());            data.CrsBId = ds.Tables[0].Rows[0]["crsb_id"].ToString();            data.CrsBTotalUses = int.Parse(ds.Tables[0].Rows[0]["crsb_total_uses"].ToString());            data.CrsBUsesSincePadClean = int.Parse(ds.Tables[0].Rows[0]["crsb_pad_uses"].ToString());            data.CrsBUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[0]["crsb_seal_uses"].ToString());            data.TotalDummyWafers = int.Parse(ds.Tables[0].Rows[0]["total_dummy_wafers"].ToString());            data.TotalProductWafers = int.Parse(ds.Tables[0].Rows[0]["total_product_wafers"].ToString());            data.CurrentLocation = ds.Tables[0].Rows[0]["current_location"].ToString();            data.Status = (WaferHolderStatus)int.Parse(ds.Tables[0].Rows[0]["status"].ToString());            data.WaferAId = ds.Tables[0].Rows[0]["wafera_id"].ToString();            data.WaferBId = ds.Tables[0].Rows[0]["waferb_id"].ToString();            data.WaferAType = int.Parse(ds.Tables[0].Rows[0]["wafera_type"].ToString());            data.WaferBType = int.Parse(ds.Tables[0].Rows[0]["waferb_type"].ToString());                      ds.Clear();            return data;        }        /// <summary>        ///         /// </summary>        /// <param name="waferHodlerId"></param>        /// <param name="enable"></param>        public static int UpdateWaferHolderEnable(string waferHodlerId,bool enable)        {            string sql = string.Format("UPDATE wafer_holder SET enabled={0},Status={3},update_time='{2}' WHERE id='{1}';",               enable,               waferHodlerId,               DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),enable?(int)WaferHolderStatus.Normal:(int)WaferHolderStatus.Disabled);            return DB.SyncUpdate(sql);        }        /// <summary>301        /// 新增        /// </summary>        /// <param name="bufferId"></param>        /// <param name="info"></param>        /// <returns></returns>        public static int AddWaferHolderData(int bufferId, WaferHolderInfo info)        {            string sql =string.Format(@"Insert into wafer_holder(id, buffer_id, crs_type, wafer_size, enabled, chemistry, crsa_id, crsa_total_uses, crsa_pad_uses, crsa_seal_uses,                crsb_id, crsb_total_uses, crsb_pad_uses, crsb_seal_uses, total_dummy_wafers, total_product_wafers,current_location,status, create_time, update_time,wafera_id,waferb_id,                wafera_type,waferb_type,total_uses)                Values('{0}',{1},'{2}',{3},{4},'{5}','{6}',{7},{8},{9},                        '{10}',{11},{12},{13},{14},{15},'{16}',{17},'{18}','{19}','{20}','{21}',{22},{23},{24});",                        info.Id,bufferId,info.CrsType,info.WaferSize,info.Enabled,info.Chemistry,info.CrsAId,info.CrsATotalUses,info.CrsAUsesSincePadClean,                        info.CrsAUsesSinceSealClean,info.CrsBId,info.CrsBTotalUses,info.CrsBUsesSincePadClean,info.CrsBUsesSinceSealClean,info.TotalDummyWafers,info.TotalProductWafers,                        info.CurrentLocation, (int)info.Status,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),info.WaferAId,info.WaferBId,                        info.WaferAType,info.WaferBType,info.TotalUses);            return DB.SyncInsert(sql);        }        /// <summary>        /// 更新        /// </summary>        /// <param name="waferHolderId"></param>        /// <param name="info"></param>        /// <returns></returns>        public static void UpdateWaferHolderData(string waferHolderId, WaferHolderInfo info)        {            string sql = string.Format(@"update wafer_holder set crs_type='{0}', wafer_size={1},chemistry='{2}', crsa_id='{3}', crsa_total_uses={4}, crsa_pad_uses={5},                                        crsa_seal_uses={6},crsb_id='{7}', crsb_total_uses={8}, crsb_pad_uses={9}, crsb_seal_uses={10}, total_dummy_wafers={11},                                        total_product_wafers={12}, update_time='{13}',current_location='{14}',buffer_id={15},                                        wafera_id='{16}',waferb_id='{17}',wafera_type={18},waferb_type={19},id='{21}',total_uses={22} where id='{20}';",                        info.CrsType, info.WaferSize,info.Chemistry, info.CrsAId, info.CrsATotalUses, info.CrsAUsesSincePadClean,                        info.CrsAUsesSinceSealClean, info.CrsBId, info.CrsBTotalUses, info.CrsBUsesSincePadClean, info.CrsBUsesSinceSealClean, info.TotalDummyWafers,                         info.TotalProductWafers,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),info.CurrentLocation,info.BufferId,                        info.WaferAId, info.WaferBId,info.WaferAType, info.WaferBType,waferHolderId,info.Id,info.TotalUses);            DB.Update(sql);        }        /// <summary>        /// 更新        /// </summary>        /// <param name="waferHolderId"></param>        /// <param name="info"></param>        /// <returns></returns>        public static int SyncUpdateWaferHolderData(string waferHolderId, WaferHolderInfo info)        {            string sql = string.Format(@"update wafer_holder set id='{0}',crs_type='{1}', wafer_size={2},chemistry='{3}', crsa_id='{4}', crsa_total_uses={5}, crsa_pad_uses={6},                                        crsa_seal_uses={7},crsb_id='{8}', crsb_total_uses={9}, crsb_pad_uses={10}, crsb_seal_uses={11}, total_dummy_wafers={12},                                        total_product_wafers={13}, update_time='{14}',current_location='{15}',buffer_id={16},                                        wafera_id='{17}',waferb_id='{18}',wafera_type={19},waferb_type={20},total_uses={22} where id='{21}';",                        info.Id, info.CrsType, info.WaferSize, info.Chemistry, info.CrsAId, info.CrsATotalUses, info.CrsAUsesSincePadClean,                        info.CrsAUsesSinceSealClean, info.CrsBId, info.CrsBTotalUses, info.CrsBUsesSincePadClean, info.CrsBUsesSinceSealClean, info.TotalDummyWafers,                        info.TotalProductWafers, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), info.CurrentLocation, info.BufferId,                        info.WaferAId, info.WaferBId, info.WaferAType, info.WaferBType, waferHolderId,info.TotalUses);            return DB.SyncUpdate(sql);        }        /// <summary>        /// 删除        /// </summary>        /// <param name="waferHolderId"></param>        /// <returns></returns>        public static int DeleteWaferHolderData(string waferHolderId)        {            string sql = string.Format(@"delete from wafer_holder where id='{0}'", waferHolderId);            return DB.SyncUpdate(sql);        }    }}
 |