FieldData.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using OTSCommon.DBOperate.Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO;
  7. namespace OTSIncAReportApp.DataOperation.DataAccess
  8. {
  9. public class FieldData
  10. {
  11. private SqlHelper dbHelper;
  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<Field> GetFieldList()
  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. string sqlp = "select * from IncAData ";
  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<Field> Fields = new List<Field>();
  38. DirectoryInfo info = new DirectoryInfo(filePath);
  39. //int count = info.GetFiles("*.bmp").Length;
  40. int fldcount = DT.Rows.Count;
  41. for (int i=0;i< fldcount; i++)
  42. {
  43. string imagePath = filePath + "Field" + DT.Rows[i]["FieldId"].ToString() + ".bmp";
  44. Field modelf = new 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()), FieldImageName = imagePath };
  45. DataRow[] drp = DTP.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString());
  46. List<Particle> listp = dbHelper.RowsToList<Particle>(drp);
  47. foreach (Particle modelp in listp)
  48. {
  49. //添加FeatureList信息
  50. DataRow[] drs = DTS.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString() + " and particleid=" + modelp.ParticleId.ToString());
  51. List<Segment> flist = dbHelper.RowsToList<Segment>(drs);
  52. modelp.SegmentList = flist;
  53. //添加ElementList信息
  54. DataRow[] dre = DTE.Select("fieldid=" + DT.Rows[i]["FieldId"].ToString() + " and XRayId=" + modelp.XrayId.ToString());
  55. List<Element> elist = dbHelper.RowsToList<Element>(dre);
  56. modelp.ElementList = elist;
  57. }
  58. modelf.ParticleList = listp;
  59. Fields.Add(modelf);
  60. }
  61. return Fields;
  62. }
  63. /// <summary>
  64. /// 获取SegmentDataTable
  65. /// </summary>
  66. /// <param name="model">Feature</param>
  67. /// <returns></returns>
  68. public DataTable GetGeneralInfo()
  69. {
  70. //存放查询数据的数据表
  71. DataTable DT = null;
  72. string sql = "select * from GeneralInfo";
  73. DT = dbHelper.ExecuteDataTable(sql, null);
  74. return DT;
  75. }
  76. /// <summary>
  77. /// 获取filed数量
  78. /// </summary>
  79. /// <param name="model">Feature</param>
  80. /// <returns></returns>
  81. public int GetFiledCount()
  82. {
  83. //存放查询数据的数据表
  84. DataTable DT = null;
  85. string sql = "select FieldId from Field";
  86. DT = dbHelper.ExecuteDataTable(sql, null);
  87. return DT.Rows.Count;
  88. }
  89. /// <summary>
  90. /// 获取颗粒数量
  91. /// </summary>
  92. /// <param name="model">Feature</param>
  93. /// <returns></returns>
  94. public int GetparticleCount()
  95. {
  96. //存放查询数据的数据表
  97. DataTable DT = null;
  98. string sql = "select 1 from IncAData";
  99. DT = dbHelper.ExecuteDataTable(sql, null);
  100. return DT.Rows.Count;
  101. }
  102. /// <summary>
  103. /// 获取所有的颗粒信息
  104. /// </summary>
  105. /// <returns></returns>
  106. public DataTable GetAllParticle_DataTable()
  107. {
  108. DataTable DT = null;
  109. string sql = "select * from IncAData where typeid > 9 and FieldId > -1";
  110. DT = dbHelper.ExecuteDataTable(sql, null);
  111. return DT;
  112. }
  113. /// <summary>
  114. /// 获取颗粒总面积
  115. /// </summary>
  116. /// <param name="model">Feature</param>
  117. /// <returns></returns>
  118. public double GetparticleArea()
  119. {
  120. DataTable DT = null;
  121. string sql = "select sum(Area) from IncAData where FieldId > -1";
  122. DT = dbHelper.ExecuteDataTable(sql, null);
  123. if (DT == null) return 0;
  124. double particleArea = 0;
  125. if(double.TryParse(DT.Rows[0][0].ToString(),out particleArea))
  126. {
  127. return particleArea;
  128. }else{
  129. return 0;
  130. }
  131. }
  132. }
  133. }