st 设置设备类型
This commit is contained in:
		
							parent
							
								
									5575215e79
								
							
						
					
					
						commit
						649c2be62d
					
				| 
						 | 
					@ -1725,6 +1725,13 @@
 | 
				
			||||||
            <param name="input"></param>
 | 
					            <param name="input"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:langguanApi.Service.DeviceService.GetDeviceAndData(System.String)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            取设备及数据
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <param name="id"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:langguanApi.Service.DeviceService.Exist(langguanApi.Model.DeviceAddDto)">
 | 
					        <member name="M:langguanApi.Service.DeviceService.Exist(langguanApi.Model.DeviceAddDto)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            是否存在
 | 
					            是否存在
 | 
				
			||||||
| 
						 | 
					@ -2321,5 +2328,10 @@
 | 
				
			||||||
            暂存服务
 | 
					            暂存服务
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="P:ServiceLocator.Instance">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            服务容器
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
    </members>
 | 
					    </members>
 | 
				
			||||||
</doc>
 | 
					</doc>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -91,5 +91,8 @@ app.Run();
 | 
				
			||||||
/// </summary>
 | 
					/// </summary>
 | 
				
			||||||
public static class ServiceLocator
 | 
					public static class ServiceLocator
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 服务容器
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
    public static IServiceProvider Instance { get; set; }
 | 
					    public static IServiceProvider Instance { get; set; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
using langguanApi.Extensions.AutoDI;
 | 
					using langguanApi.Extensions.AutoDI;
 | 
				
			||||||
using langguanApi.Model;
 | 
					using langguanApi.Model;
 | 
				
			||||||
using langguanApi.Model.Dto;
 | 
					using langguanApi.Model.Dto;
 | 
				
			||||||
 | 
					using langguanApi.Model.Entity;
 | 
				
			||||||
 | 
					using Npoi.Mapper;
 | 
				
			||||||
using System.Linq.Expressions;
 | 
					using System.Linq.Expressions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace langguanApi.Service
 | 
					namespace langguanApi.Service
 | 
				
			||||||
| 
						 | 
					@ -34,6 +36,24 @@ namespace langguanApi.Service
 | 
				
			||||||
            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false;
 | 
					            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false;
 | 
				
			||||||
            return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime);
 | 
					            return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        public async Task<byte[]> ExportData(DateTime start, DateTime end)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= start
 | 
				
			||||||
 | 
					            && filter.CreateDateTime <= end
 | 
				
			||||||
 | 
					            && filter.IsDelete == false;
 | 
				
			||||||
 | 
					            var list = await base.GetListWithExp(exp);
 | 
				
			||||||
 | 
					            var mapper = new Mapper();
 | 
				
			||||||
 | 
					            mapper.Map<Alert>("报警开始时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss"))
 | 
				
			||||||
 | 
					            .Map<Alert>("设备名称", s => s.deviceName)
 | 
				
			||||||
 | 
					            // .Map<Alert>("工序", s => s.)
 | 
				
			||||||
 | 
					            .Map<Ledger>("新能源", s => s.NewCar ? "是" : "否")
 | 
				
			||||||
 | 
					            .Map<Ledger>("燃油车", s => s.Emissions)
 | 
				
			||||||
 | 
					            .Map<Ledger>("出厂日间 ", s => s.OutTime)
 | 
				
			||||||
 | 
					             .Format<Alert>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
 | 
				
			||||||
 | 
					            MemoryStream stream = new MemoryStream();
 | 
				
			||||||
 | 
					            mapper.Save(stream, list.ToList(), sheetName: "sheet1", leaveOpen: true);
 | 
				
			||||||
 | 
					            return stream.ToArray();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 分页取数据
 | 
					        /// 分页取数据
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,10 +10,8 @@ namespace langguanApi.Service
 | 
				
			||||||
    [ServiceInjection(InjectionType.Transient)]
 | 
					    [ServiceInjection(InjectionType.Transient)]
 | 
				
			||||||
    public class DeviceService : BaseService<Device>
 | 
					    public class DeviceService : BaseService<Device>
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public Hj212Service _hj212Service;
 | 
					        public DeviceService(IConfiguration config) : base(config, nameof(Device))
 | 
				
			||||||
        public DeviceService(IConfiguration config, Hj212Service hj212Service) : base(config, nameof(Device))
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _hj212Service = hj212Service;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
| 
						 | 
					@ -31,6 +29,11 @@ namespace langguanApi.Service
 | 
				
			||||||
            await base.CreateAsync(entity);
 | 
					            await base.CreateAsync(entity);
 | 
				
			||||||
            return new ApiResult { code = 0, msg = "" };
 | 
					            return new ApiResult { code = 0, msg = "" };
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 取设备及数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="id"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
        public async Task<ApiResult> GetDeviceAndData(string id)
 | 
					        public async Task<ApiResult> GetDeviceAndData(string id)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var entity = await base.GetAsync(id);
 | 
					            var entity = await base.GetAsync(id);
 | 
				
			||||||
| 
						 | 
					@ -38,8 +41,23 @@ namespace langguanApi.Service
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                return new ApiResult { code = 1, msg = "设备不存在" };
 | 
					                return new ApiResult { code = 1, msg = "设备不存在" };
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            var items = await _hj212Service.GetViewByDeviceMn(entity.deviceMN);
 | 
					            var _service = ServiceLocator.Instance.GetService<Hj212Service>();
 | 
				
			||||||
            return new ApiResult { code = 0, msg = "", data = new { device = entity, items } };
 | 
					            if (_service == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return new ApiResult
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    code = 0,
 | 
				
			||||||
 | 
					                    msg = "",
 | 
				
			||||||
 | 
					                    data = new
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        device = entity,
 | 
				
			||||||
 | 
					                        items = await _service.GetViewByDeviceMn(entity.deviceMN)
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            //        var items = await _hj212Service.GetViewByDeviceMn(entity.deviceMN);
 | 
				
			||||||
 | 
					            return new ApiResult { code = 0, msg = "", data = new { device = entity, items = "" } };
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,13 +10,15 @@ using langguanApi.Extensions.AutoDI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace langguanApi.Service
 | 
					namespace langguanApi.Service
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
					
 | 
				
			||||||
    public class HJ212SocketServer
 | 
					    public class HJ212SocketServer
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private Hj212Service _hj212Service;
 | 
					        private Hj212Service _hj212Service;
 | 
				
			||||||
        public HJ212SocketServer(Hj212Service hj212Service)
 | 
					        private DeviceService _deviceService;
 | 
				
			||||||
 | 
					        public HJ212SocketServer(Hj212Service hj212Service, DeviceService deviceService)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _hj212Service = hj212Service;
 | 
					            _hj212Service = hj212Service;
 | 
				
			||||||
 | 
					            _deviceService = deviceService;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 缓冲器
 | 
					        /// 缓冲器
 | 
				
			||||||
| 
						 | 
					@ -90,15 +92,35 @@ namespace langguanApi.Service
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Console.WriteLine("收到自: " + session.RemoteIPEndPoint + ": " + rawText);
 | 
					            Console.WriteLine("收到自: " + session.RemoteIPEndPoint + ": " + rawText);
 | 
				
			||||||
            HJ212_2017 hj = new HJ212_2017();
 | 
					            HJ212_2017 hj = new HJ212_2017();
 | 
				
			||||||
 | 
					            // st 27 =voc,st=31 cems, st=32,tsp
 | 
				
			||||||
            if (hj.DecodeData(rawText))
 | 
					            if (hj.DecodeData(rawText))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                var body = JsonConvert.SerializeObject(hj.CP);
 | 
					                var body = JsonConvert.SerializeObject(hj.CP);
 | 
				
			||||||
                var entity = JsonConvert.DeserializeObject<Model.HJ212>(body);
 | 
					                var entity = JsonConvert.DeserializeObject<Model.HJ212>(body);
 | 
				
			||||||
                entity.deviceMN = hj.DATA_HEAD["MN"];
 | 
					                entity.deviceMN = hj.DATA_HEAD["MN"];
 | 
				
			||||||
 | 
					                await _deviceService.Add(new DeviceAddDto
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    deviceMN = hj.DATA_HEAD["MN"],
 | 
				
			||||||
 | 
					                    DeviceType = SetDeviceType(hj.DATA_HEAD["ST"]),
 | 
				
			||||||
 | 
					                    Ip= session.RemoteIPEndPoint.ToString(),
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
                //校验通过,开始入库
 | 
					                //校验通过,开始入库
 | 
				
			||||||
               await _hj212Service.Add(entity, session.RemoteIPEndPoint.ToString());
 | 
					                await _hj212Service.Add(entity, session.RemoteIPEndPoint.ToString());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        private int SetDeviceType(string st)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            //st 27 =voc,st=31 cems, st=32,tsp
 | 
				
			||||||
 | 
					            //1 voc,2 cems,3,tsp,4 video
 | 
				
			||||||
 | 
					            switch (st)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                case "27": return 1;
 | 
				
			||||||
 | 
					                case "31": return 2;
 | 
				
			||||||
 | 
					                case "32": return 3;
 | 
				
			||||||
 | 
					                case "33": return 4;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        private void OnNetServer_ExceptionCaught(Exception ex)
 | 
					        private void OnNetServer_ExceptionCaught(Exception ex)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Console.WriteLine("Error in NetServer" + ex);
 | 
					            Console.WriteLine("Error in NetServer" + ex);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,20 +22,17 @@ namespace langguanApi.Service
 | 
				
			||||||
        public async Task Add(Model.HJ212 hJ212, string deviceIp)
 | 
					        public async Task Add(Model.HJ212 hJ212, string deviceIp)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ////判断设备类型 tsp 会有经纬度数据
 | 
					            ////判断设备类型 tsp 会有经纬度数据
 | 
				
			||||||
            int deviceType = 1;//设备类型为1 =voc
 | 
					         //  int deviceType = 1;//设备类型为1 =voc
 | 
				
			||||||
            if (hJ212.lat > 0 && hJ212.lng > 0)
 | 
					 
 | 
				
			||||||
            {
 | 
					            ////先判断当前设备是否存在
 | 
				
			||||||
                deviceType = 1;
 | 
					            //await _deviceSerive.Add(new DeviceAddDto()
 | 
				
			||||||
            }
 | 
					            //{
 | 
				
			||||||
            //先判断当前设备是否存在
 | 
					            //    deviceMN = hJ212.deviceMN,
 | 
				
			||||||
            await _deviceSerive.Add(new DeviceAddDto()
 | 
					            //    Ip = deviceIp,
 | 
				
			||||||
            {
 | 
					            //    lat = hJ212.lat,
 | 
				
			||||||
                deviceMN = hJ212.deviceMN,
 | 
					            //    lng = hJ212.lng,
 | 
				
			||||||
                Ip = deviceIp,
 | 
					            //    DeviceType = deviceType
 | 
				
			||||||
                lat = hJ212.lat,
 | 
					            //});
 | 
				
			||||||
                lng = hJ212.lng,
 | 
					 | 
				
			||||||
                DeviceType = deviceType
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
            await base.CreateAsync(hJ212);
 | 
					            await base.CreateAsync(hJ212);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@ namespace langguanApi.Service
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 
 | 
					        /// 
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public void CreatTask()
 | 
					        public async void CreatTask()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //5分钟执行一次
 | 
					            //5分钟执行一次
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue