zoulei 1 year ago
parent
commit
f4f21445f6

+ 1 - 0
Service/X2D1NoRefTaskServer/App.config

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
 	<connectionStrings>
+		<!--下行频点查询卫星编号的Mysql数据库地址-->
 		<add name="MySql" connectionString="server=192.168.1.5;port=3306;database=mcms;user=root;password=123456" />
 	</connectionStrings>
 	<appSettings>

+ 2 - 11
Service/X2D1NoRefTaskServer/HistoryFile.cs

@@ -14,14 +14,14 @@ namespace X2D1NoRefTaskServer
         public string FilePath { get; set; }
 
         /// <summary>
-        /// 采集时间
+        /// 文件名上的采集时间采集时间(用户说是UTC3时间)
         /// </summary>
         public DateTime CapTime { get; set; }
 
         /// <summary>
         /// 通道1(超短信号)是上行频点Hz,其余是下行频点Hz
         /// </summary>
-        public double FreqHz { get; set; }
+        public long FreqHz { get; set; }
 
         /// <summary>
         /// 采样率Hz
@@ -38,14 +38,5 @@ namespace X2D1NoRefTaskServer
         /// </summary>
         public int SatId { get; set; }
 
-        /// <summary>
-        /// 采集站经度
-        /// </summary>
-        public double CapLon { get; set; }
-
-        /// <summary>
-        /// 采集站纬度
-        /// </summary>
-        public double CapLat { get; set; }
     }
 }

+ 24 - 16
Service/X2D1NoRefTaskServer/Service/HistoryTaskService.cs

@@ -53,6 +53,12 @@ namespace X2D1NoRefTaskServer.Service
                 StopTask(dto.ID, $"文件路径[{dto.CapDir}]不存在,任务结束");
                 return;
             }
+            if (dto.DateDirFormat.Contains("\\"))
+            {
+                StopTask(dto.ID, $"子目录日期格式不能包含多级目录格式");
+                return;
+            }
+
             LogHelper.Info($"【任务{dto.ID}】开始执行...");
             int.TryParse(ConfigurationManager.AppSettings["PosDtoFactor"], out int posDtoFactor);
             if (posDtoFactor == 0) posDtoFactor = 1;//定位时时差系数
@@ -61,8 +67,10 @@ namespace X2D1NoRefTaskServer.Service
             bool parseSucceed = int.TryParse(ConfigurationManager.AppSettings["UTCValue"], out int utcValue);
             if (!parseSucceed)
                 utcValue = 8;
+            LogHelper.Info($"【任务{dto.ID}】文件名时间时区=UTC{utcValue}");
             int hours = 8 - utcValue;
-
+            dto.StartTime = dto.StartTime.AddHours(-hours);//UTC8转UTC3
+            dto.EndTime = dto.EndTime.AddHours(-hours);//UTC8转UTC3
             //点击定位平台右上角查看接口可以在浏览器中查看平台提供的所有接口详细信息
             Task.Run(async () =>
             {
@@ -83,10 +91,6 @@ namespace X2D1NoRefTaskServer.Service
                     //处理完一个目录后跳转到第二天的目录
                     formatFlag = 1;
                 }
-                else if (dto.DateDirFormat.ToUpper().EndsWith("\\HH"))//类似20241223\13的多级目录
-                {
-                    formatFlag = 3;
-                }
                 else if (dto.DateDirFormat.ToUpper().EndsWith("HH"))
                 {
                     //处理完一个目录后跳转到下一个小时的目录
@@ -106,14 +110,15 @@ namespace X2D1NoRefTaskServer.Service
                         {
                             filesDir = Path.Combine(dto.CapDir, $"{preTime.ToString(dto.DateDirFormat)}");//yyyyMMdd
                         }
-                        LogHelper.Info($"【任务{dto.ID}】正在处理[{filesDir}]目录中的数据...");
+
                         IEnumerable<string> files;
                         if (!Directory.Exists(filesDir))
                         {
-                            LogHelper.Info($"【任务{dto.ID}】目录[{filesDir}]不存在,跳过此目录");
+                            //LogHelper.Info($"【任务{dto.ID}】目录[{filesDir}]不存在,跳过此目录");
                             ResetTime(formatFlag, ref preTime);
                             continue;
                         }
+                        LogHelper.Info($"【任务{dto.ID}】正在处理[{filesDir}]目录中的数据...");
                         files = Directory.EnumerateFiles(filesDir, "*.dat");
                         if (!files.Any())
                         {
@@ -143,6 +148,10 @@ namespace X2D1NoRefTaskServer.Service
                                 LogHelper.Warning($"【任务{dto.ID}】{capTime:yyyyMMddHHmmss}时刻未找到超短波信号ch1文件,跳过此组数据");
                                 continue;
                             }
+                            if (dto.FreqsHz.Any() && !dto.FreqsHz.Contains(dinfo.FreqHz))
+                            {
+                                continue;//跳过不是任务处理的频点,注意如果任务没有填频点则全处理
+                            }
                             //主星
                             var minfo = finfos.FirstOrDefault(m => m.Ch == 2);
                             if (minfo == null)
@@ -166,9 +175,10 @@ namespace X2D1NoRefTaskServer.Service
                                 DetectDto detectDto = new DetectDto()
                                 {
                                     file1 = cdbFile,//11局使用上行泄露信号进行检测
-                                    dmcType = DmcType.Ky5758,//上行信号目前算法只能使用基于能量的Ky或IBS检测
+                                    dmcType = (DmcType)dto.TaskCheckType,//上行信号检测目前的算法只能使用基于能量的KY或IBS检测
                                     fsHz = minfo.FsHz,
                                 };
+                                detectDto.dmcType = detectDto.dmcType & ~DmcType.DAMA;//DAMA不支持上行信号检测,在这里移除掉
                                 var deteResp = await HttpHelper.PostRequestAsync<List<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", detectDto, token: cts.Token);
                                 if (deteResp.code != 200)
                                 {
@@ -229,6 +239,7 @@ namespace X2D1NoRefTaskServer.Service
                                             SigTime = minfo.CapTime.AddHours(hours).AddSeconds(data1[i].Smpstart / minfo.FsHz),
                                             MainCode = minfo.SatId,
                                             AdjaCode = ninfo.SatId,
+                                            //卫星转发某些频点可能有时延,无参定位由于不能抵消需要减去这个时延
                                             SxDto = data1[i].Dt * posDtoFactor - data2[i].Dt * posDtoFactor
                                                 - GetSatDelay(minfo.SatId) + GetSatDelay(ninfo.SatId),
                                             SxDfo = data1[i].Df,
@@ -236,10 +247,10 @@ namespace X2D1NoRefTaskServer.Service
                                             XdDto = data1[i].Dt * posDtoFactor - GetSatDelay(minfo.SatId),
                                             XdDfo = data2[i].Df,
                                             XdSnr = data2[i].Snr,
-                                            SatTxLon = minfo.CapLon,
-                                            SatTxLat = minfo.CapLat,
-                                            CdbTxLon = minfo.CapLon,
-                                            CdbTxLat = minfo.CapLat,
+                                            SatTxLon = dto.CapLon,
+                                            SatTxLat = dto.CapLat,
+                                            CdbTxLon = dto.CapLon,
+                                            CdbTxLat = dto.CapLat,
                                             FreqDown = minfo.FreqHz,
                                             FreqUp = dinfo.FreqHz,
                                             CheckRes = new CheckResDto()
@@ -309,9 +320,6 @@ namespace X2D1NoRefTaskServer.Service
             var fileName = Path.GetFileNameWithoutExtension(filePath);
             var strs = fileName.Split(new string[] { "_", "MHz", "Hz", "ch" }, StringSplitOptions.RemoveEmptyEntries);
 
-            historyFile.CapLon = Convert.ToDouble(strs[10].Substring(1, strs[10].Length - 1));
-            historyFile.CapLat = Convert.ToDouble(strs[9].Substring(1, strs[9].Length - 1));
-
             //采集时间
             var datestr = string.Join("_", strs.Take(6));
             DateTime dateTime;
@@ -335,7 +343,7 @@ namespace X2D1NoRefTaskServer.Service
             double fsHz;
             double.TryParse(fsstr, out fsHz);
 
-            historyFile.FreqHz = freqMHz * 1e6;
+            historyFile.FreqHz = (long)((decimal)freqMHz * 1000000);
             historyFile.Ch = ch;
             historyFile.FsHz = fsHz;
             if (canConnected)

+ 52 - 51
XdCxRhDW.App/EditForms/TaskEditor.Designer.cs

@@ -29,16 +29,16 @@
         private void InitializeComponent()
         {
             this.components = new System.ComponentModel.Container();
+            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();
             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();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.txtDetectionWay = new DevExpress.XtraEditors.CheckedComboBoxEdit();
             this.btnSave = new DevExpress.XtraEditors.SimpleButton();
@@ -57,7 +57,6 @@
             this.txtSignalType = new DevExpress.XtraEditors.ImageComboBoxEdit();
             this.txtCapDirFormat = new DevExpress.XtraEditors.TextEdit();
             this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -70,9 +69,10 @@
             this.layoutControlItemAdja2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.itemDetectionWay = new DevExpress.XtraLayout.LayoutControlItem();
             this.itemDoFreqUp = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
             this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
-            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.txtDetectionWay.Properties)).BeginInit();
@@ -91,7 +91,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.txtSignalType.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtCapDirFormat.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
@@ -104,9 +103,10 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemDetectionWay)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemDoFreqUp)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -181,7 +181,7 @@
             this.txtFreq.Name = "txtFreq";
             this.txtFreq.Properties.AutoHeight = false;
             this.txtFreq.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -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.txtFreq.Size = new System.Drawing.Size(236, 20);
             this.txtFreq.StyleController = this.layoutControl1;
             this.txtFreq.TabIndex = 10;
@@ -275,7 +275,8 @@
             this.txtDoFreqUp.Name = "txtDoFreqUp";
             this.txtDoFreqUp.Properties.AutoHeight = false;
             this.txtDoFreqUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -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.txtDoFreqUp.Properties.NullValuePrompt = "不填则处理全部频点";
             this.txtDoFreqUp.Size = new System.Drawing.Size(237, 20);
             this.txtDoFreqUp.StyleController = this.layoutControl1;
             this.txtDoFreqUp.TabIndex = 10;
@@ -294,13 +295,13 @@
             // 
             // txtCapDirFormat
             // 
-            this.txtCapDirFormat.EditValue = "yyyyMMdd_HH";
+            this.txtCapDirFormat.EditValue = "yyyy_MM_dd_HH";
             this.txtCapDirFormat.Location = new System.Drawing.Point(252, 308);
             this.txtCapDirFormat.Name = "txtCapDirFormat";
-            this.txtCapDirFormat.Properties.NullValuePrompt = "yyyyMMdd_HH";
             this.txtCapDirFormat.Size = new System.Drawing.Size(237, 20);
             this.txtCapDirFormat.StyleController = this.layoutControl1;
             this.txtCapDirFormat.TabIndex = 13;
+            this.txtCapDirFormat.ToolTip = "没有子目录则不填";
             // 
             // Root
             // 
@@ -324,20 +325,6 @@
             this.Root.Size = new System.Drawing.Size(501, 388);
             this.Root.TextVisible = false;
             // 
-            // 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(321, 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(72, 14);
-            // 
             // emptySpaceItem1
             // 
             this.emptySpaceItem1.AllowHotTrack = false;
@@ -357,7 +344,7 @@
             this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem2.Text = "定位模式";
             this.layoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem2.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(84, 14);
             // 
             // layoutControlItem3
             // 
@@ -380,7 +367,7 @@
             this.layoutControlItem4.Size = new System.Drawing.Size(160, 41);
             this.layoutControlItem4.Text = "主星";
             this.layoutControlItem4.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem4.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItem4.TextSize = new System.Drawing.Size(84, 14);
             // 
             // itemFreqUp
             // 
@@ -393,7 +380,7 @@
             this.itemFreqUp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.itemFreqUp.Text = "上行频点";
             this.itemFreqUp.TextLocation = DevExpress.Utils.Locations.Top;
-            this.itemFreqUp.TextSize = new System.Drawing.Size(72, 14);
+            this.itemFreqUp.TextSize = new System.Drawing.Size(84, 14);
             // 
             // itemCapDir
             // 
@@ -408,7 +395,7 @@
             this.itemCapDir.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.itemCapDir.Text = "采集文件目录";
             this.itemCapDir.TextLocation = DevExpress.Utils.Locations.Top;
-            this.itemCapDir.TextSize = new System.Drawing.Size(72, 14);
+            this.itemCapDir.TextSize = new System.Drawing.Size(84, 14);
             // 
             // layoutControlItem6
             // 
@@ -418,7 +405,7 @@
             this.layoutControlItem6.Size = new System.Drawing.Size(240, 41);
             this.layoutControlItem6.Text = "信号类型";
             this.layoutControlItem6.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem6.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(84, 14);
             // 
             // itemCapDirFormat
             // 
@@ -426,9 +413,9 @@
             this.itemCapDirFormat.Location = new System.Drawing.Point(240, 279);
             this.itemCapDirFormat.Name = "itemCapDirFormat";
             this.itemCapDirFormat.Size = new System.Drawing.Size(241, 41);
-            this.itemCapDirFormat.Text = "目录日期格式";
+            this.itemCapDirFormat.Text = "目录日期格式";
             this.itemCapDirFormat.TextLocation = DevExpress.Utils.Locations.Top;
-            this.itemCapDirFormat.TextSize = new System.Drawing.Size(72, 14);
+            this.itemCapDirFormat.TextSize = new System.Drawing.Size(84, 14);
             // 
             // layoutControlItemAdja1
             // 
@@ -438,7 +425,7 @@
             this.layoutControlItemAdja1.Size = new System.Drawing.Size(160, 41);
             this.layoutControlItemAdja1.Text = "邻星1";
             this.layoutControlItemAdja1.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItemAdja1.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItemAdja1.TextSize = new System.Drawing.Size(84, 14);
             this.layoutControlItemAdja1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
             // layoutControlItemAdja2
@@ -449,7 +436,7 @@
             this.layoutControlItemAdja2.Size = new System.Drawing.Size(161, 41);
             this.layoutControlItemAdja2.Text = "邻星2";
             this.layoutControlItemAdja2.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItemAdja2.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItemAdja2.TextSize = new System.Drawing.Size(84, 14);
             this.layoutControlItemAdja2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
             // itemDetectionWay
@@ -460,7 +447,7 @@
             this.itemDetectionWay.Size = new System.Drawing.Size(241, 41);
             this.itemDetectionWay.Text = "检测方式";
             this.itemDetectionWay.TextLocation = DevExpress.Utils.Locations.Top;
-            this.itemDetectionWay.TextSize = new System.Drawing.Size(72, 14);
+            this.itemDetectionWay.TextSize = new System.Drawing.Size(84, 14);
             this.itemDetectionWay.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
             // itemDoFreqUp
@@ -476,7 +463,31 @@
             this.itemDoFreqUp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.itemDoFreqUp.Text = "处理上行频点";
             this.itemDoFreqUp.TextLocation = DevExpress.Utils.Locations.Top;
-            this.itemDoFreqUp.TextSize = new System.Drawing.Size(72, 14);
+            this.itemDoFreqUp.TextSize = new System.Drawing.Size(84, 14);
+            // 
+            // layoutControlGroup1
+            // 
+            this.layoutControlGroup1.GroupBordersVisible = false;
+            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem1,
+            this.layoutControlItem5});
+            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroup1.Name = "layoutControlGroup1";
+            this.layoutControlGroup1.Size = new System.Drawing.Size(481, 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(321, 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(84, 14);
             // 
             // layoutControlItem5
             // 
@@ -492,22 +503,12 @@
             this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem5.Text = " ";
             this.layoutControlItem5.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem5.TextSize = new System.Drawing.Size(72, 14);
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(84, 14);
             // 
             // dxErrorProvider
             // 
             this.dxErrorProvider.ContainerControl = this;
             // 
-            // layoutControlGroup1
-            // 
-            this.layoutControlGroup1.GroupBordersVisible = false;
-            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem1,
-            this.layoutControlItem5});
-            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlGroup1.Name = "layoutControlGroup1";
-            this.layoutControlGroup1.Size = new System.Drawing.Size(481, 56);
-            // 
             // TaskEditor
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -536,7 +537,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.txtSignalType.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtCapDirFormat.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
@@ -549,9 +549,10 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemAdja2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemDetectionWay)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemDoFreqUp)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             this.ResumeLayout(false);
 
         }

+ 0 - 5
XdCxRhDW.App/EditForms/TaskEditor.cs

@@ -220,11 +220,6 @@ namespace XdCxRhDW.App.EditForms
                         dxErrorProvider.SetError(txtCapDir, "请填写采集文件目录");
                         return;
                     }
-                    if (string.IsNullOrWhiteSpace(txtDoFreqUp.Text))
-                    {
-                        dxErrorProvider.SetError(txtDoFreqUp, "请填写要处理的频点");
-                        return;
-                    }
                     try
                     {
                         var str = txtDoFreqUp.Text.Replace(",", ",").Replace(";", ",").Replace(";", ",").Trim();

+ 17 - 17
XdCxRhDW.App/EditForms/TaskHistoryTimeEditor.Designer.cs

@@ -65,15 +65,15 @@
             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(239, 156);
+            this.layoutControl1.Size = new System.Drawing.Size(207, 156);
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.Text = "layoutControl1";
             // 
             // btnOk
             // 
-            this.btnOk.Location = new System.Drawing.Point(132, 118);
+            this.btnOk.Location = new System.Drawing.Point(116, 118);
             this.btnOk.Name = "btnOk";
-            this.btnOk.Size = new System.Drawing.Size(95, 23);
+            this.btnOk.Size = new System.Drawing.Size(79, 23);
             this.btnOk.StyleController = this.layoutControl1;
             this.btnOk.TabIndex = 8;
             this.btnOk.Text = "确定";
@@ -83,7 +83,7 @@
             // 
             this.btnCancel.Location = new System.Drawing.Point(17, 118);
             this.btnCancel.Name = "btnCancel";
-            this.btnCancel.Size = new System.Drawing.Size(95, 23);
+            this.btnCancel.Size = new System.Drawing.Size(79, 23);
             this.btnCancel.StyleController = this.layoutControl1;
             this.btnCancel.TabIndex = 7;
             this.btnCancel.Text = "取消";
@@ -99,7 +99,7 @@
             new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
             this.txtStartTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStartTime.Size = new System.Drawing.Size(210, 22);
+            this.txtStartTime.Size = new System.Drawing.Size(178, 22);
             this.txtStartTime.StyleController = this.layoutControl1;
             this.txtStartTime.TabIndex = 9;
             // 
@@ -113,7 +113,7 @@
             new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
             this.txtEndTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtEndTime.Size = new System.Drawing.Size(210, 22);
+            this.txtEndTime.Size = new System.Drawing.Size(178, 22);
             this.txtEndTime.StyleController = this.layoutControl1;
             this.txtEndTime.TabIndex = 10;
             // 
@@ -128,7 +128,7 @@
             this.layoutControlItem1});
             this.Root.Name = "Root";
             this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(15, 10, 10, 10);
-            this.Root.Size = new System.Drawing.Size(239, 156);
+            this.Root.Size = new System.Drawing.Size(207, 156);
             this.Root.TextVisible = false;
             // 
             // layoutControlItem4
@@ -139,7 +139,7 @@
             this.layoutControlItem4.MinSize = new System.Drawing.Size(43, 37);
             this.layoutControlItem4.Name = "layoutControlItem4";
             this.layoutControlItem4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 10, 12, 2);
-            this.layoutControlItem4.Size = new System.Drawing.Size(107, 40);
+            this.layoutControlItem4.Size = new System.Drawing.Size(91, 40);
             this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem4.TextVisible = false;
@@ -147,12 +147,12 @@
             // layoutControlItem5
             // 
             this.layoutControlItem5.Control = this.btnOk;
-            this.layoutControlItem5.Location = new System.Drawing.Point(107, 96);
+            this.layoutControlItem5.Location = new System.Drawing.Point(91, 96);
             this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 37);
             this.layoutControlItem5.MinSize = new System.Drawing.Size(43, 37);
             this.layoutControlItem5.Name = "layoutControlItem5";
             this.layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(10, 2, 12, 2);
-            this.layoutControlItem5.Size = new System.Drawing.Size(107, 40);
+            this.layoutControlItem5.Size = new System.Drawing.Size(91, 40);
             this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem5.TextVisible = false;
@@ -164,11 +164,11 @@
             this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 43);
             this.layoutControlItem2.MinSize = new System.Drawing.Size(54, 43);
             this.layoutControlItem2.Name = "layoutControlItem2";
-            this.layoutControlItem2.Size = new System.Drawing.Size(214, 43);
+            this.layoutControlItem2.Size = new System.Drawing.Size(182, 43);
             this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem2.Text = "开始时间";
+            this.layoutControlItem2.Text = "开始时间(北京)";
             this.layoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem2.TextSize = new System.Drawing.Size(48, 14);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(82, 14);
             // 
             // layoutControlItem1
             // 
@@ -178,11 +178,11 @@
             this.layoutControlItem1.MinSize = new System.Drawing.Size(54, 53);
             this.layoutControlItem1.Name = "layoutControlItem1";
             this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem1.Size = new System.Drawing.Size(214, 53);
+            this.layoutControlItem1.Size = new System.Drawing.Size(182, 53);
             this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem1.Text = "结束时间";
+            this.layoutControlItem1.Text = "结束时间(北京)";
             this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem1.TextSize = new System.Drawing.Size(48, 14);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(82, 14);
             // 
             // dxErrorProvider1
             // 
@@ -192,7 +192,7 @@
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(239, 156);
+            this.ClientSize = new System.Drawing.Size(207, 156);
             this.Controls.Add(this.layoutControl1);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
             this.Name = "TaskHistoryTimeEditor";

+ 16 - 16
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -62,9 +62,9 @@ namespace XdCxRhDW.App.UserControl
         {
             Messenger.Defalut.Sub<ModelPosRes>("新增定位点", OnPosAdd);
             Messenger.Defalut.Sub<SysSetings>("系统配置改变", OnSysSetingsChanged);
-            Messenger.Defalut.Sub<int>("任务状态改变",async id =>
+            Messenger.Defalut.Sub<int>("任务状态改变", async id =>
             {
-              
+
                 var find = list.FirstOrDefault(p => p.ID == id);
                 if (find == null) return;
                 using (RHDWContext db = new RHDWContext())
@@ -533,21 +533,21 @@ namespace XdCxRhDW.App.UserControl
                             if (frm.ShowDialog() != DialogResult.OK) return;
                             var startTime = frm.start;
                             var endTime = frm.end;
-                            X2D1HistoryTaskHandleDto dto = new X2D1HistoryTaskHandleDto();
-                            dto.MainSatCode = tsk.MainSat;
-                            dto.AdjaSatCode = tsk.Adja1Sat.Value;
-                            dto.ID = tsk.ID;
-                            dto.StartTime = startTime;
-                            dto.EndTime = endTime;
-                            dto.TaskName = tsk.TaskName;
-                            dto.PosType = (EnumPosTypeDto)(int)tsk.PosType;
-                            dto.SigType = (EnumSigTypeDto)(int)tsk.SigType;
-                            dto.TaskCheckType = tsk.DetectionWay.HasValue ? (EnumTaskCheckTypeDto)(int)tsk.DetectionWay.Value : EnumTaskCheckTypeDto.DAMA;
-                            dto.CapDir = tsk.CapDir;
-                            dto.DateDirFormat = tsk.CapDirFormat;
                             var strs = tsk.HistoryFrequpMHz.Split(',');
                             var freqs = strs.Select(f => ((long)(Convert.ToDouble(f) * 1e6)));
-                            dto.FreqsHz = freqs.ToList();
+                            X2D1HistoryTaskHandleDto dto = new X2D1HistoryTaskHandleDto()
+                            {
+                                MainSatCode = tsk.MainSat,
+                                AdjaSatCode = tsk.Adja1Sat.Value,
+                                ID = tsk.ID,
+                                StartTime = startTime,
+                                EndTime = endTime,
+                                TaskName = tsk.TaskName,
+                                TaskCheckType = tsk.DetectionWay.HasValue ? (EnumTaskCheckTypeDto)(int)tsk.DetectionWay.Value : EnumTaskCheckTypeDto.DAMA,
+                                CapDir = tsk.CapDir,
+                                DateDirFormat = tsk.CapDirFormat,
+                                FreqsHz = freqs.ToList()
+                            };
                             var res = await HttpHelper.PostRequestAsync<AjaxResult>(svtItem.BaseHttpAddr + "/api/HistoryTaskProcessing/Run", dto);
                             if (res.code != 200)
                             {
@@ -762,7 +762,7 @@ namespace XdCxRhDW.App.UserControl
                     {
                         dto.TarFrequpHz = Convert.ToInt64(txtFrequpMHz.EditValue);
                     }
-                    var res = await HttpHelper.PostRequestAsync<List<ModelPosRes>>(baseUrl + "Pos/GetPosResByLastHoursObsolete", dto, token:ct);
+                    var res = await HttpHelper.PostRequestAsync<List<ModelPosRes>>(baseUrl + "Pos/GetPosResByLastHoursObsolete", dto, token: ct);
                     if (res.code == 200)
                     {
                         if (res.msg.Length > 10)

+ 44 - 0
XdCxRhDw.Dto/SvrStateDto.cs

@@ -44,6 +44,26 @@ namespace XdCxRhDW.Dto
     /// </summary>
     public enum EnumSvrType
     {
+
+        /// <summary>
+        /// CPU参估服务
+        /// </summary>
+        [Display(Name = "CPU参估服务")]
+        CpuCgSvr,
+
+        /// <summary>
+        /// GPU参估服务
+        /// </summary>
+        [Display(Name = "GPU参估服务")]
+        GpuCgSvr,
+
+        /// <summary>
+        /// 信号检测服务
+        /// </summary>
+        [Display(Name = "信号检测服务")]
+        CheckSvr,
+
+
         /// <summary>
         /// 两星一地无参离线数据处理服务
         /// </summary>
@@ -56,5 +76,29 @@ namespace XdCxRhDW.Dto
         [Display(Name = "三星无参离线数据处理服务")]
         X3NoRefHistoryTask,
 
+        /// <summary>
+        /// 三星带参离线数据处理服务
+        /// </summary>
+        [Display(Name = "三星带参离线数据处理服务")]
+        X3HistoryTask,
+
+        /// <summary>
+        /// 两星一地无参实时数据处理服务
+        /// </summary>
+        [Display(Name = "两星一地无参实时数据处理服务")]
+        X2D1NoRefRealTask,
+
+        /// <summary>
+        /// 三星无参实时数据处理服务
+        /// </summary>
+        [Display(Name = "三星无参实时数据处理服务")]
+        X3NoRefRealTask,
+
+        /// <summary>
+        /// 三星带参实时数据处理服务
+        /// </summary>
+        [Display(Name = "三星带参实时数据处理服务")]
+        X3RealTask,
+
     }
 }

+ 10 - 10
XdCxRhDw.Dto/TaskHandleDto/X2D1HistoryTaskHandleDto.cs

@@ -22,11 +22,6 @@ namespace XdCxRhDW.Dto
         /// </summary>
         public string TaskName { get; set; }
 
-        /// <summary>
-        /// 定位类型
-        /// </summary>
-        public EnumPosTypeDto PosType { get; set; }
-
         /// <summary>
         /// 开始时间
         /// </summary>
@@ -48,7 +43,7 @@ namespace XdCxRhDW.Dto
         public int AdjaSatCode { get; set; }
 
         /// <summary>
-        /// 日期目录格式(yyyy-MM-dd等格式)
+        /// 日期目录格式(yyyy_MM_dd_HH等格式)
         /// </summary>
         public string DateDirFormat { get; set; }
 
@@ -63,13 +58,18 @@ namespace XdCxRhDW.Dto
         public List<long> FreqsHz { get; set; }
 
         /// <summary>
-        /// 信号类型
+        /// 任务检测类型(支持多选)
+        /// </summary>
+        public EnumTaskCheckTypeDto TaskCheckType { get; set; }
+
+        /// <summary>
+        /// 采集站经度
         /// </summary>
-        public EnumSigTypeDto SigType { get; set; }
+        public double CapLon { get; set; }
 
         /// <summary>
-        /// 任务检测类型(支持多选)
+        /// 采集站纬度
         /// </summary>
-        public EnumTaskCheckTypeDto TaskCheckType { get; set; }
+        public double CapLat { get; set; }
     }
 }