using Microsoft.AspNetCore.Mvc;
|
using System.Net;
|
using System.Net.Http.Headers;
|
using Microsoft.Extensions.Hosting.Internal;
|
using Microsoft.AspNetCore.Http.Extensions;
|
using IStation.Untity;
|
using Furion.DynamicApiController;
|
using System.ComponentModel.DataAnnotations;
|
using Mapster;
|
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
/// MonitorAlarmRecord
|
/// </summary>
|
[Route("Run/MonitorAlarmRecord/Mobile")]
|
[ApiDescriptionSettings("Run", Name = "监测报警记录(手机)", Order = 499)]
|
public class MonitorAlarmRecord_MobileController : IDynamicApiController
|
{
|
|
|
#region 1.0
|
/// <summary>
|
/// 通过 MonitorPointID 获取分页列表(手机)
|
/// </summary>
|
[Route("GetPageListByMonitorPointID@V1.0")]
|
[HttpGet]
|
public PageListOutput<MonitorAlarmPageRecordMobileDto> GetPageListByMonitorPointID
|
([FromQuery][Required] GetMonitorAlarmRecordPageListByMonitorPointIDMobileInput input)
|
{
|
int total = 0;
|
var list = new Service.MonitorAlarmRecord()
|
.GetPageListByMonitorPointID(input.CorpID, input.MonitorPointID, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
|
if (list == null || list.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto>() };
|
}
|
var monitor = new Service.MonitorPoint().GetExSignalWithSignalTypeByID(input.CorpID, input.MonitorPointID);
|
var vmList = list.Select(x =>
|
{
|
Model.Signal_SignalType signal = null;
|
if (x.SignalID.HasValue)
|
{
|
signal = monitor.SignalList.Find(t => t.ID == x.SignalID.Value);
|
}
|
var vm = new MonitorAlarmPageRecordMobileDto(monitor, signal, x);
|
return vm;
|
}).ToList();
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto>() { Total = total, List = vmList };
|
}
|
|
|
/// <summary>
|
/// 通过 StationID 获取分页列表(手机)
|
/// </summary>
|
[Route("GetPageListByStationID@V1.0")]
|
[HttpGet]
|
public PageListOutput<MonitorAlarmPageRecordMobileDto> GetPageListByStationID
|
([FromQuery][Required] GetMonitorAlarmRecordPageListByStationIDMobileInput input)
|
{
|
int total = 0;
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(input.CorpID, ObjectType.Station, input.StationID);
|
if (monitorList == null || monitorList.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto>() };
|
}
|
var monitorPointIds = monitorList.Select(x => x.ID).Distinct().ToList();
|
var list = new Service.MonitorAlarmRecord()
|
.GetPageListByMonitorPointIds(input.CorpID, monitorPointIds, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
|
if (list == null || list.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto>() };
|
}
|
var vmList = list.Select(x =>
|
{
|
var monitor = monitorList.Find(t => t.ID == x.MonitorPointID);
|
Model.Signal_SignalType signal = null;
|
if (x.SignalID.HasValue)
|
{
|
signal = monitor.SignalList.Find(t => t.ID == x.SignalID.Value);
|
}
|
var vm = new MonitorAlarmPageRecordMobileDto(monitor, signal, x);
|
return vm;
|
}).ToList();
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto>() { Total = total, List = vmList };
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取某天的数据(手机)
|
/// </summary>
|
[Route("GetByMonitorPointIDOfDay@V1.0")]
|
[HttpGet]
|
public List<MonitorAlarmRecordMobileDto> GetByMonitorPointIDOfDay
|
(
|
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
|
long CorpID,
|
[Required, Range(1, long.MaxValue, ErrorMessage = "MonitorPointID 必须大于0")]
|
long MonitorPointID,
|
[Required]
|
DateTime Day
|
)
|
{
|
var list = new Service.MonitorAlarmRecord().GetByMonitorPointIDOfDay(CorpID, MonitorPointID, Day);
|
var vm_list = list?.Select(x => new MonitorAlarmRecordMobileDto(x)).ToList();
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取最近一条记录列表(手机)
|
/// </summary>
|
[Route("GetLastRecordListByMonitorPointID@V1.0")]
|
[HttpGet]
|
public List<MonitorAlarmLastRecordMobileDto> GetLastRecordListByMonitorPointID([FromQuery][Required] MonitorPointIDUnderCorpInput input)
|
{
|
var list = new Service.MonitorAlarmRecord().GetLastRecordListByMonitorPointID(input.CorpID, input.MonitorPointID);
|
var vm_list = list?.Select(x => new MonitorAlarmLastRecordMobileDto(x)).ToList();
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取最近一条记录(手机)
|
/// </summary>
|
[Route("GetLastRecordByMonitorPointID@V1.0")]
|
[HttpGet]
|
public MonitorAlarmLastRecordMobileDto GetLastRecordByMonitorPointID([FromQuery][Required] MonitorPointIDUnderCorpInput input)
|
{
|
var model = new Service.MonitorAlarmRecord().GetLastRecordByMonitorPointID(input.CorpID, input.MonitorPointID);
|
return model == null ? null : new MonitorAlarmLastRecordMobileDto(model);
|
}
|
|
/// <summary>
|
/// 通过 SignalID 获取最近一条记录列表(手机)
|
/// </summary>
|
[Route("GetLastRecordListBySignalID@V1.0")]
|
[HttpGet]
|
public List<MonitorAlarmLastRecordMobileDto> GetLastRecordListBySignalID([FromQuery][Required] SignalIDUnderCorpInput input)
|
{
|
var list = new Service.MonitorAlarmRecord().GetLastRecordListBySignalID(input.CorpID, input.MonitorPointID, input.SignalID);
|
var vm_list = list?.Select(x => new MonitorAlarmLastRecordMobileDto(x)).ToList();
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 SignalID 获取最近一条记录(手机)
|
/// </summary>
|
[Route("GetLastRecordBySignalID@V1.0")]
|
[HttpGet]
|
public MonitorAlarmLastRecordMobileDto GetLastRecordBySignalID([FromQuery][Required] SignalIDUnderCorpInput input)
|
{
|
var model = new Service.MonitorAlarmRecord().GetLastRecordBySignalID(input.CorpID, input.MonitorPointID, input.SignalID);
|
return model == null ? null : new MonitorAlarmLastRecordMobileDto(model);
|
}
|
|
#endregion
|
|
#region 1.1
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取分页列表(手机)
|
/// </summary>
|
[Route("GetPageListByMonitorPointID@V1.1")]
|
[HttpGet]
|
public PageListOutput<MonitorAlarmPageRecordMobileDto1_1> GetPageListByMonitorPointID1_1
|
([FromQuery][Required] GetMonitorAlarmRecordPageListByMonitorPointIDMobileInput input)
|
{
|
int total = 0;
|
var list = new Service.MonitorAlarmRecord()
|
.GetPageListByMonitorPointID(input.CorpID, input.MonitorPointID, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
|
if (list == null || list.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto1_1>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto1_1>() };
|
}
|
var monitor = new Service.MonitorPoint().GetExSignalWithSignalTypeByID(input.CorpID, input.MonitorPointID);
|
var alarmLevelList = new Service.AlarmLevel().GetByCorpID(input.CorpID);
|
var vmList = list.Select(x =>
|
{
|
Model.Signal_SignalType signal = null;
|
if (x.SignalID.HasValue)
|
{
|
signal = monitor.SignalList.Find(t => t.ID == x.SignalID.Value);
|
}
|
var vm = new MonitorAlarmPageRecordMobileDto1_1(monitor, signal, alarmLevelList, x);
|
return vm;
|
}).ToList();
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto1_1>() { Total = total, List = vmList };
|
}
|
|
|
/// <summary>
|
/// 通过 StationID 获取分页列表(手机)
|
/// </summary>
|
[Route("GetPageListByStationID@V1.1")]
|
[HttpGet]
|
public PageListOutput<MonitorAlarmPageRecordMobileDto1_1> GetPageListByStationID1_1
|
([FromQuery][Required] GetMonitorAlarmRecordPageListByStationIDMobileInput input)
|
{
|
int total = 0;
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(input.CorpID, ObjectType.Station, input.StationID);
|
if (monitorList == null || monitorList.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto1_1>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto1_1>() };
|
}
|
var monitorPointIds = monitorList.Select(x => x.ID).Distinct().ToList();
|
var list = new Service.MonitorAlarmRecord()
|
.GetPageListByMonitorPointIds(input.CorpID, monitorPointIds, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
|
if (list == null || list.Count < 1)
|
{
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto1_1>() { Total = total, List = new List<MonitorAlarmPageRecordMobileDto1_1>() };
|
}
|
var alarmLevelList = new Service.AlarmLevel().GetByCorpID(input.CorpID);
|
var vmList = list.Select(x =>
|
{
|
var monitor = monitorList.Find(t => t.ID == x.MonitorPointID);
|
Model.Signal_SignalType signal = null;
|
if (x.SignalID.HasValue)
|
{
|
signal = monitor.SignalList.Find(t => t.ID == x.SignalID.Value);
|
}
|
var vm = new MonitorAlarmPageRecordMobileDto1_1(monitor, signal, alarmLevelList, x);
|
return vm;
|
}).ToList();
|
return new PageListOutput<MonitorAlarmPageRecordMobileDto1_1>() { Total = total, List = vmList };
|
}
|
|
#endregion
|
|
|
}
|
}
|