zoulei 1 year ago
parent
commit
fd32def31f

+ 12 - 66
XdCxRhDW.App/App.config

@@ -1,73 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-	<configSections>
-		<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-		<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-		<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
-			<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-		</sectionGroup>
-	</configSections>
-	<applicationSettings>
-		<DevExpress.LookAndFeel.Design.AppSettings>
-			<setting name="DefaultAppSkin" serializeAs="String">
-				<value>CompactSkin/WXI</value>
-			</setting>
-			<setting name="DefaultPalette" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="TouchUI" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="CompactUI" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="TouchScaleFactor" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="DirectX" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="RegisterUserSkins" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="RegisterBonusSkins" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="FontBehavior" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="DefaultAppFont" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="DPIAwarenessMode" serializeAs="String">
-				<value></value>
-			</setting>
-			<setting name="CustomPaletteCollection" serializeAs="Xml">
-				<value />
-			</setting>
-		</DevExpress.LookAndFeel.Design.AppSettings>
-	</applicationSettings>
-	<startup>
-		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
-	</startup>
-	<entityFramework>
-		<providers>
-			<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-			<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
-			<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
-		</providers>
-	</entityFramework>
-	<system.data>
-		<DbProviderFactories>
-			<remove invariant="System.Data.SQLite.EF6" />
-			<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-			<remove invariant="System.Data.SQLite" />
-			<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
-		</DbProviderFactories>
-	</system.data>
 	<connectionStrings>
 		<add name="DbCon" connectionString="Data Source=|DataDirectory|\Database.db" providerName="System.Data.SQLite.EF6" />
-		<add name="DbConPart" connectionString="Data Source=|DataDirectory|\Database.db" providerName="System.Data.SQLite.EF6" />
+		<add name="DbConPart" connectionString="Data Source=|DataDirectory|\Database2.db" providerName="System.Data.SQLite.EF6" />
 	</connectionStrings>
 	<appSettings>
 		<!--程序标题-->
@@ -77,6 +12,9 @@
 		<!--本机IP,没有则由程序自动获取-->
 		<add key="LocalIP" value="" />
 	</appSettings>
+	<startup>
+		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+	</startup>
 	<runtime>
 		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 			<dependentAssembly>
@@ -127,6 +65,14 @@
 				<assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 				<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
 			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+				<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+				<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+			</dependentAssembly>
 		</assemblyBinding>
 	</runtime>
 </configuration>

+ 1 - 1
XdCxRhDW.App/EditForms/SatEditor.cs

@@ -37,7 +37,7 @@ namespace XdCxRhDW.App.EditForms
         private async void SatEditor_Load(object sender, EventArgs e)
         {
             List<string> list = new List<string>();
-            using (RHDWPartContext db = new RHDWPartContext(DateTime.MinValue))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(DateTime.MinValue))
             {
                 var res = await db.XlInfos.OrderBy(p => p.SatName).ToListAsync();
                 if (res != null)

+ 1 - 1
XdCxRhDW.App/EditForms/X1D1DTOParamEditor.cs

@@ -68,7 +68,7 @@ namespace XdCxRhDW.App.EditForms
             {
                 listSat = await db.SatInfos.ToListAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
             {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();

+ 1 - 1
XdCxRhDW.App/EditForms/X2D1DTOParamEditor.cs

@@ -68,7 +68,7 @@ namespace XdCxRhDW.App.EditForms
             {
                 listSat = await db.SatInfos.ToListAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
             {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();

+ 1 - 1
XdCxRhDW.App/EditForms/X2DTOParamEditor.cs

@@ -62,7 +62,7 @@ namespace XdCxRhDW.App.EditForms
             {
                 listSat = await db.SatInfos.ToListAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
             {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();

+ 1 - 1
XdCxRhDW.App/EditForms/X3DTOParamEditor.cs

@@ -61,7 +61,7 @@ namespace XdCxRhDW.App.EditForms
             {
                 listSat = await db.SatInfos.ToListAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(info.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
             {
                 cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
                 station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();

+ 2 - 1
XdCxRhDW.App/ExtensionsDev/ChooseFileExtension.cs

@@ -10,12 +10,13 @@ namespace ExtensionsDev
 {
     public static class ChooseFileExtension
     {
-        public static void UseChooseFile(this ButtonEdit ctrl)
+        public static ButtonEdit UseChooseFile(this ButtonEdit ctrl)
         {
             ctrl.AllowDrop = true;
             ctrl.DragEnter += ctrl_DragEnter;
             ctrl.DragDrop += ctrl_DragDrop;
             ctrl.ButtonClick += Ctrl_ButtonClick;
+            return ctrl;
         }
 
         private static void Ctrl_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

+ 1 - 1
XdCxRhDW.App/MainForm.cs

@@ -102,7 +102,7 @@ namespace XdCxRhDW
                         var groupData = tmp.GroupBy(p => p.TimeBJ.ToString("yyyyMMdd"));
                         foreach (var items in groupData)
                         {
-                            using (RHDWPartContext db = new RHDWPartContext(items.First().TimeBJ))
+                            using (RHDWPartContext db = RHDWPartContext.GetContext(items.First().TimeBJ))
                             {
                                 foreach (var item in items)
                                 {

+ 115 - 64
XdCxRhDW.App/UserControl/CtrlCgRes.Designer.cs

@@ -30,33 +30,39 @@ namespace XdCxRhDW.App.UserControl
         private void InitializeComponent()
         {
             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.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.txtStartTime = new DevExpress.XtraEditors.DateEdit();
             this.txtTimeCho = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.txtStartTime = new DevExpress.XtraEditors.DateEdit();
             this.txtEndTime = new DevExpress.XtraEditors.DateEdit();
+            this.btnSearch = new DevExpress.XtraEditors.SimpleButton();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             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();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.txtTask = new DevExpress.XtraEditors.SearchLookUpEdit();
+            this.searchLookUpEdit1View = new DevExpress.XtraGrid.Views.Grid.GridView();
             ((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.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTimeCho.Properties)).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.layoutControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).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();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTask.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -66,6 +72,7 @@ namespace XdCxRhDW.App.UserControl
             this.layoutControl1.Controls.Add(this.txtStartTime);
             this.layoutControl1.Controls.Add(this.txtEndTime);
             this.layoutControl1.Controls.Add(this.btnSearch);
+            this.layoutControl1.Controls.Add(this.txtTask);
             this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.layoutControl1.Location = new System.Drawing.Point(0, 0);
             this.layoutControl1.Name = "layoutControl1";
@@ -74,21 +81,6 @@ namespace XdCxRhDW.App.UserControl
             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.Location = new System.Drawing.Point(2, 30);
@@ -104,32 +96,10 @@ namespace XdCxRhDW.App.UserControl
             this.gridView1.GridControl = this.gridCg;
             this.gridView1.Name = "gridView1";
             // 
-            // 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;
-            // 
-            // txtStartTime
-            // 
-            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;
-            // 
             // txtTimeCho
             // 
             this.txtTimeCho.EditValue = 1;
-            this.txtTimeCho.Location = new System.Drawing.Point(59, 4);
+            this.txtTimeCho.Location = new System.Drawing.Point(309, 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)});
@@ -144,10 +114,23 @@ namespace XdCxRhDW.App.UserControl
             this.txtTimeCho.StyleController = this.layoutControl1;
             this.txtTimeCho.TabIndex = 11;
             // 
+            // txtStartTime
+            // 
+            this.txtStartTime.EditValue = null;
+            this.txtStartTime.Location = new System.Drawing.Point(469, 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;
+            // 
             // txtEndTime
             // 
             this.txtEndTime.EditValue = null;
-            this.txtEndTime.Location = new System.Drawing.Point(429, 4);
+            this.txtEndTime.Location = new System.Drawing.Point(679, 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)});
@@ -157,12 +140,46 @@ namespace XdCxRhDW.App.UserControl
             this.txtEndTime.StyleController = this.layoutControl1;
             this.txtEndTime.TabIndex = 8;
             // 
+            // btnSearch
+            // 
+            this.btnSearch.Location = new System.Drawing.Point(834, 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 = "查询";
+            // 
+            // 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.layoutControlItem1});
+            this.layoutControlGroup1.Name = "Root";
+            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;
+            // 
+            // 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;
+            // 
             // layoutControlItem3
             // 
             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.Location = new System.Drawing.Point(250, 0);
             this.layoutControlItem3.MaxSize = new System.Drawing.Size(160, 28);
             this.layoutControlItem3.MinSize = new System.Drawing.Size(160, 28);
             this.layoutControlItem3.Name = "layoutControlItem3";
@@ -179,7 +196,7 @@ namespace XdCxRhDW.App.UserControl
             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.Location = new System.Drawing.Point(410, 0);
             this.layoutControlItem4.MaxSize = new System.Drawing.Size(210, 28);
             this.layoutControlItem4.MinSize = new System.Drawing.Size(210, 28);
             this.layoutControlItem4.Name = "layoutControlItem4";
@@ -197,7 +214,7 @@ namespace XdCxRhDW.App.UserControl
             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.Location = new System.Drawing.Point(620, 0);
             this.layoutControlItem5.MaxSize = new System.Drawing.Size(210, 28);
             this.layoutControlItem5.MinSize = new System.Drawing.Size(210, 28);
             this.layoutControlItem5.Name = "layoutControlItem5";
@@ -210,31 +227,59 @@ namespace XdCxRhDW.App.UserControl
             this.layoutControlItem5.TextToControlDistance = 5;
             this.layoutControlItem5.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
-            // 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.Location = new System.Drawing.Point(830, 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.Size = new System.Drawing.Size(263, 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;
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.txtTask;
+            this.layoutControlItem1.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem1.CustomizationFormText = "时间选择";
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem1.MaxSize = new System.Drawing.Size(250, 0);
+            this.layoutControlItem1.MinSize = new System.Drawing.Size(250, 28);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(250, 28);
+            this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem1.Spacing = new DevExpress.XtraLayout.Utils.Padding(4, 0, 2, 0);
+            this.layoutControlItem1.Text = "任务";
+            this.layoutControlItem1.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(24, 14);
+            this.layoutControlItem1.TextToControlDistance = 5;
+            // 
+            // txtTask
+            // 
+            this.txtTask.EditValue = 1;
+            this.txtTask.Location = new System.Drawing.Point(35, 4);
+            this.txtTask.Name = "txtTask";
+            this.txtTask.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtTask.Properties.NullText = "";
+            this.txtTask.Properties.PopupSizeable = false;
+            this.txtTask.Properties.PopupView = this.searchLookUpEdit1View;
+            this.txtTask.Size = new System.Drawing.Size(213, 22);
+            this.txtTask.StyleController = this.layoutControl1;
+            this.txtTask.TabIndex = 11;
+            // 
+            // searchLookUpEdit1View
+            // 
+            this.searchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            this.searchLookUpEdit1View.Name = "searchLookUpEdit1View";
+            this.searchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = false;
+            this.searchLookUpEdit1View.OptionsView.ShowGroupPanel = false;
             // 
             // CtrlCgRes
             // 
@@ -246,19 +291,22 @@ namespace XdCxRhDW.App.UserControl
             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.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTimeCho.Properties)).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.layoutControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).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();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTask.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -277,5 +325,8 @@ namespace XdCxRhDW.App.UserControl
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
         private DevExpress.XtraEditors.SimpleButton btnSearch;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraEditors.SearchLookUpEdit txtTask;
+        private DevExpress.XtraGrid.Views.Grid.GridView searchLookUpEdit1View;
     }
 }

+ 12 - 11
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -273,7 +273,7 @@ namespace XdCxRhDW.App.UserControl
                 foreach (var groupItem in groupItems)
                 {
                     var ids = groupItem.Select(m => m.ID).ToList();
-                    using (RHDWPartContext db = new RHDWPartContext(groupItem.First().SigTime))
+                    using (RHDWPartContext db = RHDWPartContext.GetContext(groupItem.First().SigTime))
                     {
                         var array = await db.PosRes.Where(p => ids.Contains(p.ID)).ToArrayAsync();
                         UseMirror(array);
@@ -309,7 +309,7 @@ namespace XdCxRhDW.App.UserControl
                 foreach (var groupItem in groupItems)
                 {
                     var ids = groupItem.Select(m => m.ID).ToList();
-                    using (RHDWPartContext db = new RHDWPartContext(groupItem.First().SigTime))
+                    using (RHDWPartContext db = RHDWPartContext.GetContext(groupItem.First().SigTime))
                     {
                         List<PosRes> list = await db.PosRes.Where(p => ids.Contains(p.ID)).ToListAsync();
                         db.PosRes.RemoveRange(list);
@@ -381,7 +381,7 @@ namespace XdCxRhDW.App.UserControl
             mapControl1.DelFixedImg("Tx");
             var posItem = (e.Row as PosRes);
             if (posItem == null) return;
-            using (RHDWPartContext db = new RHDWPartContext(posItem.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(posItem.SigTime))
             {
                 var station = db.StationRes.Where(p => p.ID == posItem.StationResID).FirstOrDefault();
                 if (station != null)
@@ -913,7 +913,7 @@ namespace XdCxRhDW.App.UserControl
                 StationRes station;
                 CgRes cg;
 
-                using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+                using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
                 {
                     cg = await db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefaultAsync();
                     station = await db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefaultAsync();
@@ -993,7 +993,7 @@ namespace XdCxRhDW.App.UserControl
             {
                 CxRes cx;
                 StationRes station;
-                using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+                using (RHDWPartContext db = RHDWPartContext.GetContext(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();
@@ -1104,20 +1104,20 @@ namespace XdCxRhDW.App.UserControl
                 {
                     start = txtStartTime.DateTime;
                     end = txtEndTime.DateTime;
-
                 }
                 else
                 {
-                    var yearDirs = Directory.EnumerateDirectories("DbPart").OrderByDescending(p => Convert.ToInt32(p));//年目录,倒叙排列
+                    var yearDirs = Directory.EnumerateDirectories("DbPart").OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name));//年目录,倒叙排列
                     foreach (var yearDir in yearDirs)
                     {
                         //每一天的db文件,倒序排列
-                        var dayFiles = Directory.EnumerateFiles(yearDir, "*.db").OrderByDescending(p => Convert.ToInt32(p.Substring(0, 4)));
+                        var dayFiles = Directory.EnumerateFiles(yearDir, "*.db").OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name.Substring(0, 4)));
                         foreach (var dayFile in dayFiles)
                         {
-                            using (RHDWPartContext db = new RHDWPartContext(dayFile))
+                            using (RHDWPartContext db = RHDWPartContext.GetContext(dayFile))
                             {
-                                end = await db.PosRes.Where(p => p.TaskInfoID == tsk.ID).MaxAsync(p => p.SigTime);
+                                if (db.PosRes.Any(p => p.TaskInfoID == tsk.ID))
+                                    end = await db.PosRes.Where(p => p.TaskInfoID == tsk.ID).MaxAsync(p => p.SigTime);
                             }
                             if (end != DateTime.MinValue)
                             {
@@ -1137,7 +1137,7 @@ namespace XdCxRhDW.App.UserControl
                 List<PosRes> list = new List<PosRes>();
                 while (endDay >= startDay)
                 {
-                    using (RHDWPartContext db = new RHDWPartContext(endDay))
+                    using (RHDWPartContext db = RHDWPartContext.GetContext(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);
@@ -1151,6 +1151,7 @@ namespace XdCxRhDW.App.UserControl
             catch (Exception ex)
             {
                 Serilog.Log.Error(ex, "定位结果查询异常");
+                MsgBoxHelper.ShowError("定位结果查询异常");
             }
             return new List<PosRes>();
         }

+ 9 - 16
XdCxRhDW.App/UserControl/CtrlXl.Designer.cs

@@ -39,14 +39,13 @@
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.xtraOpenFileDialog1 = new DevExpress.XtraEditors.XtraOpenFileDialog(this.components);
             this.popupMenu1 = new DevExpress.XtraBars.PopupMenu(this.components);
+            this.btnDel = new DevExpress.XtraBars.BarButtonItem();
             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.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.gridXl)).BeginInit();
@@ -110,7 +109,6 @@
             this.btnOpen.Size = new System.Drawing.Size(459, 24);
             this.btnOpen.StyleController = this.layoutControl1;
             this.btnOpen.TabIndex = 4;
-            this.btnOpen.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.btnOpen_ButtonClick);
             // 
             // Root
             // 
@@ -158,10 +156,6 @@
             this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem3.TextVisible = false;
             // 
-            // xtraOpenFileDialog1
-            // 
-            this.xtraOpenFileDialog1.Filter = "文本文件|*.txt";
-            // 
             // popupMenu1
             // 
             this.popupMenu1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
@@ -169,6 +163,14 @@
             this.popupMenu1.Manager = this.barManager1;
             this.popupMenu1.Name = "popupMenu1";
             // 
+            // 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);
+            // 
             // barManager1
             // 
             this.barManager1.DockControls.Add(this.barDockControlTop);
@@ -212,14 +214,6 @@
             this.barDockControlRight.Manager = this.barManager1;
             this.barDockControlRight.Size = new System.Drawing.Size(0, 422);
             // 
-            // btnDel
-            // 
-            this.btnDel.Caption = "删除";
-            this.btnDel.Id = 0;
-            this.btnDel.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barButtonItem1.ImageOptions.SvgImage")));
-            this.btnDel.Name = "btnDel";
-            this.btnDel.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDel_ItemClick);
-            // 
             // CtrlXl
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -257,7 +251,6 @@
         private DevExpress.XtraLayout.LayoutControlGroup Root;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-        private DevExpress.XtraEditors.XtraOpenFileDialog xtraOpenFileDialog1;
         private DevExpress.XtraEditors.SimpleButton btnImp;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
         private DevExpress.XtraBars.PopupMenu popupMenu1;

+ 3 - 9
XdCxRhDW.App/UserControl/CtrlXl.cs

@@ -26,6 +26,7 @@ namespace XdCxRhDW.App.UserControl
         {
             InitializeComponent();
             this.layoutControl1.UseDefault();
+            btnOpen.UseChooseFile().UseDoubleClickToSelectAll();
         }
         private async void CtrlXl_Load(object sender, EventArgs e)
         {
@@ -33,13 +34,6 @@ namespace XdCxRhDW.App.UserControl
             gridXl.DataSource = list;
             await LoadData();
         }
-        private void btnOpen_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
-        {
-            if (xtraOpenFileDialog1.ShowDialog() == DialogResult.OK)
-            {
-                btnOpen.Text = xtraOpenFileDialog1.FileName;
-            }
-        }
         public async Task LoadData()
         {
             try
@@ -95,7 +89,7 @@ namespace XdCxRhDW.App.UserControl
                     var groupData = tmp.GroupBy(p => p.TimeBJ.ToString("yyyyMMdd"));
                     foreach (var items in groupData)
                     {
-                        using (RHDWPartContext db = new RHDWPartContext(items.First().TimeBJ))
+                        using (RHDWPartContext db = RHDWPartContext.GetContext(items.First().TimeBJ))
                         {
                             foreach (var item in items)
                             {
@@ -153,7 +147,7 @@ namespace XdCxRhDW.App.UserControl
                     foreach (var item in groupData)
                     {
                         var dayIds = item.Select(p=>p.ID).ToList();
-                        using (RHDWPartContext db = new RHDWPartContext(item.First().TimeBJ))
+                        using (RHDWPartContext db = RHDWPartContext.GetContext(item.First().TimeBJ))
                         {
                             var delItems = await db.XlInfos.Where(p => dayIds.Contains(p.ID)).ToListAsync();
                             db.XlInfos.RemoveRange(delItems);

+ 1 - 4
XdCxRhDW.App/UserControl/CtrlXl.resx

@@ -137,13 +137,10 @@
         MCAzMiwxMCAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
-  <metadata name="xtraOpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
   <metadata name="popupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>190, 17</value>
   </metadata>
-  <data name="barButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <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

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

@@ -43,7 +43,7 @@ namespace XdCxRhDW.App.UserControl
             List<string> xlall = new List<string>();
             string mainTle = string.Empty;
             string adjaTle = string.Empty;
-            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
             {
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();

+ 1 - 1
XdCxRhDW.App/UserControl/X2D1GDOPParam.cs

@@ -53,7 +53,7 @@ namespace XdCxRhDW.App.UserControl
             {
                 sats = db.SatInfos.ToList();
             }
-            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
             {
 
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();

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

@@ -46,7 +46,7 @@ namespace XdCxRhDW.App.UserControl
             List<string> xlall = new List<string>();
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
-            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
             {
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();

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

@@ -48,7 +48,7 @@ namespace XdCxRhDW.App.UserControl
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
             string adjaTle2 = string.Empty;
-            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
             {
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();

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

@@ -47,7 +47,7 @@ namespace XdCxRhDW.App.UserControl
             string mainTle = string.Empty;
             string adjaTle1 = string.Empty;
             string adjaTle2 = string.Empty;
-            using (RHDWPartContext db = new RHDWPartContext(item.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
             {
                 var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
                 var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();

+ 17 - 12
XdCxRhDW.App/XlCache.cs

@@ -1,4 +1,5 @@
-using System;
+using DxHelper;
+using System;
 using System.Collections.Generic;
 using System.Data.Entity;
 using System.IO;
@@ -20,7 +21,7 @@ namespace XdCxRhDW.App
                 List<XlInfo> xlInfos = new List<XlInfo>();
                 for (int i = 0; i < 30; i++)
                 {
-                    using (RHDWPartContext db = new RHDWPartContext(now.AddDays(-i)))
+                    using (RHDWPartContext db = RHDWPartContext.GetContext(now.AddDays(-i)))
                     {
                         var items =  db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ).ToList();
                         xlInfos.AddRange(items);
@@ -39,20 +40,24 @@ namespace XdCxRhDW.App
         {
             try
             {
-                DateTime now = DateTime.Now;
-                List<XlInfo> xlInfos = new List<XlInfo>();
-                for (int i = 0; i < 30; i++)
+                List<XlInfo> list = new List<XlInfo>();
+                if (!Directory.Exists("DbPart")) return list;
+                var yearDirs = Directory.EnumerateDirectories("DbPart").OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name));//年目录,倒叙排列
+                foreach (var yearDir in yearDirs)
                 {
-                    var day = now.AddDays(-i);
-                    if (!File.Exists($@"DbPart\{day:yyyy}\{day:MMdd}.db")) continue;
-                    using (RHDWPartContext db = new RHDWPartContext(day))
+                    //每一天的db文件,倒序排列
+                    var dayFiles = Directory.EnumerateFiles(yearDir, "*.db").OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name.Substring(0, 4)));
+                    foreach (var dayFile in dayFiles)
                     {
-                        var items=await db.XlInfos.OrderBy(p => p.SatName).OrderByDescending(p => p.TimeBJ).ToListAsync();
-                        xlInfos.AddRange(items);
+                        using (RHDWPartContext db = RHDWPartContext.GetContext(dayFile))
+                        {
+                            list.AddRange(await db.XlInfos.ToListAsync());
+                            if (list.Count > 2000)
+                                return list;
+                        }
                     }
                 }
-                return xlInfos;
-
+                return list;
             }
             catch (Exception ex)
             {

+ 7 - 0
XdCxRhDW.Repostory/App.config

@@ -7,6 +7,13 @@
   <entityFramework>
     <providers>
       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
     </providers>
   </entityFramework>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+  </system.data>
 </configuration>

+ 40 - 24
XdCxRhDW.Repostory/EFContext/RHDWContext.cs

@@ -9,6 +9,14 @@ using System.Data.Entity.ModelConfiguration.Conventions;
 using System.Data.Entity.Infrastructure.Interception;
 using XdCxRhDW.Repostory.Model;
 using System.IO;
+using System.Data.Common;
+using System.Data.Entity.Infrastructure;
+using System.Reflection;
+using System.Data.SQLite.EF6;
+using System.Data.SQLite;
+using System.Data.Entity.Core.Common;
+using System.Data.Entity.Core.EntityClient;
+using static System.Net.WebRequestMethods;
 
 namespace XdCxRhDW.Repostory.EFContext
 {
@@ -20,16 +28,16 @@ namespace XdCxRhDW.Repostory.EFContext
     {
         public RHDWContext() : base("DbCon") //配置使用的连接名
         {
-        } 
-    
+
+        }
+       
         protected override void OnModelCreating(DbModelBuilder modelBuilder)
         {
             this.Database.Log = msg =>
             {
             };
-
             modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
-            modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);
+            modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);//自动加载SqliteConfiguration
 
             var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWContext>(modelBuilder);
             Database.SetInitializer(sqliteConnectionInitializer); 
@@ -59,33 +67,29 @@ namespace XdCxRhDW.Repostory.EFContext
     /// <summary>
     /// 分区表上下文(id为long)
     /// </summary>
+    //[DbConfigurationType(typeof(SqliteConfiguration))]
     public class RHDWPartContext : DbContext
     {
-
-        /// <summary>
-        /// 分区表构造函数
-        /// </summary>
-        /// <param name="dayStr">db文件名称(含绝对路径)</param>
-        public RHDWPartContext(string dbFile)
+        public static RHDWPartContext GetContext(string dbFile)
         {
-            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}";
+            var connectionString = $@"Data Source={dbFile}";
+            SQLiteConnection con = new SQLiteConnection(connectionString);
+            return new RHDWPartContext(con);
         }
-        /// <summary>
-        /// 分区表构造函数
-        /// </summary>
-        /// <param name="sigTime">信号时刻</param>
-        public RHDWPartContext(DateTime sigTime)
+
+        public static RHDWPartContext GetContext(DateTime partTime)
         {
-            Directory.CreateDirectory("DbPart");
-            Directory.CreateDirectory($"DbPart\\{sigTime.Year}");
-            base.Database.Connection.ConnectionString = $"Data Source=|DataDirectory|\\DbPart\\{sigTime.Year}\\{sigTime:MMdd}.db";
+            var connectionString = $@"Data Source=|DataDirectory|\DbPart\{partTime.Year}\{partTime:MMdd}.db";
+            SQLiteConnection con = new SQLiteConnection(connectionString);
+            return new RHDWPartContext(con);
+        }
+
+        private RHDWPartContext(DbConnection con)
+        :base(con,true)
+        { 
         }
 
+
         protected override void OnModelCreating(DbModelBuilder modelBuilder)
         {
             this.Database.Log = msg =>
@@ -107,4 +111,16 @@ namespace XdCxRhDW.Repostory.EFContext
         public DbSet<PosRes> PosRes { get; set; }
 
     }
+
+
+    public class SqliteConfiguration : DbConfiguration
+    {
+        public SqliteConfiguration()
+        {
+            SetProviderFactory("System.Data.SQLite", SQLiteFactory.Instance);
+            SetProviderFactory("System.Data.SQLite.EF6", SQLiteProviderFactory.Instance);
+            SetProviderServices("System.Data.SQLite", (DbProviderServices)SQLiteProviderFactory.Instance.GetService(typeof(DbProviderServices)));
+
+        }
+    }
 }

+ 12 - 0
XdCxRhDW.Repostory/XdCxRhDW.Repostory.csproj

@@ -43,6 +43,16 @@
     <Reference Include="System" />
     <Reference Include="System.ComponentModel.DataAnnotations" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\lib\net46\System.Data.SQLite.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.SQLite.EF6, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.SQLite.EF6.1.0.118.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.SQLite.Linq, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.SQLite.Linq.1.0.118.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
@@ -79,6 +89,8 @@
     </PropertyGroup>
     <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
     <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
+    <Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
   </Target>
   <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
+  <Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
 </Project>

+ 5 - 0
XdCxRhDW.Repostory/packages.config

@@ -2,4 +2,9 @@
 <packages>
   <package id="EntityFramework" version="6.4.4" targetFramework="net472" />
   <package id="SQLite.CodeFirst" version="1.7.0.36" targetFramework="net472" />
+  <package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.118.0" targetFramework="net472" />
+  <package id="System.Data.SQLite" version="1.0.118.0" targetFramework="net472" />
+  <package id="System.Data.SQLite.Core" version="1.0.118.0" targetFramework="net472" />
+  <package id="System.Data.SQLite.EF6" version="1.0.118.0" targetFramework="net472" />
+  <package id="System.Data.SQLite.Linq" version="1.0.118.0" targetFramework="net472" />
 </packages>

+ 6 - 5
XdCxRhDW.Sender/Properties/licenses.licx

@@ -1,7 +1,8 @@
-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.XtraBars.BarManager, DevExpress.XtraBars.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.XtraCharts.Heatmap.HeatmapControl, 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.PictureEdit, 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.XtraCharts.ChartControl, DevExpress.XtraCharts.v23.2.UI, 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.XtraBars.BarManager, DevExpress.XtraBars.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

+ 19 - 19
XdCxRhDW.WebApi/Controllers/PosController.cs

@@ -48,7 +48,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动一星一地测向定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
 
                 var StationRes = db.StationRes.Add(new StationRes()
@@ -125,7 +125,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
 
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
@@ -220,7 +220,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动两星一地定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -295,7 +295,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -406,7 +406,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动两星一地定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -474,7 +474,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -585,7 +585,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动融合定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -669,7 +669,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -782,7 +782,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -860,7 +860,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -991,7 +991,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -1064,7 +1064,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -1192,7 +1192,7 @@ namespace XdCxRhDW.App.WebAPI
                     return Error<PosResDto>($"多模式融合定位平台没有启动三星双频差定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -1275,7 +1275,7 @@ namespace XdCxRhDW.App.WebAPI
             SysSetings settings;
             using (RHDWContext db = new RHDWContext())
             {
-                 runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X3TwoDfo).FirstOrDefaultAsync();
+                runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X3TwoDfo).FirstOrDefaultAsync();
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到三星双频差带参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
@@ -1283,7 +1283,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);
@@ -1422,14 +1422,14 @@ namespace XdCxRhDW.App.WebAPI
             TaskInfo runTask;
             using (RHDWContext db = new RHDWContext())
             {
-                 runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.PosType == EnumPosType.X2Dfo && p.TaskState == EnumTaskState.Running);
+                runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.PosType == EnumPosType.X2Dfo && p.TaskState == EnumTaskState.Running);
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到双星时频差带参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
                     return Error<PosResDto>($"多模式融合定位平台没有启动双星时频差定位任务");
                 }
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var StationRes = db.StationRes.Add(new StationRes()
                 {
@@ -1503,7 +1503,7 @@ namespace XdCxRhDW.App.WebAPI
             SysSetings settings;
             using (RHDWContext db = new RHDWContext())
             {
-                 runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X2Dfo).FirstOrDefaultAsync();
+                runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X2Dfo).FirstOrDefaultAsync();
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到双星时频差带参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
@@ -1511,7 +1511,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
                 settings = await db.SysSetings.FirstOrDefaultAsync();
             }
-            using (RHDWPartContext db = new RHDWPartContext(dto.SigTime))
+            using (RHDWPartContext db = RHDWPartContext.GetContext(dto.SigTime))
             {
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainCode);