zoulei 1 year ago
parent
commit
3e95a8d4e9
2 changed files with 93 additions and 28 deletions
  1. 2 27
      XdCxRhDW.App/CorTools/CgImageForm.cs
  2. 91 1
      XdCxRhDW.WebApi/Controllers/PosController.cs

+ 2 - 27
XdCxRhDW.App/CorTools/CgImageForm.cs

@@ -28,7 +28,6 @@ namespace XdCxRhDW.App.CorTools
     public partial class CgImageForm : DevExpress.XtraEditors.XtraForm
     {
         List<ImageResult> list;
-        float maxY;
         public CgImageForm()
         {
             InitializeComponent();
@@ -72,7 +71,7 @@ namespace XdCxRhDW.App.CorTools
             this.list = list;
             var maxX = (list[0].XMax - 1 + list[0].XFlag) * 1e6 / list[0].FsHz;
             var minX = (list[0].XFlag) * 1e6 / list[0].FsHz;
-            maxY = list.Max(p => p.YValue) + 200;
+            var maxY = list.Max(p => p.YValue) + 100;
             (this.chartControl1.AnnotationRepository[2] as TextAnnotation).Text = $"共{list.Count}个点";
             (this.chartControl1.Diagram as XYDiagram).AxisX.WholeRange.SetMinMaxValues(minX, maxX);
             (this.chartControl1.Diagram as XYDiagram).AxisX.VisualRange.SetMinMaxValues(minX, maxX);
@@ -83,7 +82,6 @@ namespace XdCxRhDW.App.CorTools
         private void Test_Load(object sender, EventArgs e)
         {
             chartControl1.QueryCursor += ChartControl1_QueryCursor;
-            chartControl1.Zoom += ChartControl1_Zoom;
             foreach (var item in list)
             {
                 double xValue = (item.XValue + item.XFlag) * 1e6 / item.FsHz;//us
@@ -102,29 +100,6 @@ namespace XdCxRhDW.App.CorTools
         {
             e.Cursor = Cursors.Default;
         }
-        private void ChartControl1_Zoom(object sender, ChartZoomEventArgs e)
-        {
-            if ((double)e.NewYRange.MinValue < -maxY || (double)e.NewYRange.Max > maxY)
-            {
-                (this.chartControl1.Diagram as XYDiagram).AxisY.WholeRange.SetMinMaxValues(-maxY, maxY);
-                (this.chartControl1.Diagram as XYDiagram).AxisY.VisualRange.SetMinMaxValues(-maxY, maxY);
-            }
-            else
-            {
-                if (e.Type == ChartZoomEventType.ZoomOut)
-                {
-                    (this.chartControl1.Diagram as XYDiagram).AxisY.WholeRange.SetMinMaxValues((double)e.NewYRange.MinValue - 10, (double)e.NewYRange.MaxValue + 10);
-                    (this.chartControl1.Diagram as XYDiagram).AxisY.VisualRange.SetMinMaxValues((double)e.NewYRange.MinValue - 10, (double)e.NewYRange.MaxValue + 10);
-                }
-                else
-                {
-                    if ((double)e.NewYRange.MaxValue - (double)e.NewYRange.MinValue < 40)
-                    {
-                        //(this.chartControl1.Diagram as XYDiagram).AxisY.WholeRange.SetMinMaxValues(e.NewYRange.MinValue, e.NewYRange.MaxValue);
-                        (this.chartControl1.Diagram as XYDiagram).AxisY.VisualRange.SetMinMaxValues(e.NewYRange.MinValue, e.NewYRange.MaxValue);
-                    }
-                }
-            }
-        }
+
     }
 }

+ 91 - 1
XdCxRhDW.WebApi/Controllers/PosController.cs

@@ -133,6 +133,11 @@ namespace XdCxRhDW.App.WebAPI
             {
                 var xlInfoList = await XlCache.GetAllAsync();
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 //var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
@@ -310,6 +315,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -319,6 +329,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adjaXl = xlInfoList.Where(w => w.SatCode == dto.AdjaCode);
+                if (!adjaXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                }
                 var minTime2 = adjaXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adjaXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -494,6 +509,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -503,6 +523,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adjaXl = xlInfoList.Where(w => w.SatCode == dto.AdjaCode);
+                if (!adjaXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                }
                 var minTime2 = adjaXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adjaXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -694,6 +719,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -703,6 +733,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adjaXl = xlInfoList.Where(w => w.SatCode == dto.AdjaCode);
+                if (!adjaXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                }
                 var minTime2 = adjaXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adjaXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -891,6 +926,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -900,6 +940,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja1Xl = xlInfoList.Where(w => w.SatCode == dto.Adja1Code);
+                if (!adja1Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                }
                 var minTime2 = adja1Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adja1Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -909,6 +954,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja2Xl = xlInfoList.Where(w => w.SatCode == dto.Adja2Code);
+                if (!adja2Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                }
                 var minTime3 = adja2Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo3 = adja2Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime3).FirstOrDefault();
                 if (xlInfo3 == null)
@@ -1101,6 +1151,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -1110,6 +1165,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja1Xl = xlInfoList.Where(w => w.SatCode == dto.Adja1Code);
+                if (!adja1Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                }
                 var minTime2 = adja1Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adja1Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -1119,6 +1179,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja2Xl = xlInfoList.Where(w => w.SatCode == dto.Adja2Code);
+                if (!adja2Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                }
                 var minTime3 = adja2Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo3 = adja2Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime3).FirstOrDefault();
                 if (xlInfo3 == null)
@@ -1326,6 +1391,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -1335,6 +1405,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja1Xl = xlInfoList.Where(w => w.SatCode == dto.Adja1Code);
+                if (!adja1Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja1Code}卫星的星历!");
+                }
                 var minTime2 = adja1Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adja1Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -1344,6 +1419,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adja2Xl = xlInfoList.Where(w => w.SatCode == dto.Adja2Code);
+                if (!adja2Xl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.Adja2Code}卫星的星历!");
+                }
                 var minTime3 = adja2Xl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo3 = adja2Xl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime3).FirstOrDefault();
                 if (xlInfo3 == null)
@@ -1560,6 +1640,11 @@ namespace XdCxRhDW.App.WebAPI
                 var xlInfoList = await XlCache.GetAllAsync();
 
                 var mainXl = xlInfoList.Where(w => w.SatCode == dto.MainCode);
+                if (!mainXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.MainCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.MainCode}卫星的星历!");
+                }
                 var minTime = mainXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo1 = mainXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime).FirstOrDefault();
                 if (xlInfo1 == null)
@@ -1569,6 +1654,11 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var adjaXl = xlInfoList.Where(w => w.SatCode == dto.AdjaCode);
+                if (!adjaXl.Any())
+                {
+                    Serilog.Log.Error($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                    return Error<PosResDto>($"系统缺少编号{dto.AdjaCode}卫星的星历!");
+                }
                 var minTime2 = adjaXl.Min(m => Math.Abs((m.TimeBJ - dto.SigTime).TotalSeconds));
                 var xlInfo2 = adjaXl.Where(w => Math.Abs((w.TimeBJ - dto.SigTime).TotalSeconds) == minTime2).FirstOrDefault();
                 if (xlInfo2 == null)
@@ -1683,7 +1773,7 @@ namespace XdCxRhDW.App.WebAPI
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
         [HttpPost]
-        public async Task<AjaxResult<List<PosResDto>>> GetPosRes([FromBody] PosResQueryDto dto)
+        public async Task<AjaxResult<List<PosResDto>>> GetPosRes(PosResQueryDto dto)
         {
             List<PosResDto> posList = new List<PosResDto>();
             try