|
@@ -201,63 +201,70 @@ namespace XdCxRhDW.App.UserControl
|
|
private DateTime lasetUpdateTime = DateTime.MinValue;
|
|
private DateTime lasetUpdateTime = DateTime.MinValue;
|
|
private void OnPosAdd(ModelPosRes posRes)
|
|
private void OnPosAdd(ModelPosRes posRes)
|
|
{
|
|
{
|
|
- var currentTask = gridView1.GetFocusedRow() as TaskInfo;
|
|
|
|
- if (currentTask.ID == posRes.TaskInfoID)
|
|
|
|
|
|
+ try
|
|
{
|
|
{
|
|
- lock (this)
|
|
|
|
|
|
+ var currentTask = gridView1.GetFocusedRow() as TaskInfo;
|
|
|
|
+ if (currentTask.ID == posRes.TaskInfoID)
|
|
{
|
|
{
|
|
- var items = txtFrequpMHz.Properties.Items.Where(p => p.Value != null).Select(t => Convert.ToInt64(t.Value)).ToList();
|
|
|
|
- if (!items.Contains(posRes.FreqUpHz))
|
|
|
|
|
|
+ lock (this)
|
|
{
|
|
{
|
|
- canQuery = false;
|
|
|
|
- items.Add(posRes.FreqUpHz);
|
|
|
|
- items.Sort();
|
|
|
|
- var selectdItem = this.txtFrequpMHz.SelectedItem;
|
|
|
|
- this.Invoke(new Action(() =>
|
|
|
|
|
|
+ var items = txtFrequpMHz.Properties.Items.Where(p => p.Value != null).Select(t => Convert.ToInt64(t.Value)).ToList();
|
|
|
|
+ if (!items.Contains(posRes.FreqUpHz))
|
|
{
|
|
{
|
|
- this.txtFrequpMHz.Properties.Items.Clear();
|
|
|
|
- this.txtFrequpMHz.Properties.Items.Add(new ImageComboBoxItem("全部", null));
|
|
|
|
- foreach (var item in items)
|
|
|
|
|
|
+ canQuery = false;
|
|
|
|
+ items.Add(posRes.FreqUpHz);
|
|
|
|
+ items.Sort();
|
|
|
|
+ var selectdItem = this.txtFrequpMHz.SelectedItem;
|
|
|
|
+ this.Invoke(new Action(() =>
|
|
{
|
|
{
|
|
- this.txtFrequpMHz.Properties.Items.Add(new ImageComboBoxItem((item / 1e6).ToString("f3"), item));
|
|
|
|
- }
|
|
|
|
- this.txtFrequpMHz.SelectedItem = selectdItem;
|
|
|
|
- }));
|
|
|
|
- canQuery = true;
|
|
|
|
|
|
+ this.txtFrequpMHz.Properties.Items.Clear();
|
|
|
|
+ this.txtFrequpMHz.Properties.Items.Add(new ImageComboBoxItem("全部", null));
|
|
|
|
+ foreach (var item in items)
|
|
|
|
+ {
|
|
|
|
+ this.txtFrequpMHz.Properties.Items.Add(new ImageComboBoxItem((item / 1e6).ToString("f3"), item));
|
|
|
|
+ }
|
|
|
|
+ this.txtFrequpMHz.SelectedItem = selectdItem;
|
|
|
|
+ }));
|
|
|
|
+ canQuery = true;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- if (txtFrequpMHz.EditValue != null && posRes.FreqUpHz != Convert.ToInt64(txtFrequpMHz.EditValue))
|
|
|
|
- return;
|
|
|
|
- if (posRes.PosLon == 999 && !btnIncludeInvalidate.Checked)
|
|
|
|
- return;
|
|
|
|
- if (txtTimeCho.Text == "自定义")
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- var hours = Convert.ToInt32(txtTimeCho.EditValue);
|
|
|
|
- var ds = this.gridHomePosRes.DataSource as List<ModelPosRes>;
|
|
|
|
- List<ModelPosRes> removeItems = null;
|
|
|
|
- lock (this)
|
|
|
|
- {
|
|
|
|
- ds.Insert(0, posRes);
|
|
|
|
- var max = ds.Max(p => p.SigTime);
|
|
|
|
- removeItems = ds.Where(p => (max - p.SigTime).TotalHours > hours).ToList();
|
|
|
|
- foreach (var item in removeItems)
|
|
|
|
|
|
+ if (txtFrequpMHz.EditValue != null && posRes.FreqUpHz != Convert.ToInt64(txtFrequpMHz.EditValue))
|
|
|
|
+ return;
|
|
|
|
+ if (posRes.PosLon == 999 && !btnIncludeInvalidate.Checked)
|
|
|
|
+ return;
|
|
|
|
+ if (txtTimeCho.Text == "自定义")
|
|
{
|
|
{
|
|
- ds.Remove(item);
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- mapControl1.DelPosItem(removeItems);
|
|
|
|
- mapControl1.AddPosItem(posRes);
|
|
|
|
- if ((DateTime.Now - lasetUpdateTime).TotalSeconds > 5)
|
|
|
|
- {
|
|
|
|
- this.Invoke(new Action(() =>
|
|
|
|
|
|
+ var hours = Convert.ToInt32(txtTimeCho.EditValue);
|
|
|
|
+ var ds = this.gridHomePosRes.DataSource as List<ModelPosRes>;
|
|
|
|
+ List<ModelPosRes> removeItems = null;
|
|
|
|
+ lock (this)
|
|
|
|
+ {
|
|
|
|
+ ds.Insert(0, posRes);
|
|
|
|
+ var max = ds.Max(p => p.SigTime);
|
|
|
|
+ removeItems = ds.Where(p => (max - p.SigTime).TotalHours > hours).ToList();
|
|
|
|
+ foreach (var item in removeItems)
|
|
|
|
+ {
|
|
|
|
+ ds.Remove(item);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ mapControl1.DelPosItem(removeItems);
|
|
|
|
+ mapControl1.AddPosItem(posRes);
|
|
|
|
+ if ((DateTime.Now - lasetUpdateTime).TotalSeconds > 5)
|
|
{
|
|
{
|
|
- gridView2.RefreshData();
|
|
|
|
- }));
|
|
|
|
- lasetUpdateTime = DateTime.Now;
|
|
|
|
|
|
+ this.Invoke(new Action(() =>
|
|
|
|
+ {
|
|
|
|
+ gridView2.RefreshData();
|
|
|
|
+ }));
|
|
|
|
+ lasetUpdateTime = DateTime.Now;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ catch (Exception ex)
|
|
|
|
+ {
|
|
|
|
+ _ = LogHelper.Error("定位完成后刷新UI出错", ex);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
private async void GridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e)
|
|
private async void GridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e)
|
|
{
|
|
{
|
|
@@ -1036,11 +1043,6 @@ namespace XdCxRhDW.App.UserControl
|
|
|
|
|
|
public void RePosition(List<RePosRes> items, PosRequestByTimeRangeDto dto)
|
|
public void RePosition(List<RePosRes> items, PosRequestByTimeRangeDto dto)
|
|
{
|
|
{
|
|
- if (items.Count == 0)
|
|
|
|
- {
|
|
|
|
- MsgBoxHelper.ShowWarning($"查询任务[{dto.TaskInfoID}]开始时间:{dto.BeginTime:yyyy-MM-dd HH:mm:ss} 结束时间:{dto.EndTime:yyyy-MM-dd HH:mm:ss}无定位结果数据");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
Task.Run(async () =>
|
|
Task.Run(async () =>
|
|
{
|
|
{
|
|
foreach (var item in items)
|
|
foreach (var item in items)
|
|
@@ -1276,10 +1278,8 @@ namespace XdCxRhDW.App.UserControl
|
|
await db.SaveChangesAsync();
|
|
await db.SaveChangesAsync();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- Serilog.Log.Warning($"共重新定位了{items.Count()}个定位点的目标信息");
|
|
|
|
- MsgBoxHelper.ShowInfo($"共重新定位了{items.Count()}个定位点的目标信息");
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ Serilog.Log.Warning($"重新定位完成,共{items.Count()}条记录");
|
|
|
|
+ MsgBoxHelper.ShowInfo($"重新定位完成,共修改了{items.Count()}条记录");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
//重新定位
|
|
//重新定位
|
|
@@ -1302,7 +1302,7 @@ namespace XdCxRhDW.App.UserControl
|
|
try
|
|
try
|
|
{
|
|
{
|
|
var ct = new CancellationTokenSource();
|
|
var ct = new CancellationTokenSource();
|
|
- var res = await HttpHelper.PostRequestAsync<List<RePosRes>>(SysConfig.GetUrl("Pos/GetPosCgResByTimeRangeObsolete"), dto, token: ct.Token);
|
|
|
|
|
|
+ var res = await HttpHelper.PostRequestAsync<List<RePosRes>>(SysConfig.GetUrl("Result/GetPosCgResByTimeRangeObsolete"), dto, token: ct.Token);
|
|
if (res.code == 200)
|
|
if (res.code == 200)
|
|
{
|
|
{
|
|
RePosition(res.data, dto);
|
|
RePosition(res.data, dto);
|
|
@@ -1314,12 +1314,10 @@ namespace XdCxRhDW.App.UserControl
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|
|
- string msg = $"任务[{dto.TaskInfoID}]重新定位结果查询开始时间:{dto.BeginTime:yyyy-MM-dd HH:mm:ss} 结束时间:{dto.EndTime:yyyy-MM-dd HH:mm:ss}异常";
|
|
|
|
|
|
+ string msg = $"任务[{dto.TaskInfoID}]重新定位异常";
|
|
Serilog.Log.Error(ex, msg);
|
|
Serilog.Log.Error(ex, msg);
|
|
MsgBoxHelper.ShowError(msg);
|
|
MsgBoxHelper.ShowError(msg);
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
|