yanjinhui
5 天以前 3d3598eea1b93ed7f977d077355ebbcc1270ba38
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs
@@ -8,6 +8,7 @@
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
@@ -22,8 +23,10 @@
{
    public class ContainerService : ServiceBase<Dt_Container, IRepository<Dt_Container>>, IContainerService
    {
        public ContainerService(IRepository<Dt_Container> BaseDal) : base(BaseDal)
        private readonly IMessageInfoService _messageInfoService;
        public ContainerService(IRepository<Dt_Container> BaseDal, IMessageInfoService messageInfoService) : base(BaseDal)
        {
            _messageInfoService = messageInfoService;
        }
        public IRepository<Dt_Container> Repository => BaseDal;
@@ -35,8 +38,60 @@
                var url = "http://172.16.1.4:8082/api/environment/sensor";
                var result = HttpHelper.Get(url);
                var response = JsonConvert.DeserializeObject<CollResponse<CoolDto>>(result);
                if (response == null || response.code != "000") throw new Exception("鎺ュ彛杩斿洖鏁版嵁鎶ラ敊");
                var deviceNames = response.data.Select(x => x.name?.Trim()).Distinct().ToList();
                var containers = BaseDal.QueryData(x => deviceNames.Contains(x.deviceName)).ToList();
                List<Dt_Container> containersAdd = new List<Dt_Container>();
                List<Dt_Container> containersUp = new List<Dt_Container>();
                foreach (var item in response.data)
                {
                    Dt_Container? container = containers.Where(x => x.deviceName == item.name).FirstOrDefault();
                    if (container == null)
                    {
                        container = new Dt_Container()
                        {
                            deviceName = item.name,
                            Alarm = item.alarm,
                            CurrentTemperature = item.temperature,
                            Humidity = item.humidity,
                            CreateDate = DateTime.Now,
                            AlarmInformation = item.message
                        };
                        containersAdd.Add(container);
                    }
                    else
                    {
                        container.Alarm = item.alarm;
                        container.CurrentTemperature = item.temperature;
                        container.Humidity = item.humidity;
                        container.AlarmInformation = item.message;
                        container.ModifyDate = DateTime.Now;
                        containersUp.Add(container);
                    }
                    if (item.alarm != "姝e父")
                    {
                        _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm,
                            $"鍐锋煖{item.name}{item.alarm}", item.message, MessageStatusEnum.Undisposed);
                    }
                }
                if (containersAdd.Count > 0) BaseDal.AddData(containersAdd);
                if (containersUp.Count > 0) BaseDal.UpdateData(containersUp);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public WebResponseContent Sensor1()
        {
            try
            {
                var url = "http://172.16.1.4:8082/api/environment/sensor";
                var result = HttpHelper.Get(url);
                var response = JsonConvert.DeserializeObject<CollResponse<CoolDto>>(result);
                if (response?.code != "000" || response.data == null)
                if (response.code != "000" || response.data == null)
                {
                    return new WebResponseContent { Status = false, Message = "鎺ュ彛杩斿洖鏁版嵁鎶ラ敊" };
                }
@@ -59,9 +114,13 @@
                        cool.CurrentTemperature = item.temperature;
                        cool.Humidity = item.humidity;
                        cool.Alarm = item.alarm;
                        cool.AlarmInformation = item.message ?? "杩愯姝e父";
                        cool.AlarmInformation = item.message;
                        cool.ModifyDate = currentTime;
                        updateList.Add(cool);
                        if (cool.Alarm!="姝e父")
                        {
                            _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, $"鍐锋煖{item.alarm}", item.message, MessageStatusEnum.Undisposed);
                        }
                    }
                    else
                    {
@@ -72,13 +131,17 @@
                            CurrentTemperature = item.temperature,
                            Humidity = item.humidity,
                            Alarm = item.alarm,
                            AlarmInformation = item.message ?? "杩愯姝e父",
                            AlarmInformation = item.message,
                            CreateDate = currentTime,
                            Creater = "System",
                            ModifyDate = currentTime,
                            Modifier = "System"
                        };
                        addList.Add(dto);
                        if (item.alarm != "姝e父")
                        {
                            _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, $"鍐锋煖{item.alarm}", item.message, MessageStatusEnum.Undisposed);
                        }
                    }
                }