You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.0 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* LAPTOP-E0N2L34V
* SlnMesnac.Repository.service.Impl
* 50d84911-9088-4fd3-b85a-151411028afc
*
* WenJY
* wenjy@mesnac.com
* 2024-04-08 16:47:57
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.Repository.service.Impl
{
public class DmsRecordAlarmTimeServiceImpl : BaseServiceImpl<DmsRecordAlarmTime>, IDmsRecordAlarmTimeService
{
public DmsRecordAlarmTimeServiceImpl(Repository<DmsRecordAlarmTime> rep) : base(rep)
{
}
/// <summary>
/// 获取设备各种规则(报警规则id2001-2010)的第一条记录
/// </summary>
/// <returns></returns>
public List<DmsRecordAlarmTime> GetMachineWarnList()
{
List<DmsRecordAlarmTime> list = null;
try
{
string sql = "WITH RankedRecords AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY device_id ORDER BY create_time DESC) AS rn FROM dms_record_alarm_time WHERE alarm_rule_id BETWEEN 2001 AND 2010) SELECT * FROM RankedRecords WHERE rn = 1;";
list = this._rep.Context.Ado.SqlQuery<DmsRecordAlarmTime>(sql);
}catch (Exception ex)
{
Console.WriteLine(ex.Message);
list = null;
}
return list;
}
}
}