PageRenderTime 27ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/ВУИ 2/ВУИ/ВУИ/SDNReport.cs

http://asocwii.codeplex.com
C# | 178 lines | 164 code | 14 blank | 0 comment | 28 complexity | e2ce07b4f085dc58e2da992625480d3f MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Microsoft.Reporting.WinForms;
  10. namespace ВУИ
  11. {
  12. public partial class SDNReport : Form
  13. {
  14. Form1 main;
  15. int id;
  16. public SDNReport(Form1 Main, int ID)
  17. {
  18. InitializeComponent();
  19. main = Main;
  20. id = ID;
  21. List<ReportParameter> paramList = new List<ReportParameter>();
  22. paramList.Add(new ReportParameter("ФИО", Main.lPatient[Main.itnPatietn(id)].This.Surname + " " + Main.lPatient[Main.itnPatietn(id)].This.Name + " " + Main.lPatient[Main.itnPatietn(id)].This.Patronymic));
  23. reportViewer1.LocalReport.SetParameters(paramList);
  24. List<RVReport> r = new List<RVReport>();
  25. if (main.lPatient[main.itnPatietn(id)]!=null)
  26. foreach (Fizcs f in main.lPatient[main.itnPatietn(id)].Fiz)
  27. {
  28. RVReport t = new RVReport();
  29. t.Месяц = Convert.ToSingle(f.Месяц) + "месяц";
  30. t.Масса_фактическая = f.Масса;
  31. t.Рост_фактический = f.Рост;
  32. if ((f.Месяц < 13) & (f.Месяц>0))
  33. {
  34. if ((main.lPatient[main.itnPatietn(id)].Growth <= 1500) & (main.lPatient[main.itnPatietn(id)].Growth >1000))
  35. {
  36. t.Масса_долженствующая = main.lPatient[main.itnPatietn(id)].Growth+main.lAV[f.Месяц - 1].От_1001_до_1500;
  37. t.Рост_долженствующий = main.lPatient[main.itnPatietn(id)].Weight+main.lAR[f.Месяц - 1].От_1001_до_1500/10;
  38. }
  39. if ((main.lPatient[main.itnPatietn(id)].Growth <= 2000) & (main.lPatient[main.itnPatietn(id)].Growth >1500))
  40. {
  41. t.Масса_долженствующая = main.lPatient[main.itnPatietn(id)].Growth+main.lAV[f.Месяц - 1].От_1501_до_2000;
  42. t.Рост_долженствующий = main.lPatient[main.itnPatietn(id)].Weight+main.lAR[f.Месяц - 1].От_1501_до_2000/10;
  43. }
  44. if ((main.lPatient[main.itnPatietn(id)].Growth <= 2500) & (main.lPatient[main.itnPatietn(id)].Growth >2000))
  45. {
  46. t.Масса_долженствующая = main.lPatient[main.itnPatietn(id)].Growth+main.lAV[f.Месяц - 1].От_2001_до_2500;
  47. t.Рост_долженствующий = main.lPatient[main.itnPatietn(id)].Weight+main.lAR[f.Месяц - 1].От_2001_до_2500/10;
  48. }
  49. if ((main.lPatient[main.itnPatietn(id)].Growth <= 1000) & (main.lPatient[main.itnPatietn(id)].Growth >800))
  50. {
  51. t.Масса_долженствующая = main.lPatient[main.itnPatietn(id)].Growth+main.lAV[f.Месяц - 1].От_800_до_1000;
  52. t.Рост_долженствующий = main.lPatient[main.itnPatietn(id)].Weight+main.lAR[f.Месяц - 1].От_800_до_1000/10;
  53. }
  54. if ( (main.lPatient[main.itnPatietn(id)].Growth >2500))
  55. {
  56. t.Масса_долженствующая = main.lPatient[main.itnPatietn(id)].Growth+main.lAV[f.Месяц - 1].Доношеные;
  57. t.Рост_долженствующий = main.lPatient[main.itnPatietn(id)].Weight+main.lAR[f.Месяц - 1].Доношеные/10;
  58. }
  59. }
  60. if ((f.Месяц>12) & (f.Месяц<=120))
  61. {
  62. t.Масса_долженствующая = 10 * 2 * (f.Месяц / 12);
  63. }
  64. if ((f.Месяц > 12) & (f.Месяц <= 48))
  65. {
  66. t.Рост_долженствующий = 100 -8 * (4-(f.Месяц / 12));
  67. }
  68. if ((f.Месяц > 48))
  69. {
  70. t.Рост_долженствующий = 100 +6 * (4 - (f.Месяц / 12));
  71. }
  72. if ((t.Масса_долженствующая != 0) | (t.Рост_долженствующий != 0))
  73. {
  74. if (Math.Abs(t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) <= 0.1)
  75. {
  76. t.Результат += "эйтрофия; ";
  77. }
  78. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) > 0.1) &((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) <= 0.2))
  79. {
  80. t.Результат += "гипотрофия 1 степени; ";
  81. }
  82. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) > 0.2) & ((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) <= 0.3))
  83. {
  84. t.Результат += "гипотрофия 2 степени; ";
  85. }
  86. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 3.0) > 0.3) )
  87. {
  88. t.Результат += "гипотрофия 3 степени; ";
  89. }
  90. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) < -0.1) & ((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) >= -0.2))
  91. {
  92. t.Результат += "паратрофия 1 степени; ";
  93. }
  94. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) < -0.2) & ((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) >= -0.3))
  95. {
  96. t.Результат += "паратрофия 2 степени; ";
  97. }
  98. if (((t.Масса_долженствующая - t.Масса_фактическая) / (t.Масса_долженствующая * 1.0) < -0.3))
  99. {
  100. t.Результат += "паратрофия 3 степени; ";
  101. }
  102. if (Math.Abs(t.Рост_долженствующий - t.Рост_фактический) / (t.Рост_долженствующий * 1.0) <= 0.1)
  103. {
  104. t.Результат += "мезосомия; ";
  105. }
  106. if (((t.Рост_долженствующий - t.Рост_фактический) / (t.Рост_долженствующий * 1.0) >0.1))
  107. {
  108. t.Результат += "микросомия; ";
  109. }
  110. if (((t.Рост_долженствующий - t.Рост_фактический) / (t.Рост_долженствующий * 1.0) < -0.1))
  111. {
  112. t.Результат += "макросомия; ";
  113. }
  114. }
  115. r.Add(t);
  116. }
  117. this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", r));
  118. List<RVReport> q = new List<RVReport>();
  119. foreach (Rez f in main.lPatient[main.itnPatietn(id)].Rez)
  120. {
  121. RVReport t = new RVReport();
  122. t.Масса_долженствующая = f.Заболеваний;
  123. t.Масса_фактическая = f.Месяц;
  124. if (f.Аллергический_синдром)
  125. {
  126. t.Месяц = "да";
  127. }
  128. else
  129. {
  130. t.Месяц = "нет";
  131. }
  132. float t1 = f.Заболеваний ;
  133. t.Рост_долженствующий = t1 / f.Месяц;
  134. if (t.Рост_долженствующий <= 0.32)
  135. t.Результат = "хорошая резистентность";
  136. if ((t.Рост_долженствующий <= 0.49) & (t.Рост_долженствующий > 0.33))
  137. t.Результат = "сниженная резистентность";
  138. if ((t.Рост_долженствующий <= 0.66) & (t.Рост_долженствующий > 0.5))
  139. t.Результат = "низкая резистентность";
  140. if ((t.Рост_долженствующий > 0.66) )
  141. t.Результат = "очень низкая резистентность";
  142. q.Add(t);
  143. }
  144. this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", q));
  145. List<RVReport> w = new List<RVReport>();
  146. foreach (Group f in main.lPatient[main.itnPatietn(id)].Gr)
  147. {
  148. RVReport t = new RVReport();
  149. t.Масса_долженствующая = f.Месяц;
  150. t.Месяц = f.Группа_здоровья;
  151. t.Результат = f.Hезультат_наблюдения;
  152. w.Add(t);
  153. }
  154. this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet3", w));
  155. }
  156. private void SDNReport_Load(object sender, EventArgs e)
  157. {
  158. this.reportViewer1.RefreshReport();
  159. }
  160. private void reportViewer1_Load(object sender, EventArgs e)
  161. {
  162. }
  163. }
  164. }