123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using System;
- using System.Collections.Generic;
- using System.Data.Entity;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Web.Http;
- using XdCxRhDW.Dto;
- using XdCxRhDW.Entity;
- using XdCxRhDW.Repostory;
- using XdCxRhDW.WebApi;
- namespace XdCxRhDW.App.Controllers
- {
- /// <summary>
- /// 取参考相关接口
- /// </summary>
- public class FindRefController : BaseController
- {
- /// <summary>
- /// 添加两星一地参考信号缓存
- /// </summary>
- /// <returns>返回请求结果</returns>
- [HttpPost]
- public async Task<AjaxResult> AddX2D1RefCacheAsync(List<TaskCgDto> dtos)
- {
- var dto = dtos.First();
- try
- {
- TaskInfo runTask;
- using (RHDWContext db = new RHDWContext())
- {
- if (dto.TaskID == null)
- {
- runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.TaskType == EnumTaskType.Group
- && p.PosType == EnumPosType.X2D1 && p.TaskState == EnumTaskState.Running);
- if (runTask == null)
- {
- XdCxRhDW.Framework.LogHelper.Warning($"接收到两星一地无参参考信号参数,由于找不到执行中的任务忽略本次定位");
- return Error($"多模式融合定位平台没有启动两星一地定位任务");
- }
- }
- else
- {
- runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.ID == dto.TaskID);
- if (runTask == null)
- {
- XdCxRhDW.Framework.LogHelper.Warning($"找不到任务,ID={dto.TaskID}");
- return Error($"找不到ID={dto.TaskID}的任务");
- }
- }
- }
- TaskRefCache.Instance.AddRange(dto.TaskID.Value, dtos);
- return Success();
- }
- catch (Exception ex)
- {
- XdCxRhDW.Framework.LogHelper.Error($"添加两星一地参考信号.ID={dto.TaskID}", ex);
- return Error(ex.Message);
- }
- }
- /// <summary>
- /// 添加两星一地目标信号缓存
- /// </summary>
- /// <returns>返回请求结果</returns>
- [HttpPost]
- public async Task<AjaxResult> AddX2D1TarCacheAsync(List<X2D1NoXlNoParlPosDto> dtos)
- {
- var dto = dtos.First();
- try
- {
- TaskInfo runTask;
- using (RHDWContext db = new RHDWContext())
- {
- if (dto.TaskID == null)
- {
- runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.TaskType == EnumTaskType.Group
- && p.PosType == EnumPosType.X2D1 && p.TaskState == EnumTaskState.Running);
- if (runTask == null)
- {
- XdCxRhDW.Framework.LogHelper.Warning($"接收到两星一地无参目标信号参数,由于找不到执行中的任务忽略本次定位");
- return Error($"多模式融合定位平台没有启动两星一地定位任务");
- }
- }
- else
- {
- runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.ID == dto.TaskID);
- if (runTask == null)
- {
- XdCxRhDW.Framework.LogHelper.Warning($"找不到任务,ID={dto.TaskID}");
- return Error($"找不到ID={dto.TaskID}的任务");
- }
- }
- }
- TaskTarCache.Instance.AddRange(dto.TaskID.Value, dtos);
- return Success();
- }
- catch (Exception ex)
- {
- XdCxRhDW.Framework.LogHelper.Error($"添加两星一地目标信号.ID={dto.TaskID}", ex);
- return Error(ex.Message);
- }
- }
- }
- }
|