细节调整
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 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>()
|
var query = await _db.Queryable<Alarm>()
|
||||||
.Where(s => pageitem.Item2.Contains(s.BatchId)).SplitTable()
|
.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
|
.Select(st => new AlarmRepDto
|
||||||
{
|
{
|
||||||
batchId = st.BatchId.ToString(),
|
batchId = st.BatchId.ToString(),
|
||||||
startTime = SqlFunc.AggregateMin(st.CreateTime),
|
startTime = SqlFunc.AggregateMin(st.CreateTime),
|
||||||
endTime = SqlFunc.AggregateMax(st.CreateTime),
|
endTime = SqlFunc.AggregateMax(st.CreateTime),
|
||||||
sn = st.serial_number,
|
sn = st.serial_number,
|
||||||
Frequency = SqlFunc.AggregateMax(st.freq),
|
Frequency = 0,
|
||||||
duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds == 0 ? 1 : (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds,
|
duration = (SqlFunc.AggregateMax(st.CreateTime) - SqlFunc.AggregateMin(st.CreateTime)).TotalSeconds,
|
||||||
model = st.device_type,
|
model = st.device_type,
|
||||||
IsWhitelist = SqlFunc.AggregateMax(st.IsWhitelist),
|
IsWhitelist = SqlFunc.AggregateMax(st.IsWhitelist),
|
||||||
alarmLevel = SqlFunc.AggregateMax(st.alarmLevel)
|
|
||||||
}).OrderByDescending(s => s.batchId).ToListAsync();
|
}).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,
|
code = 0,
|
||||||
data = new
|
data = new
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue