123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- using DevExpress.CodeParser;
- using DevExpress.Mvvm.Native;
- using DevExpress.XtraPrinting;
- using DW5S.DTO;
- using DW5S.Entity;
- using DW5S.Repostory;
- using DW5S.ViewModel;
- using ExtensionsDev;
- using Microsoft.EntityFrameworkCore;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using XdCxRhDW5S.ViewModel;
- namespace DW5S.App.UserControl
- {
- public partial class CtrlADTask : DevExpress.XtraEditors.XtraUserControl
- {
- readonly List<ADTaskViewModel> list = new List<ADTaskViewModel>();
- readonly List<ADSatChViewMode> AdSatChViews = new List<ADSatChViewMode>();
- public CtrlADTask()
- {
- InitializeComponent();
- }
- private async void CtrlRefTask_Load(object sender, EventArgs e)
- {
- try
- {
- gridRefTask.UseDefault(list).UseMultiSelect().UseRowNumber()
- .HideColumn(nameof(ADTaskViewModel.Id));
- var sigList = await GetSigInfos();
- this.txtSig.UseDefault(showClearBtn: true).SetData(sigList, displayField: nameof(SigViewModel.FreqDownDis)).UseDoubleClickToSelectAll();
- var taskList = await Query();
- list.AddRange(taskList);
- gridView1.RefreshData();
- gridView1.BestFitColumns();
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "查询采集任务信息异常");
- DxHelper.MsgBoxHelper.ShowError("查询采集任务信息异常");
- }
- }
- private async Task<List<SigViewModel>> GetSigInfos()
- {
- var unitOfWork = IocContainer.UnitOfWork;
- var sigInfos = await unitOfWork.Of<SigInfo>().GetAllAsync(p => p.FreqUpHz);
- var sigList = sigInfos.OrderBy(i => i.SigType).OrderBy(i => i.FreqDownHz).To<List<SigViewModel>>();
- return sigList;
- }
- private async Task<List<SatViewModel>> GetSats()
- {
- var unitOfWork = IocContainer.UnitOfWork;
- var reps = unitOfWork.Of<SatInfo>();
- var res = await reps.GetAllAsync();
- return res.OrderBy(s => s.SatName).To<List<SatViewModel>>();
- }
- private async Task<List<ADTaskViewModel>> Query(SigViewModel sigView = null)
- {
- List<ADTaskViewModel> taskList = new List<ADTaskViewModel>();
- var unitOfWork = IocContainer.UnitOfWork;
- var adCards = await unitOfWork.Of<AdCard>().AsQueryable().Where(p => p.Enable == true)
- .Include(p => p.AdChannels)
- .OrderByDescending(p => p.Name).ToListAsync();
- var sats = await GetSats();
- List<ADSatChViewMode> adSatChViews = new List<ADSatChViewMode>();
- foreach (var adCard in adCards)
- {
- foreach (var adChannel in adCard.AdChannels)
- {
- var satinfo = sats.FirstOrDefault(c => c.Id == adChannel.SatInfoID);
- if (adChannel.Enable == true && satinfo != null)
- {
- ADSatChViewMode mode = new ADSatChViewMode()
- {
- Channel = adChannel.ChNum,
- ClockerType = adCard.ClockerType,
- ClockFreq = adCard.ClockFreq,
- DdcFreq = adCard.DdcFreq,
- Mutil = adCard.Mutil,
- SatCode = satinfo.SatCode,
- SatLon = satinfo.SatLon,
- SatName = satinfo.SatName,
- TriggerMode = adCard.TriggerMode,
- };
- adSatChViews.Add(mode);
- }
- }
- }
- var chItems = adCards.SelectMany(a => a.AdChannels).Where(s => s.Enable == true).ToList();
- var sigList = await GetSigInfos();
- foreach (var sigItem in sigList)
- {
- if (sigView != null && sigView.Id != sigItem.Id)
- {
- continue;
- }
- var adTask = sigItem.To<ADTaskViewModel>();
- adTask.Sat = string.Join(",", adSatChViews.ToList().Select(s => s.Sat));
- taskList.Add(adTask);
- }
- AdSatChViews.Clear();
- AdSatChViews.AddRange(adSatChViews);
- return taskList;
- }
- private async void btnSerach_Click(object sender, EventArgs e)
- {
- try
- {
- var sigView = (txtSig.EditValue as SigViewModel);
- var taskList = await Query(sigView);
- list.Clear();
- list.AddRange(taskList);
- gridView1.RefreshData();
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "查询采集任务信息异常");
- DxHelper.MsgBoxHelper.ShowError("查询采集任务信息异常");
- }
- }
- private async void btnStartaAD_Click(object sender, EventArgs e)
- {
- try
- {
- List<AdCard> adCard = new List<AdCard>();
- var res = await HttpHelper.PostRequestAsync<List<AdCard>>("http://127.0.0.1:7070/api/Ad/StartAd", adCard);
- IocContainer.Logger.Information("启动采集任务成功");
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "启动采集任务异常");
- DxHelper.MsgBoxHelper.ShowError("启动采集任务异常");
- }
- }
- }
- }
|