From 21a381cb9e4af199ea8a1e23b2d3e926d92d38f3 Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Sat, 20 Sep 2025 16:28:08 +0800 Subject: [PATCH] =?UTF-8?q?bug=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/AlarmService.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs index 6d9cc03..8f45631 100644 --- a/Service/AlarmService.cs +++ b/Service/AlarmService.cs @@ -52,10 +52,15 @@ namespace LY.App.Service { // 排除掉不在范围内的报警信息 var O4entity = entity.Where(s => s.device_type == "O4" || s.serial_number == "O4" || s.device_type == "UAV" || !string.IsNullOrEmpty(s.device_type)); - entity = entity.Where(s => checkDistance(s.drone_lat, s.drone_lon, deviceinfo.Lat, deviceinfo.Lon) == true).ToList(); if (O4entity.Any()) { - entity.AddRange(O4entity); + foreach (var item in O4entity) + { + if (!entity.Exists(s => s.serial_number == item.serial_number)) + { + entity.Add(item); + } + } } if (entity.Any()) { @@ -423,12 +428,12 @@ namespace LY.App.Service var pageitem = await _db.Ado.SqlQueryAsync(string.Format(coutsql, tablesql) + string.Format(page, tablesql, (input.pageNum - 1) * input.pageSize, input.pageSize)); var temp = await _db.Queryable() - .Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable().Select(s => new { s.BatchId, s.freq, s.Id,s.positionId,s.PostionName,s.alarmLevel, s.device_type }).ToListAsync(); + .Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable().Select(s => new { s.BatchId, s.freq, s.Id, s.positionId, s.PostionName, s.alarmLevel, s.device_type }).ToListAsync(); var query = await _db.Queryable() .Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable() - .GroupBy(s => new { s.BatchId, s.serial_number}) + .GroupBy(s => new { s.BatchId, s.serial_number }) .Select(st => new AlarmRepDto { batchId = st.BatchId.ToString(), @@ -444,7 +449,7 @@ namespace LY.App.Service { s.duration = s.duration == 0 ? 1 : s.duration; s.Frequency = temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().freq; - s.positionId=temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().positionId; + s.positionId = temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().positionId; s.positionName = temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().PostionName; s.alarmLevel = temp.Where(m => m.BatchId == long.Parse(s.batchId)).Any(o => o.alarmLevel == 1) ? 1 : 0; s.model = temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().device_type;