From 8d2323440115375899760a7f5957ca5a59ba675f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B4=81=20=E4=BB=BB?= Date: Thu, 17 Jul 2025 15:18:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=9C=81=E5=AF=B9=E6=8E=A5=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneDocking/DroneDockApp.cs | 92 +++++++++++++++++++ .../DroneDocking/Response/DroneDockRes.cs | 39 ++++++++ .../ServiceControllers/DroneDockController.cs | 30 ++++++ 3 files changed, 161 insertions(+) diff --git a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs index 58d9e68..016fe2b 100644 --- a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs +++ b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs @@ -12,6 +12,10 @@ using Microsoft.Extensions.Configuration; using OpenAuth.App.ServiceApp.DroneDocking.Request; using DocumentFormat.OpenXml.Office.CustomUI; using DocumentFormat.OpenXml.EMMA; +using OpenAuth.App.ServiceApp.DroneDocking.Response; +using DocumentFormat.OpenXml.Math; +using static Microsoft.Extensions.Logging.EventSource.LoggingEventSource; +using DocumentFormat.OpenXml.Drawing.Charts; namespace OpenAuth.App.ServiceApp.DroneDocking @@ -768,5 +772,93 @@ namespace OpenAuth.App.ServiceApp.DroneDocking return null; // 未找到 } + + //获取省对接任务信息 + public async Task>>> GetDroneDockInfos(string keyWord, int page, int limit) + { + RefAsync totalCount = 0; + var info = await base.Repository.AsQueryable() + .WhereIF(!string.IsNullOrEmpty(keyWord), t => t.taskname.Contains(keyWord)) + .Select(t=>new DroneDockRes + { + id= t.id, + bizidname= t.bizidname, + taskname= t.taskname, + createtime= t.createtime, + state= t.state, + datacode= t.datacode, + deviceid= t.deviceid, + taskid= t.taskid, + tasklist=SqlFunc.Subqueryable().Where(r=>r.id==t.taskid).ToList() + }) + .ToPageListAsync(page, limit, totalCount); + return new Response>> + { + Result = new PageInfo> + { + Items = info, + Total = totalCount + } + }; + } + + //获取飞行数据 + public async Task> GetDroneDockflightInfos(string taskid) + { + DroneDockflightRes res=new DroneDockflightRes(); + var detailinfo=await Repository.ChangeRepository>() + .AsQueryable() + .Where(r=>r.flighttaskid==taskid) + .ToListAsync(); + if (detailinfo.Count > 0) + { + var taskId= detailinfo[0].taskid; + var taskinfo = await Repository.AsQueryable().Where(r => r.id == taskId).FirstAsync(); + var flighttaskinfo= await Repository.ChangeRepository>() + .AsQueryable() + .Where(r => r.FlightId == taskid) + .FirstAsync(); + if (taskinfo != null) + { + res.bizidname = taskinfo.bizidname; + res.taskname = taskinfo.taskname; + } + res.tasklist = detailinfo; + if(flighttaskinfo != null) + { + res.taskExecuteTime =Convert.ToDateTime(flighttaskinfo.ExecuteTime).ToString("yyyy-MM-dd HH:mm:ss"); + res.waylineName=flighttaskinfo.TaskAirLineName; + res.flightTaskType=flighttaskinfo.TaskType; + switch (flighttaskinfo.Status) + { + case 0: + res.flightTaskState = 1; + break; + + case 1: + res.flightTaskState = 2; + break; + + case 2: + res.flightTaskState = 3; + break; + + case 5: + res.flightTaskState = 0; + break; + case null: //交集 + res.flightTaskState = 4; + break; + } + } + + + } + return new Response + { + Result = res + }; + } + } } diff --git a/OpenAuth.App/ServiceApp/DroneDocking/Response/DroneDockRes.cs b/OpenAuth.App/ServiceApp/DroneDocking/Response/DroneDockRes.cs index 1983d94..2d88b30 100644 --- a/OpenAuth.App/ServiceApp/DroneDocking/Response/DroneDockRes.cs +++ b/OpenAuth.App/ServiceApp/DroneDocking/Response/DroneDockRes.cs @@ -53,4 +53,43 @@ namespace OpenAuth.App.ServiceApp.DroneDocking.Response public DateTime? createtime { get; set; } public List tasklist { get; set; } } + + + public class DroneDockflightRes + { + /// + /// Desc:业务类型,用于标识数据来源 + /// Default: + /// Nullable:False + /// + public string bizidname { get; set; } + + /// + /// Desc:下发任务名称 + /// Default: + /// Nullable:True + /// + public string taskname { get; set; } + + /// + /// Desc:任务开始执行时间(yyyy-MM-ddHH:mm:ss) + /// Default: + /// Nullable:True + /// + public string taskExecuteTime { get; set; } + + /// + /// Desc:数据类型, 用于后续成果上传获取上传路径 + /// Default: + /// Nullable:False + /// + public string waylineName { get; set; } + /// + /// 0 计划执行 1 指点飞行 + /// + public int flightTaskType { get; set; } + //0 执行成功 1 待执行 2 执行中 3 执行失败 4 其他错误 + public int flightTaskState { get; set; } + public List tasklist { get; set; } + } } diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs index 8caf13b..da7dfb3 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs @@ -5,7 +5,9 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.ServiceApp.DroneDocking; using OpenAuth.App.ServiceApp.DroneDocking.Request; +using OpenAuth.App.ServiceApp.DroneDocking.Response; using OpenAuth.App.ServiceApp.Response; +using OpenAuth.Repository.Domain; using System.Text; namespace OpenAuth.WebApi.Controllers.ServiceControllers @@ -437,5 +439,33 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers return result; } } + + /// + /// 获取省对接任务列表 + /// + /// 名称筛选 + /// + /// + /// + [HttpGet] + [AllowAnonymous] + public async Task>>> GetDroneDockInfos(string keyWord, int page, int limit) + { + return await _app.GetDroneDockInfos(keyWord, page, limit); + } + + + /// + /// 前端任务获取 + /// + /// 执行任务id + /// + [HttpGet] + [AllowAnonymous] + public async Task> GetDroneDockflightInfos(string taskid) + { + return await _app.GetDroneDockflightInfos(taskid); + } + } } From 999fca5f53655a1a594d95ee2bcb4b54ae9bcdc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B4=81=20=E4=BB=BB?= Date: Thu, 17 Jul 2025 15:34:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9C=81=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneDocking/DroneDockApp.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs index 016fe2b..aae4d00 100644 --- a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs +++ b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs @@ -360,11 +360,17 @@ namespace OpenAuth.App.ServiceApp.DroneDocking //序列化返回数据并处理 var task = JsonSerializer.Deserialize(data); + + string ids = ""; + foreach(var item in task.deviceid) + { + + } //task数据生成 DroneDocktask dt= new DroneDocktask(); dt.id=Guid.NewGuid().ToString(); - dt.deviceid=task.deviceid.ToString(); + dt.deviceid= string.Join(",", task.deviceid); dt.bizidname=task.bizidname.ToString(); dt.taskid = task.taskid; dt.taskname = task.taskname; @@ -778,7 +784,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking { RefAsync totalCount = 0; var info = await base.Repository.AsQueryable() - .WhereIF(!string.IsNullOrEmpty(keyWord), t => t.taskname.Contains(keyWord)) + .WhereIF(!string.IsNullOrEmpty(keyWord), t => t.taskname.Contains(keyWord)||t.bizidname.Contains(keyWord)) .Select(t=>new DroneDockRes { id= t.id, @@ -789,7 +795,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking datacode= t.datacode, deviceid= t.deviceid, taskid= t.taskid, - tasklist=SqlFunc.Subqueryable().Where(r=>r.id==t.taskid).ToList() + tasklist=SqlFunc.Subqueryable().Where(r=>r.taskid==t.id).ToList() }) .ToPageListAsync(page, limit, totalCount); return new Response>> @@ -828,7 +834,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking { res.taskExecuteTime =Convert.ToDateTime(flighttaskinfo.ExecuteTime).ToString("yyyy-MM-dd HH:mm:ss"); res.waylineName=flighttaskinfo.TaskAirLineName; - res.flightTaskType=flighttaskinfo.TaskType; + res.flightTaskType=Convert.ToInt32(flighttaskinfo.FlightTaskType); switch (flighttaskinfo.Status) { case 0: From af50a6c4c33cf053ba1108f84b46f59ad3d59124 Mon Sep 17 00:00:00 2001 From: lgd Date: Thu, 17 Jul 2025 16:19:54 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs | 5 ++--- .../ServiceControllers/AirportMaintenanceController.cs | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs index 645e165..d114b1e 100644 --- a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs +++ b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs @@ -372,7 +372,7 @@ namespace OpenAuth.App.ServiceApp } } #endregion - public async Task>>> GetMediaFile(string device, string picname, DateTime? startTime, DateTime? endTime, int page, int limit, int level, string parentKey) + public async Task>>> GetMediaFile(string device, string picname, DateTime? startTime, DateTime? endTime, int page, int limit, string parentKey) { RefAsync totalCount = 0; using (var db = UnitWork.CreateContext()) @@ -383,8 +383,7 @@ namespace OpenAuth.App.ServiceApp .WhereIF(!string.IsNullOrEmpty(device), x => x.DroneModelKey == device) .WhereIF(!string.IsNullOrEmpty(picname), x => x.Name.Contains(picname)) .WhereIF(!"0001/1/1 0:00:00".Equal(startTime.ToString()), x => x.CreateTime >= startTime) - .WhereIF(!"0001/1/1 0:00:00".Equal(endTime.ToString()), x => x.CreateTime <= endTime) - .WhereIF(level >= 0, x => x.Level == level) + .WhereIF(!"0001/1/1 0:00:00".Equal(endTime.ToString()), x => x.CreateTime <= endTime) .WhereIF(!string.IsNullOrEmpty(parentKey), x => x.ParentKey == parentKey) .OrderBy(x => x.CreateTime, OrderByType.Asc) .ToPageListAsync(page, limit, totalCount); diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/AirportMaintenanceController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/AirportMaintenanceController.cs index 8e6186c..e823e9e 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/AirportMaintenanceController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/AirportMaintenanceController.cs @@ -661,12 +661,12 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers [HttpGet] [AllowAnonymous] - public async Task>>> GetMediaFile(string device,string picname, DateTime startTime, DateTime endTime, int page, int limit,int level,string parentKey) + public async Task>>> GetMediaFile(string device,string picname, DateTime startTime, DateTime endTime, int page, int limit,string parentKey) { var result = new Response>>(); try { - result = await _app.GetMediaFile(device, picname,startTime, endTime, page, limit, level,parentKey); + result = await _app.GetMediaFile(device, picname,startTime, endTime, page, limit,parentKey); } catch (Exception ex) {