diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs index 189f51e..9e0a01d 100644 --- a/Service/AlarmService.cs +++ b/Service/AlarmService.cs @@ -396,10 +396,10 @@ namespace LY.App.Service GROUP BY batch_id ORDER BY batch_id desc LIMIT {1},{2} ) AS CountTable "; - string tablesql = string.Join(" UNION ALL ", tables.Select(item => $"SELECT batch_id FROM {item.TableName} ")); + string tablesql = string.Join(" UNION ALL ", tables.Select(item => $"SELECT batch_id FROM {item.TableName} Group By batch_id ")); if (!string.IsNullOrEmpty(input.sn)) { - tablesql = string.Join(" UNION ALL ", tables.Select(item => $"SELECT batch_id FROM {item.TableName} where serial_number like '%{input.sn}%' ")); + tablesql = string.Join(" UNION ALL ", tables.Select(item => $"SELECT batch_id FROM {item.TableName} where serial_number like '%{input.sn}%' Group By batch_id")); } var pageitem = await _db.Ado.SqlQueryAsync(string.Format(coutsql, tablesql) + string.Format(page, tablesql, (input.pageNum - 1) * input.pageSize, input.pageSize)); @@ -413,7 +413,7 @@ namespace LY.App.Service endTime = SqlFunc.AggregateMax(st.CreateTime), sn = st.serial_number, Frequency = SqlFunc.AggregateMax(st.freq), - duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds, + duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds == 0 ? 1 : (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds, model = st.device_type, IsWhitelist = SqlFunc.AggregateMax(st.IsWhitelist) }).OrderByDescending(s => s.batchId).ToListAsync();