| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 | using System;using System.Collections.Generic;using System.Data;using System.Drawing;using System.IO;namespace OTSIncAReportApp.DataOperation.DataAccess{    public class FieldData    {        private SqlHelper dbHelper;        //private frmReportApp m_Report=null;        //测量文件地址        private string filePath;        public FieldData(string path)        {            dbHelper = new SqlHelper("data source='" + path + "\\FIELD_FILES\\Inclusion.db'");            filePath = path + "\\FIELD_FILES\\";        }                       /// <summary>        /// 获取SegmentList        /// </summary>        /// <param name="model">Feature</param>        /// <returns></returns>        public List<Model.Field> GetFieldList(frmReportApp a_ReportApp)        {            //获取field信息            string sql = "select fieldid,fieldposx,fieldposy,SEMPosX,SEMPosY from IncAData group by fieldid,fieldposx,fieldposy";            DataTable DT = dbHelper.ExecuteDataTable(sql, null);            //获取Particle信息            string sqlp = "select a.*,b.XrayData from IncAData a left join XRayData b on a.FieldId =b.FieldId and a.XrayId= b.XrayIndex";            DataTable DTP = dbHelper.ExecuteDataTable(sqlp, null);            //获取Segment信息            string strs = @"select *  from Segment ";            DataTable DTS = dbHelper.ExecuteDataTable(strs, null);            //获取Element信息            string sqle = @"select *  from ElementChemistry ";            DataTable DTE = dbHelper.ExecuteDataTable(sqle, null);            List<Model.Field> Fields = new List<Model.Field>();            DirectoryInfo info = new DirectoryInfo(filePath);            int count = info.GetFiles("*.bmp").Length;                        for (int i=0;i< count; i++)            {                                string imagePath = filePath + "Field" + a_ReportApp.OriginalPoint.Rows[i]["ID"].ToString() + ".bmp";                Model.Field modelf = new Model.Field() { FieldID = Convert.ToInt32(a_ReportApp.OriginalPoint.Rows[i]["ID"].ToString()), FieldPosX = Convert.ToInt32(a_ReportApp.OriginalPoint.Rows[i]["FieldX"].ToString()), FieldPosY = Convert.ToInt32(a_ReportApp.OriginalPoint.Rows[i]["FieldY"].ToString()), FieldImage = imagePath };                DataRow[] drp = DTP.Select("fieldid=" + a_ReportApp.OriginalPoint.Rows[i]["ID"].ToString());                List<Model.Particle> listp = dbHelper.RowsToList<Model.Particle>(drp);                foreach (Model.Particle modelp in listp)                {                    //添加FeatureList信息                    DataRow[] drs = DTS.Select("fieldid=" + a_ReportApp.OriginalPoint.Rows[i]["ID"].ToString() + " and particleid=" + modelp.ParticleId.ToString());                    List<Model.Feature> flist = dbHelper.RowsToList<Model.Feature>(drs);                    modelp.FeatureList = flist;                    //添加ElementList信息                    DataRow[] dre = DTE.Select("fieldid=" + a_ReportApp.OriginalPoint.Rows[i]["ID"].ToString() + " and XRayId=" + modelp.XrayId.ToString());                    List<Model.Element> elist = dbHelper.RowsToList<Model.Element>(dre);                    modelp.ElementList = elist;                }                modelf.ParticleList = listp;                Fields.Add(modelf);            }                        //foreach (DataRow dr in DT.Rows)            //{            //    string imagePath = filePath + "Field" + dr["fieldid"].ToString() + ".bmp";                            //    Model.Field modelf = new Model.Field() { FieldID = Convert.ToInt32(dr["fieldid"]), FieldPosX = Convert.ToInt32(dr["fieldposx"]), FieldPosY = Convert.ToInt32(dr["fieldposy"]), FieldImage = imagePath };            //    DataRow[] drp = DTP.Select("fieldid=" + dr["fieldid"].ToString());            //    List<Model.Particle> listp = dbHelper.RowsToList<Model.Particle>(drp);            //    foreach (Model.Particle modelp in listp)            //    {            //        //添加FeatureList信息            //        DataRow[] drs = DTS.Select("fieldid=" + dr["fieldid"].ToString() + " and particleid=" + modelp.ParticleId.ToString());            //        List<Model.Feature> flist = dbHelper.RowsToList<Model.Feature>(drs);            //        modelp.FeatureList = flist;            //        //添加ElementList信息            //        DataRow[] dre = DTE.Select("fieldid=" + dr["fieldid"].ToString() + " and XRayId=" + modelp.XrayId.ToString());            //        List<Model.Element> elist = dbHelper.RowsToList<Model.Element>(dre);            //        modelp.ElementList = elist;            //    }            //    modelf.ParticleList = listp;            //    Fields.Add(modelf);            //}            return Fields;        }        /// <summary>        /// 获取SegmentDataTable        /// </summary>        /// <param name="model">Feature</param>        /// <returns></returns>        public DataTable GetGeneralInfo()        {            //存放查询数据的数据表            DataTable DT = null;            string sql = "select * from GeneralInfo";            DT = dbHelper.ExecuteDataTable(sql, null);            return DT;        }        /// <summary>        /// 获取filed数量        /// </summary>        /// <param name="model">Feature</param>        /// <returns></returns>        public int GetFiledCount()        {            //存放查询数据的数据表            DataTable DT = null;            string sql = "select FieldId from IncAData group by FieldId";            DT = dbHelper.ExecuteDataTable(sql, null);            return DT.Rows.Count;        }        /// <summary>        /// 获取颗粒数量        /// </summary>        /// <param name="model">Feature</param>        /// <returns></returns>        public int GetparticleCount()        {            //存放查询数据的数据表            DataTable DT = null;            string sql = "select 1 from IncAData";            DT = dbHelper.ExecuteDataTable(sql, null);            return DT.Rows.Count;        }        /// <summary>        /// 获取所有的颗粒信息        /// </summary>        /// <returns></returns>        public DataTable GetAllParticle_DataTable()        {            DataTable DT = null;            string sql = "select * from IncAData where typeid > 9";            DT = dbHelper.ExecuteDataTable(sql, null);            return DT;        }        /// <summary>        /// 获取颗粒总面积        /// </summary>        /// <param name="model">Feature</param>        /// <returns></returns>        public int GetparticleArea()        {            //存放查询数据的数据表            DataTable DT = null;            string sql = "select sum(Area) from IncAData";            DT = dbHelper.ExecuteDataTable(sql, null);            return DT.Rows.Count > 0 ? Convert.ToInt32(DT.Rows[0][0]) : 0;        }     }}
 |