namespace IStation.Application
{
///
/// MeterMonitorList
///
[Route("SZJT/Meter/Monitor/List/Mobile")]
[ApiDescriptionSettings("SZJT", Name = "仪表监测列表(手机)", Order = 1700)]
public class MeterMonitorList_MobileController : IDynamicApiController
{
///
/// 通过 MeterID 获取
///
[Route("GetByMeterID@V1.0")]
[HttpGet]
public List GetByMeterID([FromQuery][Required] MeterIDInput input)
{
var allMappingList = new Yw.Service.EquipmentMonitorMapping().GetByEquipmentID(input.MeterID);
if (allMappingList == null || allMappingList.Count < 1)
{
return default;
}
var allMonitorIds = allMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
var allMonitorList = new Yw.Service.MonitorPoint().GetExSignalWithSignalTypeByIds(allMonitorIds);
allMonitorList = allMonitorList?.Where(x => x.UseStatus == Yw.Model.eUseStatus.Enable).ToList();
allMonitorList = allMonitorList?.Where(x => x.CronType == Yw.Monitor.eCronType.Real).ToList();
if (allMonitorList == null || allMonitorList.Count < 1)
{
return default;
}
var service_monitor_record = new Yw.Service.MonitorRealRecord();
var vmList = new List();
foreach (var monitor in allMonitorList)
{
var signal = monitor.SignalList.First();
var record = service_monitor_record.GetLastRecord(signal.ID);
var vm = new MeterMonitorListItemMobileDto(monitor, signal, record);
vmList.Add(vm);
}
return vmList;
}
}
}