From 3d3598eea1b93ed7f977d077355ebbcc1270ba38 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期日, 02 十一月 2025 12:17:33 +0800
Subject: [PATCH] 优化

---
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs"
index 2490157..b0b272b 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/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);
+                        }
                     }
                 }
 

--
Gitblit v1.9.3