123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using OTSINTERFACE;
- using NSLogFunExport;
- using System.Drawing;
- using System.Data;
- using System.Collections;
- namespace OTSPeriodicTable
- {
- #region 枚举定义
- /// <summary>
- /// 作用类别
- /// </summary>
- enum OTS_SOFT_PACKAGE_ID
- {
- OTSIncA = 0, //夹杂物分析
- OTSPartA = 1, //颗粒度分析
- };
- /// <summary>
- /// 当前选择标准库下拉选项
- /// </summary>
- enum OTS_STDLIB_SELECT_OPTIONS
- {
- SySSTDData = 0,
- GeneralSTDData = 1,
- GeneralAlloySteelSTDData = 2,
- SpringSteelSTDSata = 3,
- }
- #endregion
- public class OTSPeriodicTableFun
- {
- #region 变量定义
- ClassinicationRuleForm m_CRF;
- //public CPartSTDFileMnrClr m_cpartstdfilemnrclr; //STD文件类
-
- public CGenParamClr m_cgenparamclr; //参数类
- //public CPartSTDDataClr m_cpartstddataclr; //std类 用这个类先定义一个文件,然后再进行操作
- // 初始化日志类
- public CFunExportClass m_LogFunExport = null; //日志类
- const String m_csFileName = "OTSMeasureAppLog"; // 测量程序日志文件名
- //为了获取默认路径而定义
- public COTSProgMgrCLR m_cotsprogmgrclr; //从这里开始load
- public COTSProgMgrParamFileClr m_cotsprogmgrparamfileclr; //参数类
- //国际化
- OTSSysMgrTools.Language lan;
- Hashtable table;
- #endregion
- #region 构造函数
- /// <summary>
- /// 构造函数
- /// </summary>
- public OTSPeriodicTableFun(ClassinicationRuleForm in_crf)
- {
- m_LogFunExport = new CFunExportClass();
- m_LogFunExport.InitLog(m_csFileName);
- //m_cpartstdfilemnrclr = new CPartSTDFileMnrClr();
- m_cgenparamclr = new CGenParamClr();
- //m_cpartstddataclr = new CPartSTDDataClr();
- m_cotsprogmgrparamfileclr = new COTSProgMgrParamFileClr();
- m_cotsprogmgrclr = new COTSProgMgrCLR();
- m_CRF = in_crf;
- //国际化
- lan = new OTSSysMgrTools.Language();
- table = lan.GetNameTable("ClassinicationRuleForm");
- }
- #endregion
- #region STD文件操作相关
- /// <summary>
- /// 读取STD文件
- /// </summary>
- //public bool STDLoad(string strPath)
- //{
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDLoad) 加载STD文件数据");
- // if (false == m_cpartstdfilemnrclr.Load(strPath, true))
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDLoad) 加载STD文件数据错误");
- // return false;
- // }
- // return true;
- //}
- /// <summary>
- /// 保存STD文件
- /// </summary>
- /// <returns></returns>
- //public bool STDSave(string strPath,string LibraryName)
- //{
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDSave) 保存STD文件数据");
-
- // //先将std类设置给std文件类
- // bool b_ret = m_cpartstdfilemnrclr.SetPartSTDData(m_cpartstddataclr);
- // if (false == b_ret)
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.SetPartSTDData) 将STD类设置给STD文件类失败!");
- // return false;
- // }
- // //最后再进行保存
- // if (false == m_cpartstdfilemnrclr.Save(strPath, LibraryName))
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDLoad) 保存STD文件数据错误");
- // return false;
- // }
- // return true;
- //}
- /// <summary>
- /// 设置库名
- /// </summary>
- /// <param name="strName"></param>
- //public void STDPartSetName(string strName)
- //{
- // // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDPartSetName) 设置库名");
- // m_cpartstddataclr.SetName(strName);
- //}
- /// <summary>
- /// 获取库名
- /// </summary>
- /// <returns></returns>
- //public string STDPartGetName()
- //{
- // // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDPartGetName) 获取库名");
- // //将std类设置给std文件夹,再获取名字
- // m_cpartstddataclr = m_cpartstdfilemnrclr.GetPartSTDData();
- // if (null == m_cpartstddataclr)
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDPartGetName) 获取STD类失败,导致获取库名失败!");
- // return "";
- // }
- // string strName = m_cpartstddataclr.GetName();
- // return strName;
- //}
- /// <summary>
- /// 设置CPartSTDDataClr类给CPartSTDFileMnrClr
- /// </summary>
- /// <param name="in_CPartSTDDataClr"></param>
- /// <returns></returns>
- //public bool SetPartSTDData(CPartSTDDataClr in_CPartSTDDataClr)
- //{
- // bool b_ret = false;
- // // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetPartSTDData) 将CPartSTDDataClr类给CPartSTDFileMnrClr");
- // //用这个设置
- // b_ret = m_cpartstdfilemnrclr.SetPartSTDData(in_CPartSTDDataClr);
- // //还是用这个设置?
- // m_cgenparamclr.SetPartSTDLib(in_CPartSTDDataClr);
- // if (b_ret == false)
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.SetPartSTDData) 将CPartSTDDataClr类给CPartSTDFileMnrClr失败!");
- // }
- // return b_ret;
- //}
- /// <summary>
- /// 获取系统 设置的std文件路径
- /// </summary>
- /// <returns></returns>
- public string GetPartSTDLibFolderName()
- {
- // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName) 获取STD设置的路径");
- m_cotsprogmgrparamfileclr = m_cotsprogmgrclr.LoadInfoFromProgMgrFile((int)OTS_SOFT_PACKAGE_ID.OTSIncA);
- if (null == m_cotsprogmgrparamfileclr)
- {
- m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName) 获取STD设置的路径失败!");
- return "";
- }
- m_cgenparamclr = m_cotsprogmgrparamfileclr.GetGenParam();
- if (null == m_cgenparamclr)
- {
- m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName) 获取STD设置的路径失败!");
- return "";
- }
- return m_cgenparamclr.GetPartSTDLibFolderName().ToString();
- }
- #endregion
- #region 元素操作相关
- /// <summary>
- /// 获取元素列表
- /// </summary>
- /// <returns></returns>
- //public List<CElementClr> GetElementsList()
- //{
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetElementsList) 获取元素列表");
- // List<CElementClr> l_celementclr = new List<CElementClr>();
- // l_celementclr = m_cpartstdfilemnrclr.GetElementsList();
- // if (null == l_celementclr)
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetElementsList) 获取元素列表失败");
- // }
- // return l_celementclr;
- //}
- /// <summary>
- /// 设置元素列表
- /// </summary>
- /// <returns></returns>
- public bool SetElementsList()
- {
- List<CElementClr> l_celementclr = new List<CElementClr>();
- //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetElementsList) 设置元素列表");
- for (int i = 0; i < m_CRF.m_otf_small.m_List_Periodic.Count(); i++)
- {
- CElementClr ls_celementclr = new CElementClr();
- //少元素名字,不用名字,只传入原子数就可以了
- //原子数,传入序号
- int ls_atomnum = Convert.ToInt32(m_CRF.m_otf_small.m_List_Periodic[i].XH);
- ls_celementclr.SetAtomNum(ls_atomnum);
- ////百分比,目前无用
- //double ls_percentage = Convert.ToDouble(CRF.otf_small.List_Periodic[i].YZZL);
- //ls_celementclr.SetPercentage(ls_percentage);
- //添加到list
- l_celementclr.Add(ls_celementclr);
- }
- //最后将elementlist添加给std类
- //m_cpartstddataclr.SetElementsList(l_celementclr);
- return true;
- }
- #endregion
- #region 夹杂物操作相关
- /// <summary>
- /// 设置夹杂物列表
- /// </summary>
- /// <returns></returns>
- //public bool SetSTDItemsList()
- //{
- // string str6= table["str6"].ToString();
- // string str8 = table["str8"].ToString();
- // string str9 = table["str9"].ToString();
- // string str10 = table["str10"].ToString();
- // string str11 = table["str11"].ToString();
- // string str12 = table["str12"].ToString();
- // string str16 = table["str16"].ToString();
- // string str18 = table["str18"].ToString();
- // string str19 = table["str19"].ToString();
- // //STD默认编号
- // int nIdInit = 1000;
- // //夹杂物主List
- // List<CSTDItemClr> l_cstditemclr = new List<CSTDItemClr>();
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList) 设置夹杂物列表");
- // for (int i = 0; i < m_CRF.m_dt_jzw.Rows.Count; i++)
- // {
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList) 设置夹杂物列表,夹杂物" + m_CRF.dt_jzw.Rows[i]["夹杂物名"].ToString());
- // CSTDItemClr ls_cstditemclr = new CSTDItemClr(); //详细参数类
- // //这里改成对系统库的编号进行判断并保存
- // if (Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str6].ToString()) > 10000)
- // {
- // ls_cstditemclr.SetSTDId(Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str6].ToString()));
- // }
- // else
- // {
- // ls_cstditemclr.SetSTDId(nIdInit);
- // ++nIdInit;
- // }
- // ls_cstditemclr.SetName(m_CRF.m_dt_jzw.Rows[i][str8].ToString());
- // ls_cstditemclr.SetColor(m_CRF.m_dt_jzw.Rows[i][str9].ToString());
- // //ls_cstditemclr.SetColor(Color.FromArgb(Convert.ToInt32( CRF.dt_fl.Rows[i]["代表色"].ToString())));
- // ls_cstditemclr.SetWidth_HeightRadio(Convert.ToDouble(m_CRF.m_dt_jzw.Rows[i][str10].ToString()));
- // CIntRangeClr ls_cintrangeclr = new CIntRangeClr(Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str11].ToString()),
- // Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str12].ToString()));
- // ls_cstditemclr.SetGrayLevelRange(ls_cintrangeclr);
- // //再保存详细的规则
- // List<CElementRangeClr> l_celemenrangeclr = new List<CElementRangeClr>();
- // //获取对应的规则列表
- // DataRow[] ls_drs = m_CRF.m_dt_ysxx.Select(str6+" ='" + m_CRF.m_dt_jzw.Rows[i][str6].ToString() + "'");
- // for (int y = 0; y < ls_drs.Count(); y++)
- // {
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList) 设置夹杂物列表元素" + m_CRF.dt_ysxx.Rows[y]["元素名"].ToString());
- // CElementRangeClr ls_celementrangeclr = new CElementRangeClr(); //规则项
- // CElementClr ls_celementclr = new CElementClr(); //元素
- // //原子数
- // int ls_atomnum = Convert.ToInt32(ls_drs[y][str16].ToString());
- // ls_celementclr.SetAtomNum(ls_atomnum);
- // //百分比
- // ls_celementrangeclr.SetElement(ls_celementclr);
- // CIntRangeClr ls_cintrangeclr2 = new CIntRangeClr(Convert.ToInt32(ls_drs[y][str18].ToString()),
- // Convert.ToInt32(ls_drs[y][str19].ToString()));
- // ls_celementrangeclr.SetRange(ls_cintrangeclr2);
- // l_celemenrangeclr.Add(ls_celementrangeclr);
- // }
- // //设置元素规则
- // ls_cstditemclr.SetElementRangeList(l_celemenrangeclr);
- // //添加夹杂物主List
- // l_cstditemclr.Add(ls_cstditemclr);
- // }
- // //最后将夹杂物规则添加给std类
- // m_cpartstddataclr.SetSTDItemsList(l_cstditemclr);
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList) 设置夹杂物列表完成");
- // return true;
- //}
- /// <summary>
- /// 获取夹杂物列表
- /// </summary>
- /// <returns></returns>
- //public List<CSTDItemClr> GetSTDItemsList()
- //{
- // //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetSTDItemsList) 获取夹杂物列表");
- // List<CSTDItemClr> l_cstditemclr = new List<CSTDItemClr>();
- // l_cstditemclr = m_cpartstdfilemnrclr.GetSTDItemsList();
- // if (null == l_cstditemclr)
- // {
- // m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetSTDItemsList) 获取夹杂物列表失败");
- // }
- // return l_cstditemclr;
- //}
- #endregion
- #region 自定义方法
- /// <summary>
- /// 写入追踪日志
- /// </summary>
- /// <param name="strlog"></param>
- /// <returns></returns>
- public int TraceLog(string strlog)
- {
- int ireslut = m_LogFunExport.TraceLog(strlog);
- return ireslut;
- }
- /// <summary>
- /// 写入错误日志
- /// </summary>
- /// <param name="strlog"></param>
- /// <returns></returns>
- public int TraceErrorLog(string strlog)
- {
- int ireslut = m_LogFunExport.TraceErrorLog(strlog);
- return ireslut;
- }
- #endregion
- }
- }
|