FieldData.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Drawing;
  5. using System.IO;
  6. namespace OTSIncAReportApp.DataOperation.DataAccess
  7. {
  8. public class FieldData
  9. {
  10. private SqlHelper dbHelper;
  11. //private frmReportApp m_Report=null;
  12. //测量文件地址
  13. private string filePath;
  14. public FieldData(string path)
  15. {
  16. dbHelper = new SqlHelper("data source='" + path + "\\FIELD_FILES\\Inclusion.db'");
  17. filePath = path + "\\FIELD_FILES\\";
  18. }
  19. /// <summary>
  20. /// 获取SegmentList
  21. /// </summary>
  22. /// <param name="model">Feature</param>
  23. /// <returns></returns>
  24. public List<Model.Field> GetFieldList(frmReportApp a_ReportApp)
  25. {
  26. //获取field信息
  27. string sql = "select fieldid,fieldposx,fieldposy from field ";//select fieldid,fieldposx,fieldposy from field
  28. DataTable DT = dbHelper.ExecuteDataTable(sql, null);
  29. //获取Particle信息
  30. //string sqlp = "select a.*,b.XrayData from IncAData a left join XRayData b on a.FieldId =b.FieldId and a.XrayId= b.XrayIndex";
  31. string sqlp = "select * from IncAData ";
  32. DataTable DTP = dbHelper.ExecuteDataTable(sqlp, null);
  33. //获取Segment信息
  34. string strs = @"select * from Segment ";
  35. DataTable DTS = dbHelper.ExecuteDataTable(strs, null);
  36. //获取Element信息
  37. string sqle = @"select * from ElementChemistry ";
  38. DataTable DTE = dbHelper.ExecuteDataTable(sqle, null);
  39. List<Model.Field> Fields = new List<Model.Field>();
  40. DirectoryInfo info = new DirectoryInfo(filePath);
  41. int count = info.GetFiles("*.bmp").Length;
  42. for (int i=0;i< count; i++)
  43. {
  44. string imagePath = filePath + "Field" + DT.Rows[i]["FieldId"].ToString() + ".bmp";
  45. Model.Field modelf = new Model.Field() { FieldID = Convert.ToInt32(DT.Rows[i]["FieldId"].ToString()), FieldPosX = Convert.ToInt32(DT.Rows[i]["fieldposx"].ToString()), FieldPosY = Convert.ToInt32(DT.Rows[i]["fieldposy"].ToString()), FieldImage = imagePath };
  46. DataRow[] drp = DTP.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString());
  47. List<Model.Particle> listp = dbHelper.RowsToList<Model.Particle>(drp);
  48. foreach (Model.Particle modelp in listp)
  49. {
  50. //添加FeatureList信息
  51. DataRow[] drs = DTS.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString() + " and particleid=" + modelp.ParticleId.ToString());
  52. List<Model.Feature> flist = dbHelper.RowsToList<Model.Feature>(drs);
  53. modelp.FeatureList = flist;
  54. //添加ElementList信息
  55. DataRow[] dre = DTE.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString() + " and XRayId=" + modelp.XrayId.ToString());
  56. List<Model.Element> elist = dbHelper.RowsToList<Model.Element>(dre);
  57. modelp.ElementList = elist;
  58. }
  59. modelf.ParticleList = listp;
  60. Fields.Add(modelf);
  61. }
  62. return Fields;
  63. }
  64. /// <summary>
  65. /// 获取SegmentDataTable
  66. /// </summary>
  67. /// <param name="model">Feature</param>
  68. /// <returns></returns>
  69. public DataTable GetGeneralInfo()
  70. {
  71. //存放查询数据的数据表
  72. DataTable DT = null;
  73. string sql = "select * from GeneralInfo";
  74. DT = dbHelper.ExecuteDataTable(sql, null);
  75. return DT;
  76. }
  77. /// <summary>
  78. /// 获取filed数量
  79. /// </summary>
  80. /// <param name="model">Feature</param>
  81. /// <returns></returns>
  82. public int GetFiledCount()
  83. {
  84. //存放查询数据的数据表
  85. DataTable DT = null;
  86. string sql = "select FieldId from IncAData group by FieldId";
  87. DT = dbHelper.ExecuteDataTable(sql, null);
  88. return DT.Rows.Count;
  89. }
  90. /// <summary>
  91. /// 获取颗粒数量
  92. /// </summary>
  93. /// <param name="model">Feature</param>
  94. /// <returns></returns>
  95. public int GetparticleCount()
  96. {
  97. //存放查询数据的数据表
  98. DataTable DT = null;
  99. string sql = "select 1 from IncAData";
  100. DT = dbHelper.ExecuteDataTable(sql, null);
  101. return DT.Rows.Count;
  102. }
  103. /// <summary>
  104. /// 获取所有的颗粒信息
  105. /// </summary>
  106. /// <returns></returns>
  107. public DataTable GetAllParticle_DataTable()
  108. {
  109. DataTable DT = null;
  110. string sql = "select * from IncAData where typeid > 9";
  111. DT = dbHelper.ExecuteDataTable(sql, null);
  112. return DT;
  113. }
  114. /// <summary>
  115. /// 获取颗粒总面积
  116. /// </summary>
  117. /// <param name="model">Feature</param>
  118. /// <returns></returns>
  119. public int GetparticleArea()
  120. {
  121. //存放查询数据的数据表
  122. DataTable DT = null;
  123. string sql = "select sum(Area) from IncAData";
  124. DT = dbHelper.ExecuteDataTable(sql, null);
  125. return DT.Rows.Count > 0 ? Convert.ToInt32(DT.Rows[0][0]) : 0;
  126. }
  127. }
  128. }