zoulei 1 жил өмнө
parent
commit
7936cc73fd

+ 10 - 17
XdCxRhDW.App/EditForms/X1D1DTOParamEditor.cs

@@ -66,8 +66,10 @@ namespace XdCxRhDW.App.EditForms
             StationRes station;
             using (RHDWContext db = new RHDWContext())
             {
-
-                listSat = db.SatInfos.ToList();
+                listSat = await db.SatInfos.ToListAsync();
+            }
+            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
             }
@@ -86,10 +88,6 @@ namespace XdCxRhDW.App.EditForms
                 this.txtcdbStation.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
                 this.txtRefLocation.Text = $"{station.RefLon},{station.RefLat}";
             }
-
-
-
-
         }
 
         public bool CheckParam()
@@ -137,23 +135,18 @@ namespace XdCxRhDW.App.EditForms
                 dtoLineXd.PosLon = info.PosLon;
                 dtoLineXd.PosLat = info.PosLat;
 
-                string msat = string.Empty;
-                if (cg.MainCode.HasValue)
-                {
-                    msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
-                }
-
+                var msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
                 var xdDtoLine = DrawDtoLineHelper.DtoLineXd(dtoLineXd);
-                mapControl1.DrawDtoPonit($"星地[{msat},[{CDBAnt[0]}°]]时差线", xdDtoLine);
-
+                mapControl1.DrawDtoPonit($"[{msat},超短{CDBAnt[0]}°]带参时差线", xdDtoLine);
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 
-      
+
     }
 }

+ 14 - 29
XdCxRhDW.App/EditForms/X2D1DTOParamEditor.cs

@@ -66,8 +66,10 @@ namespace XdCxRhDW.App.EditForms
             StationRes station;
             using (RHDWContext db = new RHDWContext())
             {
-
-                listSat = db.SatInfos.ToList();
+                listSat = await db.SatInfos.ToListAsync();
+            }
+            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
             }
@@ -100,10 +102,6 @@ namespace XdCxRhDW.App.EditForms
                 this.txtcdbStation.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
                 this.txtRefLocation.Text = $"{station.RefLon},{station.RefLat}";
             }
-
-
-
-
         }
 
         public bool CheckParam()
@@ -167,44 +165,31 @@ namespace XdCxRhDW.App.EditForms
                 twoStartOption.RefDto = YbMainDto - YbAdja1Dto;
                 twoStartOption.PosLon = info.PosLon;
                 twoStartOption.PosLat = info.PosLat;
-                string msat = string.Empty;
-                if (cg.MainCode.HasValue)
-                {
-                    msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
-                }
-
-                string nsat = string.Empty;
-                if (cg.Adja1Code.HasValue)
-                {
-                    nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
-                }
+                var msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
+                var nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(nsat)) nsat = cg.Adja1Code.Value.ToString();
                 if (info.PosResType == EnumPosResType.X2D1)
                 {
                     var xdDtoLine = DrawDtoLineHelper.DtoLineXd(dtoLineXd);
-                    mapControl1.DrawDtoPonit($"星地[{msat},[{CDBAnt[0]}°]]时差线", xdDtoLine);
+                    mapControl1.DrawDtoPonit($"[{msat},超短{CDBAnt[0]}°]时差线", xdDtoLine);
 
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},{nsat}]时差线", tsDtoLine);
-
+                    mapControl1.DrawDtoPonit($"[{msat},{nsat}]时差线", tsDtoLine);
                 }
                 else
                 {
                     var xdDtoLine = DrawDtoLineHelper.DtoLineXdNoRef(dtoLineXd);
-                    mapControl1.DrawDtoPonit($"星地[{msat},[{CDBAnt[0]}°]]时差线", xdDtoLine);
+                    mapControl1.DrawDtoPonit($"[{msat},超短{CDBAnt[0]}°]时差线", xdDtoLine);
 
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XNoRefStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},{nsat}]时差线", tsDtoLine);
+                    mapControl1.DrawDtoPonit($"[{msat},{nsat}]时差线", tsDtoLine);
                 }
-
-
-
-
-
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 

+ 11 - 17
XdCxRhDW.App/EditForms/X2DTOParamEditor.cs

@@ -60,8 +60,10 @@ namespace XdCxRhDW.App.EditForms
             StationRes station;
             using (RHDWContext db = new RHDWContext())
             {
-
-                listSat = db.SatInfos.ToList();
+                listSat = await db.SatInfos.ToListAsync();
+            }
+            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
             }
@@ -132,26 +134,18 @@ namespace XdCxRhDW.App.EditForms
                 twoStartOption.RefDto = YbMainDto - YbAdja1Dto;
                 twoStartOption.PosLon = info.PosLon;
                 twoStartOption.PosLat = info.PosLat;
-                string msat = string.Empty;
-                if (cg.MainCode.HasValue)
-                {
-                    msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
-                }
-
-                string nsat = string.Empty;
-                if (cg.Adja1Code.HasValue)
-                {
-                    nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
-                }
-
+                var msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
+                var nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(nsat)) nsat = cg.Adja1Code.Value.ToString();
                 var tsDtoLine = DrawDtoLineHelper.DtoLine2XStart(twoStartOption);
-                mapControl1.DrawDtoPonit($"双星[{msat},[{nsat}]]时差线", tsDtoLine);
+                mapControl1.DrawDtoPonit($"[{msat},[{nsat}]]时差线", tsDtoLine);
 
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 

+ 17 - 35
XdCxRhDW.App/EditForms/X3DTOParamEditor.cs

@@ -36,7 +36,6 @@ namespace XdCxRhDW.App.EditForms
             InitializeComponent();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
             this.info = info;
-            this.listSat = new List<SatInfo>();
             this.mapControl1 = mapControl;
             this.StartPosition = FormStartPosition.CenterParent;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
@@ -60,8 +59,10 @@ namespace XdCxRhDW.App.EditForms
             StationRes station;
             using (RHDWContext db = new RHDWContext())
             {
-
-                listSat = db.SatInfos.ToList();
+                listSat = await db.SatInfos.ToListAsync();
+            }
+            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
             }
@@ -98,10 +99,6 @@ namespace XdCxRhDW.App.EditForms
                 this.txtsatStation.Text = $"{station.SatTxLon},{station.SatTxLat}";
                 this.txtRefLocation.Text = $"{station.RefLon},{station.RefLat}";
             }
-
-
-
-
         }
 
         public bool CheckParam()
@@ -131,7 +128,7 @@ namespace XdCxRhDW.App.EditForms
                 var YbMainDto = info.PosResType == EnumPosResType.X3 ? Convert.ToDouble(this.txtYbMain.Text) : 0;
                 var YbAdja1Dto = info.PosResType == EnumPosResType.X3 ? Convert.ToDouble(this.txtYbAdja.Text) : 0;
                 var YbAdja2Dto = info.PosResType == EnumPosResType.X3 ? Convert.ToDouble(this.txtYbAdja1.Text) : 0;
-              
+
                 var MainX = Convert.ToDouble(this.txtMainX.Text);
                 var MainY = Convert.ToDouble(this.txtMainY.Text);
                 var MainZ = Convert.ToDouble(this.txtMainZ.Text);
@@ -157,53 +154,38 @@ namespace XdCxRhDW.App.EditForms
                 twoStartOption.RefDto = YbMainDto - YbAdja1Dto;
                 twoStartOption.PosLon = info.PosLon;
                 twoStartOption.PosLat = info.PosLat;
-                string msat = string.Empty;
-                if (cg.MainCode.HasValue)
-                {
-                    msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
-                }
-
-                string nsat = string.Empty;
-                if (cg.Adja1Code.HasValue)
-                {
-                    nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
-                }
-                string ad2sat = string.Empty;
-                if (cg.Adja2Code.HasValue)
-                {
-                    ad2sat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja2Code.Value)?.Sat;
-                }
+                var msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
+                var nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(nsat)) nsat = cg.Adja1Code.Value.ToString();
+                var ad2sat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja2Code.Value)?.Sat;
+                if (string.IsNullOrWhiteSpace(ad2sat)) ad2sat = cg.Adja2Code.Value.ToString();
                 if (info.PosResType == EnumPosResType.X3)
                 {
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},[{nsat}]]时差线", tsDtoLine);
+                    mapControl1.DrawDtoPonit($"[{msat},[{nsat}]]带参时差线", tsDtoLine);
 
                     twoStartOption.NsEph = Ns2Eph;
                     twoStartOption.RefDto = YbMainDto - YbAdja2Dto;
                     twoStartOption.TargetDto = DtoSx1;
                     var tsDtoLine1 = DrawDtoLineHelper.DtoLine2XStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},{ad2sat}]时差线", tsDtoLine1);
+                    mapControl1.DrawDtoPonit($"[{msat},{ad2sat}]带参时差线", tsDtoLine1);
 
                 }
                 else
                 {
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XNoRefStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},[{nsat}]]时差线", tsDtoLine);
+                    mapControl1.DrawDtoPonit($"[{msat},[{nsat}]]无参时差线", tsDtoLine);
                     twoStartOption.NsEph = Ns2Eph;
                     twoStartOption.TargetDto = DtoSx1;
                     var tsDtoLine1 = DrawDtoLineHelper.DtoLine2XNoRefStart(twoStartOption);
-                    mapControl1.DrawDtoPonit($"双星[{msat},{ad2sat}]时差线", tsDtoLine1);
+                    mapControl1.DrawDtoPonit($"[{msat},{ad2sat}]无参时差线", tsDtoLine1);
                 }
-
-
-
-
-
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 

+ 0 - 2
XdCxRhDW.App/MainForm.cs

@@ -35,8 +35,6 @@ namespace XdCxRhDW
             tabbedView1.UseDefault();
             ctrlTypes.Add("任务管理", typeof(CtrlHome));
             ctrlTypes.Add("参估结果", typeof(CtrlCgRes));
-            ctrlTypes.Add("测向结果", typeof(CtrlCxRes));
-            ctrlTypes.Add("定位结果", typeof(CtrlPosRes));
             ctrlTypes.Add("星历管理", typeof(CtrlXl));
             ctrlTypes.Add("卫星管理", typeof(CtrlSat));
             ctrlTypes.Add("天线管理", typeof(CtrlTx));

+ 11 - 8
XdCxRhDW.App/Properties/licenses.licx

@@ -1,12 +1,15 @@
-DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.SearchLookUpEdit, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.SearchLookUpEdit, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

+ 201 - 77
XdCxRhDW.App/UserControl/CtrlCgRes.Designer.cs

@@ -29,31 +29,73 @@ namespace XdCxRhDW.App.UserControl
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlCgRes));
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.gridCg = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.popupMenu2 = new DevExpress.XtraBars.PopupMenu(this.components);
-            this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
-            this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
-            this.btnDel = new DevExpress.XtraBars.BarButtonItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.txtStartTime = new DevExpress.XtraEditors.DateEdit();
+            this.txtTimeCho = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.txtEndTime = new DevExpress.XtraEditors.DateEdit();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.btnSearch = new DevExpress.XtraEditors.SimpleButton();
+            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridCg)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties.CalendarTimeProperties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTimeCho.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties.CalendarTimeProperties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             this.SuspendLayout();
             // 
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.gridCg);
+            this.layoutControl1.Controls.Add(this.txtTimeCho);
+            this.layoutControl1.Controls.Add(this.txtStartTime);
+            this.layoutControl1.Controls.Add(this.txtEndTime);
+            this.layoutControl1.Controls.Add(this.btnSearch);
+            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.Root = this.layoutControlGroup1;
+            this.layoutControl1.Size = new System.Drawing.Size(1093, 465);
+            this.layoutControl1.TabIndex = 7;
+            this.layoutControl1.Text = "layoutControl2";
+            // 
+            // layoutControlGroup1
+            // 
+            this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.layoutControlGroup1.GroupBordersVisible = false;
+            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem2,
+            this.layoutControlItem3,
+            this.layoutControlItem4,
+            this.layoutControlItem5,
+            this.layoutControlItem6});
+            this.layoutControlGroup1.Name = "layoutControlGroup1";
+            this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(1093, 465);
+            this.layoutControlGroup1.TextVisible = false;
+            // 
             // gridCg
             // 
-            this.gridCg.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.gridCg.Location = new System.Drawing.Point(0, 0);
+            this.gridCg.Location = new System.Drawing.Point(2, 30);
             this.gridCg.MainView = this.gridView1;
             this.gridCg.Name = "gridCg";
-            this.gridCg.Size = new System.Drawing.Size(520, 364);
-            this.gridCg.TabIndex = 1;
+            this.gridCg.Size = new System.Drawing.Size(1089, 433);
+            this.gridCg.TabIndex = 4;
             this.gridCg.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
             // 
@@ -61,97 +103,179 @@ namespace XdCxRhDW.App.UserControl
             // 
             this.gridView1.GridControl = this.gridCg;
             this.gridView1.Name = "gridView1";
-            this.gridView1.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gridView1_PopupMenuShowing);
             // 
-            // popupMenu2
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.gridCg;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 28);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(1093, 437);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
             // 
-            this.popupMenu2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnDel)});
-            this.popupMenu2.Manager = this.barManager1;
-            this.popupMenu2.Name = "popupMenu2";
+            // txtStartTime
             // 
-            // barManager1
+            this.txtStartTime.EditValue = null;
+            this.txtStartTime.Location = new System.Drawing.Point(219, 4);
+            this.txtStartTime.Name = "txtStartTime";
+            this.txtStartTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtStartTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtStartTime.Size = new System.Drawing.Size(149, 22);
+            this.txtStartTime.StyleController = this.layoutControl1;
+            this.txtStartTime.TabIndex = 7;
             // 
-            this.barManager1.DockControls.Add(this.barDockControlTop);
-            this.barManager1.DockControls.Add(this.barDockControlBottom);
-            this.barManager1.DockControls.Add(this.barDockControlLeft);
-            this.barManager1.DockControls.Add(this.barDockControlRight);
-            this.barManager1.Form = this;
-            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.btnDel});
-            this.barManager1.MaxItemId = 1;
+            // txtTimeCho
             // 
-            // barDockControlTop
+            this.txtTimeCho.EditValue = 1;
+            this.txtTimeCho.Location = new System.Drawing.Point(59, 4);
+            this.txtTimeCho.Name = "txtTimeCho";
+            this.txtTimeCho.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtTimeCho.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("最近1小时", 1, -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("最近6小时", 6, -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("最近12小时", 12, -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("最近1天", 24, -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("最近3天", 72, -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("自定义", 0, -1)});
+            this.txtTimeCho.Size = new System.Drawing.Size(99, 22);
+            this.txtTimeCho.StyleController = this.layoutControl1;
+            this.txtTimeCho.TabIndex = 11;
             // 
-            this.barDockControlTop.CausesValidation = false;
-            this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
-            this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlTop.Manager = this.barManager1;
-            this.barDockControlTop.Size = new System.Drawing.Size(520, 0);
+            // txtEndTime
             // 
-            // barDockControlBottom
+            this.txtEndTime.EditValue = null;
+            this.txtEndTime.Location = new System.Drawing.Point(429, 4);
+            this.txtEndTime.Name = "txtEndTime";
+            this.txtEndTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtEndTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtEndTime.Size = new System.Drawing.Size(149, 22);
+            this.txtEndTime.StyleController = this.layoutControl1;
+            this.txtEndTime.TabIndex = 8;
             // 
-            this.barDockControlBottom.CausesValidation = false;
-            this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.barDockControlBottom.Location = new System.Drawing.Point(0, 364);
-            this.barDockControlBottom.Manager = this.barManager1;
-            this.barDockControlBottom.Size = new System.Drawing.Size(520, 0);
+            // layoutControlItem3
             // 
-            // barDockControlLeft
+            this.layoutControlItem3.Control = this.txtTimeCho;
+            this.layoutControlItem3.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem3.CustomizationFormText = "时间选择";
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem3.MaxSize = new System.Drawing.Size(160, 28);
+            this.layoutControlItem3.MinSize = new System.Drawing.Size(160, 28);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Size = new System.Drawing.Size(160, 28);
+            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem3.Spacing = new DevExpress.XtraLayout.Utils.Padding(4, 0, 2, 0);
+            this.layoutControlItem3.Text = "时间选择";
+            this.layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(48, 14);
+            this.layoutControlItem3.TextToControlDistance = 5;
             // 
-            this.barDockControlLeft.CausesValidation = false;
-            this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlLeft.Manager = this.barManager1;
-            this.barDockControlLeft.Size = new System.Drawing.Size(0, 364);
+            // layoutControlItem4
             // 
-            // barDockControlRight
+            this.layoutControlItem4.Control = this.txtStartTime;
+            this.layoutControlItem4.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem4.CustomizationFormText = "开始时间";
+            this.layoutControlItem4.Location = new System.Drawing.Point(160, 0);
+            this.layoutControlItem4.MaxSize = new System.Drawing.Size(210, 28);
+            this.layoutControlItem4.MinSize = new System.Drawing.Size(210, 28);
+            this.layoutControlItem4.Name = "layoutControlItem4";
+            this.layoutControlItem4.Size = new System.Drawing.Size(210, 28);
+            this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem4.Spacing = new DevExpress.XtraLayout.Utils.Padding(4, 0, 2, 0);
+            this.layoutControlItem4.Text = "开始时间";
+            this.layoutControlItem4.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.layoutControlItem4.TextSize = new System.Drawing.Size(48, 14);
+            this.layoutControlItem4.TextToControlDistance = 5;
+            this.layoutControlItem4.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
-            this.barDockControlRight.CausesValidation = false;
-            this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
-            this.barDockControlRight.Location = new System.Drawing.Point(520, 0);
-            this.barDockControlRight.Manager = this.barManager1;
-            this.barDockControlRight.Size = new System.Drawing.Size(0, 364);
+            // layoutControlItem5
             // 
-            // btnDel
+            this.layoutControlItem5.Control = this.txtEndTime;
+            this.layoutControlItem5.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem5.CustomizationFormText = "结束时间";
+            this.layoutControlItem5.Location = new System.Drawing.Point(370, 0);
+            this.layoutControlItem5.MaxSize = new System.Drawing.Size(210, 28);
+            this.layoutControlItem5.MinSize = new System.Drawing.Size(210, 28);
+            this.layoutControlItem5.Name = "layoutControlItem5";
+            this.layoutControlItem5.Size = new System.Drawing.Size(210, 28);
+            this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem5.Spacing = new DevExpress.XtraLayout.Utils.Padding(4, 0, 2, 0);
+            this.layoutControlItem5.Text = "结束时间";
+            this.layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(48, 14);
+            this.layoutControlItem5.TextToControlDistance = 5;
+            this.layoutControlItem5.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
-            this.btnDel.Caption = "删除";
-            this.btnDel.Id = 0;
-            this.btnDel.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDel.ImageOptions.SvgImage")));
-            this.btnDel.Name = "btnDel";
-            this.btnDel.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDel_ItemClick);
+            // btnSearch
+            // 
+            this.btnSearch.Location = new System.Drawing.Point(584, 4);
+            this.btnSearch.Name = "btnSearch";
+            this.btnSearch.Size = new System.Drawing.Size(84, 21);
+            this.btnSearch.StyleController = this.layoutControl1;
+            this.btnSearch.TabIndex = 9;
+            this.btnSearch.Text = "查询";
+            // 
+            // layoutControlItem6
+            // 
+            this.layoutControlItem6.Control = this.btnSearch;
+            this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem6.CustomizationFormText = "layoutControlItemSearch";
+            this.layoutControlItem6.Location = new System.Drawing.Point(580, 0);
+            this.layoutControlItem6.MaxSize = new System.Drawing.Size(90, 26);
+            this.layoutControlItem6.MinSize = new System.Drawing.Size(90, 26);
+            this.layoutControlItem6.Name = "layoutControlItem6";
+            this.layoutControlItem6.Padding = new DevExpress.XtraLayout.Utils.Padding(4, 2, 4, 1);
+            this.layoutControlItem6.Size = new System.Drawing.Size(513, 28);
+            this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem6.Text = "layoutControlItemSearch";
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem6.TextVisible = false;
+            this.layoutControlItem6.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
             // CtrlCgRes
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.gridCg);
-            this.Controls.Add(this.barDockControlLeft);
-            this.Controls.Add(this.barDockControlRight);
-            this.Controls.Add(this.barDockControlBottom);
-            this.Controls.Add(this.barDockControlTop);
+            this.Controls.Add(this.layoutControl1);
             this.Name = "CtrlCgRes";
-            this.Size = new System.Drawing.Size(520, 364);
+            this.Size = new System.Drawing.Size(1093, 465);
             this.Load += new System.EventHandler(this.CtrlCgRes_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridCg)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTimeCho.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             this.ResumeLayout(false);
-            this.PerformLayout();
 
         }
 
         #endregion
-
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
         private DevExpress.XtraGrid.GridControl gridCg;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraBars.PopupMenu popupMenu2;
-        private DevExpress.XtraBars.BarManager barManager1;
-        private DevExpress.XtraBars.BarDockControl barDockControlTop;
-        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
-        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
-        private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.BarButtonItem btnDel;
+        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraEditors.ImageComboBoxEdit txtTimeCho;
+        private DevExpress.XtraEditors.DateEdit txtStartTime;
+        private DevExpress.XtraEditors.DateEdit txtEndTime;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraEditors.SimpleButton btnSearch;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
     }
 }

+ 15 - 47
XdCxRhDW.App/UserControl/CtrlCgRes.cs

@@ -3,6 +3,7 @@ using DevExpress.XtraEditors;
 using DevExpress.XtraExport.Helpers;
 using DevExpress.XtraGrid.Columns;
 using DevExpress.XtraGrid.Views.Grid;
+using DxHelper;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -25,67 +26,34 @@ namespace XdCxRhDW.App.UserControl
         public CtrlCgRes()
         {
             InitializeComponent();
-        }
-
-        private async void CtrlCgRes_Load(object sender, EventArgs e)
-        {
-            try
+            gridCg.Init<CgRes>().AddMenu("删除", SvgHelper.CreateClose(), async () =>
             {
-                gridCg.Init<CgRes>().UseSort().UseFilter().UseMultiSelect().UseRowNumber();
-                using (RHDWContext db = new RHDWContext())
+                try
                 {
-                    gridCg.DataSource = await db.CgRes.OrderByDescending(p => p.SigTime).ToListAsync();
-                }
-                gridView1.Columns["SigTime"].SortOrder = ColumnSortOrder.Descending;
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "查询参估结果异常");
-                DxHelper.MsgBoxHelper.ShowError("查询参估结果异常");
 
-            }
-        }
 
-        private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
-        {
-            if (gridView1.FocusedRowHandle < 0) return;
-            if (!gridView1.GetSelectedRows().Any())
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
-            popupMenu2.ShowPopup(MousePosition);
+                }
+                catch (Exception ex)
+                {
+                    Serilog.Log.Error(ex, "删除参估结果异常");
+                    DxHelper.MsgBoxHelper.ShowError("删除参估结果异常");
+                }
+            });
         }
 
-        private async void btnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private async void CtrlCgRes_Load(object sender, EventArgs e)
         {
             try
             {
-                var ids = gridView1.GetSelectedRows();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    foreach (var id in ids)
-                    {
-                        var item = gridView1.GetRow(id) as CgRes;
-                        var delItem = await db.CgRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (delItem != null)
-                        {
-                            db.CgRes.Remove(delItem);
-                        }
-                    }
-                    await db.SaveChangesAsync();
-                }
-                gridView1.DeleteSelectedRows();
 
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex, "删除参估结果异常");
-                DxHelper.MsgBoxHelper.ShowError("删除参估结果异常");
+                Serilog.Log.Error(ex, "查询参估结果异常");
+                DxHelper.MsgBoxHelper.ShowError("查询参估结果异常");
+
             }
         }
+
     }
 }

+ 0 - 28
XdCxRhDW.App/UserControl/CtrlCgRes.resx

@@ -117,32 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="popupMenu2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="btnDel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD4DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
-        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
-        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
-        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTE4LjgsMTZsOC45
-        LTguOWMwLjQtMC40LDAuNC0xLDAtMS40bC0xLjQtMS40Yy0wLjQtMC40LTEtMC40LTEuNCwwTDE2LDEz
-        LjJMNy4xLDQuM2MtMC40LTAuNC0xLTAuNC0xLjQsMCAgTDQuMyw1LjdjLTAuNCwwLjQtMC40LDEsMCwx
-        LjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSww
-        LjQsMS40LDBsOC45LTguOWw4LjksOC45ICBjMC40LDAuNCwxLDAuNCwxLjQsMGwxLjQtMS40YzAuNC0w
-        LjQsMC40LTEsMC0xLjRMMTguOCwxNnoiIGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
-</value>
-  </data>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>151, 17</value>
-  </metadata>
 </root>

+ 0 - 157
XdCxRhDW.App/UserControl/CtrlCxRes.Designer.cs

@@ -1,157 +0,0 @@
-
-namespace XdCxRhDW.App.UserControl
-{
-    partial class CtrlCxRes
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlCxRes));
-            this.gridCx = new DevExpress.XtraGrid.GridControl();
-            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.popupMenu2 = new DevExpress.XtraBars.PopupMenu(this.components);
-            this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
-            this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
-            this.btnDel = new DevExpress.XtraBars.BarButtonItem();
-            ((System.ComponentModel.ISupportInitialize)(this.gridCx)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // gridCx
-            // 
-            this.gridCx.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.gridCx.Location = new System.Drawing.Point(0, 0);
-            this.gridCx.MainView = this.gridView1;
-            this.gridCx.Name = "gridCx";
-            this.gridCx.Size = new System.Drawing.Size(572, 397);
-            this.gridCx.TabIndex = 0;
-            this.gridCx.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
-            this.gridView1});
-            // 
-            // gridView1
-            // 
-            this.gridView1.GridControl = this.gridCx;
-            this.gridView1.Name = "gridView1";
-            this.gridView1.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gridView1_PopupMenuShowing);
-            // 
-            // popupMenu2
-            // 
-            this.popupMenu2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnDel)});
-            this.popupMenu2.Manager = this.barManager1;
-            this.popupMenu2.Name = "popupMenu2";
-            // 
-            // barManager1
-            // 
-            this.barManager1.DockControls.Add(this.barDockControlTop);
-            this.barManager1.DockControls.Add(this.barDockControlBottom);
-            this.barManager1.DockControls.Add(this.barDockControlLeft);
-            this.barManager1.DockControls.Add(this.barDockControlRight);
-            this.barManager1.Form = this;
-            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.btnDel});
-            this.barManager1.MaxItemId = 1;
-            // 
-            // barDockControlTop
-            // 
-            this.barDockControlTop.CausesValidation = false;
-            this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
-            this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlTop.Manager = this.barManager1;
-            this.barDockControlTop.Size = new System.Drawing.Size(572, 0);
-            // 
-            // barDockControlBottom
-            // 
-            this.barDockControlBottom.CausesValidation = false;
-            this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.barDockControlBottom.Location = new System.Drawing.Point(0, 397);
-            this.barDockControlBottom.Manager = this.barManager1;
-            this.barDockControlBottom.Size = new System.Drawing.Size(572, 0);
-            // 
-            // barDockControlLeft
-            // 
-            this.barDockControlLeft.CausesValidation = false;
-            this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlLeft.Manager = this.barManager1;
-            this.barDockControlLeft.Size = new System.Drawing.Size(0, 397);
-            // 
-            // barDockControlRight
-            // 
-            this.barDockControlRight.CausesValidation = false;
-            this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
-            this.barDockControlRight.Location = new System.Drawing.Point(572, 0);
-            this.barDockControlRight.Manager = this.barManager1;
-            this.barDockControlRight.Size = new System.Drawing.Size(0, 397);
-            // 
-            // btnDel
-            // 
-            this.btnDel.Caption = "删除";
-            this.btnDel.Id = 0;
-            this.btnDel.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDel.ImageOptions.SvgImage")));
-            this.btnDel.Name = "btnDel";
-            this.btnDel.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDel_ItemClick);
-            // 
-            // CtrlCxRes
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.gridCx);
-            this.Controls.Add(this.barDockControlLeft);
-            this.Controls.Add(this.barDockControlRight);
-            this.Controls.Add(this.barDockControlBottom);
-            this.Controls.Add(this.barDockControlTop);
-            this.Name = "CtrlCxRes";
-            this.Size = new System.Drawing.Size(572, 397);
-            this.Load += new System.EventHandler(this.CtrlCxRes_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.gridCx)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
-        }
-
-        #endregion
-
-        private DevExpress.XtraGrid.GridControl gridCx;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraBars.PopupMenu popupMenu2;
-        private DevExpress.XtraBars.BarManager barManager1;
-        private DevExpress.XtraBars.BarDockControl barDockControlTop;
-        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
-        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
-        private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.BarButtonItem btnDel;
-    }
-}

+ 0 - 85
XdCxRhDW.App/UserControl/CtrlCxRes.cs

@@ -1,85 +0,0 @@
-using DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Views.Grid;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Data.Entity;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Documents;
-using System.Windows.Forms;
-using XdCxRhDW.Repostory.EFContext;
-using XdCxRhDW.Repostory.Model;
-
-namespace XdCxRhDW.App.UserControl
-{
-    public partial class CtrlCxRes : DevExpress.XtraEditors.XtraUserControl
-    {
-        public CtrlCxRes()
-        {
-            InitializeComponent();
-        }
-
-        private async void CtrlCxRes_Load(object sender, EventArgs e)
-        {
-            try
-            {
-                gridCx.Init<CxRes>().UseSort().UseFilter().UseMultiSelect().UseRowNumber();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    gridCx.DataSource = await db.CxRes.OrderByDescending(p => p.SigTime).ToListAsync();
-                }
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "查询测向结果异常");
-                DxHelper.MsgBoxHelper.ShowError("查询测向结果异常");
-            }
-        }
-
-        private async void btnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            try
-            {
-                var ids = gridView1.GetSelectedRows();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    foreach (var id in ids)
-                    {
-                        var item = gridView1.GetRow(id) as CxRes;
-                        var delItem = await db.CxRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (delItem != null)
-                        {
-                            db.CxRes.Remove(delItem);
-                        }
-                    }
-                    await db.SaveChangesAsync();
-                }
-                gridView1.DeleteSelectedRows();
-
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "删除测向结果异常");
-                DxHelper.MsgBoxHelper.ShowError("删除测向结果异常");
-            }
-        }
-
-        private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
-        {
-            if (gridView1.FocusedRowHandle < 0) return;
-            if (!gridView1.GetSelectedRows().Any())
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
-            popupMenu2.ShowPopup(MousePosition);
-        }
-    }
-}

+ 0 - 148
XdCxRhDW.App/UserControl/CtrlCxRes.resx

@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="popupMenu2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="btnDel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD4DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
-        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
-        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
-        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTE4LjgsMTZsOC45
-        LTguOWMwLjQtMC40LDAuNC0xLDAtMS40bC0xLjQtMS40Yy0wLjQtMC40LTEtMC40LTEuNCwwTDE2LDEz
-        LjJMNy4xLDQuM2MtMC40LTAuNC0xLTAuNC0xLjQsMCAgTDQuMyw1LjdjLTAuNCwwLjQtMC40LDEsMCwx
-        LjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSww
-        LjQsMS40LDBsOC45LTguOWw4LjksOC45ICBjMC40LDAuNCwxLDAuNCwxLjQsMGwxLjQtMS40YzAuNC0w
-        LjQsMC40LTEsMC0xLjRMMTguOCwxNnoiIGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
-</value>
-  </data>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>151, 17</value>
-  </metadata>
-</root>

+ 24 - 36
XdCxRhDW.App/UserControl/CtrlHome.Designer.cs

@@ -36,15 +36,15 @@ namespace XdCxRhDW.App.UserControl
         {
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlHome));
-            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions1 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
-            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions2 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
-            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions3 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
-            DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions7 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
+            DevExpress.Utils.SuperToolTip superToolTip7 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem7 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions8 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
+            DevExpress.Utils.SuperToolTip superToolTip8 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem8 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions buttonImageOptions9 = new DevExpress.XtraEditors.ButtonsPanelControl.ButtonImageOptions();
+            DevExpress.Utils.SuperToolTip superToolTip9 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem9 = new DevExpress.Utils.ToolTipItem();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.txtTimeCho = new DevExpress.XtraEditors.ImageComboBoxEdit();
             this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
@@ -54,7 +54,6 @@ namespace XdCxRhDW.App.UserControl
             this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
             this.btnStart = new DevExpress.XtraBars.BarButtonItem();
             this.btnStop = new DevExpress.XtraBars.BarButtonItem();
-            this.btnDelPos = new DevExpress.XtraBars.BarButtonItem();
             this.btnTar = new DevExpress.XtraBars.BarButtonItem();
             this.btnDrawDto = new DevExpress.XtraBars.BarButtonItem();
             this.btnDrawDfo = new DevExpress.XtraBars.BarButtonItem();
@@ -170,7 +169,6 @@ namespace XdCxRhDW.App.UserControl
             this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
             this.btnStart,
             this.btnStop,
-            this.btnDelPos,
             this.btnTar,
             this.btnDrawDto,
             this.btnDrawDfo,
@@ -230,14 +228,6 @@ namespace XdCxRhDW.App.UserControl
             this.btnStop.Name = "btnStop";
             this.btnStop.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             // 
-            // btnDelPos
-            // 
-            this.btnDelPos.Caption = "删除";
-            this.btnDelPos.Id = 2;
-            this.btnDelPos.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDelPos.ImageOptions.SvgImage")));
-            this.btnDelPos.Name = "btnDelPos";
-            this.btnDelPos.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDelPos_ItemClick);
-            // 
             // btnTar
             // 
             this.btnTar.Caption = "编辑目标";
@@ -394,22 +384,22 @@ namespace XdCxRhDW.App.UserControl
             // 
             // layoutControlGroup1
             // 
-            buttonImageOptions1.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions1.SvgImage")));
-            buttonImageOptions1.SvgImageSize = new System.Drawing.Size(20, 20);
-            toolTipItem1.Text = "新建任务";
-            superToolTip1.Items.Add(toolTipItem1);
-            buttonImageOptions2.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions2.SvgImage")));
-            buttonImageOptions2.SvgImageSize = new System.Drawing.Size(20, 20);
-            toolTipItem2.Text = "编辑任务";
-            superToolTip2.Items.Add(toolTipItem2);
-            buttonImageOptions3.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions3.SvgImage")));
-            buttonImageOptions3.SvgImageSize = new System.Drawing.Size(20, 20);
-            toolTipItem3.Text = "删除任务";
-            superToolTip3.Items.Add(toolTipItem3);
+            buttonImageOptions7.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions7.SvgImage")));
+            buttonImageOptions7.SvgImageSize = new System.Drawing.Size(20, 20);
+            toolTipItem7.Text = "新建任务";
+            superToolTip7.Items.Add(toolTipItem7);
+            buttonImageOptions8.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions8.SvgImage")));
+            buttonImageOptions8.SvgImageSize = new System.Drawing.Size(20, 20);
+            toolTipItem8.Text = "编辑任务";
+            superToolTip8.Items.Add(toolTipItem8);
+            buttonImageOptions9.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("buttonImageOptions9.SvgImage")));
+            buttonImageOptions9.SvgImageSize = new System.Drawing.Size(20, 20);
+            toolTipItem9.Text = "删除任务";
+            superToolTip9.Items.Add(toolTipItem9);
             this.layoutControlGroup1.CustomHeaderButtons.AddRange(new DevExpress.XtraEditors.ButtonPanel.IBaseButton[] {
-            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("新建任务", false, buttonImageOptions1, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip1, true, false, true, null, -1),
-            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("编辑任务", false, buttonImageOptions2, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip2, true, false, true, null, -1),
-            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("删除任务", false, buttonImageOptions3, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip3, true, false, true, null, -1)});
+            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("新建任务", false, buttonImageOptions7, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip7, true, false, true, null, -1),
+            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("编辑任务", false, buttonImageOptions8, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip8, true, false, true, null, -1),
+            new DevExpress.XtraEditors.ButtonsPanelControl.GroupBoxButton("删除任务", false, buttonImageOptions9, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, true, superToolTip9, true, false, true, null, -1)});
             this.layoutControlGroup1.HeaderButtonsLocation = DevExpress.Utils.GroupElementLocation.AfterText;
             this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItem1});
@@ -573,7 +563,6 @@ namespace XdCxRhDW.App.UserControl
             // popupMenu2
             // 
             this.popupMenu2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnDelPos),
             new DevExpress.XtraBars.LinkPersistInfo(this.btnTar),
             new DevExpress.XtraBars.LinkPersistInfo(this.btnDrawDto),
             new DevExpress.XtraBars.LinkPersistInfo(this.btnDrawDfo),
@@ -655,7 +644,6 @@ namespace XdCxRhDW.App.UserControl
         private DevExpress.XtraBars.BarButtonItem btnStop;
         private DevExpress.Utils.Html.HtmlTemplateCollection htmlTemplateCollection1;
         private DevExpress.Utils.Html.HtmlTemplate htmlTemplate1;
-        private DevExpress.XtraBars.BarButtonItem btnDelPos;
         private DevExpress.XtraBars.PopupMenu popupMenu2;
         private DevExpress.XtraBars.BarButtonItem btnTar;
         private DevExpress.XtraBars.BarButtonItem btnDrawDto;

+ 117 - 128
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -27,6 +27,7 @@ using DevExpress.XtraEditors;
 using System.Data.Entity.Migrations;
 using System.Threading;
 using System.Threading.Tasks;
+using System.IO;
 namespace XdCxRhDW.App.UserControl
 {
     public partial class CtrlHome : DevExpress.XtraEditors.XtraUserControl
@@ -268,24 +269,26 @@ namespace XdCxRhDW.App.UserControl
                 {
                     return;
                 }
-                var posItems = mapControl1.GetRectPosItem<PosRes>().ToList();
-                var ids = posItems.Select(m => m.ID).ToList();
-                using (RHDWContext db = new RHDWContext())
+                var groupItems = items.GroupBy(p => p.SigTime.ToString("yyyyMMdd"));
+                foreach (var groupItem in groupItems)
                 {
-                    List<PosRes> list = await db.PosRes.Where(p => ids.Contains(p.ID)).ToListAsync();
-                    UpdatePosRes(list);
-                    db.PosRes.AddOrUpdate(list.ToArray());
-                    await db.SaveChangesAsync();
+                    var ids = groupItem.Select(m => m.ID).ToList();
+                    using (RHDWPartContext db = new RHDWPartContext(groupItem.First().SigTime))
+                    {
+                        var array = await db.PosRes.Where(p => ids.Contains(p.ID)).ToArrayAsync();
+                        UseMirror(array);
+                        db.PosRes.AddOrUpdate(array);
+                        await db.SaveChangesAsync();
 
-                    UpdatePosRes(posItems);
-                    mapControl1.UpdatePosItem(posItems);
+                    }
                 }
-                gridView2.RefreshData();
+                UseMirror(items);
+                mapControl1.UpdatePosItem(items);
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,"使用镜像点失败");
-                XtraMessageBox.Show("使用镜像点失败");
+                Serilog.Log.Error(ex, "使用镜像点失败!");
+                MsgBoxHelper.ShowError("使用镜像点失败!");
             }
 
         }
@@ -302,37 +305,35 @@ namespace XdCxRhDW.App.UserControl
                 {
                     return;
                 }
-                var positems = mapControl1.GetRectPosItem<PosRes>().ToList();
-                var ids = positems.Select(m => m.ID).ToList();
-
-                using (RHDWContext db = new RHDWContext())
+                var groupItems = items.GroupBy(p => p.SigTime.ToString("yyyyMMdd"));
+                foreach (var groupItem in groupItems)
                 {
-                    List<PosRes> list = await db.PosRes.Where(p => ids.Contains(p.ID)).ToListAsync();
-                    foreach (var item in ids)
+                    var ids = groupItem.Select(m => m.ID).ToList();
+                    using (RHDWPartContext db = new RHDWPartContext(groupItem.First().SigTime))
                     {
-                        var posres = list.Find(m => m.ID == item);
-                        db.PosRes.Remove(posres);
+                        List<PosRes> list = await db.PosRes.Where(p => ids.Contains(p.ID)).ToListAsync();
+                        db.PosRes.RemoveRange(list);
+                        await db.SaveChangesAsync();
                     }
-                    await db.SaveChangesAsync();
-                    // mapControl1.DelPosItem(items);
                 }
+                mapControl1.DelPosItem(items);
                 var ds = this.gridHomePosRes.DataSource as List<PosRes>;
-                int count = ds.RemoveAll(m => ids.Contains(m.ID));
+                ds.RemoveAll(m => items.Select(p => p.ID).Contains(m.ID));
                 gridView2.RefreshData();
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,"删除定位点失败");
-                XtraMessageBox.Show("删除定位点失败");
+                Serilog.Log.Error(ex, "删除定位点失败");
+                MsgBoxHelper.ShowError("删除定位点失败!");
             }
         }
-        private void UpdatePosRes(IEnumerable<PosRes> pos)
+        private void UseMirror(IEnumerable<PosRes> pos)
         {
             foreach (var item in pos)
             {
                 var mirrlon = item.MirrLon;
                 var mirrLat = item.MirrLat;
-                if (mirrlon == 999 && mirrLat == 999)
+                if (mirrlon == 999)
                 {
                     continue;
                 }
@@ -380,7 +381,7 @@ namespace XdCxRhDW.App.UserControl
             mapControl1.DelFixedImg("Tx");
             var posItem = (e.Row as PosRes);
             if (posItem == null) return;
-            using (RHDWContext db = new RHDWContext())
+            using (RHDWPartContext db = new RHDWPartContext(posItem.SigTime))
             {
                 var station = db.StationRes.Where(p => p.ID == posItem.StationResID).FirstOrDefault();
                 if (station != null)
@@ -459,15 +460,6 @@ namespace XdCxRhDW.App.UserControl
         private void gridView2_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
         {
             if (gridView2.FocusedRowHandle < 0) return;
-
-            if (!gridView2.GetSelectedRows().Any())
-            {
-                btnDelPos.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
-            {
-                btnDelPos.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
             var posRes = GetPosRes("");
             switch (posRes.PosResType)
             {
@@ -712,35 +704,6 @@ namespace XdCxRhDW.App.UserControl
         }
 
 
-        private async void btnDelPos_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            try
-            {
-                var ids = gridView2.GetSelectedRows();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    foreach (var id in ids)
-                    {
-                        var item = gridView2.GetRow(id) as PosRes;
-                        var delItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (delItem != null)
-                        {
-                            db.PosRes.Remove(delItem);
-                            mapControl1.DelPosItem<PosRes>(item);
-                        }
-                    }
-                    await db.SaveChangesAsync();
-                }
-                gridView2.DeleteSelectedRows();
-
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "删除定位结果异常");
-                DxHelper.MsgBoxHelper.ShowError("删除定位结果异常");
-            }
-        }
-
         private void gridView2_RowClick(object sender, RowClickEventArgs e)
         {
             var p = gridView2.GetFocusedRow() as PosRes;
@@ -752,29 +715,28 @@ namespace XdCxRhDW.App.UserControl
         {
             try
             {
-                var ids = gridView2.GetSelectedRows();
-                if (ids.Length <= 0) return;
+                //var ids = gridView2.GetSelectedRows();
+                //if (ids.Length <= 0) return;
 
-                var fisrtitem = gridView2.GetRow(ids[0]) as PosRes;
-                EditorTar frm = new EditorTar(new TargetInfo() { ID = fisrtitem.TargetID.HasValue ? fisrtitem.TargetID.Value : 0, TargetName = fisrtitem.TarName });
-                if (frm.ShowDialog() != DialogResult.OK) return;
+                //var fisrtitem = gridView2.GetRow(ids[0]) as PosRes;
+                //EditorTar frm = new EditorTar(new TargetInfo() { ID = fisrtitem.TargetID.HasValue ? fisrtitem.TargetID.Value : 0, TargetName = fisrtitem.TarName });
+                //if (frm.ShowDialog() != DialogResult.OK) return;
+                //var tar = frm.info;
+                //using (RHDWContext db = new RHDWContext())
+                //{
+                //    foreach (var id in ids)
+                //    {
+                //        var item = gridView2.GetRow(id) as PosRes;
+                //        var tarItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
+                //        if (tarItem != null)
+                //        {
+                //            item.TargetID = tarItem.TargetID = tar.ID;
+                //            item.TarName = tarItem.TarName = tar.TargetName;
+                //        }
 
-                var tar = frm.info;
-                using (RHDWContext db = new RHDWContext())
-                {
-                    foreach (var id in ids)
-                    {
-                        var item = gridView2.GetRow(id) as PosRes;
-                        var tarItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (tarItem != null)
-                        {
-                            item.TargetID = tarItem.TargetID = tar.ID;
-                            item.TarName = tarItem.TarName = tar.TargetName;
-                        }
-
-                    }
-                    await db.SaveChangesAsync();
-                }
+                //    }
+                //    await db.SaveChangesAsync();
+                //}
             }
             catch (Exception ex)
             {
@@ -911,8 +873,8 @@ namespace XdCxRhDW.App.UserControl
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{item.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{item.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{item.PosResType.GetEnumDisplayName()}时差线失败.PosID={item.ID},SigTime={item.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{item.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 
@@ -926,8 +888,8 @@ namespace XdCxRhDW.App.UserControl
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{item.PosResType.GetEnumDisplayName()}时差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{item.PosResType.GetEnumDisplayName()}时差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{item.PosResType.GetEnumDisplayName()}时差线失败.PosID={item.ID},SigTime={item.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{item.PosResType.GetEnumDisplayName()}时差线失败");
             }
         }
 
@@ -949,34 +911,35 @@ namespace XdCxRhDW.App.UserControl
             try
             {
                 StationRes station;
-                List<SatInfo> listSat = new List<SatInfo>();
                 CgRes cg;
-                using (RHDWContext db = new RHDWContext())
-                {
 
-                    listSat = db.SatInfos.ToList();
+                using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+                {
                     cg = await db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefaultAsync();
-
                     station = await db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefaultAsync();
                 }
                 if (cg == null)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"未找到定位相关的计算[{item.CgResID}]信息");
+                    Serilog.Log.Error($"绘制三星频差线错误,未找到定位关联的参估计信息.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"未找到定位关联的参估计信息");
                     return;
                 }
                 if (station == null)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"站点信息为空!");
+                    Serilog.Log.Error($"绘制三星频差线错误,未找到定位关联的站点信息.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"未找到定位关联的站点信息");
                     return;
                 }
                 if (station.SatTxLon == 0 || station.SatTxLat == 0)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"天线信息为空!");
+                    Serilog.Log.Error($"绘制三星频差线错误,天线信息为空.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"天线信息为空!");
                     return;
                 }
                 if (station.RefLon == 0 || station.RefLat == 0)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"参考站信息为空!");
+                    Serilog.Log.Error($"绘制三星频差线错误,参考站信息为空.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"参考站信息为空!");
                     return;
                 }
                 DfoLineTwoStartOption twoStartOption = new DfoLineTwoStartOption();
@@ -993,16 +956,15 @@ namespace XdCxRhDW.App.UserControl
                 twoStartOption.RefDfo = cg.YbMainDfo.Value - cg.YbAdja1Dfo.Value;
                 var tsDtoLine = DrawDfoLineHelper.DfoLineTwoStart(twoStartOption);
 
-                string msat = string.Empty;
-                string ad1sat = string.Empty;
-                if (cg.MainCode.HasValue)
-                {
-                    msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat; ;
-                }
-                if (cg.Adja1Code.HasValue)
+                List<SatInfo> listSat = null;
+                using (RHDWContext db = new RHDWContext())
                 {
-                    ad1sat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
+                    listSat = await db.SatInfos.ToListAsync();
                 }
+                var msat = listSat?.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat; ;
+                var ad1sat = listSat?.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
+                if (msat == null) msat = cg.MainCode.ToString();
+                if (ad1sat == null) ad1sat = cg.Adja1Code.ToString();
                 mapControl1.DrawDtoPonit($"{item.PosResType.GetEnumDisplayName()}[{msat},{ad1sat}]频差线", tsDtoLine);
 
                 if (item.PosResType == EnumPosResType.X3TwoDfo)
@@ -1021,40 +983,38 @@ namespace XdCxRhDW.App.UserControl
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制{item.PosResType.GetEnumDisplayName()}频差线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{item.PosResType.GetEnumDisplayName()}频差线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制{item.PosResType.GetEnumDisplayName()}频差线失败.PosID={item.ID},SigTime={item.SigTime}");
+                DxHelper.MsgBoxHelper.ShowError($"绘制{item.PosResType.GetEnumDisplayName()}频差线失败");
             }
         }
         private async void DrawCXLine(PosRes item)
         {
-            if (!item.CxResID.HasValue)
-            {
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制测向线未有测向编号!");
-                return;
-            }
             try
             {
                 CxRes cx;
                 StationRes station;
-                using (RHDWContext db = new RHDWContext())
+                using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
                 {
                     cx = await db.CxRes.Where(m => m.ID == item.CxResID.Value).FirstOrDefaultAsync();
                     station = await db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefaultAsync();
                 }
                 if (cx == null)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"未找到定位相关的测向[{item.CxResID.Value}]信息");
+                    Serilog.Log.Error($"绘制测向线错误,未找到定位关联的测向信息.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"未找到定位关联的测向信息");
                     return;
                 }
                 if (station == null)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"站点信息为空!");
+                    Serilog.Log.Error($"绘制测向线错误,未找到定位关联的站点信息.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"未找到定位关联的站点信息!");
                     return;
                 }
 
                 if (station.CxLon == 0 || station.CxLat == 0)
                 {
-                    DxHelper.MsgBoxHelper.ShowWarning($"测向站信息为空!");
+                    Serilog.Log.Error($"绘制测向线错误,测向站信息为空.PosID={item.ID},SigTime={item.SigTime}");
+                    DxHelper.MsgBoxHelper.ShowError($"测向站信息为空!");
                     return;
                 }
                 double deg = cx.Fx;//向北顺时针方向为夹角
@@ -1068,8 +1028,8 @@ namespace XdCxRhDW.App.UserControl
             }
             catch (Exception ex)
             {
-                Serilog.Log.Error(ex,$"绘制测向线失败");
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制测向线失败,失败信息:{ex.Message}");
+                Serilog.Log.Error(ex, $"绘制测向线失败.PosID={item.ID},SigTime={item.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制测向线失败");
             }
         }
 
@@ -1078,7 +1038,7 @@ namespace XdCxRhDW.App.UserControl
             listCts.ForEach(t => t.Cancel());
             listCts.Clear();
             this.gridHomePosRes.DataSource = new List<PosRes>();//先设为空,数据相同时便于观察结果有没有变化
-            if (tsk==null)
+            if (tsk == null)
             {
                 return;
             }
@@ -1121,6 +1081,11 @@ namespace XdCxRhDW.App.UserControl
                 DxHelper.MsgBoxHelper.ShowError($"开始时间不能大于结束时间!");
                 return;
             }
+            if ((txtEndTime.DateTime - txtStartTime.DateTime).TotalDays > 10)
+            {
+                MsgBoxHelper.ShowWarning("时间跨度不能超过10天!");
+                return;
+            }
             listCts.ForEach(t => t.Cancel());
             listCts.Clear();
             var cts = new CancellationTokenSource();
@@ -1134,29 +1099,53 @@ namespace XdCxRhDW.App.UserControl
         {
             try
             {
-                DateTime start, end;
+                DateTime start, end = DateTime.MinValue;
                 if (txtTimeCho.SelectedText == "自定义")
                 {
                     start = txtStartTime.DateTime;
                     end = txtEndTime.DateTime;
+
                 }
                 else
                 {
-                    using (RHDWContext db = new RHDWContext())
+                    var yearDirs = Directory.EnumerateDirectories("DbPart").OrderByDescending(p => Convert.ToInt32(p));//年目录,倒叙排列
+                    foreach (var yearDir in yearDirs)
                     {
-                        end = await db.PosRes.Where(w => w.TaskInfoID == tsk.ID).MaxAsync(m => m.SigTime);
+                        //每一天的db文件,倒序排列
+                        var dayFiles = Directory.EnumerateFiles(yearDir, "*.db").OrderByDescending(p => Convert.ToInt32(p.Substring(0, 4)));
+                        foreach (var dayFile in dayFiles)
+                        {
+                            using (RHDWPartContext db = new RHDWPartContext(dayFile))
+                            {
+                                end = await db.PosRes.Where(p => p.TaskInfoID == tsk.ID).MaxAsync(p => p.SigTime);
+                            }
+                            if (end != DateTime.MinValue)
+                            {
+                                goto skip;
+                            }
+                        }
                     }
+                skip:
                     if (end == DateTime.MinValue)
                     {
                         return new List<PosRes>();//没有数据不查询
                     }
                     start = end.AddHours(-(int)txtTimeCho.EditValue);
                 }
-                using (RHDWContext db = new RHDWContext())
+                DateTime endDay = new DateTime(end.Year, end.Month, end.Day);
+                DateTime startDay = new DateTime(start.Year, start.Month, start.Day);
+                List<PosRes> list = new List<PosRes>();
+                while (endDay >= startDay)
                 {
-                    var posRes = await db.PosRes.Where(w => w.SigTime >= start && w.SigTime <= end && w.TaskInfoID == tsk.ID).OrderByDescending(o => o.SigTime).ToListAsync(ct);
-                    return posRes;
+                    using (RHDWPartContext db = new RHDWPartContext(endDay))
+                    {
+                        var posRes = await db.PosRes.Where(w => w.SigTime >= start && w.SigTime <= end && w.TaskInfoID == tsk.ID).OrderByDescending(o => o.SigTime).ToListAsync(ct);
+                        list.AddRange(posRes);
+                    }
+                    endDay = endDay.AddDays(-1);
                 }
+                return list;
+
             }
             catch (TaskCanceledException) { }//屏蔽掉取消查询的异常
             catch (Exception ex)

+ 3 - 26
XdCxRhDW.App/UserControl/CtrlHome.resx

@@ -158,29 +158,6 @@
         djAuNGwtNC45LTMuMWMtMC44LTAuNS0xLjgtMC40LTIuNSwwLjNjLTAuOCwwLjgtMC44LDIuMSwwLDIu
         OWw5LjMsOS41YzEuMiwxLjMsMywyLjEsNC45LDIuMUgyMyAgIGMzLjMsMCw2LTIuNyw2LTZ2LTR2LTZW
         OEMyOSw2LjksMjguMSw2LDI3LDZ6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <data name="btnDelPos.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJIDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
-        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
-        MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
-        bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8cGF0aCBk
-        PSJNMTguOCwxNmw4LjktOC45YzAuNC0wLjQsMC40LTEsMC0xLjRsLTEuNC0xLjRjLTAuNC0wLjQtMS0w
-        LjQtMS40LDBMMTYsMTMuMkw3LjEsNC4zYy0wLjQtMC40LTEtMC40LTEuNCwwICAgTDQuMyw1LjdjLTAu
-        NCwwLjQtMC40LDEsMCwxLjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQs
-        MS40YzAuNCwwLjQsMSwwLjQsMS40LDBsOC45LTguOWw4LjksOC45ICAgYzAuNCwwLjQsMSwwLjQsMS40
-        LDBsMS40LTEuNGMwLjQtMC40LDAuNC0xLDAtMS40TDE4LjgsMTZ6IiBjbGFzcz0iUmVkIiAvPg0KICA8
-        L2c+DQo8L3N2Zz4L
 </value>
   </data>
   <data name="btnTar.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -224,7 +201,7 @@
   <metadata name="toolTipController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>391, 17</value>
   </metadata>
-  <data name="buttonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="buttonImageOptions7.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -243,7 +220,7 @@
         DQogIDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
-  <data name="buttonImageOptions2.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="buttonImageOptions8.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -264,7 +241,7 @@
         ICA8L2c+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="buttonImageOptions3.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="buttonImageOptions9.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl

+ 0 - 310
XdCxRhDW.App/UserControl/CtrlPosRes.Designer.cs

@@ -1,310 +0,0 @@
-
-namespace XdCxRhDW.App.UserControl
-{
-    partial class CtrlPosRes
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlPosRes));
-            this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
-            this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
-            this.btnDel = new DevExpress.XtraBars.BarButtonItem();
-            this.popupMenu1 = new DevExpress.XtraBars.PopupMenu(this.components);
-            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            this.gridPos = new DevExpress.XtraGrid.GridControl();
-            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.txtStartTime = new DevExpress.XtraEditors.DateEdit();
-            this.txtEndTime = new DevExpress.XtraEditors.DateEdit();
-            this.btnSearch = new DevExpress.XtraEditors.SimpleButton();
-            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
-            this.layoutControl1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.gridPos)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties.CalendarTimeProperties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties.CalendarTimeProperties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // barManager1
-            // 
-            this.barManager1.DockControls.Add(this.barDockControlTop);
-            this.barManager1.DockControls.Add(this.barDockControlBottom);
-            this.barManager1.DockControls.Add(this.barDockControlLeft);
-            this.barManager1.DockControls.Add(this.barDockControlRight);
-            this.barManager1.Form = this;
-            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.btnDel});
-            this.barManager1.MaxItemId = 1;
-            // 
-            // barDockControlTop
-            // 
-            this.barDockControlTop.CausesValidation = false;
-            this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
-            this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlTop.Manager = this.barManager1;
-            this.barDockControlTop.Size = new System.Drawing.Size(659, 0);
-            // 
-            // barDockControlBottom
-            // 
-            this.barDockControlBottom.CausesValidation = false;
-            this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.barDockControlBottom.Location = new System.Drawing.Point(0, 531);
-            this.barDockControlBottom.Manager = this.barManager1;
-            this.barDockControlBottom.Size = new System.Drawing.Size(659, 0);
-            // 
-            // barDockControlLeft
-            // 
-            this.barDockControlLeft.CausesValidation = false;
-            this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlLeft.Manager = this.barManager1;
-            this.barDockControlLeft.Size = new System.Drawing.Size(0, 531);
-            // 
-            // barDockControlRight
-            // 
-            this.barDockControlRight.CausesValidation = false;
-            this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
-            this.barDockControlRight.Location = new System.Drawing.Point(659, 0);
-            this.barDockControlRight.Manager = this.barManager1;
-            this.barDockControlRight.Size = new System.Drawing.Size(0, 531);
-            // 
-            // btnDel
-            // 
-            this.btnDel.Caption = "删除";
-            this.btnDel.Id = 0;
-            this.btnDel.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnDel.ImageOptions.Image")));
-            this.btnDel.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnDel.ImageOptions.LargeImage")));
-            this.btnDel.Name = "btnDel";
-            this.btnDel.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDel_ItemClick);
-            // 
-            // popupMenu1
-            // 
-            this.popupMenu1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnDel)});
-            this.popupMenu1.Manager = this.barManager1;
-            this.popupMenu1.Name = "popupMenu1";
-            // 
-            // layoutControl1
-            // 
-            this.layoutControl1.Controls.Add(this.gridPos);
-            this.layoutControl1.Controls.Add(this.txtStartTime);
-            this.layoutControl1.Controls.Add(this.txtEndTime);
-            this.layoutControl1.Controls.Add(this.btnSearch);
-            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControl1.Name = "layoutControl1";
-            this.layoutControl1.Root = this.Root;
-            this.layoutControl1.Size = new System.Drawing.Size(659, 531);
-            this.layoutControl1.TabIndex = 6;
-            this.layoutControl1.Text = "layoutControl1";
-            // 
-            // gridPos
-            // 
-            this.gridPos.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.gridPos.Location = new System.Drawing.Point(12, 44);
-            this.gridPos.MainView = this.gridView1;
-            this.gridPos.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.gridPos.Name = "gridPos";
-            this.gridPos.Size = new System.Drawing.Size(635, 475);
-            this.gridPos.TabIndex = 5;
-            this.gridPos.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
-            this.gridView1});
-            // 
-            // gridView1
-            // 
-            this.gridView1.DetailHeight = 450;
-            this.gridView1.GridControl = this.gridPos;
-            this.gridView1.Name = "gridView1";
-            this.gridView1.OptionsEditForm.PopupEditFormWidth = 914;
-            // 
-            // txtStartTime
-            // 
-            this.txtStartTime.EditValue = null;
-            this.txtStartTime.Location = new System.Drawing.Point(114, 12);
-            this.txtStartTime.Name = "txtStartTime";
-            this.txtStartTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStartTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStartTime.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
-            this.txtStartTime.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtStartTime.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
-            this.txtStartTime.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtStartTime.Properties.MaskSettings.Set("mask", "yyyy-MM-dd HH:mm:ss");
-            this.txtStartTime.Size = new System.Drawing.Size(196, 28);
-            this.txtStartTime.StyleController = this.layoutControl1;
-            this.txtStartTime.TabIndex = 4;
-            // 
-            // txtEndTime
-            // 
-            this.txtEndTime.EditValue = null;
-            this.txtEndTime.Location = new System.Drawing.Point(416, 12);
-            this.txtEndTime.MenuManager = this.barManager1;
-            this.txtEndTime.Name = "txtEndTime";
-            this.txtEndTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtEndTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtEndTime.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
-            this.txtEndTime.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtEndTime.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
-            this.txtEndTime.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtEndTime.Properties.MaskSettings.Set("mask", "yyyy-MM-dd HH:mm:ss");
-            this.txtEndTime.Size = new System.Drawing.Size(182, 28);
-            this.txtEndTime.StyleController = this.layoutControl1;
-            this.txtEndTime.TabIndex = 6;
-            // 
-            // btnSearch
-            // 
-            this.btnSearch.Location = new System.Drawing.Point(602, 12);
-            this.btnSearch.Name = "btnSearch";
-            this.btnSearch.Size = new System.Drawing.Size(45, 27);
-            this.btnSearch.StyleController = this.layoutControl1;
-            this.btnSearch.TabIndex = 7;
-            this.btnSearch.Text = "查询";
-            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
-            // 
-            // Root
-            // 
-            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-            this.Root.GroupBordersVisible = false;
-            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem1,
-            this.layoutControlItem2,
-            this.layoutControlItem3,
-            this.layoutControlItem4});
-            this.Root.Name = "Root";
-            this.Root.Size = new System.Drawing.Size(659, 531);
-            this.Root.TextVisible = false;
-            // 
-            // layoutControlItem1
-            // 
-            this.layoutControlItem1.Control = this.txtStartTime;
-            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem1.Name = "layoutControlItem1";
-            this.layoutControlItem1.Size = new System.Drawing.Size(302, 32);
-            this.layoutControlItem1.Text = "信号开始时间";
-            this.layoutControlItem1.TextSize = new System.Drawing.Size(90, 18);
-            // 
-            // layoutControlItem2
-            // 
-            this.layoutControlItem2.Control = this.gridPos;
-            this.layoutControlItem2.Location = new System.Drawing.Point(0, 32);
-            this.layoutControlItem2.Name = "layoutControlItem2";
-            this.layoutControlItem2.Size = new System.Drawing.Size(639, 479);
-            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem2.TextVisible = false;
-            // 
-            // layoutControlItem3
-            // 
-            this.layoutControlItem3.Control = this.txtEndTime;
-            this.layoutControlItem3.Location = new System.Drawing.Point(302, 0);
-            this.layoutControlItem3.Name = "layoutControlItem3";
-            this.layoutControlItem3.Size = new System.Drawing.Size(288, 32);
-            this.layoutControlItem3.Text = "信号结束时间";
-            this.layoutControlItem3.TextSize = new System.Drawing.Size(90, 18);
-            // 
-            // layoutControlItem4
-            // 
-            this.layoutControlItem4.Control = this.btnSearch;
-            this.layoutControlItem4.Location = new System.Drawing.Point(590, 0);
-            this.layoutControlItem4.Name = "layoutControlItem4";
-            this.layoutControlItem4.Size = new System.Drawing.Size(49, 32);
-            this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem4.TextVisible = false;
-            // 
-            // CtrlPosRes
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.layoutControl1);
-            this.Controls.Add(this.barDockControlLeft);
-            this.Controls.Add(this.barDockControlRight);
-            this.Controls.Add(this.barDockControlBottom);
-            this.Controls.Add(this.barDockControlTop);
-            this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.Name = "CtrlPosRes";
-            this.Size = new System.Drawing.Size(659, 531);
-            this.Load += new System.EventHandler(this.CtrlPosRes_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
-            this.layoutControl1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.gridPos)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties.CalendarTimeProperties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStartTime.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties.CalendarTimeProperties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndTime.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
-        }
-
-        #endregion
-        private DevExpress.XtraBars.BarManager barManager1;
-        private DevExpress.XtraBars.BarDockControl barDockControlTop;
-        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
-        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
-        private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.PopupMenu popupMenu1;
-        private DevExpress.XtraBars.BarButtonItem btnDel;
-        private DevExpress.XtraLayout.LayoutControl layoutControl1;
-        private DevExpress.XtraEditors.DateEdit txtStartTime;
-        private DevExpress.XtraLayout.LayoutControlGroup Root;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
-        private DevExpress.XtraGrid.GridControl gridPos;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraEditors.DateEdit txtEndTime;
-        private DevExpress.XtraEditors.SimpleButton btnSearch;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
-    }
-}

+ 0 - 115
XdCxRhDW.App/UserControl/CtrlPosRes.cs

@@ -1,115 +0,0 @@
-using DevExpress.XtraBars;
-using DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Views.Grid;
-using ExtensionsDev;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Data.Entity;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Forms;
-using XdCxRhDW.Repostory.EFContext;
-using XdCxRhDW.Repostory.Model;
-
-namespace XdCxRhDW.App.UserControl
-{
-    public partial class CtrlPosRes : DevExpress.XtraEditors.XtraUserControl
-    {
-        public CtrlPosRes()
-        {
-            InitializeComponent();
-            this.layoutControl1.UseDefault();
-        }
-
-        private async void CtrlPosRes_Load(object sender, EventArgs e)
-        {
-            try
-            {
-                gridPos.Init<PosRes>().UseSort().UseFilter().UseMultiSelect().UseRowNumber();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    gridPos.DataSource = await db.PosRes.OrderByDescending(p => p.SigTime).ToListAsync();
-                }
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "查询定位结果异常");
-                DxHelper.MsgBoxHelper.ShowError("查询定位结果异常");
-            }
-        }
-
-        private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
-        {
-            if (gridView1.FocusedRowHandle < 0) return;
-            if (!gridView1.GetSelectedRows().Any())
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
-            popupMenu1.ShowPopup(MousePosition);
-        }
-
-        private async void btnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            try
-            {
-                var ids = gridView1.GetSelectedRows();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    foreach (var id in ids)
-                    {
-                        var item = gridView1.GetRow(id) as PosRes;
-                        var delItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (delItem != null)
-                        {
-                            db.PosRes.Remove(delItem);
-                        }
-                    }
-                    await db.SaveChangesAsync();
-                }
-                gridView1.DeleteSelectedRows();
-
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "删除定位结果异常");
-                DxHelper.MsgBoxHelper.ShowError("删除定位结果异常");
-            }
-        }
-
-        private async void btnSearch_Click(object sender, EventArgs e)
-        {
-
-            if (string.IsNullOrEmpty(txtStartTime.Text) && !string.IsNullOrEmpty(txtEndTime.Text))
-            {
-                DxHelper.MsgBoxHelper.ShowInfo("请输入开始时间");
-                return;
-            }
-            if (!string.IsNullOrEmpty(txtStartTime.Text) && string.IsNullOrEmpty(txtEndTime.Text))
-            {
-                txtEndTime.EditValue = DateTime.Now;
-            }
-            var startTime = Convert.ToDateTime(txtStartTime.EditValue);
-            var endTime = Convert.ToDateTime(txtEndTime.EditValue);
-            using (RHDWContext db = new RHDWContext())
-            {
-                var searchRes = new List<PosRes>();
-                if (string.IsNullOrEmpty(txtStartTime.Text) && string.IsNullOrEmpty(txtEndTime.Text))
-                    searchRes = await db.PosRes.OrderByDescending(p => p.SigTime).ToListAsync();
-                else
-                    searchRes = await db.PosRes.Where(p => p.SigTime >= startTime && p.SigTime <= endTime).OrderByDescending(p => p.SigTime).ToListAsync();
-
-                gridPos.DataSource = searchRes;
-            }
-        }
-    }
-}

+ 0 - 184
XdCxRhDW.App/UserControl/CtrlPosRes.resx

@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>178, 20</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="btnDel.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACl0RVh0VGl0
-        bGUAUmVtb3ZlO0RlbGV0ZTtCYXJzO1JpYmJvbjtTdGFuZGFyZDtjVkgwAAACeElEQVQ4T6WTW0iTYRjH
-        LXdw6nKtm0jaliWlkkrJKrtJb5KROYvMdEtrHqrNQ03zgI1ouF2kUnPqTSeJWVC2K01CyoEHyEGWkYEU
-        HcjoYGu1Sq/+vc+3aV91Vw/8vu99/8/z/2/f9/KFAfgvgpdftZQhCN2XkBAqWoczhAzqcz1+AAmCh6WH
-        zkwfK/s4uDv7CNvTMOmEcLRYZ6Te+OEiK9uLSecHhI8X623vr3RgfnIIU6fr0ZuZaWS6iIY9hfmmmfaz
-        rOfBu0tOjOgL7EwX8gNEE0V63/dRNwK9bZgbvoGJk1W4nKau6tuTW/2yzYZ5bx8CN1sRGOjGxEG9j3kk
-        /ACBa1u68YHJgK/udvi7rfhxrwf3K8rxzG7B3JgbX65aOX04X4tz8QnH6Uf5AfSc4s6k5MoR3T74upsx
-        21WPQP8FfLt9EZ+6GjDbWYdBTQZssSozm40kDz+AikIkdsVa812tBh8cNXhrNTBKuHv/jq1olK+sZzPR
-        DDqloPePgMjzqeraMYMeb6zleFWzf5FRXR5aUtIa2YyU8VcAZ25JSDV7dPmYaa3FdIkG06Uh2Pq19SiG
-        8vbCtj558V/wA0TNaxLNd3Ky8cJShicFGZhiXFunxPWEeG5NPD9RiAFNFizKDQ3M89spRHcoEv1PTQcw
-        mbsdj3LS0ROngFEQfcoojLL0xKkwqU3neFy0C05lkp95ZPyAiKYVKod78yZ4s9RwKVajUiSl540hTOKY
-        JpdKCe/OLbiVshF1cmUH06P4AfRSYmqksQ6bTOmrCJqXhXSuZ4xY3sR6n6ulq5xsLyedH0BFg3S+MoYk
-        tF+ohR4Z6QXShxX00uXfQdhPmOi/wI4pGN8AAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="btnDel.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACl0RVh0VGl0
-        bGUAUmVtb3ZlO0RlbGV0ZTtCYXJzO1JpYmJvbjtTdGFuZGFyZDtjVkgwAAAH1klEQVRYR8WWe1RVVR7H
-        rzWTJSimiDQoXBB8XEF5KAqooMhDAVEBHQcZy1R8BKmAgoCggshDFDELRkB80SJsQT7CUBDE14gilK6k
-        iIsP0CBFc6TVxPnO73cu5ybc66r+mX5rfdibffb+fb97n733uTIAfypaG/+fqP5ojz7EK91w/Y8E9+89
-        XiPHywxIA/9K9O2G67/XCPd5lXiNeKMbzsFtPcZrMyAN7lu5cGGoMnlHpzI5qbMiIOA9anu9+1mfG4sX
-        y5jaxYEqAlXwM+IvxBtlfvNDGhMTOxsTEjpL585dR239up+pTfQ2IIm/fm6Bf+SdvWn47706EeWeFJzx
-        8wujZzwb0UTXg69kIq3Ml9SkFu93ytd3fdOuJPysvIafm2rwHdVPzfGNpmc63X1EE9oMvFbu57e+mcR/
-        ulmNJ6WF6Dh+BD/VVaApIwWlvj1n8ktLveyX+/VUVYvrfObtE9aYnoTnV79A+6EP0JadimdVxWjcuR0n
-        vLwjqA+vJL9ODQOvTJLLdRvi4zufXzuDjpLDeFyUK/KoKAfPa8rAiY97+fBKvDgTtXjxbK+wb1MT8J/L
-        pWjLy8CDfUl4uDcRrRnb0PH5UdyKiu4ca2ioR315FTUMvOplMXLgxWUrnrQX5eOHgqxfOfoR2o98SIlP
-        gQWKZ81mE7oEbzRG95jHrPCG5G14duEk2vanozWThbeidVc8WtJicTc5GtVLlz9zNjYZzFqE5goQffdZ
-        2bxdGRTY1XYgE2353RzYg+/zmAz8eL4EDTu24hM3z3DqP5ApdPOIuJ20BT9WleBhVipadm3B/fQ43Cfh
-        e8mbcGd7JM76enftVox/l/rzPtL6Cngp2Vm/3WMsV1YsWtj1IDsND/+1Ew+zmTQ8yCI+SsHTs0X4OiEO
-        h6a7Rh1ycY26lbAZTys+ResHSbi/czPupsTg7g4STtyI5m3hOO3l2ZVsPnoN5e5P8JFmLQ0DHNL71E0Z
-        MWp12fx5XS17t4uJuWyhZW3ZQ2Qk4DG905vx0SIdZYViGy8zz/ZOwgY0bw2HMm4dTrrNFBLk5nyMBxBq
-        cQ4NAzkWCi64A3fsv93EfPXnPt5dd9PjcY/ZGYd7aTTDVNUsfyg+gEcnDlNbHM10A5Q0W2X8ejSRcGN0
-        KEpcnIW4v5mEUC7eeLxXelxmGgay5SNlTyuOcVUyMSB+mHzNCU+PruakKNwhmmmGzYmRUNIsldsioNwS
-        hiYWjV2L72JCSTgE325chSInRyFqiFEo5eB9ohbfa2RKhSo0DOwbZibr+KJA1nG6gP9Vm4geahRyzGGS
-        cHtNEL6JCEbjhlVojFqDRkkwYiUa1r2L26FLcGtZAD62Hi9EDBr6Po3tId5ekifbPXQYVVWhYWDPW8ay
-        RycOEvmyR8fzuUk8GYR+mL5hWKGtjVC/0BNfMgs8UB+goi7AHfX+7qjzd8MRxRjhPb3BfOEYENKl06et
-        MEvG7BxsSP+qQsPASRc3Wfun+2Xtx/bzv7wCPJiTDMmwsd98cclifBU0Fzfmu3UzE7XzXFE7nxDLmaj6
-        ewDSrOziacxQQjpyfR4czpQxqQPZlyo0DHw2xVX2fcE+rkrivHxvZlrbb7q0fCmUyVGoW+SF63Nn4Lov
-        Mx3X5kzHdR8XKp1R4+OMbzatxvklQUi3nBBDY/nS4RUUTbTkpMk+mTCFqqrQMFDs4MKFJM4DB+0eNyG6
-        +p1/oikhHLULPFHjTULe04ipqPGaiqte03B1NpUSs6bg6/DlqAxchFSFTSzlYBPqL+nHto5UqELDAEUP
-        8XRL25iqoEA0xq1FrZ8b/k3JRTydcIXxYBy7ccAVdwdcdp+My26TcTNkCcoXBCBp1LjNlEufUO8HQoze
-        BnqIpylsYug2RAMt6TVack5+RUxOIiRwaeZk5I0wFZiLMybhkqu9ihkTqZyIi1TWBy9C2bx5SDC3jKOc
-        Q4geJrQZ4Hc+KGW0dcxZfz9ayhW01C6/Jic48QWXicgzkwsrdPRimQMWI4Rq5wnUbkfY4oKzLaqn2RG2
-        uPGOH0q9vbHVbKxkgieoYYAb+B31T7SwCjvtMwe33n8bV2ZNpYSqxNXOlJw4T4lzTU2ENboDN1J/I2a1
-        7sDIPPMRQtUUa5xXM16kymkcrv3DB8dd3RErH72B+vOtKH7KexvgS0f/qJ1zR11wIC7TO66eaoPzIpSQ
-        qHKyRo7cWBLn88Q/ThgDNpFrZiqcc7BCJXFuMmOJc5NUXPbzQL6V4xPqy8dT/CZoNXDQ2qnt4mxnElO5
-        r3JkKBklzTEZLrAQ9WNx6ecZw3WDVbp6UbmmcqHcXoGKiYT9GKjqY3BmoiVyFfbt3I/QaoATDYg0Hhlc
-        aGMvVDqw87GoIMqJ/cbDeotLm4nhOrcNXamjtylXbiKcsRuFs0S5LZXE4VFWwjpD09XUh69n8Ui+aICD
-        E/Em1I8wMl9bYGUjlNkpcGaCAllGRlrFa5cFyGqX+lO1hwlDNpE9fLhwevxIlI6zwEGLsUKogZx/RfHy
-        SxeTSruXAX4gXr1hb5mt/FBu1U48CtbR4+85i6uPUbKevuxFuK37mbgSy3X0QjOHKx5nDlO0hxiY8I+R
-        HlczoWGAQ0rCLnm38iCGl01yLg5+Sbw4/k2CvzwM19W3ISGGNgMcUhI+KvxKGK7/lrgUv3v8ywxIwZ1f
-        5I/Gb45XG/jzgOx/2ZzKgxEwf90AAAAASUVORK5CYII=
-</value>
-  </data>
-  <metadata name="popupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>23, 19</value>
-  </metadata>
-</root>

+ 21 - 16
XdCxRhDW.App/UserControl/CtrlXl.cs

@@ -45,11 +45,7 @@ namespace XdCxRhDW.App.UserControl
             try
             {
                 list.Clear();
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var res = db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ);
-                    list.AddRange(await res.ToListAsync());
-                }
+                list.AddRange(await XlCache.GetAllAsync());
                 gridView1.RefreshData();
             }
             catch (Exception ex)
@@ -96,25 +92,34 @@ namespace XdCxRhDW.App.UserControl
                         xl.TimeBJ = dt.AddHours(8);
                         tmp.Add(xl);
                     }
-                    using (RHDWContext db = new RHDWContext())
+                    var groupData = tmp.GroupBy(p => p.TimeBJ.ToString("yyyyMMdd"));
+                    foreach (var items in groupData)
                     {
-                        foreach (var item in db.XlInfos)
+                        using (RHDWPartContext db = new RHDWPartContext(items.First().TimeBJ))
                         {
-                            var findItem = tmp.Find(p => p.SatCode == item.SatCode && p.TimeBJ == item.TimeBJ);
-                            if (findItem != null)
+                            foreach (var item in items)
                             {
-                                item.Line1 = findItem.Line1;
-                                item.Line2 = findItem.Line2;
-                                item.UpdateTime = DateTime.Now;
+                                var findItem = await db.XlInfos.FirstOrDefaultAsync(p => p.SatCode == item.SatCode && p.TimeBJ == item.TimeBJ);
+                                if (findItem != null)
+                                {
+                                    findItem.Line1 = item.Line1;
+                                    findItem.Line2 = item.Line2;
+                                    findItem.UpdateTime = item.UpdateTime;
+                                    db.XlInfos.AddOrUpdate(findItem);
+                                }
+                                else
+                                {
+                                    db.XlInfos.Add(item);
+                                }
                             }
-                            tmp.Remove(findItem);
+                            await db.SaveChangesAsync();
                         }
-                        db.XlInfos.AddRange(tmp);
-                        await db.SaveChangesAsync();
+
                     }
-                    await LoadData();
+                   
                    
                 });
+                await LoadData();
                 Serilog.Log.Information("星历导入成功");
                 DxHelper.MsgBoxHelper.ShowInfo("星历导入成功");
             }

+ 1 - 3
XdCxRhDW.App/UserControl/X1D1GDOPParam.cs

@@ -43,10 +43,8 @@ namespace XdCxRhDW.App.UserControl
             List<string> xlall = new List<string>();
             string mainTle = string.Empty;
             string adjaTle = string.Empty;
-            using (RHDWContext db = new RHDWContext())
+            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
             {
-                var sats = db.SatInfos.ToList();
-
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
                 if (station != null)

+ 5 - 10
XdCxRhDW.App/UserControl/X2D1GDOPParam.cs

@@ -51,7 +51,7 @@ namespace XdCxRhDW.App.UserControl
             List<SatInfo> sats = null;
             using (RHDWContext db = new RHDWContext())
             {
-                 sats = db.SatInfos.ToList();
+                sats = db.SatInfos.ToList();
             }
             using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
             {
@@ -63,9 +63,8 @@ namespace XdCxRhDW.App.UserControl
                     this.txtStationLocation1.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
                     this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
                 }
-                 
-                var xlall = XlCache.GetAll().Select(p => p.TwoLine).ToList();
-                if (xlall.Count() == 0) return;
+                var xlList = XlCache.GetAll();
+                if (xlList.Count == 0) return;
                 if (cg.MainCode.HasValue && xlList.Any(m => m.SatCode == cg.MainCode.Value))
                 {
                     mainTle = xlList.First(m => m.SatCode == cg.MainCode.Value).TwoLine;
@@ -83,13 +82,9 @@ namespace XdCxRhDW.App.UserControl
                 {
                     adjaTle = xlList.First().TwoLine;
                 }
+                txtTleMain.UseDefault().SetStringData(xlList.Select(p => p.TwoLine)).Text = mainTle;
+                txtTleAdja.UseDefault().SetStringData(xlList.Select(p => p.TwoLine)).Text = adjaTle;
             }
-
-
-            txtTleMain.UseDefault().SetStringData(xlall).Text = mainTle;
-            txtTleAdja.UseDefault().SetStringData(xlall).Text = adjaTle;
-
-
         }
 
 

+ 1 - 2
XdCxRhDW.App/UserControl/X2DFGDOPParam.cs

@@ -46,9 +46,8 @@ namespace XdCxRhDW.App.UserControl
             List<string> xlall = new List<string>();
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
-            using (RHDWContext db = new RHDWContext())
+            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
             {
-                var sats = db.SatInfos.ToList();
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
                 if (station != null)

+ 1 - 2
XdCxRhDW.App/UserControl/X3DFGDOPParam .cs

@@ -48,9 +48,8 @@ namespace XdCxRhDW.App.UserControl
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
             string adjaTle2 = string.Empty;
-            using (RHDWContext db = new RHDWContext())
+            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
             {
-                var sats = db.SatInfos.ToList();
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
                 if (station != null)

+ 1 - 2
XdCxRhDW.App/UserControl/X3GDOPParam.cs

@@ -47,9 +47,8 @@ namespace XdCxRhDW.App.UserControl
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
             string adjaTle2 = string.Empty;
-            using (RHDWContext db = new RHDWContext())
+            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
             {
-                var sats = db.SatInfos.ToList();
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
                 if (station != null)

+ 0 - 18
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -362,24 +362,12 @@
     <Compile Include="UserControl\CtrlCgRes.Designer.cs">
       <DependentUpon>CtrlCgRes.cs</DependentUpon>
     </Compile>
-    <Compile Include="UserControl\CtrlCxRes.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\CtrlCxRes.Designer.cs">
-      <DependentUpon>CtrlCxRes.cs</DependentUpon>
-    </Compile>
     <Compile Include="UserControl\CtrlHome.cs">
       <SubType>UserControl</SubType>
     </Compile>
     <Compile Include="UserControl\CtrlHome.Designer.cs">
       <DependentUpon>CtrlHome.cs</DependentUpon>
     </Compile>
-    <Compile Include="UserControl\CtrlPosRes.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\CtrlPosRes.Designer.cs">
-      <DependentUpon>CtrlPosRes.cs</DependentUpon>
-    </Compile>
     <Compile Include="UserControl\CtrlTarget.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -502,15 +490,9 @@
       <DependentUpon>CtrlCgRes.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\CtrlCxRes.resx">
-      <DependentUpon>CtrlCxRes.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlHome.resx">
       <DependentUpon>CtrlHome.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\CtrlPosRes.resx">
-      <DependentUpon>CtrlPosRes.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlTarget.resx">
       <DependentUpon>CtrlTarget.cs</DependentUpon>
     </EmbeddedResource>

+ 31 - 6
XdCxRhDW.App/XlCache.cs

@@ -1,5 +1,7 @@
 using System;
 using System.Collections.Generic;
+using System.Data.Entity;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -10,20 +12,43 @@ namespace XdCxRhDW.App
 {
     public static class XlCache
     {
-        public static IEnumerable<XlInfo> GetAll()
+        public static  List<XlInfo> GetAll()
         {
             try
             {
                 DateTime now = DateTime.Now;
-                IEnumerable<XlInfo> xlInfos = null;
+                List<XlInfo> xlInfos = new List<XlInfo>();
                 for (int i = 0; i < 30; i++)
                 {
                     using (RHDWPartContext db = new RHDWPartContext(now.AddDays(-i)))
                     {
-                        if (xlInfos == null)
-                            xlInfos = db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ);
-                        else
-                            xlInfos = xlInfos.Concat(db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ));
+                        var items =  db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ).ToList();
+                        xlInfos.AddRange(items);
+                    }
+                }
+                return xlInfos;
+
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "加载星历信息异常");
+                return null;
+            }
+        }
+        public static async Task<List<XlInfo>> GetAllAsync()
+        {
+            try
+            {
+                DateTime now = DateTime.Now;
+                List<XlInfo> xlInfos = new List<XlInfo>();
+                for (int i = 0; i < 30; i++)
+                {
+                    var day = now.AddDays(-i);
+                    if (!File.Exists($@"DbPart\{day:yyyy}\{day:MMdd}.db")) continue;
+                    using (RHDWPartContext db = new RHDWPartContext(day))
+                    {
+                        var items=await db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ).ToListAsync();
+                        xlInfos.AddRange(items);
                     }
                 }
                 return xlInfos;

+ 22 - 7
XdCxRhDW.Repostory/EFContext/RHDWContext.cs

@@ -8,9 +8,14 @@ using SQLite.CodeFirst;
 using System.Data.Entity.ModelConfiguration.Conventions;
 using System.Data.Entity.Infrastructure.Interception;
 using XdCxRhDW.Repostory.Model;
+using System.IO;
 
 namespace XdCxRhDW.Repostory.EFContext
 {
+
+    /// <summary>
+    /// 基础表上下文(id为int)
+    /// </summary>
     public class RHDWContext: DbContext
     {
         public RHDWContext() : base("DbCon") //配置使用的连接名
@@ -51,24 +56,34 @@ namespace XdCxRhDW.Repostory.EFContext
 
     }
 
+    /// <summary>
+    /// 分区表上下文(id为long)
+    /// </summary>
     public class RHDWPartContext : DbContext
     {
+
         /// <summary>
         /// 分区表构造函数
         /// </summary>
-        /// <param name="dayString">日期字符,格式如20240305</param>
-        public RHDWPartContext(string dayString)
+        /// <param name="dayStr">db文件名称(含绝对路径)</param>
+        public RHDWPartContext(string dbFile)
         {
-            base.Database.Connection.ConnectionString= $"Data Source=|DataDirectory|\\Part{dayString}.db";
+            string dayStr = Path.GetFileNameWithoutExtension(dbFile);
+            FileInfo f = new FileInfo(dbFile);
+            var year = Path.GetFileName(f.Directory.Parent.Name);
+            Directory.CreateDirectory("DbPart");
+            Directory.CreateDirectory($"DbPart\\{year}");
+            base.Database.Connection.ConnectionString = $"Data Source=|DataDirectory|\\DbPart\\{year}\\{dayStr}";
         }
-
         /// <summary>
         /// 分区表构造函数
         /// </summary>
         /// <param name="sigTime">信号时刻</param>
         public RHDWPartContext(DateTime sigTime)
-            :this(sigTime.ToString("yyyyMMdd"))
         {
+            Directory.CreateDirectory("DbPart");
+            Directory.CreateDirectory($"DbPart\\{sigTime.Year}");
+            base.Database.Connection.ConnectionString = $"Data Source=|DataDirectory|\\DbPart\\{sigTime.Year}\\{sigTime:MMdd}.db";
         }
 
         protected override void OnModelCreating(DbModelBuilder modelBuilder)
@@ -78,9 +93,9 @@ namespace XdCxRhDW.Repostory.EFContext
             };
 
             modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
-            modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);
+            modelBuilder.Configurations.AddFromAssembly(typeof(RHDWPartContext).Assembly);
 
-            var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWContext>(modelBuilder);
+            var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWPartContext>(modelBuilder);
             Database.SetInitializer(sqliteConnectionInitializer);
             DbInterception.Add(new SqliteInterceptor());//拦截器
             base.OnModelCreating(modelBuilder);