ShowCgCtrl.cs 5.8 KB

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