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; using IStation.Calculation; using IStation.Model; using Microsoft.AspNetCore.Authorization; namespace IStation.Application { /// /// MonitorRealRecord /// [Route("Run/MonitorRealRecord/Mgr")] [ApiDescriptionSettings("Run", Name = "监测实时记录(管理)", Order = 990)] public class MonitorRealRecord_MgrController : IDynamicApiController { //服务 private readonly Service.MonitorRealRecord _service = new Service.MonitorRealRecord(); /// /// 通过 MonitorPointID 获取某天的数据(未进行单位转换,采用系统默认单位) /// [Route("GetByMonitorPointIDOfDay@V1.0")] [HttpGet] public List 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 = _service.GetByMonitorPointIDOfDay(CorpID, MonitorPointID, Day); var vmList = list?.Select(x => new MonitorRealRecordMgrDto(x)).ToList(); return vmList; } /// /// 通过 MonitorPointID 获取日期区间内的数据(未进行单位转换,采用系统默认单位) /// [Route("GetByMonitorPointIDOfDayRange@V1.0")] [HttpGet] public List GetByMonitorPointIDOfDayRange ( [Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")] long CorpID, [Required, Range(1, long.MaxValue, ErrorMessage = "MonitorPointID 必须大于0")] long MonitorPointID, [Required] DateTime StartDay, [Required] DateTime EndDay ) { if (StartDay.Date > EndDay.Date) { return default; } var list = _service.GetByMonitorPointIDOfDayRange(CorpID, MonitorPointID, StartDay, EndDay); var vmList = list?.Select(x => new MonitorRealRecordMgrDto(x)).ToList(); return vmList; } /// /// 通过 MonitorPointID 获取时间区间内的数据(未进行单位转换,采用系统默认单位) /// [Route("GetByMonitorPointIDOfTimeRange@V1.0")] [HttpGet] public List GetByMonitorPointIDOfTimeRange ( [Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")] long CorpID, [Required, Range(1, long.MaxValue, ErrorMessage = "MonitorPointID 必须大于0")] long MonitorPointID, [Required] DateTime StartTime, [Required] DateTime EndTime ) { if (StartTime > EndTime) { return default; } var list = _service.GetByMonitorPointIDOfTimeRange(CorpID, MonitorPointID, StartTime, EndTime); var vmList = list?.Select(x => new MonitorRealRecordMgrDto(x)).ToList(); return vmList; } /// /// 批量更新 /// [Route("Updates@V1.0")] [HttpPut] public bool Updates([Required] List list) { if (list == null || list.Count < 1) return default; var modelList = list.Select(x => new Model.MonitorRealRecord() { ID = x.ID, CorpID = x.CorpID, MonitorPointID = x.MonitorPointID, SignalID = x.SignalID, RecordType = x.RecordType, SrcTime = x.SrcTime, SrcValue = x.SrcValue, DataTime = x.DataTime, DataValue = x.DataValue, DataStatus = x.DataStatus }).ToList(); var bol = _service.Updates(modelList); return bol; } } }