ShowCgCtrl.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. using DevExpress.XtraEditors;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Data.Entity;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using XdCxRhDW.App.Model;
  13. using XdCxRhDW.Repostory.EFContext;
  14. using XdCxRhDW.Repostory.Model;
  15. namespace XdCxRhDW.App.PopupControl
  16. {
  17. public partial class ShowCgCtrl : DevExpress.XtraEditors.XtraUserControl
  18. {
  19. PosRes posItem;
  20. List<ModelCg> listCg = new List<ModelCg>();
  21. List<ModelCgXgf> listXgf = new List<ModelCgXgf>();
  22. public ShowCgCtrl()
  23. {
  24. InitializeComponent();
  25. gridShowCg.Init<ModelCg>().DataSource = listCg;
  26. gridCgXgf.Init<ModelCgXgf>().UseRowNumber().DataSource = listXgf;
  27. }
  28. public ShowCgCtrl(PosRes posItem)
  29. :this()
  30. {
  31. this.posItem = posItem;
  32. }
  33. private async void ShowCgCtrl_Load(object sender, EventArgs e)
  34. {
  35. List<SatInfo> sats = null;
  36. using (RHDWContext db = new RHDWContext())
  37. {
  38. sats = await db.SatInfos.ToListAsync();
  39. }
  40. List<ModelCg> list = new List<ModelCg>();
  41. using (RHDWPartContext db = RHDWPartContext.GetContext(posItem.SigTime))
  42. {
  43. var cgEntity = db.CgRes.Where(p => p.ID == posItem.CgResID).FirstOrDefault();
  44. if (cgEntity == null) return;
  45. //主邻1
  46. if (cgEntity.Adja1Code != null)
  47. {
  48. ModelCg item = new ModelCg()
  49. {
  50. ID = cgEntity.ID,
  51. CreateTime = cgEntity.CreateTime,
  52. UpdateTime = cgEntity.UpdateTime,
  53. SigTime = cgEntity.SigTime,
  54. Dto = cgEntity.Dto1,
  55. Dfo = cgEntity.Dfo1,
  56. Snr = cgEntity.Snr1,
  57. MainSat = cgEntity.MainCode?.ToString(),
  58. AdjaSat = cgEntity.Adja1Code.ToString(),
  59. CgType = 0,
  60. };
  61. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  62. if (find != null)
  63. item.MainSat = find.Sat;
  64. find = sats.Find(p => p.SatCode == cgEntity.Adja1Code.Value);
  65. if (find != null)
  66. item.AdjaSat = find.Sat;
  67. list.Add(item);
  68. }
  69. //主邻2
  70. if (cgEntity.Adja2Code != null)
  71. {
  72. ModelCg item = new ModelCg()
  73. {
  74. ID = cgEntity.ID,
  75. CreateTime = cgEntity.CreateTime,
  76. UpdateTime = cgEntity.UpdateTime,
  77. SigTime = cgEntity.SigTime,
  78. Dto = cgEntity.Dto2,
  79. Dfo = cgEntity.Dfo2,
  80. Snr = cgEntity.Snr2,
  81. MainSat = cgEntity.MainCode?.ToString(),
  82. AdjaSat = cgEntity.Adja2Code.ToString(),
  83. CgType = 1,
  84. };
  85. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  86. if (find != null)
  87. item.MainSat = find.Sat;
  88. find = sats.Find(p => p.SatCode == cgEntity.Adja2Code.Value);
  89. if (find != null)
  90. item.AdjaSat = find.Sat;
  91. list.Add(item);
  92. }
  93. //超短
  94. if (cgEntity.DtoCdb!=null)
  95. {
  96. ModelCg item = new ModelCg()
  97. {
  98. ID = cgEntity.ID,
  99. CreateTime = cgEntity.CreateTime,
  100. UpdateTime = cgEntity.UpdateTime,
  101. SigTime = cgEntity.SigTime,
  102. Dto = cgEntity.DtoCdb,
  103. Dfo = cgEntity.DfoCdb,
  104. Snr = cgEntity.SnrCdb,
  105. MainSat = cgEntity.MainCode?.ToString(),
  106. AdjaSat = "超短站",
  107. CgType = 2,
  108. };
  109. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  110. if (find != null)
  111. item.MainSat = find.Sat;
  112. list.Add(item);
  113. }
  114. }
  115. this.listCg.Clear();
  116. this.listCg.AddRange(list);
  117. }
  118. private async void gridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e)
  119. {
  120. listXgf.Clear();
  121. var cgItem = e.Row as ModelCg;
  122. if (cgItem != null)
  123. {
  124. using (RHDWPartContext db = RHDWPartContext.GetContext(cgItem.SigTime))
  125. {
  126. var data = await db.CgXgfRes.Where(p => p.CgResID == cgItem.ID && p.CgType == cgItem.CgType).ToListAsync();
  127. listXgf.AddRange(data.Select(p => new ModelCgXgf
  128. {
  129. ID = p.ID,
  130. Dto = p.Dto,
  131. Dfo = p.Dfo,
  132. Snr = p.Snr,
  133. CreateTime = p.CreateTime,
  134. UpdateTime = p.UpdateTime,
  135. }));
  136. }
  137. //查询相关峰结果
  138. }
  139. this.gridView2.RefreshData();
  140. }
  141. }
  142. }