From 8c4fca828d9efeca0fdaf9118085e892c69b0086 Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Wed, 20 Aug 2025 22:37:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/AlarmController.cs | 2 +- Service/AlarmService.cs | 20 ++++++++++++++++---- appsettings.json | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Controllers/AlarmController.cs b/Controllers/AlarmController.cs index f2e4025..64fcca8 100644 --- a/Controllers/AlarmController.cs +++ b/Controllers/AlarmController.cs @@ -25,7 +25,7 @@ namespace LY.App.Controllers [HttpGet("list")] public async Task List([FromQuery] AlarmReq input) { - var result = await _alarmService.GetPage(input); + var result = await _alarmService.CreateHistoryPage(input); return Ok(result); } /// diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs index 7757c6b..95d1e1a 100644 --- a/Service/AlarmService.cs +++ b/Service/AlarmService.cs @@ -422,20 +422,32 @@ 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 }).ToListAsync(); + + var query = await _db.Queryable() .Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable() - .GroupBy(s => new { s.BatchId, s.serial_number, s.device_type, s.positionId, s.PostionName, s.freq }) + .GroupBy(s => new { s.BatchId, s.serial_number, s.device_type}) .Select(st => new AlarmRepDto { batchId = st.BatchId.ToString(), startTime = SqlFunc.AggregateMin(st.CreateTime), endTime = SqlFunc.AggregateMax(st.CreateTime), sn = st.serial_number, - Frequency = SqlFunc.AggregateMax(st.freq), - duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds == 0 ? 1 : (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds, + Frequency = 0, + duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds, model = st.device_type, - IsWhitelist = SqlFunc.AggregateMax(st.IsWhitelist) + IsWhitelist = SqlFunc.AggregateMax(st.IsWhitelist), }).OrderByDescending(s => s.batchId).ToListAsync(); + + query.ForEach(s => + { + 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.positionName = temp.Where(m => m.BatchId == long.Parse(s.batchId)).OrderByDescending(o => o.Id).FirstOrDefault().PostionName; + }); return new ApiResult() { code = 0, diff --git a/appsettings.json b/appsettings.json index 4563222..661f55c 100644 --- a/appsettings.json +++ b/appsettings.json @@ -8,7 +8,7 @@ "log2db": true, //是否记录 "AllowedHosts": "*", "ConnectionStrings": { - "DefaultConnection": "server=114.66.59.70;port=33306;database=lyapp;user=root;password=dklymysql;Pooling=true;" + "DefaultConnection": "server=110.42.35.89;port=13306;database=lyapp;user=root;password=dklymysql;Pooling=true;" }, "Token": { "SecretKey": "HWLSNPM+OhlFe4wwEV/teSWsxGjrWbxKnHonxW5Z+mFlQq3zonv5",