Преглед изворни кода

1.添加了固定站相关的UI逻辑及数据库表
2.将【两星一地无参处理服务】修改为【两星一地处理服务】

zoulei пре 1 година
родитељ
комит
f94ee7a287
41 измењених фајлова са 1212 додато и 830 уклоњено
  1. 6 6
      Service/X2D1NoRefTaskServer/Controllers/X2D1TaskProcessingController.cs
  2. 1 1
      Service/X2D1NoRefTaskServer/HistoryFile.cs
  3. 1 1
      Service/X2D1NoRefTaskServer/LogHelper.cs
  4. 1 1
      Service/X2D1NoRefTaskServer/MainForm.Designer.cs
  5. 1 1
      Service/X2D1NoRefTaskServer/MainForm.cs
  6. 1 1
      Service/X2D1NoRefTaskServer/MySqlTools.cs
  7. 1 2
      Service/X2D1NoRefTaskServer/Program.cs
  8. 2 2
      Service/X2D1NoRefTaskServer/Properties/AssemblyInfo.cs
  9. 2 2
      Service/X2D1NoRefTaskServer/Properties/Resources.Designer.cs
  10. 1 1
      Service/X2D1NoRefTaskServer/Properties/Settings.Designer.cs
  11. 4 4
      Service/X2D1NoRefTaskServer/Service/TaskService.cs
  12. 4 4
      Service/X2D1NoRefTaskServer/X2D1TaskServer.csproj
  13. 1 0
      XdCxRhDW.App/CorTools/DetectToolForm.cs
  14. 430 0
      XdCxRhDW.App/EditForms/FixedStationEditor.Designer.cs
  15. 121 0
      XdCxRhDW.App/EditForms/FixedStationEditor.cs
  16. 0 6
      XdCxRhDW.App/EditForms/FixedStationEditor.resx
  17. 0 380
      XdCxRhDW.App/EditForms/TaskEditor54.Designer.cs
  18. 0 271
      XdCxRhDW.App/EditForms/TaskEditor54.cs
  19. 8 0
      XdCxRhDW.App/EditForms/TaskEditorSignal.cs
  20. 1 1
      XdCxRhDW.App/ExtensionsDev/GridControlEx.cs
  21. 26 15
      XdCxRhDW.App/MainForm.Designer.cs
  22. 2 1
      XdCxRhDW.App/MainForm.cs
  23. 22 1
      XdCxRhDW.App/MainForm.resx
  24. 72 0
      XdCxRhDW.App/UserControl/CtrlFixedStation.Designer.cs
  25. 115 0
      XdCxRhDW.App/UserControl/CtrlFixedStation.cs
  26. 120 0
      XdCxRhDW.App/UserControl/CtrlFixedStation.resx
  27. 28 39
      XdCxRhDW.App/UserControl/CtrlHome.cs
  28. 1 0
      XdCxRhDW.App/UserControl/CtrlSat.cs
  29. 9 0
      XdCxRhDW.App/UserControl/CtrlSignal.cs
  30. 1 0
      XdCxRhDW.App/UserControl/CtrlTarget.cs
  31. 1 0
      XdCxRhDW.App/UserControl/CtrlTx.cs
  32. 46 46
      XdCxRhDW.App/UserControl/X2D1GDOPParam.Designer.cs
  33. 30 30
      XdCxRhDW.App/UserControl/X2DFGDOPParam.Designer.cs
  34. 19 9
      XdCxRhDW.App/XdCxRhDW.App.csproj
  35. 1 0
      XdCxRhDW.Entity/03.XdCxRhDW.Entity.csproj
  36. 17 1
      XdCxRhDW.Entity/CgRes.cs
  37. 70 0
      XdCxRhDW.Entity/FixedStation.cs
  38. 5 1
      XdCxRhDW.Entity/SigInfo.cs
  39. 2 0
      XdCxRhDW.Repostory/EFContext/RHDWContext.cs
  40. 1 1
      XdCxRhDW.sln
  41. 38 2
      XdCxRhDw.Dto/TaskHandleDto/X2D1NoRefTaskHandleDto.cs

+ 6 - 6
Service/X2D1NoRefTaskServer/Controllers/X2D1NoRefTaskProcessingController.cs → Service/X2D1NoRefTaskServer/Controllers/X2D1TaskProcessingController.cs

@@ -6,16 +6,16 @@ using System.Linq;
 using System.Web.Http;
 using XdCxRhDW.Dto;
 using XdCxRhDW.WebApi;
-using X2D1NoRefTaskServer.Service;
+using X2D1TaskServer.Service;
 using System.Threading;
 using System.Threading.Tasks;
 
-namespace X2D1NoRefTaskServer.Controllers
+namespace X2D1TaskServer.Controllers
 {
     /// <summary>
-    ///两星一地无参任务处理接口
+    ///两星一地任务处理接口
     /// </summary>
-    public class X2D1NoRefTaskProcessingController : BaseController
+    public class X2D1TaskProcessingController : BaseController
     {
         /*******************
          * !!!不要在Controller中放业务逻辑的全局变量
@@ -23,7 +23,7 @@ namespace X2D1NoRefTaskServer.Controllers
          * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
          * ********************/
         private readonly TaskService _service;
-        public X2D1NoRefTaskProcessingController(TaskService service)
+        public X2D1TaskProcessingController(TaskService service)
         {
             _service = service;
         }
@@ -35,7 +35,7 @@ namespace X2D1NoRefTaskServer.Controllers
         /// <param name="dto">离线任务信息</param>
         /// <returns></returns>
         [HttpPost]
-        public AjaxResult Run(X2D1NoRefTaskHandleDto dto)
+        public AjaxResult Run(X2D1TaskHandleDto dto)
         {
             try
             {

+ 1 - 1
Service/X2D1NoRefTaskServer/HistoryFile.cs

@@ -4,7 +4,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     public class HistoryFile
     {

+ 1 - 1
Service/X2D1NoRefTaskServer/LogHelper.cs

@@ -7,7 +7,7 @@ using System.Text;
 using System.Threading.Tasks;
 using XdCxRhDW.Dto;
 
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     public class LogInfo
     {

+ 1 - 1
Service/X2D1NoRefTaskServer/MainForm.Designer.cs

@@ -1,4 +1,4 @@
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     partial class MainForm
     {

+ 1 - 1
Service/X2D1NoRefTaskServer/MainForm.cs

@@ -10,7 +10,7 @@ using System.Windows.Forms;
 using XdCxRhDW.Dto;
 using XdCxRhDW.WebApi;
 
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     public partial class MainForm : Form
     {

+ 1 - 1
Service/X2D1NoRefTaskServer/MySqlTools.cs

@@ -2,7 +2,7 @@
 using System;
 using System.Data;
 
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     public static class MySqlTools
     {

+ 1 - 2
Service/X2D1NoRefTaskServer/Program.cs

@@ -10,13 +10,12 @@ using System.Security.Principal;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 
-namespace X2D1NoRefTaskServer
+namespace X2D1TaskServer
 {
     internal static class Program
     {
         static Program()
         {
-
             //设置私有路径
             Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
             AppDomain.CurrentDomain.SetData("PRIVATE_BINPATH", "AddIns;");

+ 2 - 2
Service/X2D1NoRefTaskServer/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // 有关程序集的一般信息由以下
 // 控制。更改这些特性值可修改
 // 与程序集关联的信息。
-[assembly: AssemblyTitle("X2D1NoRefTaskServer")]
+[assembly: AssemblyTitle("X2D1TaskServer")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("X2D1NoRefTaskServer")]
+[assembly: AssemblyProduct("X2D1TaskServer")]
 [assembly: AssemblyCopyright("Copyright ©  2024")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

+ 2 - 2
Service/X2D1NoRefTaskServer/Properties/Resources.Designer.cs

@@ -8,7 +8,7 @@
 // </auto-generated>
 //------------------------------------------------------------------------------
 
-namespace X2D1NoRefTaskServer.Properties {
+namespace XdCxRhDW.X2D1TaskServer.Properties {
     using System;
     
     
@@ -39,7 +39,7 @@ namespace X2D1NoRefTaskServer.Properties {
         internal static global::System.Resources.ResourceManager ResourceManager {
             get {
                 if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("X2D1NoRefTaskServer.Properties.Resources", typeof(Resources).Assembly);
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XdCxRhDW.X2D1TaskServer.Properties.Resources", typeof(Resources).Assembly);
                     resourceMan = temp;
                 }
                 return resourceMan;

+ 1 - 1
Service/X2D1NoRefTaskServer/Properties/Settings.Designer.cs

@@ -8,7 +8,7 @@
 // </auto-generated>
 //------------------------------------------------------------------------------
 
-namespace X2D1NoRefTaskServer.Properties {
+namespace XdCxRhDW.X2D1TaskServer.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+ 4 - 4
Service/X2D1NoRefTaskServer/Service/TaskService.cs

@@ -11,7 +11,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using XdCxRhDW.Dto;
 
-namespace X2D1NoRefTaskServer.Service
+namespace X2D1TaskServer.Service
 {
     public class TaskService
     {
@@ -62,7 +62,7 @@ namespace X2D1NoRefTaskServer.Service
         /// 启动历史任务
         /// </summary>
         /// <param name="dto"></param>
-        public void StartHistoryAsync(X2D1NoRefTaskHandleDto dto)
+        public void StartHistoryAsync(X2D1TaskHandleDto dto)
         {
             var cts = new CancellationTokenSource();
             if (dicCts.ContainsKey(dto.ID))
@@ -509,7 +509,7 @@ namespace X2D1NoRefTaskServer.Service
         /// 启动实时任务
         /// </summary>
         /// <param name="dto"></param>
-        public void StarRealAsync(X2D1NoRefTaskHandleDto dto)
+        public void StarRealAsync(X2D1TaskHandleDto dto)
         {
             var cts = new CancellationTokenSource();
             if (dicCts.ContainsKey(dto.ID))
@@ -1054,7 +1054,7 @@ namespace X2D1NoRefTaskServer.Service
                 time = newTime.AddHours(1);
             }
         }
-        private HistoryFile FileToHistoryFile(X2D1NoRefTaskHandleDto dto, string filePath, DateTime preTime, bool canConnected, CancellationToken ct)
+        private HistoryFile FileToHistoryFile(X2D1TaskHandleDto dto, string filePath, DateTime preTime, bool canConnected, CancellationToken ct)
         {
             if (ct.IsCancellationRequested) return null;
             //读取采集文件

+ 4 - 4
Service/X2D1NoRefTaskServer/X2D1NoRefTaskServer.csproj → Service/X2D1NoRefTaskServer/X2D1TaskServer.csproj

@@ -6,8 +6,8 @@
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
     <ProjectGuid>{C1BECB5B-A11E-4A10-988F-1056FE60E689}</ProjectGuid>
     <OutputType>WinExe</OutputType>
-    <RootNamespace>XdCxRhDW.X2D1NoRefTaskServer</RootNamespace>
-    <AssemblyName>两星一地无参处理服务</AssemblyName>
+    <RootNamespace>XdCxRhDW.X2D1TaskServer</RootNamespace>
+    <AssemblyName>两星一地处理服务</AssemblyName>
     <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
@@ -22,7 +22,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DocumentationFile>bin\Debug\两星一地无参处理服务.xml</DocumentationFile>
+    <DocumentationFile>bin\Debug\两星一地处理服务.xml</DocumentationFile>
     <Prefer32Bit>false</Prefer32Bit>
     <NoWarn>CS1591</NoWarn>
   </PropertyGroup>
@@ -120,7 +120,7 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="Controllers\X2D1NoRefTaskProcessingController.cs" />
+    <Compile Include="Controllers\X2D1TaskProcessingController.cs" />
     <Compile Include="LogHelper.cs" />
     <Compile Include="MySqlTools.cs" />
     <Compile Include="Program.cs" />

+ 1 - 0
XdCxRhDW.App/CorTools/DetectToolForm.cs

@@ -454,6 +454,7 @@ namespace XdCxRhDW.App.CorTools
             btnCalc.Enabled = ckKY.Checked | ckIBS.Checked | chkDama.Checked ? false : true;
             btnDrawImage.Enabled = btnCalc.Enabled;
             btnCheck.Enabled = !ckKY.Checked && !ckIBS.Checked && !chkDama.Checked ? false : true;
+            itemBand.Visibility = ckKY.Checked | ckIBS.Checked | chkDama.Checked ? LayoutVisibility.Always : LayoutVisibility.Never;
             layoutControl1.BestFit();
         }
 

+ 430 - 0
XdCxRhDW.App/EditForms/FixedStationEditor.Designer.cs

@@ -0,0 +1,430 @@
+namespace XdCxRhDW.App.EditForms
+{
+    partial class FixedStationEditor
+    {
+        /// <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 Windows Form 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()
+        {
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.txtEnable = new DevExpress.XtraEditors.CheckEdit();
+            this.btnOk = new DevExpress.XtraEditors.SimpleButton();
+            this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
+            this.txtLon = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtName = new DevExpress.XtraEditors.TextEdit();
+            this.txtFreqUp = new DevExpress.XtraEditors.SearchLookUpEdit();
+            this.searchLookUpEdit1View = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.txtLat = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtValue = new DevExpress.XtraEditors.ButtonEdit();
+            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
+            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtEnable.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtLon.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtFreqUp.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtLat.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtValue.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.txtEnable);
+            this.layoutControl1.Controls.Add(this.btnOk);
+            this.layoutControl1.Controls.Add(this.btnCancel);
+            this.layoutControl1.Controls.Add(this.txtLon);
+            this.layoutControl1.Controls.Add(this.txtName);
+            this.layoutControl1.Controls.Add(this.txtFreqUp);
+            this.layoutControl1.Controls.Add(this.txtLat);
+            this.layoutControl1.Controls.Add(this.txtValue);
+            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(831, 101, 650, 400);
+            this.layoutControl1.Root = this.Root;
+            this.layoutControl1.Size = new System.Drawing.Size(270, 385);
+            this.layoutControl1.TabIndex = 0;
+            this.layoutControl1.Text = "layoutControl1";
+            // 
+            // txtEnable
+            // 
+            this.txtEnable.Location = new System.Drawing.Point(22, 302);
+            this.txtEnable.Name = "txtEnable";
+            this.txtEnable.Properties.Caption = "是否启用";
+            this.txtEnable.Size = new System.Drawing.Size(226, 20);
+            this.txtEnable.StyleController = this.layoutControl1;
+            this.txtEnable.TabIndex = 9;
+            // 
+            // btnOk
+            // 
+            this.btnOk.Location = new System.Drawing.Point(136, 340);
+            this.btnOk.Name = "btnOk";
+            this.btnOk.Size = new System.Drawing.Size(112, 22);
+            this.btnOk.StyleController = this.layoutControl1;
+            this.btnOk.TabIndex = 8;
+            this.btnOk.Text = "确定";
+            this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
+            // 
+            // btnCancel
+            // 
+            this.btnCancel.Location = new System.Drawing.Point(22, 340);
+            this.btnCancel.Name = "btnCancel";
+            this.btnCancel.Size = new System.Drawing.Size(110, 22);
+            this.btnCancel.StyleController = this.layoutControl1;
+            this.btnCancel.TabIndex = 7;
+            this.btnCancel.Text = "取消";
+            this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+            // 
+            // txtLon
+            // 
+            this.txtLon.Location = new System.Drawing.Point(22, 147);
+            this.txtLon.Name = "txtLon";
+            this.txtLon.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
+            this.txtLon.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "° ", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtLon.Properties.MaxLength = 10;
+            this.txtLon.Size = new System.Drawing.Size(226, 23);
+            this.txtLon.StyleController = this.layoutControl1;
+            this.txtLon.TabIndex = 6;
+            // 
+            // txtName
+            // 
+            this.txtName.Location = new System.Drawing.Point(22, 39);
+            this.txtName.Name = "txtName";
+            this.txtName.Properties.AutoHeight = false;
+            this.txtName.Size = new System.Drawing.Size(226, 23);
+            this.txtName.StyleController = this.layoutControl1;
+            this.txtName.TabIndex = 5;
+            // 
+            // txtFreqUp
+            // 
+            this.txtFreqUp.Location = new System.Drawing.Point(22, 93);
+            this.txtFreqUp.Name = "txtFreqUp";
+            this.txtFreqUp.Properties.AutoHeight = false;
+            this.txtFreqUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtFreqUp.Properties.PopupView = this.searchLookUpEdit1View;
+            this.txtFreqUp.Size = new System.Drawing.Size(226, 23);
+            this.txtFreqUp.StyleController = this.layoutControl1;
+            this.txtFreqUp.TabIndex = 4;
+            // 
+            // searchLookUpEdit1View
+            // 
+            this.searchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            this.searchLookUpEdit1View.Name = "searchLookUpEdit1View";
+            this.searchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = false;
+            this.searchLookUpEdit1View.OptionsView.ShowGroupPanel = false;
+            // 
+            // txtLat
+            // 
+            this.txtLat.Location = new System.Drawing.Point(22, 198);
+            this.txtLat.Name = "txtLat";
+            this.txtLat.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
+            this.txtLat.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "° ", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtLat.Properties.MaxLength = 10;
+            this.txtLat.Size = new System.Drawing.Size(226, 23);
+            this.txtLat.StyleController = this.layoutControl1;
+            this.txtLat.TabIndex = 6;
+            // 
+            // txtValue
+            // 
+            this.txtValue.EditValue = "2";
+            this.txtValue.Location = new System.Drawing.Point(149, 263);
+            this.txtValue.Name = "txtValue";
+            this.txtValue.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
+            this.txtValue.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "秒", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtValue.Properties.MaxLength = 10;
+            this.txtValue.Size = new System.Drawing.Size(76, 23);
+            this.txtValue.StyleController = this.layoutControl1;
+            this.txtValue.TabIndex = 6;
+            // 
+            // Root
+            // 
+            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.Root.GroupBordersVisible = false;
+            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem1,
+            this.layoutControlItem3,
+            this.layoutControlItem4,
+            this.layoutControlItem5,
+            this.emptySpaceItem2,
+            this.layoutControlItem2,
+            this.layoutControlItem7,
+            this.layoutControlGroup1,
+            this.layoutControlItem8});
+            this.Root.Name = "Root";
+            this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 20, 20, 20);
+            this.Root.Size = new System.Drawing.Size(270, 385);
+            this.Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.txtFreqUp;
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 44);
+            this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 54);
+            this.layoutControlItem1.MinSize = new System.Drawing.Size(54, 54);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem1.Size = new System.Drawing.Size(230, 54);
+            this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem1.Text = "上行频点";
+            this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(120, 14);
+            // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.txtLon;
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 98);
+            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem3.Size = new System.Drawing.Size(230, 51);
+            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem3.Text = "位置经度";
+            this.layoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(120, 14);
+            // 
+            // layoutControlItem4
+            // 
+            this.layoutControlItem4.Control = this.btnCancel;
+            this.layoutControlItem4.Location = new System.Drawing.Point(0, 318);
+            this.layoutControlItem4.Name = "layoutControlItem4";
+            this.layoutControlItem4.Size = new System.Drawing.Size(114, 27);
+            this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem4.TextVisible = false;
+            // 
+            // layoutControlItem5
+            // 
+            this.layoutControlItem5.Control = this.btnOk;
+            this.layoutControlItem5.Location = new System.Drawing.Point(114, 318);
+            this.layoutControlItem5.Name = "layoutControlItem5";
+            this.layoutControlItem5.Size = new System.Drawing.Size(116, 27);
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem5.TextVisible = false;
+            // 
+            // emptySpaceItem2
+            // 
+            this.emptySpaceItem2.AllowHotTrack = false;
+            this.emptySpaceItem2.Location = new System.Drawing.Point(0, 304);
+            this.emptySpaceItem2.MaxSize = new System.Drawing.Size(0, 14);
+            this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 14);
+            this.emptySpaceItem2.Name = "emptySpaceItem2";
+            this.emptySpaceItem2.Size = new System.Drawing.Size(230, 14);
+            this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.txtName;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 44);
+            this.layoutControlItem2.MinSize = new System.Drawing.Size(54, 44);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(230, 44);
+            this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem2.Text = "名称";
+            this.layoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(120, 14);
+            // 
+            // layoutControlItem7
+            // 
+            this.layoutControlItem7.Control = this.txtLat;
+            this.layoutControlItem7.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem7.CustomizationFormText = "位置经度";
+            this.layoutControlItem7.Location = new System.Drawing.Point(0, 149);
+            this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem7.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem7.Name = "layoutControlItem7";
+            this.layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem7.Size = new System.Drawing.Size(230, 51);
+            this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem7.Text = "位置纬度";
+            this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem7.TextSize = new System.Drawing.Size(120, 14);
+            // 
+            // layoutControlGroup1
+            // 
+            this.layoutControlGroup1.GroupStyle = DevExpress.Utils.GroupStyle.Light;
+            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem6,
+            this.emptySpaceItem3,
+            this.simpleLabelItem1});
+            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 200);
+            this.layoutControlGroup1.Name = "layoutControlGroup1";
+            this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 9, 9, 9);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(230, 80);
+            this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 10, 2);
+            this.layoutControlGroup1.Text = "判定规则";
+            // 
+            // layoutControlItem6
+            // 
+            this.layoutControlItem6.Control = this.txtValue;
+            this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem6.CustomizationFormText = "位置经度";
+            this.layoutControlItem6.Location = new System.Drawing.Point(124, 0);
+            this.layoutControlItem6.MaxSize = new System.Drawing.Size(80, 27);
+            this.layoutControlItem6.MinSize = new System.Drawing.Size(80, 27);
+            this.layoutControlItem6.Name = "layoutControlItem6";
+            this.layoutControlItem6.Size = new System.Drawing.Size(80, 27);
+            this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem6.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem6.TextVisible = false;
+            // 
+            // emptySpaceItem3
+            // 
+            this.emptySpaceItem3.AllowHotTrack = false;
+            this.emptySpaceItem3.Location = new System.Drawing.Point(204, 0);
+            this.emptySpaceItem3.Name = "emptySpaceItem3";
+            this.emptySpaceItem3.Size = new System.Drawing.Size(11, 27);
+            this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // simpleLabelItem1
+            // 
+            this.simpleLabelItem1.AllowHotTrack = false;
+            this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0);
+            this.simpleLabelItem1.MinSize = new System.Drawing.Size(124, 18);
+            this.simpleLabelItem1.Name = "simpleLabelItem1";
+            this.simpleLabelItem1.Size = new System.Drawing.Size(124, 27);
+            this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.simpleLabelItem1.Text = "与上一个突发间隔超过";
+            this.simpleLabelItem1.TextSize = new System.Drawing.Size(120, 14);
+            // 
+            // layoutControlItem8
+            // 
+            this.layoutControlItem8.Control = this.txtEnable;
+            this.layoutControlItem8.Location = new System.Drawing.Point(0, 280);
+            this.layoutControlItem8.Name = "layoutControlItem8";
+            this.layoutControlItem8.Size = new System.Drawing.Size(230, 24);
+            this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem8.TextVisible = false;
+            // 
+            // FixedStationEditor
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(270, 385);
+            this.Controls.Add(this.layoutControl1);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+            this.Name = "FixedStationEditor";
+            this.Text = "TaskEditor";
+            this.Load += new System.EventHandler(this.SatEditor_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.txtEnable.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtLon.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtFreqUp.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtLat.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtValue.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraEditors.SearchLookUpEdit txtFreqUp;
+        private DevExpress.XtraGrid.Views.Grid.GridView searchLookUpEdit1View;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraEditors.SimpleButton btnOk;
+        private DevExpress.XtraEditors.SimpleButton btnCancel;
+        private DevExpress.XtraEditors.ButtonEdit txtLon;
+        private DevExpress.XtraEditors.TextEdit txtName;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
+        private DevExpress.XtraEditors.ButtonEdit txtLat;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
+        private DevExpress.XtraEditors.ButtonEdit txtValue;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
+        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
+        private DevExpress.XtraEditors.CheckEdit txtEnable;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
+    }
+}

+ 121 - 0
XdCxRhDW.App/EditForms/FixedStationEditor.cs

@@ -0,0 +1,121 @@
+using DevExpress.XtraEditors;
+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.Runtime.Remoting.Metadata.W3cXsd2001;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Documents;
+using System.Windows.Forms;
+using XdCxRhDW.Entity;
+using XdCxRhDW.Repostory;
+
+namespace XdCxRhDW.App.EditForms
+{
+    public partial class FixedStationEditor : DevExpress.XtraEditors.XtraForm
+    {
+        public FixedStation info;
+
+        private List<FixedStation> infos;
+        public FixedStationEditor()
+        {
+            InitializeComponent();
+            this.layoutControl1.UseDefault();
+            this.Text = "固定站添加";
+            info = new FixedStation();
+            this.StartPosition = FormStartPosition.CenterParent;
+        }
+        public FixedStationEditor(FixedStation info)
+            : this()
+        {
+            this.Text = "固定站编辑";
+            this.info = info;
+        }
+        private async void SatEditor_Load(object sender, EventArgs e)
+        {
+            infos = new List<FixedStation>();
+            List<SigInfo> sigs;
+            using (RHDWContext db = new RHDWContext())
+            {
+                var res = await db.FixedStation.ToListAsync();
+                infos.AddRange(res);
+                sigs = await db.SigInfos.ToListAsync();
+                if (sigs == null)
+                    sigs = new List<SigInfo>();
+                this.txtFreqUp.UseDefault().SetData(sigs, nameof(SigInfo.FreqUpDis)).UseDoubleClickToSelectAll();
+            }
+
+            if (this.Text == "固定站编辑" && info != null)
+            {
+                this.txtName.Text = info.StationName;
+                this.txtLon.Text = info.Lon.ToString();
+                this.txtLat.Text = info.Lat.ToString();
+                this.txtValue.Text = info.Value.ToString();
+                this.txtFreqUp.EditValue = sigs.FirstOrDefault(p => p.FreqUp == info.FreqUpHz);
+                this.txtEnable.Checked = info.Enable;
+            }
+        }
+
+        private void btnCancel_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = DialogResult.Cancel;
+        }
+        private void btnOk_Click(object sender, EventArgs e)
+        {
+
+            try
+            {
+                var name = txtName.Text.Trim();
+
+                if (infos.Any(i => i.ID != info.ID && i.StationName == name))
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"已经存在名称为[{name}]的固定站!");
+                    return;
+                }
+                var freqUpHz = (txtFreqUp.EditValue as SigInfo).FreqUp;
+                if (infos.Any(i => i.ID != info.ID && i.FreqUpHz == freqUpHz))
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"已经存在上行频点为[{freqUpHz / 1e6:f3}MHz]的固定站!");
+                    return;
+                }
+                if (!double.TryParse(txtLon.Text.Trim(), out double lon))
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"经度不是有效的数字");
+                    return;
+                }
+                if (!double.TryParse(txtLat.Text.Trim(), out double lat))
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"纬度不是有效的数字");
+                    return;
+                }
+                if (!double.TryParse(txtValue.Text.Trim(), out double value))
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"判定规则不是有效的数字");
+                    return;
+                }
+                if (value < 0)
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"判定规则必须大于0秒");
+                    return;
+                }
+                info.StationName = name;
+                info.Lon = lon;
+                info.Lat = lat;
+                info.FreqUpHz = freqUpHz;
+                info.Value = value;
+                info.Enable = txtEnable.Checked;
+                this.DialogResult = DialogResult.OK;
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "编辑固定站信息出错");
+                DxHelper.MsgBoxHelper.ShowError("编辑固定站信息出错");
+            }
+        }
+    }
+}

+ 0 - 6
XdCxRhDW.App/EditForms/TaskEditor54.resx → XdCxRhDW.App/EditForms/FixedStationEditor.resx

@@ -117,10 +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="dxErrorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>40</value>
-  </metadata>
 </root>

+ 0 - 380
XdCxRhDW.App/EditForms/TaskEditor54.Designer.cs

@@ -1,380 +0,0 @@
-namespace XdCxRhDW.App.EditForms
-{
-    partial class TaskEditor54
-    {
-        /// <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 Windows Form 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();
-            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            this.btnFreq = new DevExpress.XtraEditors.SimpleButton();
-            this.btnSave = new DevExpress.XtraEditors.SimpleButton();
-            this.txtTaskName = new DevExpress.XtraEditors.TextEdit();
-            this.txtPosType = new DevExpress.XtraEditors.RadioGroup();
-            this.txtMainSat = new DevExpress.XtraEditors.SearchLookUpEdit();
-            this.searchLookUpEdit1View = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.txtAdja1Sat = new DevExpress.XtraEditors.SearchLookUpEdit();
-            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.txtAdja2Sat = new DevExpress.XtraEditors.SearchLookUpEdit();
-            this.gridView2 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
-            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItemAdja1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItemAdja2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
-            this.layoutControl1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTaskName.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPosType.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMainSat.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAdja1Sat.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAdja2Sat.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // layoutControl1
-            // 
-            this.layoutControl1.Controls.Add(this.btnFreq);
-            this.layoutControl1.Controls.Add(this.btnSave);
-            this.layoutControl1.Controls.Add(this.txtTaskName);
-            this.layoutControl1.Controls.Add(this.txtPosType);
-            this.layoutControl1.Controls.Add(this.txtMainSat);
-            this.layoutControl1.Controls.Add(this.txtAdja1Sat);
-            this.layoutControl1.Controls.Add(this.txtAdja2Sat);
-            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControl1.Name = "layoutControl1";
-            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(784, 215, 650, 400);
-            this.layoutControl1.Root = this.Root;
-            this.layoutControl1.Size = new System.Drawing.Size(493, 265);
-            this.layoutControl1.TabIndex = 0;
-            this.layoutControl1.Text = "layoutControl1";
-            // 
-            // btnFreq
-            // 
-            this.btnFreq.Location = new System.Drawing.Point(275, 219);
-            this.btnFreq.Name = "btnFreq";
-            this.btnFreq.Size = new System.Drawing.Size(96, 23);
-            this.btnFreq.StyleController = this.layoutControl1;
-            this.btnFreq.TabIndex = 14;
-            this.btnFreq.Text = "选择信号";
-            this.btnFreq.Click += new System.EventHandler(this.btnFreq_Click);
-            // 
-            // btnSave
-            // 
-            this.btnSave.Location = new System.Drawing.Point(385, 219);
-            this.btnSave.Name = "btnSave";
-            this.btnSave.Size = new System.Drawing.Size(96, 23);
-            this.btnSave.StyleController = this.layoutControl1;
-            this.btnSave.TabIndex = 6;
-            this.btnSave.Text = "保存";
-            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
-            // 
-            // txtTaskName
-            // 
-            this.txtTaskName.Location = new System.Drawing.Point(12, 39);
-            this.txtTaskName.Name = "txtTaskName";
-            this.txtTaskName.Properties.AutoHeight = false;
-            this.txtTaskName.Size = new System.Drawing.Size(469, 20);
-            this.txtTaskName.StyleController = this.layoutControl1;
-            this.txtTaskName.TabIndex = 4;
-            // 
-            // txtPosType
-            // 
-            this.txtPosType.EditValue = 0;
-            this.txtPosType.Location = new System.Drawing.Point(12, 85);
-            this.txtPosType.Name = "txtPosType";
-            this.txtPosType.Properties.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
-            this.txtPosType.Properties.Appearance.Options.UseBackColor = true;
-            this.txtPosType.Properties.Columns = 3;
-            this.txtPosType.Size = new System.Drawing.Size(469, 79);
-            this.txtPosType.StyleController = this.layoutControl1;
-            this.txtPosType.TabIndex = 5;
-            this.txtPosType.EditValueChanged += new System.EventHandler(this.txtPosType_EditValueChanged);
-            // 
-            // txtMainSat
-            // 
-            this.txtMainSat.Location = new System.Drawing.Point(12, 185);
-            this.txtMainSat.Name = "txtMainSat";
-            this.txtMainSat.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtMainSat.Properties.NullText = "";
-            this.txtMainSat.Properties.PopupSizeable = false;
-            this.txtMainSat.Properties.PopupView = this.searchLookUpEdit1View;
-            this.txtMainSat.Size = new System.Drawing.Size(153, 20);
-            this.txtMainSat.StyleController = this.layoutControl1;
-            this.txtMainSat.TabIndex = 7;
-            // 
-            // searchLookUpEdit1View
-            // 
-            this.searchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
-            this.searchLookUpEdit1View.Name = "searchLookUpEdit1View";
-            this.searchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = false;
-            this.searchLookUpEdit1View.OptionsView.ShowGroupPanel = false;
-            // 
-            // txtAdja1Sat
-            // 
-            this.txtAdja1Sat.Location = new System.Drawing.Point(169, 185);
-            this.txtAdja1Sat.Name = "txtAdja1Sat";
-            this.txtAdja1Sat.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtAdja1Sat.Properties.NullText = "";
-            this.txtAdja1Sat.Properties.PopupSizeable = false;
-            this.txtAdja1Sat.Properties.PopupView = this.gridView1;
-            this.txtAdja1Sat.Size = new System.Drawing.Size(154, 20);
-            this.txtAdja1Sat.StyleController = this.layoutControl1;
-            this.txtAdja1Sat.TabIndex = 8;
-            // 
-            // gridView1
-            // 
-            this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
-            this.gridView1.Name = "gridView1";
-            this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
-            this.gridView1.OptionsView.ShowGroupPanel = false;
-            // 
-            // txtAdja2Sat
-            // 
-            this.txtAdja2Sat.Location = new System.Drawing.Point(327, 185);
-            this.txtAdja2Sat.Name = "txtAdja2Sat";
-            this.txtAdja2Sat.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtAdja2Sat.Properties.NullText = "";
-            this.txtAdja2Sat.Properties.PopupSizeable = false;
-            this.txtAdja2Sat.Properties.PopupView = this.gridView2;
-            this.txtAdja2Sat.Size = new System.Drawing.Size(154, 20);
-            this.txtAdja2Sat.StyleController = this.layoutControl1;
-            this.txtAdja2Sat.TabIndex = 9;
-            // 
-            // gridView2
-            // 
-            this.gridView2.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
-            this.gridView2.Name = "gridView2";
-            this.gridView2.OptionsSelection.EnableAppearanceFocusedCell = false;
-            this.gridView2.OptionsView.ShowGroupPanel = false;
-            // 
-            // Root
-            // 
-            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-            this.Root.GroupBordersVisible = false;
-            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.emptySpaceItem1,
-            this.layoutControlItem2,
-            this.layoutControlItem3,
-            this.layoutControlItem4,
-            this.layoutControlItemAdja1,
-            this.layoutControlItemAdja2,
-            this.layoutControlGroup1,
-            this.layoutControlItem7});
-            this.Root.Name = "Root";
-            this.Root.Size = new System.Drawing.Size(493, 265);
-            this.Root.TextVisible = false;
-            // 
-            // emptySpaceItem1
-            // 
-            this.emptySpaceItem1.AllowHotTrack = false;
-            this.emptySpaceItem1.Location = new System.Drawing.Point(0, 197);
-            this.emptySpaceItem1.Name = "emptySpaceItem1";
-            this.emptySpaceItem1.Size = new System.Drawing.Size(263, 48);
-            this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
-            // 
-            // layoutControlItem2
-            // 
-            this.layoutControlItem2.Control = this.txtPosType;
-            this.layoutControlItem2.Location = new System.Drawing.Point(0, 56);
-            this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 100);
-            this.layoutControlItem2.MinSize = new System.Drawing.Size(54, 100);
-            this.layoutControlItem2.Name = "layoutControlItem2";
-            this.layoutControlItem2.Size = new System.Drawing.Size(473, 100);
-            this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem2.Text = "定位模式";
-            this.layoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem2.TextSize = new System.Drawing.Size(48, 14);
-            // 
-            // layoutControlItem3
-            // 
-            this.layoutControlItem3.Control = this.btnSave;
-            this.layoutControlItem3.Location = new System.Drawing.Point(373, 197);
-            this.layoutControlItem3.MaxSize = new System.Drawing.Size(100, 37);
-            this.layoutControlItem3.MinSize = new System.Drawing.Size(100, 37);
-            this.layoutControlItem3.Name = "layoutControlItem3";
-            this.layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem3.Size = new System.Drawing.Size(100, 48);
-            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem3.TextVisible = false;
-            // 
-            // layoutControlItem4
-            // 
-            this.layoutControlItem4.Control = this.txtMainSat;
-            this.layoutControlItem4.Location = new System.Drawing.Point(0, 156);
-            this.layoutControlItem4.Name = "layoutControlItem4";
-            this.layoutControlItem4.Size = new System.Drawing.Size(157, 41);
-            this.layoutControlItem4.Text = "主星";
-            this.layoutControlItem4.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem4.TextSize = new System.Drawing.Size(48, 14);
-            // 
-            // layoutControlItemAdja1
-            // 
-            this.layoutControlItemAdja1.Control = this.txtAdja1Sat;
-            this.layoutControlItemAdja1.Location = new System.Drawing.Point(157, 156);
-            this.layoutControlItemAdja1.Name = "layoutControlItemAdja1";
-            this.layoutControlItemAdja1.Size = new System.Drawing.Size(158, 41);
-            this.layoutControlItemAdja1.Text = "邻星1";
-            this.layoutControlItemAdja1.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItemAdja1.TextSize = new System.Drawing.Size(48, 14);
-            this.layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-            // 
-            // layoutControlItemAdja2
-            // 
-            this.layoutControlItemAdja2.Control = this.txtAdja2Sat;
-            this.layoutControlItemAdja2.Location = new System.Drawing.Point(315, 156);
-            this.layoutControlItemAdja2.Name = "layoutControlItemAdja2";
-            this.layoutControlItemAdja2.Size = new System.Drawing.Size(158, 41);
-            this.layoutControlItemAdja2.Text = "邻星2";
-            this.layoutControlItemAdja2.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItemAdja2.TextSize = new System.Drawing.Size(48, 14);
-            this.layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-            // 
-            // layoutControlGroup1
-            // 
-            this.layoutControlGroup1.GroupBordersVisible = false;
-            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem1});
-            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlGroup1.Name = "layoutControlGroup1";
-            this.layoutControlGroup1.Size = new System.Drawing.Size(473, 56);
-            // 
-            // layoutControlItem1
-            // 
-            this.layoutControlItem1.Control = this.txtTaskName;
-            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 56);
-            this.layoutControlItem1.MinSize = new System.Drawing.Size(118, 56);
-            this.layoutControlItem1.Name = "layoutControlItem1";
-            this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 7);
-            this.layoutControlItem1.Size = new System.Drawing.Size(473, 56);
-            this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem1.Text = "任务名称";
-            this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem1.TextSize = new System.Drawing.Size(48, 14);
-            // 
-            // layoutControlItem7
-            // 
-            this.layoutControlItem7.Control = this.btnFreq;
-            this.layoutControlItem7.Location = new System.Drawing.Point(263, 197);
-            this.layoutControlItem7.MaxSize = new System.Drawing.Size(110, 37);
-            this.layoutControlItem7.MinSize = new System.Drawing.Size(110, 37);
-            this.layoutControlItem7.Name = "layoutControlItem7";
-            this.layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 12, 12, 2);
-            this.layoutControlItem7.Size = new System.Drawing.Size(110, 48);
-            this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem7.TextVisible = false;
-            // 
-            // dxErrorProvider
-            // 
-            this.dxErrorProvider.ContainerControl = this;
-            // 
-            // TaskEditor54
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(493, 265);
-            this.Controls.Add(this.layoutControl1);
-            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
-            this.Name = "TaskEditor54";
-            this.Text = "TaskEditor";
-            this.Load += new System.EventHandler(this.TaskEditor_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
-            this.layoutControl1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.txtTaskName.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPosType.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMainSat.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAdja1Sat.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAdja2Sat.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private DevExpress.XtraLayout.LayoutControl layoutControl1;
-        private DevExpress.XtraLayout.LayoutControlGroup Root;
-        private DevExpress.XtraEditors.TextEdit txtTaskName;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
-        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-        private DevExpress.XtraEditors.RadioGroup txtPosType;
-        private DevExpress.XtraEditors.SimpleButton btnSave;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItemAdja1;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItemAdja2;
-        private DevExpress.XtraEditors.SearchLookUpEdit txtMainSat;
-        private DevExpress.XtraGrid.Views.Grid.GridView searchLookUpEdit1View;
-        private DevExpress.XtraEditors.SearchLookUpEdit txtAdja1Sat;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraEditors.SearchLookUpEdit txtAdja2Sat;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView2;
-        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
-        private DevExpress.XtraEditors.SimpleButton btnFreq;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
-    }
-}

+ 0 - 271
XdCxRhDW.App/EditForms/TaskEditor54.cs

@@ -1,271 +0,0 @@
-using DevExpress.Utils.About;
-using DevExpress.Utils.Extensions;
-using DevExpress.XtraBars.Customization;
-using DevExpress.XtraEditors;
-using DevExpress.XtraEditors.ButtonsPanelControl;
-using DevExpress.XtraEditors.Controls;
-using DevExpress.XtraEditors.DXErrorProvider;
-using DevExpress.XtraPrinting.Native;
-using DPP_YH_Core.Extensions;
-using DxHelper;
-using ExtensionsDev;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.ComponentModel.DataAnnotations;
-using System.Data;
-using System.Data.Entity;
-using System.Drawing;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Documents;
-using System.Windows.Forms;
-using XdCxRhDW.Dto;
-using XdCxRhDW.Entity;
-using XdCxRhDW.Repostory;
-
-namespace XdCxRhDW.App.EditForms
-{
-    public partial class TaskEditor54 : DevExpress.XtraEditors.XtraForm
-    {
-        public TaskInfo info;
-        public List<SigInfo> selectedItem = new List<SigInfo>();
-        public TaskEditor54()
-        {
-            InitializeComponent();
-            this.layoutControl1.UseDefault();
-            this.Text = "添加任务";
-            info = new TaskInfo();
-            this.StartPosition = FormStartPosition.CenterParent;
-            //加载DW类型
-            this.txtPosType.Properties.Items.Add(new RadioGroupItem((int)EnumPosType.X2D1, EnumPosType.X2D1.GetEnumDisplayName()));
-            this.txtPosType.Properties.Items.Add(new RadioGroupItem((int)EnumPosType.X3TwoDto, EnumPosType.X3TwoDto.GetEnumDisplayName()));
-            this.txtPosType.SelectedIndex = 0;
-        }
-
-        public TaskEditor54(TaskInfo info, List<SigInfo> taskSigList)
-           : this()
-        {
-            this.Text = $"编辑任务[{info.TaskName}]";
-            this.info = info;
-            this.selectedItem = taskSigList;
-        }
-
-        private async void TaskEditor_Load(object sender, EventArgs e)
-        {
-            using (RHDWContext db = new RHDWContext())
-            {
-                var sats = await db.SatInfos.ToListAsync();
-                this.txtMainSat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
-                this.txtAdja1Sat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
-                this.txtAdja2Sat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
-            }
-            if (this.Text.StartsWith("编辑任务") && info != null)
-            {
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var satMain = await db.SatInfos.Where(w => w.SatCode == info.MainSat).FirstOrDefaultAsync();
-                    var satAdja1 = await db.SatInfos.Where(w => w.SatCode == info.Adja1Sat).FirstOrDefaultAsync();
-                    var satAdja2 = await db.SatInfos.Where(w => w.SatCode == info.Adja2Sat).FirstOrDefaultAsync();
-
-                    this.txtTaskName.Text = info.TaskName;
-                    int idx = 0;
-                    foreach (RadioGroupItem item in txtPosType.Properties.Items)
-                    {
-                        if ((int)item.Value == (int)info.PosType)
-                        {
-                            this.txtPosType.SelectedIndex = idx;
-                            break;
-                        }
-                        idx++;
-                    }
-                    this.txtMainSat.EditValue = satMain;
-                    this.txtAdja1Sat.EditValue = satAdja1;
-                    this.txtAdja2Sat.EditValue = satAdja2;
-                }
-            }
-        }
-
-        private void btnSave_Click(object sender, EventArgs e)
-        {
-            try
-            {
-                dxErrorProvider.ClearErrors();
-                var posType = (EnumPosType)txtPosType.Properties.Items[txtPosType.SelectedIndex].Value;
-                if (txtTaskName.EditValue == null)
-                {
-                    dxErrorProvider.SetError(txtTaskName, "请填写任务名");
-                    return;
-                }
-                if (!selectedItem.Any())
-                {
-                    DxHelper.MsgBoxHelper.ShowError("请选择信号");
-                    return;
-                }
-
-                if (this.Text == "添加任务")
-                {
-                    using (RHDWContext db = new RHDWContext())
-                    {
-                        if (db.TaskInfos.Any(p => p.TaskName == txtTaskName.Text))
-                        {
-                            dxErrorProvider.SetError(txtTaskName, "任务名称重复");
-                            return;
-                        }
-                    }
-                }
-                else
-                {
-                    using (RHDWContext db = new RHDWContext())
-                    {
-                        if (db.TaskInfos.Any(p => p.ID != info.ID && p.TaskName == txtTaskName.Text))
-                        {
-                            dxErrorProvider.SetError(txtTaskName, "任务名称重复");
-                            return;
-                        }
-                    }
-                }
-                if (posType == EnumPosType.X1D1CX)
-                {
-                    if (txtMainSat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtMainSat, "请选择卫星");
-                        return;
-                    }
-                }
-                else if (posType == EnumPosType.X2D1 || posType == EnumPosType.RH || posType == EnumPosType.X2Dfo)
-                {
-                    if (txtMainSat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtMainSat, "请选择主星");
-                        return;
-                    }
-                    if (txtAdja1Sat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtAdja1Sat, "请选择邻星");
-                        return;
-                    }
-                    if (txtMainSat.EditValue == txtAdja1Sat.EditValue)
-                    {
-                        dxErrorProvider.SetError(txtAdja1Sat, "邻星不能和主星一致");
-                        return;
-                    }
-                }
-                else if (posType == EnumPosType.X3TwoDto || posType == EnumPosType.X3TwoDfo)
-                {
-                    if (txtMainSat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtMainSat, "请选择主星");
-                        return;
-                    }
-                    if (txtAdja1Sat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtAdja1Sat, "请选择邻星1");
-                        return;
-                    }
-                    if (txtAdja2Sat.EditValue == null)
-                    {
-                        dxErrorProvider.SetError(txtAdja2Sat, "请选择邻星2");
-                        return;
-                    }
-                    if (txtMainSat.EditValue == txtAdja1Sat.EditValue)
-                    {
-                        dxErrorProvider.SetError(txtAdja1Sat, "邻星1不能和主星一致");
-                        return;
-                    }
-                    if (txtMainSat.EditValue == txtAdja2Sat.EditValue)
-                    {
-                        dxErrorProvider.SetError(txtAdja2Sat, "邻星2不能和主星一致");
-                        return;
-                    }
-                    if (txtAdja1Sat.EditValue == txtAdja2Sat.EditValue)
-                    {
-                        dxErrorProvider.SetError(txtAdja2Sat, "邻星2不能和邻星1一致");
-                        return;
-                    }
-
-                }
-                info.TaskState = EnumTaskState.Stopped;
-                info.TaskName = txtTaskName.Text;
-                info.PosType = (EnumPosType)(int)txtPosType.EditValue;
-                info.MainSat = ((SatInfo)txtMainSat.EditValue).SatCode;
-                if (txtAdja1Sat.EditValue != null)
-                    info.Adja1Sat = ((SatInfo)txtAdja1Sat.EditValue).SatCode;
-                if (txtAdja2Sat.EditValue != null)
-                    info.Adja2Sat = ((SatInfo)txtAdja2Sat.EditValue).SatCode;
-                info.TaskType = EnumTaskType.Real;
-                this.DialogResult = DialogResult.OK;
-            }
-            catch (Exception ex)
-            {
-                Serilog.Log.Error(ex, "编辑任务信息出错");
-                DxHelper.MsgBoxHelper.ShowError("编辑任务信息出错");
-            }
-        }
-
-        private void txtPosType_EditValueChanged(object sender, EventArgs e)
-        {
-            RadioGroup posTypeRadioGroup = sender as RadioGroup;
-            var posType = (EnumPosType)posTypeRadioGroup.Properties.Items[posTypeRadioGroup.SelectedIndex].Value;
-            if (posType == EnumPosType.X1D1CX)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-            }
-            else if (posType == EnumPosType.X2D1)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-                this.layoutControlItemAdja1.Text = "邻星";
-            }
-            else if (posType == EnumPosType.RH)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-                this.layoutControlItemAdja1.Text = "邻星";
-            }
-            else if (posType == EnumPosType.X3TwoDto)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                this.layoutControlItemAdja1.Text = "邻星1";
-            }
-            else if (posType == EnumPosType.X3TwoDfo)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                this.layoutControlItemAdja1.Text = "邻星1";
-            }
-            else if (posType == EnumPosType.X2Dfo)
-            {
-                layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
-                layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-                this.layoutControlItemAdja1.Text = "邻星";
-            }
-            this.layoutControl1.BestFit();
-        }
-
-        private void btnFreq_Click(object sender, EventArgs e)
-        {
-
-            if (this.Text.StartsWith("添加任务"))
-            {
-                TaskEditorSignal frm = new TaskEditorSignal();
-                if (frm.ShowDialog() != DialogResult.OK) return;
-                frm.info = info;
-                selectedItem.Clear();
-                selectedItem = frm.listSigInfoSelected;
-            }
-            else if (this.Text.StartsWith("编辑任务") && info != null)
-            {
-                TaskEditorSignal frm = new TaskEditorSignal(info, selectedItem);
-                if (frm.ShowDialog() != DialogResult.OK) return;
-                selectedItem.Clear();
-                selectedItem = frm.listSigInfoSelected;
-            }
-        }
-    }
-}

+ 8 - 0
XdCxRhDW.App/EditForms/TaskEditorSignal.cs

@@ -58,8 +58,16 @@ namespace XdCxRhDW.App.EditForms
                 gridTaskSignal.UseDefault(listSigInfo).UseMultiSelect().UseRowNumber().DrawGridColumnHeaderCheckBox();
                 using (var db = new RHDWContext())
                 {
+                    var fixedStations = await db.FixedStation.Where(p => p.Enable).ToListAsync();
                     var items = await db.SigInfos.OrderBy(p => p.FreqUp).ToListAsync();
                     listSigInfo.AddRange(items);
+                    foreach (var item in listSigInfo)
+                    {
+                        if (fixedStations.Any(p => p.FreqUpHz == item.FreqUp))
+                            item.IsFixedStationFreq = "✔";
+                        else
+                            item.IsFixedStationFreq = "✖";
+                    }
                 }
                 foreach (var item in listSigInfoSelected)
                 {

+ 1 - 1
XdCxRhDW.App/ExtensionsDev/GridControlEx.cs

@@ -44,6 +44,7 @@ public static class GridControlEx
     public static GridControl UseDefault<T>(this GridControl grid, List<T> dataSource, int rowHeight = 24, bool showScrollH = false)
     {
         grid.DataSource = dataSource;
+        grid.HideColumn("ID","CreateTime","UpdateTime");
         grid.MainView.BorderStyle = BorderStyles.Flat;
         var view = grid.MainView as GridView;
         view.CustomColumnDisplayText += View_CustomColumnDisplayText;
@@ -132,7 +133,6 @@ public static class GridControlEx
         {
             grid.Load += (sender, e) => SaveLayoutAction();
         }
-
         if (name != null && File.Exists($"Layout\\{name}.xml"))
         {
             view.RestoreLayoutFromXml($"Layout\\{name}.xml", OptionsLayoutBase.FullLayout);

+ 26 - 15
XdCxRhDW.App/MainForm.Designer.cs

@@ -28,11 +28,10 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem();
             this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
             this.skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
             this.btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
@@ -49,6 +48,7 @@
             this.btnSvrs = new DevExpress.XtraBars.BarButtonItem();
             this.btnSignal = new DevExpress.XtraBars.BarButtonItem();
             this.txtSvrLog = new DevExpress.XtraBars.BarButtonItem();
+            this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
             this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
             this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
             this.ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
@@ -58,7 +58,7 @@
             this.documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(this.components);
             this.tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
             this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
-            this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
+            this.btnFixedStation = new DevExpress.XtraBars.BarButtonItem();
             ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).BeginInit();
@@ -88,9 +88,10 @@
             this.btnSvrs,
             this.btnSignal,
             this.txtSvrLog,
-            this.btnSignalEmulation});
+            this.btnSignalEmulation,
+            this.btnFixedStation});
             this.ribbon.Location = new System.Drawing.Point(0, 0);
-            this.ribbon.MaxItemId = 30;
+            this.ribbon.MaxItemId = 31;
             this.ribbon.Name = "ribbon";
             this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
             this.ribbonPage1});
@@ -117,9 +118,9 @@
             this.btnOpenApi.Id = 21;
             this.btnOpenApi.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnOpenApi.ImageOptions.SvgImage")));
             this.btnOpenApi.Name = "btnOpenApi";
-            toolTipItem2.Text = "查看接口文档";
-            superToolTip2.Items.Add(toolTipItem2);
-            this.btnOpenApi.SuperTip = superToolTip2;
+            toolTipItem4.Text = "查看接口文档";
+            superToolTip4.Items.Add(toolTipItem4);
+            this.btnOpenApi.SuperTip = superToolTip4;
             this.btnOpenApi.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnOpenApi_ItemClick);
             // 
             // btnTask
@@ -228,6 +229,14 @@
             this.txtSvrLog.Name = "txtSvrLog";
             this.txtSvrLog.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             // 
+            // btnSignalEmulation
+            // 
+            this.btnSignalEmulation.Caption = "信号仿真";
+            this.btnSignalEmulation.Id = 29;
+            this.btnSignalEmulation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnSignalEmulation.ImageOptions.SvgImage")));
+            this.btnSignalEmulation.Name = "btnSignalEmulation";
+            this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            // 
             // ribbonPage1
             // 
             this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
@@ -250,6 +259,7 @@
             this.ribbonPageGroup2.ItemLinks.Add(this.btnXl);
             this.ribbonPageGroup2.ItemLinks.Add(this.btnSat);
             this.ribbonPageGroup2.ItemLinks.Add(this.btnTx);
+            this.ribbonPageGroup2.ItemLinks.Add(this.btnFixedStation);
             this.ribbonPageGroup2.ItemLinks.Add(this.btnSignal);
             this.ribbonPageGroup2.ItemLinks.Add(this.btnTarget);
             this.ribbonPageGroup2.ItemLinks.Add(this.btnSet);
@@ -307,13 +317,13 @@
             "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
             "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
             // 
-            // btnSignalEmulation
+            // btnFixedStation
             // 
-            this.btnSignalEmulation.Caption = "信号仿真";
-            this.btnSignalEmulation.Id = 29;
-            this.btnSignalEmulation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barButtonItem2.ImageOptions.SvgImage")));
-            this.btnSignalEmulation.Name = "btnSignalEmulation";
-            this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            this.btnFixedStation.Caption = "固定站管理";
+            this.btnFixedStation.Id = 30;
+            this.btnFixedStation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnFixedStation.ImageOptions.SvgImage")));
+            this.btnFixedStation.Name = "btnFixedStation";
+            this.btnFixedStation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
             // 
             // MainForm
             // 
@@ -364,5 +374,6 @@
         private DevExpress.XtraBars.BarButtonItem btnSignal;
         private DevExpress.XtraBars.BarButtonItem txtSvrLog;
         private DevExpress.XtraBars.BarButtonItem btnSignalEmulation;
+        private DevExpress.XtraBars.BarButtonItem btnFixedStation;
     }
 }

+ 2 - 1
XdCxRhDW.App/MainForm.cs

@@ -48,6 +48,7 @@ namespace XdCxRhDW
             ctrlTypes.Add("星历管理", typeof(CtrlXl));
             ctrlTypes.Add("卫星管理", typeof(CtrlSat));
             ctrlTypes.Add("天线管理", typeof(CtrlTx));
+            ctrlTypes.Add("固定站管理", typeof(CtrlFixedStation));
             ctrlTypes.Add("信号管理", typeof(CtrlSignal));
             ctrlTypes.Add("目标管理", typeof(CtrlTarget));
             ctrlTypes.Add("系统设置", typeof(CtrlSysSettings));
@@ -108,7 +109,7 @@ namespace XdCxRhDW
         {
             try
             {
-                
+
                 Startup.Start(SysConfig.Config.HttpPort, $"{Process.GetCurrentProcess().ProcessName}.Xml", "XdCxRhDW.Dto.xml", SysConfig.Config.TimeZoneUTC);
             }
             catch (System.Reflection.TargetInvocationException ex)

+ 22 - 1
XdCxRhDW.App/MainForm.resx

@@ -587,7 +587,7 @@
         MjgsMjggMzAsMjggMzAsMjYgIiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="barButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnSignalEmulation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -608,6 +608,27 @@
         LDI0IDEyLDI4IDE0LDI4IDE0LDI0IDE2LDI0IDE2LDE4IDE4LDE4IDE4LDIwIDIwLDIwIDIwLDE2IDIy
         LDE2IDIyLDEwIDI0LDEwIDI0LDE0IDI2LDE0IDI2LDE4IDI4LDE4IDI4LDE0IDMwLDE0IDMwLDEwICAg
         IDMyLDEwIDMyLDQgICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+</value>
+  </data>
+  <data name="btnFixedStation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEUDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iVGFibGVGaXhlZENvbHVtbldpZHRoIiBzdHlsZT0iZW5hYmxlLWJhY2tn
+        cm91bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7Zmls
+        bDojNzI3MjcyO30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cgkuc3Qwe29wYWNpdHk6MC41O30KPC9zdHls
+        ZT4NCiAgPHBhdGggZD0iTTEwLDIySDJ2LTZoOFYyMnogTTIwLDE2aC04djZoOFYxNnogTTMwLDE2aC04
+        djZoOFYxNnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJN
+        MTAsMzBIMnYtNmg4VjMweiBNMjAsMjRoLTh2Nmg4VjI0eiBNMzAsMjRoLTh2Nmg4VjI0eiBNNCw4aDR2
+        Mkg0djRIMnYtNFY4VjRoMlY4eiBNMjgsNHY0aC00djJoNHY0aDJ2LTRWOCAgIFY0SDI4eiIgY2xhc3M9
+        IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwYXRoIGQ9Ik0yMSw2aC0xVjNjMC0xLjctMS4zLTMtMy0zaC0y
+        Yy0xLjcsMC0zLDEuMy0zLDN2M2gtMWMtMC42LDAtMSwwLjQtMSwxdjZjMCwwLjYsMC40LDEsMSwxaDEw
+        YzAuNiwwLDEtMC40LDEtMSAgVjdDMjIsNi40LDIxLjYsNiwyMSw2eiBNMTQsM2MwLTAuNiwwLjQtMSwx
+        LTFoMmMwLjYsMCwxLDAuNCwxLDF2M2gtNFYzeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
 </value>
   </data>
   <data name="btnTarget.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 72 - 0
XdCxRhDW.App/UserControl/CtrlFixedStation.Designer.cs

@@ -0,0 +1,72 @@
+namespace XdCxRhDW.App.UserControl
+{
+    partial class CtrlFixedStation
+    {
+        /// <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.gridFixedStation = new DevExpress.XtraGrid.GridControl();
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            ((System.ComponentModel.ISupportInitialize)(this.gridFixedStation)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // gridFixedStation
+            // 
+            this.gridFixedStation.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gridFixedStation.Location = new System.Drawing.Point(0, 0);
+            this.gridFixedStation.MainView = this.gridView1;
+            this.gridFixedStation.Name = "gridFixedStation";
+            this.gridFixedStation.Size = new System.Drawing.Size(647, 422);
+            this.gridFixedStation.TabIndex = 0;
+            this.gridFixedStation.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView1});
+            // 
+            // gridView1
+            // 
+            this.gridView1.GridControl = this.gridFixedStation;
+            this.gridView1.Name = "gridView1";
+            // 
+            // CtrlFixedStation
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.gridFixedStation);
+            this.Name = "CtrlFixedStation";
+            this.Size = new System.Drawing.Size(647, 422);
+            this.Load += new System.EventHandler(this.CtrlSat_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.gridFixedStation)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraGrid.GridControl gridFixedStation;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+    }
+}

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

@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.Entity;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using XdCxRhDW.App.EditForms;
+using XdCxRhDW.Entity;
+using XdCxRhDW.Repostory;
+
+namespace XdCxRhDW.App.UserControl
+{
+    public partial class CtrlFixedStation : DevExpress.XtraEditors.XtraUserControl
+    {
+        readonly List<FixedStation> list = new List<FixedStation>();
+        public CtrlFixedStation()
+        {
+            InitializeComponent();
+        }
+        private async void CtrlSat_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                gridFixedStation.UseDefault(list).UseMultiSelect().UseRowNumber()
+                    .UseAddAsync(Add)
+                    .UseEditAsync<FixedStation>(Edit)
+                    .UseDeleteAsync<FixedStation>(Delete).SetDisplayText(nameof(FixedStation.Value), val => $"{val}秒");
+                using (var db = new RHDWContext())
+                {
+                    var items = await db.FixedStation.OrderBy(p => p.StationName).ToListAsync();
+                    list.AddRange(items);
+                }
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "查询固定站信息异常");
+                DxHelper.MsgBoxHelper.ShowError("查询固定站信息异常");
+            }
+        }
+
+        private async Task<FixedStation> Add()
+        {
+            try
+            {
+                FixedStationEditor frm = new FixedStationEditor();
+                if (frm.ShowDialog() != DialogResult.OK) return null;
+                var addItem = frm.info;
+                using (RHDWContext db = new RHDWContext())
+                {
+                    db.FixedStation.Add(addItem);
+                    await db.SaveChangesAsync();
+                }
+                return addItem;
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "添加卫星信息异常");
+                DxHelper.MsgBoxHelper.ShowError("添加卫星信息异常");
+                return null;
+            }
+        }
+
+        private async Task<FixedStation> Edit(FixedStation editItem)
+        {
+            try
+            {
+                FixedStationEditor frm = new FixedStationEditor(editItem);
+                if (frm.ShowDialog() != DialogResult.OK) return null;
+                editItem = frm.info;
+                using (RHDWContext db = new RHDWContext())
+                {
+                    var find = await db.FixedStation.Where(p => p.ID == editItem.ID).FirstOrDefaultAsync();
+                    find.StationName = editItem.StationName;
+                    find.FreqUpHz = editItem.FreqUpHz;
+                    find.Lon = editItem.Lon;
+                    find.Lat = editItem.Lat;
+                    find.Value = editItem.Value;
+                    find.Enable = editItem.Enable;
+                    find.UpdateTime = DateTime.Now;
+                    await db.SaveChangesAsync();
+                }
+                return editItem;
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "保存固定站信息异常");
+                DxHelper.MsgBoxHelper.ShowError("保存固定站信息异常");
+                return null;
+            }
+        }
+
+        private async Task<bool> Delete(List<FixedStation> list)
+        {
+            try
+            {
+                var ids = list.Select(p => p.ID);
+                using (RHDWContext db = new RHDWContext())
+                {
+                    var delItems = await db.SatInfos.Where(p => ids.Contains(p.ID)).ToListAsync();
+                    db.SatInfos.RemoveRange(delItems);
+                    await db.SaveChangesAsync();
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "删除卫星信息异常");
+                DxHelper.MsgBoxHelper.ShowError("删除卫星信息异常");
+                return false;
+            }
+        }
+
+    }
+}

+ 120 - 0
XdCxRhDW.App/UserControl/CtrlFixedStation.resx

@@ -0,0 +1,120 @@
+<?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>
+</root>

+ 28 - 39
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -403,23 +403,10 @@ namespace XdCxRhDW.App.UserControl
                 try
                 {
                     TaskInfo addItem;
-                    List<SigInfo> addItemSignal;
-                    if (ConfigurationManager.AppSettings["UseFor54"] != null
-                        && ConfigurationManager.AppSettings["UseFor54"].ToLower() != "false"
-                        && ConfigurationManager.AppSettings["UseFor54"].ToLower() != "0")
-                    {
-                        TaskEditor54 frm = new TaskEditor54();
-                        if (frm.ShowDialog() != DialogResult.OK) return;
-                        addItem = frm.info;
-                        addItemSignal = frm.selectedItem;
-                    }
-                    else
-                    {
-                        TaskEditor frm = new TaskEditor();
-                        if (frm.ShowDialog() != DialogResult.OK) return;
-                        addItem = frm.info;
-                        addItemSignal = frm.selectedItem;
-                    }
+                    TaskEditor frm = new TaskEditor();
+                    if (frm.ShowDialog() != DialogResult.OK) return;
+                    addItem = frm.info;
+                    var addItemSignal = frm.selectedItem;
                     using (RHDWContext db = new RHDWContext())
                     {
                         if (addItem.PosType == EnumPosType.X1D1CX)
@@ -471,23 +458,10 @@ namespace XdCxRhDW.App.UserControl
                         var taskSigID = taskSig.Select(s => s.SigInfoID);
                         var items = await db.SigInfos.ToListAsync();
                         var taskSigInfo = items.Where(w => taskSigID.Contains(w.ID)).ToList();
-                        List<SigInfo> editItemSig;
-                        if (ConfigurationManager.AppSettings["UseFor54"] != null
-                            && ConfigurationManager.AppSettings["UseFor54"].ToLower() != "false"
-                            && ConfigurationManager.AppSettings["UseFor54"].ToLower() != "0")
-                        {
-                            TaskEditor54 frm = new TaskEditor54(editItem, taskSigInfo);
-                            if (frm.ShowDialog() != DialogResult.OK) return;
-                            editItem = frm.info;
-                            editItemSig = frm.selectedItem;
-                        }
-                        else
-                        {
-                            TaskEditor frm = new TaskEditor(editItem, taskSigInfo);
-                            if (frm.ShowDialog() != DialogResult.OK) return;
-                            editItem = frm.info;
-                            editItemSig = frm.selectedItem;
-                        }
+                        TaskEditor frm = new TaskEditor(editItem, taskSigInfo);
+                        if (frm.ShowDialog() != DialogResult.OK) return;
+                        editItem = frm.info;
+                        var editItemSig = frm.selectedItem;
                         if (await db.TaskInfos.AnyAsync(p => p.ID != editItem.ID && p.TaskName == editItem.TaskName))
                         {
                             DxHelper.MsgBoxHelper.ShowWarning("任务名称重复");
@@ -516,6 +490,7 @@ namespace XdCxRhDW.App.UserControl
                             find.Adja1Sat = editItem.Adja1Sat;
                             find.Adja2Sat = editItem.Adja2Sat;
                         }
+                        find.UpdateTime = DateTime.Now;
                         db.TaskInfos.AddOrUpdate(find);
                         db.TaskSigs.RemoveRange(taskSig);
                         List<TaskSig> sigList = new List<TaskSig>();
@@ -579,6 +554,7 @@ namespace XdCxRhDW.App.UserControl
                         TxInfo tx;
                         TxInfo cdb;
                         List<TaskSigDto> tskSigsDto = new List<TaskSigDto>();
+                        List<FixedStation> fixedStations = null;
                         using (RHDWContext db = new RHDWContext())
                         {
                             var dbSigs = await db.TaskSigs.Where(w => w.TaskInfoID == tsk.ID).Include(p => p.SigInfo).ToListAsync();
@@ -593,7 +569,7 @@ namespace XdCxRhDW.App.UserControl
                                 {
                                     FreqDown = item.SigInfo.FreqDown,
                                     FreqUp = item.SigInfo.FreqUp,
-                                    BandHz=item.SigInfo.Band,
+                                    BandHz = item.SigInfo.Band,
                                     SigType = (EnumSigCheckTypeDto)item.SigInfo.SigType,
                                     Snr = item.SigInfo.Snr,
                                     TaskInfoID = item.TaskInfoID,
@@ -611,6 +587,7 @@ namespace XdCxRhDW.App.UserControl
                                 DxHelper.MsgBoxHelper.ShowWarning($"未配置天线信息");
                                 return;
                             }
+                            fixedStations = await db.FixedStation.Where(p => p.Enable).ToListAsync();
                         }
 
                         if (tsk.PosType == EnumPosType.X2D1)
@@ -619,10 +596,10 @@ namespace XdCxRhDW.App.UserControl
                             var svtItem = ServerContext.Instance.GetRandomOne(EnumSvrType.X2D1NoRefTask);
                             if (svtItem == null)
                             {
-                                DxHelper.MsgBoxHelper.ShowWarning($"未找到注册的两星一地数据处理服务");
+                                DxHelper.MsgBoxHelper.ShowWarning($"未找到注册的两星一地处理服务");
                                 return;
                             }
-                            X2D1NoRefTaskHandleDto dto = new X2D1NoRefTaskHandleDto()
+                            X2D1TaskHandleDto dto = new X2D1TaskHandleDto()
                             {
                                 MainSatCode = tsk.MainSat,
                                 TaskType = (EnumTaskTypeDto)((int)tsk.TaskType),
@@ -637,6 +614,18 @@ namespace XdCxRhDW.App.UserControl
                                 DateDirFormat = tsk.CapDirFormat,
                                 Sigs = tskSigsDto,
                             };
+                            var fixedStation = fixedStations.FirstOrDefault(p => dto.Sigs.Any(t => t.FreqUp == p.FreqUpHz));
+                            if (fixedStation != null)
+                            {
+                                dto.FixedStationDto = new X2D1FixedStationDto()
+                                {
+                                    FreqUp = fixedStation.FreqUpHz,
+                                    Lon = fixedStation.Lon,
+                                    Lat = fixedStation.Lat,
+                                    StationName = fixedStation.StationName,
+                                    Value = fixedStation.Value,
+                                };
+                            }
                             if (tsk.TaskType == EnumTaskType.History)
                             {
                                 TaskHistoryTimeEditor frm = new TaskHistoryTimeEditor(tsk);
@@ -646,7 +635,7 @@ namespace XdCxRhDW.App.UserControl
                                 dto.StartTime = startTime;
                                 dto.EndTime = endTime;
                             }
-                            var res = await HttpHelper.PostRequestAsync<AjaxResult>(svtItem.BaseHttpAddr + "X2D1NoRefTaskProcessing/Run", dto);
+                            var res = await HttpHelper.PostRequestAsync<AjaxResult>(svtItem.BaseHttpAddr + "X2D1TaskProcessing/Run", dto);
                             if (res.code != 200)
                             {
                                 Serilog.Log.Error(res.msg);
@@ -693,7 +682,7 @@ namespace XdCxRhDW.App.UserControl
                         if (tsk.PosType == EnumPosType.X2D1)
                         {
                             svtItem = ServerContext.Instance.GetRandomOne(EnumSvrType.X2D1NoRefTask);
-                            url = "X2D1NoRefTaskProcessing";
+                            url = "X2D1TaskProcessing";
                         }
                         if (svtItem == null)
                         {

+ 1 - 0
XdCxRhDW.App/UserControl/CtrlSat.cs

@@ -74,6 +74,7 @@ namespace XdCxRhDW.App.UserControl
                     find.SatName = editItem.SatName;
                     find.SatCode = editItem.SatCode;
                     find.SatLon = editItem.SatLon;
+                    find.UpdateTime = DateTime.Now;
                     await db.SaveChangesAsync();
                 }
                 return editItem;

+ 9 - 0
XdCxRhDW.App/UserControl/CtrlSignal.cs

@@ -42,6 +42,14 @@ namespace XdCxRhDW.App.UserControl
                 {
                     var items = await db.SigInfos.OrderBy(p=>p.FreqUp).ToListAsync();
                     listSigInfo.AddRange(items);
+                    var fixedStations=await db.FixedStation.Where(p => p.Enable).ToListAsync();
+                    foreach (var item in listSigInfo)
+                    {
+                        if (fixedStations.Any(p => p.FreqUpHz == item.FreqUp))
+                            item.IsFixedStationFreq = "✔";
+                        else
+                            item.IsFixedStationFreq = "✖";
+                    }
                     //var delayItems = await db.SigDelays.ToListAsync();
                     //var delayRes = delayItems.Where(w => w.SigInfoID == items.FirstOrDefault().ID);
                     //listSigDelay.AddRange(delayRes);
@@ -90,6 +98,7 @@ namespace XdCxRhDW.App.UserControl
                     find.SigType = editItem.SigType;
                     find.Band = editItem.Band;
                     find.Snr = editItem.Snr;
+                    find.UpdateTime = DateTime.Now;
                     await db.SaveChangesAsync();
                 }
                 return editItem;

+ 1 - 0
XdCxRhDW.App/UserControl/CtrlTarget.cs

@@ -80,6 +80,7 @@ namespace XdCxRhDW.App.UserControl
                     var find = await db.TargetInfos.Where(p => p.ID == editItem.ID).FirstOrDefaultAsync();
                     find.TargetName = editItem.TargetName;
                     find.TargeColor = editItem.TargeColor;
+                    find.UpdateTime = DateTime.Now;
                     await db.SaveChangesAsync();
                 }
                 return editItem;

+ 1 - 0
XdCxRhDW.App/UserControl/CtrlTx.cs

@@ -143,6 +143,7 @@ namespace XdCxRhDW.App.UserControl
                             find.Lon = item.Lon;
                             find.Lat = item.Lat;
                             find.SatInfoID = item.SatInfoID;
+                            find.UpdateTime = DateTime.Now;
                         }
                         else
                         {

+ 46 - 46
XdCxRhDW.App/UserControl/X2D1GDOPParam.Designer.cs

@@ -40,8 +40,6 @@
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            this.ucEphXYZAdja = new XdCxRhDW.App.UserControl.UCEphXYZParam();
-            this.ucEphXYZMain = new XdCxRhDW.App.UserControl.UCEphXYZParam();
             this.btnOK = new DevExpress.XtraEditors.SimpleButton();
             this.txtCapTime = new DevExpress.XtraEditors.DateEdit();
             this.txtStationLocation1 = new DevExpress.XtraEditors.TextEdit();
@@ -59,11 +57,13 @@
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
             this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
-            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
+            this.ucEphXYZAdja = new XdCxRhDW.App.UserControl.UCEphXYZParam();
+            this.ucEphXYZMain = new XdCxRhDW.App.UserControl.UCEphXYZParam();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties)).BeginInit();
@@ -81,11 +81,11 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -110,20 +110,6 @@
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.Text = "layoutControl1";
             // 
-            // ucEphXYZAdja
-            // 
-            this.ucEphXYZAdja.Location = new System.Drawing.Point(2, 94);
-            this.ucEphXYZAdja.Name = "ucEphXYZAdja";
-            this.ucEphXYZAdja.Size = new System.Drawing.Size(480, 88);
-            this.ucEphXYZAdja.TabIndex = 15;
-            // 
-            // ucEphXYZMain
-            // 
-            this.ucEphXYZMain.Location = new System.Drawing.Point(2, 2);
-            this.ucEphXYZMain.Name = "ucEphXYZMain";
-            this.ucEphXYZMain.Size = new System.Drawing.Size(480, 88);
-            this.ucEphXYZMain.TabIndex = 14;
-            // 
             // btnOK
             // 
             this.btnOK.Location = new System.Drawing.Point(330, 410);
@@ -346,30 +332,6 @@
             this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
             // 
-            // layoutControlItem3
-            // 
-            this.layoutControlItem3.Control = this.ucEphXYZMain;
-            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 92);
-            this.layoutControlItem3.MinSize = new System.Drawing.Size(190, 92);
-            this.layoutControlItem3.Name = "layoutControlItem3";
-            this.layoutControlItem3.Size = new System.Drawing.Size(484, 92);
-            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem3.TextVisible = false;
-            // 
-            // layoutControlItem6
-            // 
-            this.layoutControlItem6.Control = this.ucEphXYZAdja;
-            this.layoutControlItem6.Location = new System.Drawing.Point(0, 92);
-            this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 92);
-            this.layoutControlItem6.MinSize = new System.Drawing.Size(190, 92);
-            this.layoutControlItem6.Name = "layoutControlItem6";
-            this.layoutControlItem6.Size = new System.Drawing.Size(484, 92);
-            this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem6.TextVisible = false;
-            // 
             // layoutControlItem7
             // 
             this.layoutControlItem7.Control = this.btnEphCalc;
@@ -398,6 +360,44 @@
             // 
             this.dxErrorProvider.ContainerControl = this;
             // 
+            // ucEphXYZAdja
+            // 
+            this.ucEphXYZAdja.Location = new System.Drawing.Point(2, 94);
+            this.ucEphXYZAdja.Name = "ucEphXYZAdja";
+            this.ucEphXYZAdja.Size = new System.Drawing.Size(480, 88);
+            this.ucEphXYZAdja.TabIndex = 15;
+            // 
+            // ucEphXYZMain
+            // 
+            this.ucEphXYZMain.Location = new System.Drawing.Point(2, 2);
+            this.ucEphXYZMain.Name = "ucEphXYZMain";
+            this.ucEphXYZMain.Size = new System.Drawing.Size(480, 88);
+            this.ucEphXYZMain.TabIndex = 14;
+            // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.ucEphXYZMain;
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 92);
+            this.layoutControlItem3.MinSize = new System.Drawing.Size(190, 92);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Size = new System.Drawing.Size(484, 92);
+            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem3.TextVisible = false;
+            // 
+            // layoutControlItem6
+            // 
+            this.layoutControlItem6.Control = this.ucEphXYZAdja;
+            this.layoutControlItem6.Location = new System.Drawing.Point(0, 92);
+            this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 92);
+            this.layoutControlItem6.MinSize = new System.Drawing.Size(190, 92);
+            this.layoutControlItem6.Name = "layoutControlItem6";
+            this.layoutControlItem6.Size = new System.Drawing.Size(484, 92);
+            this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem6.TextVisible = false;
+            // 
             // X2D1GDOPParam
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -423,11 +423,11 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             this.ResumeLayout(false);
 
         }

+ 30 - 30
XdCxRhDW.App/UserControl/X2DFGDOPParam.Designer.cs

@@ -85,11 +85,11 @@
             this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
             this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
-            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties)).BeginInit();
@@ -113,11 +113,11 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -450,30 +450,6 @@
             this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
             // 
-            // layoutControlItem3
-            // 
-            this.layoutControlItem3.Control = this.ucEphXYZMain;
-            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 92);
-            this.layoutControlItem3.MinSize = new System.Drawing.Size(190, 92);
-            this.layoutControlItem3.Name = "layoutControlItem3";
-            this.layoutControlItem3.Size = new System.Drawing.Size(503, 92);
-            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem3.TextVisible = false;
-            // 
-            // layoutControlItem13
-            // 
-            this.layoutControlItem13.Control = this.ucEphXYZAdja;
-            this.layoutControlItem13.Location = new System.Drawing.Point(0, 92);
-            this.layoutControlItem13.MaxSize = new System.Drawing.Size(0, 92);
-            this.layoutControlItem13.MinSize = new System.Drawing.Size(190, 92);
-            this.layoutControlItem13.Name = "layoutControlItem13";
-            this.layoutControlItem13.Size = new System.Drawing.Size(503, 92);
-            this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem13.TextVisible = false;
-            // 
             // layoutControlItem8
             // 
             this.layoutControlItem8.Control = this.btnEphCalc;
@@ -500,6 +476,30 @@
             // 
             this.dxErrorProvider.ContainerControl = this;
             // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.ucEphXYZMain;
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 92);
+            this.layoutControlItem3.MinSize = new System.Drawing.Size(190, 92);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Size = new System.Drawing.Size(503, 92);
+            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem3.TextVisible = false;
+            // 
+            // layoutControlItem13
+            // 
+            this.layoutControlItem13.Control = this.ucEphXYZAdja;
+            this.layoutControlItem13.Location = new System.Drawing.Point(0, 92);
+            this.layoutControlItem13.MaxSize = new System.Drawing.Size(0, 92);
+            this.layoutControlItem13.MinSize = new System.Drawing.Size(190, 92);
+            this.layoutControlItem13.Name = "layoutControlItem13";
+            this.layoutControlItem13.Size = new System.Drawing.Size(503, 92);
+            this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem13.TextVisible = false;
+            // 
             // X2DFGDOPParam
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -531,11 +531,11 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
             this.ResumeLayout(false);
 
         }

+ 19 - 9
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -211,6 +211,12 @@
     <Compile Include="EditForms\RHDTOParamEditor.Designer.cs">
       <DependentUpon>RHDTOParamEditor.cs</DependentUpon>
     </Compile>
+    <Compile Include="EditForms\FixedStationEditor.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="EditForms\FixedStationEditor.Designer.cs">
+      <DependentUpon>FixedStationEditor.cs</DependentUpon>
+    </Compile>
     <Compile Include="EditForms\SigDelayEditor.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -229,12 +235,6 @@
     <Compile Include="EditForms\SignalEmulation.Designer.cs">
       <DependentUpon>SignalEmulation.cs</DependentUpon>
     </Compile>
-    <Compile Include="EditForms\TaskEditor54.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="EditForms\TaskEditor54.Designer.cs">
-      <DependentUpon>TaskEditor54.cs</DependentUpon>
-    </Compile>
     <Compile Include="EditForms\TaskEditorSignal.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -366,6 +366,12 @@
     <Compile Include="UserControl\CtrlHome.Designer.cs">
       <DependentUpon>CtrlHome.cs</DependentUpon>
     </Compile>
+    <Compile Include="UserControl\CtrlFixedStation.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserControl\CtrlFixedStation.Designer.cs">
+      <DependentUpon>CtrlFixedStation.cs</DependentUpon>
+    </Compile>
     <Compile Include="UserControl\CtrlSignal.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -483,6 +489,9 @@
     <EmbeddedResource Include="EditForms\RHDTOParamEditor.resx">
       <DependentUpon>RHDTOParamEditor.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="EditForms\FixedStationEditor.resx">
+      <DependentUpon>FixedStationEditor.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="EditForms\SigDelayEditor.resx">
       <DependentUpon>SigDelayEditor.cs</DependentUpon>
     </EmbeddedResource>
@@ -492,9 +501,6 @@
     <EmbeddedResource Include="EditForms\SignalEmulation.resx">
       <DependentUpon>SignalEmulation.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="EditForms\TaskEditor54.resx">
-      <DependentUpon>TaskEditor54.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="EditForms\TaskEditorSignal.resx">
       <DependentUpon>TaskEditorSignal.cs</DependentUpon>
     </EmbeddedResource>
@@ -548,6 +554,7 @@
     <EmbeddedResource Include="PopupControl\ShowCxCtrl.resx">
       <DependentUpon>ShowCxCtrl.cs</DependentUpon>
     </EmbeddedResource>
+    <None Include="Properties\licenses.licx" />
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@@ -565,6 +572,9 @@
     <EmbeddedResource Include="UserControl\CtrlHome.resx">
       <DependentUpon>CtrlHome.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="UserControl\CtrlFixedStation.resx">
+      <DependentUpon>CtrlFixedStation.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlSignal.resx">
       <DependentUpon>CtrlSignal.cs</DependentUpon>
     </EmbeddedResource>

+ 1 - 0
XdCxRhDW.Entity/03.XdCxRhDW.Entity.csproj

@@ -69,6 +69,7 @@
     <Compile Include="PosData.cs" />
     <Compile Include="PosRes.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="FixedStation.cs" />
     <Compile Include="SigDelay.cs" />
     <Compile Include="SigInfo.cs" />
     <Compile Include="SatInfo.cs" />

+ 17 - 1
XdCxRhDW.Entity/CgRes.cs

@@ -27,7 +27,7 @@ namespace XdCxRhDW.Entity
         public long StationResID { get; set; }
 
         /// <summary>
-        /// 站点ID
+        /// 任务ID
         /// </summary>
         [Display(Name = "任务ID")]
         public int TaskID { get; set; }
@@ -38,6 +38,18 @@ namespace XdCxRhDW.Entity
         [Display(AutoGenerateField = false)]
         public virtual StationRes StationRes { get; set; }
 
+
+        /// <summary>
+        /// 固定站ID
+        /// </summary>
+        public int FixedStationResID { get; set; }
+
+        /// <summary>
+        /// 固定站
+        /// </summary>
+        [Display(AutoGenerateField = false)]
+        public virtual FixedStation FixedStation { get; set; }
+
         /// <summary>
         /// 主邻1时差(us)
         /// </summary>
@@ -314,6 +326,8 @@ namespace XdCxRhDW.Entity
         [Display(Name = "邻星2速度Vz(m/s)")]
         public double? Adja2Vz { get; set; }
 
+
+
         public CgRes Clone()
         {
             return new CgRes()
@@ -358,6 +372,8 @@ namespace XdCxRhDW.Entity
                 SnrCdb = SnrCdb,
                 StationRes = StationRes,
                 StationResID = StationResID,
+                FixedStation=FixedStation,
+                FixedStationResID=FixedStationResID,
                 TarFreqDown = TarFreqDown,
                 TarFreqUp = TarFreqUp,
                 TaskID = TaskID,

+ 70 - 0
XdCxRhDW.Entity/FixedStation.cs

@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XdCxRhDW.Entity
+{
+    [Table("FixedStation")]
+    public class FixedStation : BaseEntity
+    {
+        /// <summary>
+        /// 名称
+        /// </summary>
+        [Display(Name = "名称")]
+        public string StationName { get; set; }
+
+        /// <summary>
+        /// 固定站位置经度
+        /// </summary>
+        [Display(AutoGenerateField = false)]
+        public double Lon { get; set; }
+
+        /// <summary>
+        /// 固定站位置纬度
+        /// </summary>
+        [Display(AutoGenerateField = false)]
+        public double Lat { get; set; }
+
+        /// <summary>
+        /// 所在位置
+        /// </summary>
+        [Display(Name = "所在位置")]
+        public string Location => $"{Lon:f4}°,{Lat:f4}°";
+
+        /// <summary>
+        /// 上行频点Hz
+        /// </summary>
+        [Display(AutoGenerateField = false)]
+
+        public long FreqUpHz { get; set; }
+
+        /// <summary>
+        /// 上行频点MHz
+        /// </summary>
+        [Display(Name = "上行频点")]
+        public string FreqUpMHz => $"{FreqUpHz / 1e6:f3}MHz";
+
+        /// <summary>
+        /// 固定站信号判定规则(突发信号和前一个突发超过Value秒则认为是固定站发出的信号)
+        /// </summary>
+        [Display(Name = "判定规则值")]
+        public double Value { get; set; }
+
+        /// <summary>
+        /// 固定站信号判定规则后续可能还会有改动,多添加一个字段备用
+        /// </summary>
+        [Display(AutoGenerateField = false)]
+        public double SpareField { get; set; }
+
+        /// <summary>
+        /// 是否启用
+        /// </summary>
+        [Display(Name = "是否启用")]
+        public bool Enable { get; set; }
+
+    }
+}

+ 5 - 1
XdCxRhDW.Entity/SigInfo.cs

@@ -12,7 +12,7 @@ namespace XdCxRhDW.Entity
     [Table("SigInfo")]
     public class SigInfo : BaseEntity
     {
-        [Display(Name = "上行频点(Hz)",AutoGenerateField =false)]
+        [Display(Name = "上行频点(Hz)", AutoGenerateField = false)]
         public long FreqUp { get; set; }
 
         [Display(Name = "上行频点(MHz)")]
@@ -33,5 +33,9 @@ namespace XdCxRhDW.Entity
 
         [Display(Name = "带宽(Hz)")]
         public double Band { get; set; }
+
+        [NotMapped]
+        [Display(Name = "是否是固定站")]
+        public string IsFixedStationFreq { get; set; }
     }
 }

+ 2 - 0
XdCxRhDW.Repostory/EFContext/RHDWContext.cs

@@ -62,6 +62,8 @@ namespace XdCxRhDW.Repostory
 
         public DbSet<SatInfo> SatInfos { get; set; }
 
+        public DbSet<FixedStation> FixedStation { get; set; }
+
         public DbSet<SigInfo> SigInfos { get; set; }
 
         public DbSet<SigDelay> SigDelays { get; set; }

+ 1 - 1
XdCxRhDW.sln

@@ -21,7 +21,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "03.XdCxRhDW.Entity", "XdCxR
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Serevice", "Serevice", "{3EB6F47A-A57D-4468-B4BE-3A63E13B692D}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X2D1NoRefTaskServer", "Service\X2D1NoRefTaskServer\X2D1NoRefTaskServer.csproj", "{C1BECB5B-A11E-4A10-988F-1056FE60E689}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X2D1TaskServer", "Service\X2D1NoRefTaskServer\X2D1TaskServer.csproj", "{C1BECB5B-A11E-4A10-988F-1056FE60E689}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CheckServer", "Service\CheckServer\CheckServer.csproj", "{F3DE685F-37E5-41FE-B0E5-338CCF34AEF0}"
 EndProject

+ 38 - 2
XdCxRhDw.Dto/TaskHandleDto/X2D1NoRefTaskHandleDto.cs

@@ -8,9 +8,9 @@ using System.Threading.Tasks;
 namespace XdCxRhDW.Dto
 {
     /// <summary>
-    /// 两星一地无参处理模型
+    /// 两星一地任务处理模型
     /// </summary>
-    public class X2D1NoRefTaskHandleDto
+    public class X2D1TaskHandleDto
     {
         /// <summary>
         /// 任务类型
@@ -62,6 +62,11 @@ namespace XdCxRhDW.Dto
         /// </summary>
         public List<TaskSigDto> Sigs { get; set; }
 
+        /// <summary>
+        /// 固定站信息(可空)
+        /// </summary>
+        public X2D1FixedStationDto FixedStationDto { get; set; }
+
         /// <summary>
         /// 采集站经度
         /// </summary>
@@ -81,5 +86,36 @@ namespace XdCxRhDW.Dto
         /// 超短站纬度
         /// </summary>
         public double CdbLat { get; set; }
+
+    }
+    /// <summary>
+    /// 两星一地固定站信息
+    /// </summary>
+    public class X2D1FixedStationDto
+    {
+        /// <summary>
+        /// 名称
+        /// </summary>
+        public string StationName { get; set; }
+
+        /// <summary>
+        /// 上行频点
+        /// </summary>
+        public long FreqUp { get; set; }
+
+        /// <summary>
+        /// 经度
+        /// </summary>
+        public double Lon { get; set; }
+
+        /// <summary>
+        /// 纬度
+        /// </summary>
+        public double Lat { get; set; }
+
+        /// <summary>
+        /// 判定规则值(秒).(距上一个突发间隔超过此值则判定为固定站信号)
+        /// </summary>
+        public double Value { get; set; }
     }
 }