首页,报警数据,检测数据
This commit is contained in:
		
							parent
							
								
									f71dac2ac2
								
							
						
					
					
						commit
						846c921a65
					
				| 
						 | 
					@ -97,6 +97,21 @@
 | 
				
			||||||
            <param name="Source">需要解密的字符串</param>  
 | 
					            <param name="Source">需要解密的字符串</param>  
 | 
				
			||||||
            <returns>解密后的字符串</returns>  
 | 
					            <returns>解密后的字符串</returns>  
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Controllers.AlertController.export(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            export data
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <param name="start"></param>
 | 
				
			||||||
 | 
					            <param name="end"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Controllers.AlertController.TestAdd(langguanApi.Model.AddAlertDto)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            add alert
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <param name="input"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Controllers.DeviceController.#ctor(langguanApi.Service.DeviceService)">
 | 
					        <member name="M:langguanApi.Controllers.DeviceController.#ctor(langguanApi.Service.DeviceService)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
| 
						 | 
					@ -879,6 +894,36 @@
 | 
				
			||||||
            id
 | 
					            id
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.DeviceId">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            deviceId
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.DeviceName">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            deviceName
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.OrganizedName">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            organizedName
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.keyword">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            keyword
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.Standard">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            standard
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:langguanApi.Model.Entity.Detection.deviceValue">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            deviceValue
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="T:langguanApi.Model.Entity.Ledger">
 | 
					        <member name="T:langguanApi.Model.Entity.Ledger">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            台账
 | 
					            台账
 | 
				
			||||||
| 
						 | 
					@ -1550,19 +1595,27 @@
 | 
				
			||||||
            注册日期
 | 
					            注册日期
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.AlertService.Add(langguanApi.Model.Alert)">
 | 
					        <member name="M:langguanApi.Service.AlertService.Add(langguanApi.Model.AddAlertDto)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            新加
 | 
					            新加
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <param name="input"></param>
 | 
					            <param name="input"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.AlertService.IndexData">
 | 
					        <member name="M:langguanApi.Service.AlertService.IndexData(System.Int32)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            首页数据,最近7天的
 | 
					            首页数据,最近7天的
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Service.AlertService.ExportData(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
 | 
				
			||||||
 | 
					             <summary>
 | 
				
			||||||
 | 
					            导出数据
 | 
				
			||||||
 | 
					             </summary>
 | 
				
			||||||
 | 
					             <param name="start"></param>
 | 
				
			||||||
 | 
					             <param name="end"></param>
 | 
				
			||||||
 | 
					             <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.AlertService.GetPage(langguanApi.Model.reqpage)">
 | 
					        <member name="M:langguanApi.Service.AlertService.GetPage(langguanApi.Model.reqpage)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            分页取数据
 | 
					            分页取数据
 | 
				
			||||||
| 
						 | 
					@ -1723,6 +1776,19 @@
 | 
				
			||||||
            <param name="exp"></param>
 | 
					            <param name="exp"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Service.DetectionService.GetIndexData(System.Int32)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            //获取最新的数据
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <param name="num"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Service.DetectionService.Export(System.DateTime,System.DateTime)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            导出数据
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.DeviceService.Add(langguanApi.Model.DeviceAddDto)">
 | 
					        <member name="M:langguanApi.Service.DeviceService.Add(langguanApi.Model.DeviceAddDto)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            新加
 | 
					            新加
 | 
				
			||||||
| 
						 | 
					@ -1914,7 +1980,7 @@
 | 
				
			||||||
            HomeService
 | 
					            HomeService
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.HomeService.#ctor(langguanApi.Service.DeviceService,langguanApi.Service.Hj212Service,Microsoft.Extensions.Configuration.IConfiguration,langguanApi.Common.CacheManager,langguanApi.Service.WeatherService,langguanApi.Service.AlertService)">
 | 
					        <member name="M:langguanApi.Service.HomeService.#ctor(langguanApi.Service.DeviceService,langguanApi.Service.Hj212Service,Microsoft.Extensions.Configuration.IConfiguration,langguanApi.Common.CacheManager,langguanApi.Service.WeatherService,langguanApi.Service.AlertService,langguanApi.Service.DetectionService)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            HomeService
 | 
					            HomeService
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					using langguanApi.Model;
 | 
				
			||||||
 | 
					using langguanApi.Service;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Http;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace langguanApi.Controllers
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [Route("api/[controller]")]
 | 
				
			||||||
 | 
					    [ApiController]
 | 
				
			||||||
 | 
					    public class AlertController : ControllerBase
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private readonly AlertService _alertService;
 | 
				
			||||||
 | 
					        public AlertController(AlertService alertService)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _alertService = alertService;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// export data 默认最近7天数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="start"></param>
 | 
				
			||||||
 | 
					        /// <param name="end"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        [HttpGet("export")]
 | 
				
			||||||
 | 
					        public async Task<IActionResult> export(DateTime? start, DateTime? end)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            start = start.HasValue ? start.Value.Date : DateTime.Now.AddDays(-7);
 | 
				
			||||||
 | 
					            end = end.HasValue ? end.Value.Date.AddDays(1) : DateTime.Now.Date.AddDays(1);
 | 
				
			||||||
 | 
					            var alerts = await _alertService.ExportData(start, end);
 | 
				
			||||||
 | 
					            return File(alerts, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
 | 
				
			||||||
 | 
					                $"{start.Value.ToString("yyyy-MM-dd")}-{end.Value.ToString("yyyy-MM-dd")}_设备报警.xlsx");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// add alert
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="input"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        [HttpPost("TestAdd")]
 | 
				
			||||||
 | 
					        public async Task<IActionResult> TestAdd(AddAlertDto input)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var result = await _alertService.Add(input);
 | 
				
			||||||
 | 
					            return Ok(result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -10,4 +10,14 @@
 | 
				
			||||||
        public string AlertType { get; set; }
 | 
					        public string AlertType { get; set; }
 | 
				
			||||||
        public string AlertContent { get; set; }
 | 
					        public string AlertContent { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    public class AddAlertDto
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string DeviceId { get; set; }
 | 
				
			||||||
 | 
					        public string DeviceMn { get; set; }
 | 
				
			||||||
 | 
					        public string deviceName { get; set; }
 | 
				
			||||||
 | 
					        public string DeviceType { get; set; }
 | 
				
			||||||
 | 
					        public string DeviceStatus { get; set; }
 | 
				
			||||||
 | 
					        public string AlertType { get; set; }
 | 
				
			||||||
 | 
					        public string AlertContent { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					namespace langguanApi.Model.Entity
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class Detection : BaseModel
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// deviceId
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string DeviceId { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// deviceName
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string DeviceName { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// organizedName
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string OrganizedName { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// keyword
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string keyword { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// standard
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string Standard { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// deviceValue
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string deviceValue { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
using langguanApi.Model;
 | 
					using langguanApi.Model;
 | 
				
			||||||
using langguanApi.Model.Dto;
 | 
					using langguanApi.Model.Dto;
 | 
				
			||||||
using langguanApi.Model.Entity;
 | 
					using langguanApi.Model.Entity;
 | 
				
			||||||
 | 
					using Mapster;
 | 
				
			||||||
using Npoi.Mapper;
 | 
					using Npoi.Mapper;
 | 
				
			||||||
using System.Linq.Expressions;
 | 
					using System.Linq.Expressions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,11 +19,12 @@ namespace langguanApi.Service
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="input"></param>
 | 
					        /// <param name="input"></param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        public async Task<ApiResult> Add(Alert input)
 | 
					        public async Task<ApiResult> Add(AddAlertDto input)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (input != null)
 | 
					            if (input != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                await base.CreateAsync(input);
 | 
					                var entity = input.Adapt<Alert>();
 | 
				
			||||||
 | 
					                await base.CreateAsync(entity);
 | 
				
			||||||
                return new ApiResult { code = 0, msg = "" };
 | 
					                return new ApiResult { code = 0, msg = "" };
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return new ApiResult { code = -1, msg = "" }; ;
 | 
					            return new ApiResult { code = -1, msg = "" }; ;
 | 
				
			||||||
| 
						 | 
					@ -31,29 +33,46 @@ namespace langguanApi.Service
 | 
				
			||||||
        /// 首页数据,最近7天的
 | 
					        /// 首页数据,最近7天的
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        public async Task<object> IndexData()
 | 
					        public async Task<object> IndexData(int num = 50)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false;
 | 
					            Expression<Func<Alert, bool>> exp = filter => filter.IsDelete == false;
 | 
				
			||||||
            return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime);
 | 
					            return (await base.GetListWithExp(exp))
 | 
				
			||||||
 | 
					                .OrderByDescending(s => s.CreateDateTime)
 | 
				
			||||||
 | 
					                .Take(num)
 | 
				
			||||||
 | 
					                .Select(s => new
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    s.AlertContent,
 | 
				
			||||||
 | 
					                    s.deviceName,
 | 
				
			||||||
 | 
					                    s.CreateDateTime
 | 
				
			||||||
 | 
					                }).ToList();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public async Task<byte[]> ExportData(DateTime start, DateTime end)
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///导出数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="start"></param>
 | 
				
			||||||
 | 
					        /// <param name="end"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public async Task<byte[]> ExportData(DateTime? start, DateTime? end)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= start
 | 
					            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= start
 | 
				
			||||||
            && filter.CreateDateTime <= end
 | 
					            && filter.CreateDateTime <= end
 | 
				
			||||||
            && filter.IsDelete == false;
 | 
					            && filter.IsDelete == false;
 | 
				
			||||||
            var list = await base.GetListWithExp(exp);
 | 
					            var list = (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime).ToList();
 | 
				
			||||||
 | 
					            if (list.Any())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
                var mapper = new Mapper();
 | 
					                var mapper = new Mapper();
 | 
				
			||||||
            mapper.Map<Alert>("报警开始时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss"))
 | 
					                mapper.Map<Alert>("报警开始时间", s => s.CreateDateTime)
 | 
				
			||||||
                .Map<Alert>("设备名称", s => s.deviceName)
 | 
					                .Map<Alert>("设备名称", s => s.deviceName)
 | 
				
			||||||
                // .Map<Alert>("工序", s => s.)
 | 
					                // .Map<Alert>("工序", s => s.)
 | 
				
			||||||
            .Map<Ledger>("新能源", s => s.NewCar ? "是" : "否")
 | 
					                .Map<Alert>("内容", s => s.AlertContent)
 | 
				
			||||||
            .Map<Ledger>("燃油车", s => s.Emissions)
 | 
					 | 
				
			||||||
            .Map<Ledger>("出厂日间 ", s => s.OutTime)
 | 
					 | 
				
			||||||
                 .Format<Alert>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
 | 
					                 .Format<Alert>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
 | 
				
			||||||
                MemoryStream stream = new MemoryStream();
 | 
					                MemoryStream stream = new MemoryStream();
 | 
				
			||||||
            mapper.Save(stream, list.ToList(), sheetName: "sheet1", leaveOpen: true);
 | 
					                mapper.Save(stream, list, sheetName: "sheet1", leaveOpen: true);
 | 
				
			||||||
                return stream.ToArray();
 | 
					                return stream.ToArray();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 分页取数据
 | 
					        /// 分页取数据
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,47 @@
 | 
				
			||||||
 | 
					using langguanApi.Extensions.AutoDI;
 | 
				
			||||||
 | 
					using langguanApi.Model;
 | 
				
			||||||
 | 
					using langguanApi.Model.Entity;
 | 
				
			||||||
 | 
					using Npoi.Mapper;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq.Expressions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace langguanApi.Service
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [ServiceInjection(InjectionType.Transient)]
 | 
				
			||||||
 | 
					    public class DetectionService : BaseService<Detection>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public DetectionService(IConfiguration config) : base(config, nameof(Detection))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// //获取最新的数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="num"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public async Task<object> GetIndexData(int num = 50)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Expression<Func<Detection, bool>> exp = filter => true;
 | 
				
			||||||
 | 
					            var result = (await GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime).Take(num).ToList();
 | 
				
			||||||
 | 
					            return result;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 导出数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public async Task<byte[]> Export(DateTime start, DateTime end)
 | 
				
			||||||
 | 
					        { 
 | 
				
			||||||
 | 
					            Expression<Func<Detection, bool>> exp = filter => filter.CreateDateTime >= start && filter.CreateDateTime <= end;
 | 
				
			||||||
 | 
					            var result = (await GetListWithExp(exp)).OrderBy(s => s.CreateDateTime).ToList();
 | 
				
			||||||
 | 
					            var mapper = new Mapper();
 | 
				
			||||||
 | 
					            mapper.Map<Detection>("时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss"))
 | 
				
			||||||
 | 
					            .Map<Detection>("工序", s => s.OrganizedName)
 | 
				
			||||||
 | 
					            .Map<Detection>("设备名称", s => s.DeviceName)
 | 
				
			||||||
 | 
					            .Map<Detection>("项目", s => s.keyword)
 | 
				
			||||||
 | 
					            .Map<Detection>("检测值", s => s.deviceValue)
 | 
				
			||||||
 | 
					             .Format<Detection>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
 | 
				
			||||||
 | 
					            MemoryStream stream = new MemoryStream();
 | 
				
			||||||
 | 
					            mapper.Save(stream, result.ToList(), sheetName: "sheet1", leaveOpen: true);
 | 
				
			||||||
 | 
					            return stream.ToArray();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@ namespace langguanApi.Service
 | 
				
			||||||
        private CacheManager _cacheManager;
 | 
					        private CacheManager _cacheManager;
 | 
				
			||||||
        private readonly WeatherService _weatherService;
 | 
					        private readonly WeatherService _weatherService;
 | 
				
			||||||
        private readonly AlertService _alertService;
 | 
					        private readonly AlertService _alertService;
 | 
				
			||||||
 | 
					        private readonly DetectionService _detectionService;
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// HomeService
 | 
					        /// HomeService
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					@ -25,7 +26,8 @@ namespace langguanApi.Service
 | 
				
			||||||
        /// <param name="hj212Service"></param>
 | 
					        /// <param name="hj212Service"></param>
 | 
				
			||||||
        public HomeService(DeviceService device, Hj212Service hj212Service,
 | 
					        public HomeService(DeviceService device, Hj212Service hj212Service,
 | 
				
			||||||
            IConfiguration configuration, CacheManager cacheManager,
 | 
					            IConfiguration configuration, CacheManager cacheManager,
 | 
				
			||||||
            WeatherService weatherService, AlertService alertService)
 | 
					            WeatherService weatherService, AlertService alertService,
 | 
				
			||||||
 | 
					            DetectionService detectionService)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _deviceService = device;
 | 
					            _deviceService = device;
 | 
				
			||||||
            _hj212Service = hj212Service;
 | 
					            _hj212Service = hj212Service;
 | 
				
			||||||
| 
						 | 
					@ -33,6 +35,7 @@ namespace langguanApi.Service
 | 
				
			||||||
            _cacheManager = cacheManager;
 | 
					            _cacheManager = cacheManager;
 | 
				
			||||||
            _weatherService = weatherService;
 | 
					            _weatherService = weatherService;
 | 
				
			||||||
            _alertService = alertService;
 | 
					            _alertService = alertService;
 | 
				
			||||||
 | 
					            _detectionService = detectionService;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// view
 | 
					        /// view
 | 
				
			||||||
| 
						 | 
					@ -48,14 +51,31 @@ namespace langguanApi.Service
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Expression<Func<Model.HJ212, bool>> filter = exp => true;
 | 
					            Expression<Func<Model.HJ212, bool>> filter = exp => true;
 | 
				
			||||||
            var Realtime = await _hj212Service.Realtime();
 | 
					            // 首页设备报警数据
 | 
				
			||||||
            var getViewTop = await _hj212Service.GetViewTop();
 | 
					 | 
				
			||||||
            var alerts = await _alertService.IndexData();
 | 
					            var alerts = await _alertService.IndexData();
 | 
				
			||||||
 | 
					            // 首页设备检测数据
 | 
				
			||||||
 | 
					            var detections = await _detectionService.GetIndexData();
 | 
				
			||||||
            // 获取天气信息,缓存1小时,如果不存在,则调用WeatherService获取
 | 
					            // 获取天气信息,缓存1小时,如果不存在,则调用WeatherService获取
 | 
				
			||||||
            Func<Task<object>> getWeatherFunc = async () => await _weatherService.GetWeather();
 | 
					            Func<Task<object>> getWeatherFunc = async () => await _weatherService.GetWeather();
 | 
				
			||||||
            var weather = await _cacheManager.GetConvertVale(RedisKeylist.Weather, getWeatherFunc, 60 * 60);
 | 
					            var weather = await _cacheManager.GetConvertVale(RedisKeylist.Weather, getWeatherFunc, 60 * 60);
 | 
				
			||||||
            Func<Task<object>> getAriQualityFunc= async () => await _weatherService.GetAirQuality();
 | 
					            // 获取空气质量,缓存2小时,如果不存在,则调用WeatherService获取
 | 
				
			||||||
 | 
					            Func<Task<object>> getAriQualityFunc = async () => await _weatherService.GetAirQuality();
 | 
				
			||||||
            var ariQuality = await _cacheManager.GetConvertVale(RedisKeylist.AriQuality, getAriQualityFunc, 60 * 120);
 | 
					            var ariQuality = await _cacheManager.GetConvertVale(RedisKeylist.AriQuality, getAriQualityFunc, 60 * 120);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //首页清洁运输比例
 | 
				
			||||||
 | 
					            var cleaData = new
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                yesterday = 0.8,
 | 
				
			||||||
 | 
					                lastWeek = 0.6
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            var day = new
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                day = new { voc = "70mg/m3", cemes = "100mg/m3" },
 | 
				
			||||||
 | 
					                week = new
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                   
 | 
				
			||||||
 | 
					                } 
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
            return new ApiResult
 | 
					            return new ApiResult
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                code = 0,
 | 
					                code = 0,
 | 
				
			||||||
| 
						 | 
					@ -71,11 +91,13 @@ namespace langguanApi.Service
 | 
				
			||||||
                        title = _configuration.GetValue<string>("Home:Title"),
 | 
					                        title = _configuration.GetValue<string>("Home:Title"),
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    devices,
 | 
					                    devices,
 | 
				
			||||||
 | 
					                    cleanData,
 | 
				
			||||||
                    ariQuality,
 | 
					                    ariQuality,
 | 
				
			||||||
                    Realtime,
 | 
					                    Realtime = "",
 | 
				
			||||||
                    getViewTop,
 | 
					                    getViewTop = "",
 | 
				
			||||||
                    weather,
 | 
					                    weather,
 | 
				
			||||||
                    alerts
 | 
					                    alerts,
 | 
				
			||||||
 | 
					                    detections
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue