FieldData.cs 5.3 KB

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