| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Text;
- using SqLiteHelperNamespace;
- using OTSINTERFACE;
- using System.Drawing;
- using System.Collections;
- namespace OTSSysMgrTools
- {
- public class OTSSysSTDMgrClass
- {
- private List<string> IncAId = new List<string>();
- private SqLiteHelper sql = null;
- //系统STD文件路径
- private string m_STDDBPath = "Config\\SysData";
- //系统STD文件 数据库名称
- private string m_STDDBName = "GeneralSTDData.db";
- //系统STD文件 表名
- private const string m_STDTableName = "IncALib";
-
- #region 匹配系统默认分类
- /// <summary>
- /// 匹配系统默认分类
- /// </summary>
- /// <param name="STDID"></param>
- /// <returns></returns>
- public string GetEnumSTDNameInSTDID(int STDID)
- {
- Language lan = new Language();
- Hashtable table= lan.GetNameTable("OTSSysSTDMgrClass");
- string str1 = table["str1"].ToString();
- string str2 = table["str2"].ToString();
- string str3 = table["str3"].ToString();
- string str4 = table["str4"].ToString();
- string str5 = table["str5"].ToString();
- string str6 = table["str6"].ToString();
- string str7 = table["str7"].ToString();
- string str8 = table["str8"].ToString();
- string str9 = table["str9"].ToString();
- string str10 = table["str10"].ToString();
- string str11 = table["str11"].ToString();
- string stdName = string.Empty;
- switch (STDID)
- {
- case -1:
- //INVALID = -1,
- stdName = str1;
- break;
- case 0:
- //small = 0;
- stdName = str2;
- break;
- case 1:
- //OVERSIZE = 1,
- stdName = str3;
- break;
- case 2:
- //AVE_GRAY_NOT_INRANRE = 2,
- stdName = str4;
- break;
- case 3:
- //SEARCH_X_RAY = 3,
- stdName = str5;
- break;
- case 4:
- //LOW_COUNT = 4,
- stdName = str6;
- break;
- case 5:
- //NO_INTEREST_ELEMENTS = 5,
- stdName = str7;
- break;
- case 6:
- //ALAYSIS_X_RAY = 6,
- stdName = str8;
- break;
- case 7:
- //SIC = 7,
- stdName = str9;
- break;
- case 8:
- //FeO = 8,
- stdName = str10;
- break;
- case 9:
- //NOT_IDENTIFIED = 9,
- stdName = str11;
- break;
- }
- return stdName;
- }
- /// <summary>
- /// 匹配系统默认分类
- /// </summary>
- /// <param name="STDID"></param>
- /// <returns></returns>
- public Color GetColorByEnum(int STDID)
- {
- Color ret_c = new Color();
- switch (STDID)
- {
- case -1:
- //INVALID = -1,
- //stdName = "无效颗粒";
- ret_c = Color.Black;
- break;
- case 0:
- //small = 0;
- //stdName = "过小颗粒";
- ret_c = Color.Black;
- break;
- case 1:
- //OVERSIZE = 1,
- //stdName = "过大颗粒";
- ret_c = Color.Black;
- break;
- case 2:
- //AVE_GRAY_NOT_INRANRE = 2,
- //stdName = "亮度不在分析范围内的颗粒";
- ret_c = Color.Black;
- break;
- case 3:
- //SEARCH_X_RAY = 3,
- //stdName = "不进行搜索x-ray分析的颗粒";
- ret_c = Color.Black;
- break;
- case 4:
- //LOW_COUNT = 4,
- //stdName = "低x-ray计数颗粒";
- ret_c = Color.Black;
- break;
- case 5:
- //NO_INTEREST_ELEMENTS = 5,
- //stdName = "不含分析元素的颗粒";
- ret_c = Color.Black;
- break;
- case 6:
- //ALAYSIS_X_RAY = 6,
- //stdName = "不进行x-ray分析的颗粒";
- ret_c = Color.Black;
- break;
- case 7:
- //NOT_IDENTIFIED = 7,
- //stdName = "未识别颗粒";
- ret_c = Color.Black;
- break;
- case 8:
- //NOT_IDENTIFIED = 8,
- //stdName = "未识别颗粒";
- ret_c = Color.Black;
- break;
- case 9:
- //NOT_IDENTIFIED = 9,
- //stdName = "未识别颗粒";
- ret_c = Color.Black;
- break;
- default:
- ret_c = Color.Black;
- break;
- }
- return ret_c;
- }
- #endregion
- #region 根据STDID 获取系统数据库中夹杂物名称
- /// <summary>
- /// 根据STDID 获取系统数据库中夹杂物名称
- /// </summary>
- /// <param name="IncAId">夹杂物</param>
- /// <returns></returns>
- public string GetSysSTDNameInSTDId(int STDId)
- {
- try
- {
- string stdName = string.Empty;
- sql = new SqLiteHelper("data source='" + m_STDDBPath + "\\" + m_STDDBName + "'");
- //通过元素编号获取元素名称
- string IncAlibSqlString = CreateIncAlibQuerySql(STDId);
- DataTable sqldt = sql.ExecuteQuery(IncAlibSqlString);
- if (sqldt != null)
- {
- if (sqldt.Rows.Count > 0)
- {
- stdName = sqldt.Rows[0]["Name"].ToString();
- }
- }
- return stdName;
- }
- catch (Exception)
- {
- return "";
- }
- }
- public string GetSysSTDNameInSTDId(string STDDBName, int STDId)
- {
- try
- {
- string stdName = string.Empty;
- sql = new SqLiteHelper("data source='" + m_STDDBPath + "\\" + STDDBName + "'");
- //通过元素编号获取元素名称
- string IncAlibSqlString = CreateIncAlibQuerySql(STDId);
- DataTable sqldt = sql.ExecuteQuery(IncAlibSqlString);
- if (sqldt != null)
- {
- if (sqldt.Rows.Count > 0)
- {
- stdName = sqldt.Rows[0]["Name"].ToString();
- }
- }
- return stdName;
- }
- catch (Exception)
- {
- return "";
- }
- }
- /// <summary>
- /// 根据STDID 获取系统数据库中夹杂物名称,从传入的DataTable中选取
- /// </summary>
- /// <param name="STDID"></param>
- /// <param name="in_dt"></param>
- /// <returns></returns>
- public string Get16HexColorBySysSTD_ByDataTable(int STDID, DataTable in_dt)
- {
- string str_16hex = "#000000";
- if (in_dt == null)
- return str_16hex;
- if (in_dt.Rows.Count == 0)
- return str_16hex;
- DataRow[] ls_drs = in_dt.Select(" incaid ='"+STDID.ToString()+"'");
- if (ls_drs.Length > 0)
- {
- str_16hex = "#" + ls_drs[0]["color"].ToString();
- }
- return str_16hex;
- }
- /// <summary>
- /// 更新夹杂物分类ID,按指定的FieldId和ParticleId进行更新
- /// </summary>
- /// <param name="in_stdid"></param>
- /// <param name="in_fieldid"></param>
- /// <param name="in_particleid"></param>
- /// <returns></returns>
- public bool UpdateIncAId_ByFieldidAndParticleId(string in_workingfolder,string in_stdid,string in_typename,string in_typecolor,string in_fieldid,string in_particleid)
- {
- try
- {
- sql = new SqLiteHelper("data source='"+ in_workingfolder + "'");
- sql.ExecuteQuery("update IncAData set TypeId = " + in_stdid + ",TypeName = '"+ in_typename + "' , TypeColor = '"+ in_typecolor + "' where FieldId = " + in_fieldid + " and ParticleId = " + in_particleid);
- return true;
- }
- catch(Exception ee)
- {
- string str = ee.ToString();
- return false;
- }
- }
- /// <summary>
- /// 从数据库中直接删除夹杂物,按指定的Field和ParticleID
- /// </summary>
- /// <param name="in_workingfolder"></param>
- /// <param name="in_fieldid"></param>
- /// <param name="in_particleid"></param>
- /// <returns></returns>
- public bool DeleteIncAId_ByFieldIdAndParticleId(string in_workingfolder, string in_fieldid, string in_particleid)
- {
- try
- {
- sql = new SqLiteHelper("data source='" + in_workingfolder + "'");
- sql.ExecuteQuery("delete from IncAData where FieldId ="+in_fieldid+" and ParticleId = "+ in_particleid);
- return true;
- }
- catch (Exception ee)
- {
- string str = ee.ToString();
- return false;
- }
- }
- /// <summary>
- /// 返回数据库中所有的夹杂物信息
- /// </summary>
- /// <returns></returns>
- public DataTable GetDataTableAllSTDInfo()
- {
- DataTable ret_dt = new DataTable();
- try
- {
- sql = new SqLiteHelper("data source='" + m_STDDBPath + "\\" + m_STDDBName + "'");
- //通过元素编号获取元素名称
- ret_dt = sql.ExecuteQuery("select * from IncALib");
- }
- catch (Exception)
- {
- }
- return ret_dt;
- }
- /// <summary>
- /// 根据STDID 获取系统数据库中夹杂物名称
- /// </summary>
- /// <param name="STDID"></param>
- /// <returns></returns>
- public string Get16HexColorBySysSTD(int STDID)
- {
- string str_16hex = "#000000";
- try
- {
- sql = new SqLiteHelper("data source='" + m_STDDBPath + "\\" + m_STDDBName + "'");
- //通过元素编号获取元素名称
- string IncAlibSqlString = CreateIncAlibQuerySql(STDID);
- DataTable sqldt = sql.ExecuteQuery(IncAlibSqlString);
- if (sqldt != null)
- {
- if (sqldt.Rows.Count > 0)
- {
- str_16hex ="#"+ sqldt.Rows[0]["Color"].ToString();
- }
- }
- return str_16hex;
- }
- catch (Exception ee)
- {
- string str = ee.ToString();
- }
- return str_16hex;
- }
- #endregion
- #region 根据STDID 获取用户标准库中夹杂物名称
- /// <summary>
- /// 根据STDID 获取用户标准库中夹杂物名称
- /// </summary>
- /// <param name="WSample">样品对象</param>
- /// <param name="STDId">标准库编号</param>
- /// <returns>夹杂物名称</returns>
- public string GetUserSTDNameInSTDId(COTSSampleClr WSample, int STDId)
- {
- try
- {
- string stdName = string.Empty;
- if (WSample != null)
- {
- if (WSample.GetMsrParams() != null)
- {
- if (WSample.GetMsrParams().GetPartSTDData() != null)
- {
- CPartSTDDataClr cPartSTDDataClr = WSample.GetMsrParams().GetPartSTDData();
- if (cPartSTDDataClr.GetSTDItemsList() != null)
- {
- if (cPartSTDDataClr.GetSTDItemsList().Count > 0)
- {
- foreach (var item in cPartSTDDataClr.GetSTDItemsList())
- {
- if (item.GetSTDId().Equals(STDId))
- {
- stdName = item.GetName();
- break;
- }
- }
- }
- }
- }
- }
- }
- return stdName;
- }
- catch (Exception)
- {
- return "";
- }
- }
- /// <summary>
- /// 根据STDID 获取用户标准库中夹杂物颜色
- /// </summary>
- /// <param name="STDID"></param>
- /// <returns></returns>
- public string Get16HexColorByUserSTD(COTSSampleClr WSample, int STDID)
- {
- string str_16hex = "#000000";
- try
- {
- //string stdName = string.Empty;
- if (WSample != null)
- {
- if (WSample.GetMsrParams() != null)
- {
- if (WSample.GetMsrParams().GetPartSTDData() != null)
- {
- CPartSTDDataClr cPartSTDDataClr = WSample.GetMsrParams().GetPartSTDData();
- if (cPartSTDDataClr.GetSTDItemsList() != null)
- {
- if (cPartSTDDataClr.GetSTDItemsList().Count > 0)
- {
- foreach (var item in cPartSTDDataClr.GetSTDItemsList())
- {
- if (item.GetSTDId().Equals(STDID))
- {
- //stdName = item.GetName();
- if (item.GetColor().IndexOf('#') >= 0)
- {
- str_16hex = item.GetColor();
- }
- else
- {
- str_16hex = "#" + item.GetColor();
- }
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- catch (Exception ee)
- {
- string str = ee.ToString();
- }
- return str_16hex;
- }
- #endregion
- #region 创建查询语句
- /// <summary>
- /// 创建查询元素信息 sql语句
- /// </summary>
- /// <param name="STDId">夹杂物编号</param>
- /// <returns>string 查询语句</returns>
- protected string CreateIncAlibQuerySql(int STDId)
- {
- StringBuilder sqlString = new StringBuilder();
- sqlString.Append("select Name");
- sqlString.Append(" from " + m_STDTableName + "");
- sqlString.Append(" where IncAId = '" + STDId + "'");
- return sqlString.ToString();
- }
- #endregion
-
- }
-
- }
|