ShowCgCtrl.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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 Serilog;
  16. using DW5S.Service;
  17. namespace DW5S.App.PopupControl
  18. {
  19. public partial class ShowCgCtrl : DevExpress.XtraEditors.XtraUserControl
  20. {
  21. PosRes posItem;
  22. List<ModelCg> listCg = new List<ModelCg>();
  23. List<ModelCgXgf> listXgf = new List<ModelCgXgf>();
  24. public ShowCgCtrl()
  25. {
  26. InitializeComponent();
  27. this.layoutControl1.UseDefault();
  28. gridShowCg.UseDefault(listCg);
  29. gridCgXgf.UseDefault(listXgf).UseRowNumber();
  30. }
  31. public ShowCgCtrl(PosRes posItem)
  32. : this()
  33. {
  34. this.posItem = posItem;
  35. }
  36. private async void ShowCgCtrl_Load(object sender, EventArgs e)
  37. {
  38. List<SatInfo> sats = null;
  39. var unitOfWork = IocContainer.UnitOfWork;
  40. var repsSat = unitOfWork.Of<SatInfo>();
  41. sats = (await repsSat.GetAllAsync()).ToList();
  42. List<ModelCg> list = new List<ModelCg>();
  43. var repsCg = unitOfWork.Of<CgRes>();
  44. var cgEntity = await repsCg.FirstOrDefaultAsync(p => p.Id == posItem.CgResID);
  45. if (cgEntity == null) return;
  46. //主邻1
  47. if (cgEntity.Adja1Code != null)
  48. {
  49. ModelCg item = new ModelCg()
  50. {
  51. Id = cgEntity.Id,
  52. CreateTime = cgEntity.CreateTime,
  53. UpdateTime = cgEntity.UpdateTime,
  54. SigTime = cgEntity.SigTime,
  55. Dto = cgEntity.Dto1,
  56. Dfo = cgEntity.Dfo1,
  57. Snr = cgEntity.Snr1,
  58. MainSat = cgEntity.MainCode?.ToString(),
  59. AdjaSat = cgEntity.Adja1Code.ToString(),
  60. CgType = 0,
  61. };
  62. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  63. if (find != null)
  64. item.MainSat = find.Sat;
  65. find = sats.Find(p => p.SatCode == cgEntity.Adja1Code.Value);
  66. if (find != null)
  67. item.AdjaSat = find.Sat;
  68. list.Add(item);
  69. }
  70. //主邻2
  71. if (cgEntity.Adja2Code != null)
  72. {
  73. ModelCg item = new ModelCg()
  74. {
  75. Id = cgEntity.Id,
  76. CreateTime = cgEntity.CreateTime,
  77. UpdateTime = cgEntity.UpdateTime,
  78. SigTime = cgEntity.SigTime,
  79. Dto = cgEntity.Dto2,
  80. Dfo = cgEntity.Dfo2,
  81. Snr = cgEntity.Snr2,
  82. MainSat = cgEntity.MainCode?.ToString(),
  83. AdjaSat = cgEntity.Adja2Code.ToString(),
  84. CgType = 1,
  85. };
  86. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  87. if (find != null)
  88. item.MainSat = find.Sat;
  89. find = sats.Find(p => p.SatCode == cgEntity.Adja2Code.Value);
  90. if (find != null)
  91. item.AdjaSat = find.Sat;
  92. list.Add(item);
  93. }
  94. //超短
  95. if (cgEntity.DtoCdb != null)
  96. {
  97. ModelCg item = new ModelCg()
  98. {
  99. Id = cgEntity.Id,
  100. CreateTime = cgEntity.CreateTime,
  101. UpdateTime = cgEntity.UpdateTime,
  102. SigTime = cgEntity.SigTime,
  103. Dto = cgEntity.DtoCdb,
  104. Dfo = cgEntity.DfoCdb,
  105. Snr = cgEntity.SnrCdb,
  106. MainSat = cgEntity.MainCode?.ToString(),
  107. AdjaSat = "超短站",
  108. CgType = 2,
  109. };
  110. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  111. if (find != null)
  112. item.MainSat = find.Sat;
  113. list.Add(item);
  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. var unitOfWork = IocContainer.UnitOfWork;
  125. var repsCgXgf = unitOfWork.Of<CgXgfRes>();
  126. var data = await repsCgXgf.FindAsync(p => p.CgResID == cgItem.Id && p.CgType == cgItem.CgType);
  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. this.gridView2.RefreshData();
  139. }
  140. }
  141. }