using OTSCLRINTERFACE; using OTSIncAReportApp.OTSSampleReportInfo; using OTSIncAReportApp.SysMgrTools; using OTSIncAReportGraph.OTSIncAReportGraphFuncation; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; namespace OTSIncAReportApp.OTSDataMgrFunction { /// /// 框架与底层进行交互的操作类 /// public class ResultDataMgr { #region 变量定义 /// /// 报告主进程框架对象 /// private frmReportApp m_ReportApp = null; public CReportMgrClr m_ReportMgr; public List resultFilesList = new List(); //测量结果列表 public int WorkingResult = -1; public DataOperation.Model.RptConfigFile m_RptConfigFile = new DataOperation.Model.RptConfigFile(); //报表程序的配置文件 #endregion public OTSReportFun m_ReportFun = null; #region 构造函数 /// /// 构造函数 /// /// public ResultDataMgr(frmReportApp ReportApp) { m_ReportApp = ReportApp; if (null == m_ReportMgr) { //初始化相关变量 m_ReportMgr = new CReportMgrClr(); } } #endregion #region 获取组合项相关方法 /// /// 根据系统设置的默认粒级表路径,获取所有的粒级表文件List /// /// public List GetPartSizeFileList() { List ret_list = new List(); //遍历粒级文件夹 DirectoryInfo theFolder = new DirectoryInfo(m_RptConfigFile.FileFolderSize); if (!theFolder.Exists) return ret_list; //读取遍历粒级文件信息 foreach (FileInfo nextifile in theFolder.GetFiles()) { //找出粒级文件 if (nextifile.Name.Contains(".psf") == true || nextifile.Name.Contains(".PSF") == true) { ret_list.Add(nextifile.Name); } } return ret_list; } /// /// 根据系统设置默认的粒级表的路径,获取粒级表List /// /// /// public List GetPartSizeList() { DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(m_RptConfigFile.FileFolderSize + m_RptConfigFile.PartSizeFile); string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString(); List sizeList = new List(); for (int i = 0; i < sizestr.Split(',').Length - 1; i++) { if (sizestr.Split(',')[i].Length > 0) { double d1 = Convert.ToDouble(sizestr.Split(',')[i]); double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]); sizeList.Add(d1.ToString() + "~" + d2.ToString()); } } double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]); sizeList.Add(d.ToString() + "~MAX"); return sizeList; } /// /// 根据传入的粒级表目录,获取粒级表List /// /// public List GetPartSizeList(string path) { DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(path); string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString(); List sizeList = new List(); for (int i = 0; i < sizestr.Split(',').Length - 1; i++) { if (sizestr.Split(',')[i].Length > 0) { double d1 = Convert.ToDouble(sizestr.Split(',')[i]); double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]); sizeList.Add(d1.ToString() + "~" + d2.ToString()); } } double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]); sizeList.Add(d.ToString() + "~MAX"); return sizeList; } /// /// 获取三元相图模板名称列表 /// /// public List GetTriTemplateNameList() { string pathtpf = m_RptConfigFile.FileFolderTrigTemp + m_RptConfigFile.TriTempFile; List ret_list = new List(); DataSet ds = DataOperation.DataAccess.XMLoperate.GetXmlData(pathtpf, "XMLData"); DataTable dt = ds.Tables["Member"]; foreach (DataRow item in dt.Rows) { if (item["TemplateName"].ToString() != "") { ret_list.Add(item["TemplateName"].ToString()); } } return ret_list; } /// /// 获取测量结果名称列表 /// /// public List GetSampleListName() { List ret_list = new List(); var resultfileList = resultFilesList; foreach (var item in resultfileList) { ret_list.Add(item.FileName); } if (m_ReportApp.MoreSource != "") { ret_list.Add(m_ReportApp.MoreSource); } return ret_list; } public List GetDataSourceTypeList() { //string sscaptionname23 = table["sscaptionname23"].ToString(); //string sscaptionname24 = table["sscaptionname24"].ToString(); List ret_list = new List() { "AllParticles"}; return ret_list; } /// /// 获取计算方法列表 /// /// public List GetSizeCalMethodTypeList() { List ret_list = new List() { "DMAX", "DMIN", "Area", "FERET" }; return ret_list; } /// /// 数据类型,全部颗粒,分析颗粒 /// /// #endregion #region [测量结果treeview]相关封装方法 /// /// 获取测量结果treeview树测量结果名 /// /// public string GetSampleName() { //获取样品名 String sWorkSampleName = resultFilesList[WorkingResult].FileName; if (null == sWorkSampleName) { return ""; } return sWorkSampleName; } #endregion } }