FieldData.cs 5.0 KB

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