细节调整
This commit is contained in:
parent
b8279ad728
commit
6fab2df9fb
|
|
@ -404,22 +404,33 @@ namespace LY.App.Service
|
|||
}
|
||||
var pageitem = await _db.Ado.SqlQueryAsync<int, long>(string.Format(coutsql, tablesql) + string.Format(page, tablesql, (input.pageNum - 1) * input.pageSize, input.pageSize));
|
||||
|
||||
var temp = await _db.Queryable<Alarm>()
|
||||
.Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable().Select(s => new { s.BatchId, s.freq, s.Id, s.positionId, s.PostionName, s.alarmLevel }).ToListAsync();
|
||||
|
||||
|
||||
var query = await _db.Queryable<Alarm>()
|
||||
.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, s.alarmLevel })
|
||||
.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),
|
||||
alarmLevel = SqlFunc.AggregateMax(st.alarmLevel)
|
||||
}).OrderByDescending(s => s.batchId).ToListAsync();
|
||||
return new ApiResult()
|
||||
|
||||
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;
|
||||
s.alarmLevel = temp.Where(m => m.BatchId == long.Parse(s.batchId)).Any(o => o.alarmLevel == 1) ? 1 : 0;
|
||||
}); return new ApiResult()
|
||||
{
|
||||
code = 0,
|
||||
data = new
|
||||
|
|
|
|||
Loading…
Reference in New Issue