细节调整
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