From a770206c91e495b802b3e9371e06834586ad7715 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 30 十月 2025 20:17:30 +0800
Subject: [PATCH] 1

---
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs |  242 ++++++++++++++++++++++++++---------------------
 1 files changed, 134 insertions(+), 108 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
index 0348ffc..15afbf5 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
@@ -4,141 +4,167 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Security.Policy;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
 using WIDESEA_IWMsInfoServices;
 using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.WMSInfo;
+using static WIDESEA_DTO.SquareCabin.AlarmDto;
 using static WIDESEA_DTO.SquareCabin.TowcsDto;
 
 namespace WIDESEA_WMsInfoServices
 {
     public class EquipmentAlarmInforService : ServiceBase<Dt_EquipmentAlarmInfor, IRepository<Dt_EquipmentAlarmInfor>>, IEquipmentAlarmInforService
     {
-        public EquipmentAlarmInforService(IRepository<Dt_EquipmentAlarmInfor> BaseDal) : base(BaseDal)
+        private readonly IMessageInfoService _messageInfoService;
+
+        public EquipmentAlarmInforService(IRepository<Dt_EquipmentAlarmInfor> BaseDal, IMessageInfoService messageInfoService) : base(BaseDal)
         {
+            _messageInfoService = messageInfoService;
         }
 
-      
 
-        //public WebResponseContent getDeviceStatus(string? deviceCode)
-        //{
-        //    try
-        //    {
-        //        var url = "http://172.16.1.2:9357/cube/taskInfo/getDeviceStatus";
 
-        //        // 璋冪敤WCS鎺ュ彛鑾峰彇璁惧鐘舵��
-        //        var result = HttpHelper.Get(url + (string.IsNullOrEmpty(deviceCode) ? "" : $"?deviceCode={deviceCode}"));
-        //        var response = JsonConvert.DeserializeObject<TowcsResponse<DeviceStatusData>>(result);
+        /// <summary>
+        /// 鏌ョ湅绔嬪簱灏忚溅鎶ヨ淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent getDeviceStatus()
+        {
+            try
+            {
+                var url = "http://172.16.1.2:8080/cube/taskInfo/getDeviceStatus?token=wH5zdAUCv2BEHJIinmowyki8cdc5ge8fAwFDcYZs0bVldNgmORt0O0l4GJTDv1dglRdMxb9xDK5Qb3NJAqL1Li2GkfdVa3KnIkfrQZtsP7UXhMmUz6xEuztG6d5svAJO9HENLb8JWVqCfpO2EWV6ebo/g5tJ9x7kbwwAxvCBrWdiEJv09FvaRQ==  ";
+                var result = HttpHelper.Get(url);
 
-        //        // 妫�鏌ユ帴鍙e搷搴旀槸鍚︽垚鍔�
-        //        if (response == null || response.code != "0")
-        //        {
-        //            return new WebResponseContent { Status = false, Message = $"WCS鎺ュ彛璋冪敤澶辫触: {response?.msg}" };
-        //        }
+                var response = JsonConvert.DeserializeObject<AGVResponse<DeviceStatusData>>(result);
 
-        //        var syncTime = DateTime.Now;
-        //        var saveCount = 0;
 
-        //        // 澶勭悊鏈哄櫒浜鸿澶囨暟鎹�
-        //        if (response.data?.robot != null && response.data.robot.Any())
-        //        {
-        //            foreach (var robot in response.data.robot)
-        //            {
-        //                // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
-        //                var existingRecord = BaseDal.QueryData(x => x.RobotCode == robot.robotCode).FirstOrDefault();
 
-        //                if (existingRecord == null)
-        //                {
-        //                    // 鍒涘缓鏂拌褰�
-        //                    var newRecord = new Dt_EquipmentAlarmInfor
-        //                    {
-        //                        RobotName = robot.robotName,
-        //                        RobotCode = robot.robotCode,
-        //                        Status = robot.status,
-        //                        SyncTime = syncTime,
-        //                        CreateDate = syncTime,
-        //                        Creater = "System"
-        //                    };
-        //                    BaseDal.AddData(newRecord);
-        //                }
-        //                else
-        //                {
-        //                    // 鏇存柊鐜版湁璁板綍
-        //                    existingRecord.RobotName = robot.robotName;
-        //                    existingRecord.Status = robot.status;
-        //                    existingRecord.SyncTime = syncTime;
-        //                    existingRecord.ModifyDate = syncTime;
-        //                    existingRecord.Modifier = "System";
-        //                    BaseDal.UpdateData(existingRecord);
-        //                }
-        //                saveCount++;
-        //            }
-        //        }
+                // 妫�鏌ユ帴鍙e搷搴旀槸鍚︽垚鍔�
+                if (response == null || response.code != "0")
+                {
+                    return new WebResponseContent { Status = false, Message = $"WCS鎺ュ彛璋冪敤澶辫触: {response?.msg}" };
+                }
 
-        //        // 澶勭悊鍒嗘嫞鍙拌澶囨暟鎹�
-        //        if (response.data?.sorters != null && response.data.sorters.Any())
-        //        {
-        //            foreach (var sorter in response.data.sorters)
-        //            {
-        //                // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
-        //                var existingRecord = BaseDal.QueryData(x => x.RobotCode == sorter.sorterCode).FirstOrDefault();
+                var syncTime = DateTime.Now;
+                var saveCount = 0;
 
-        //                if (existingRecord == null)
-        //                {
-        //                    // 鍒涘缓鏂拌褰�
-        //                    var newRecord = new Dt_EquipmentAlarmInfor
-        //                    {
-        //                        RobotName = sorter.sorterName,
-        //                        RobotCode = sorter.sorterCode,
-        //                        Status = sorter.status,
-        //                        SyncTime = syncTime,
-        //                        CreateDate = syncTime,
-        //                        Creater = "System"
-        //                    };
-        //                    BaseDal.AddData(newRecord);
-        //                }
-        //                else
-        //                {
-        //                    // 鏇存柊鐜版湁璁板綍
-        //                    existingRecord.RobotName = sorter.sorterName;
-        //                    existingRecord.Status = sorter.status;
-        //                    existingRecord.SyncTime = syncTime;
-        //                    existingRecord.ModifyDate = syncTime;
-        //                    existingRecord.Modifier = "System";
-        //                    BaseDal.UpdateData(existingRecord);
-        //                }
-        //                saveCount++;
-        //            }
-        //        }
+                // 澶勭悊鏈哄櫒浜鸿澶囨暟鎹�
+                if (response.data?.robot != null && response.data.robot.Any())
+                {
+                    foreach (var robot in response.data.robot)
+                    {
+                        // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
+                        var existingRecord = BaseDal.QueryData(x => x.RobotCode == robot.robotCode).FirstOrDefault();
 
-        //        //// 杩斿洖鐘舵�佺粺璁′俊鎭�
-        //        //var stateStats = response.data?.stateStatistics;
-        //        //var statsInfo = stateStats != null ?
-        //        //    $"鍙敤:{stateStats.enable}, 鍏呯數:{stateStats.charging}, 涓嶅彲鐢�:{stateStats.disabled}, 閿欒:{stateStats.error}, 绂诲簱:{stateStats.down}, 鍗犵敤:{stateStats.occupied}"
-        //        //    : "鏃犵粺璁′俊鎭�";
+                        if (existingRecord == null)
+                        {
+                            // 鍒涘缓鏂拌褰�
+                            var newRecord = new Dt_EquipmentAlarmInfor
+                            {
+                                RobotName = robot.robotName,
+                                RobotCode = robot.robotCode,
+                                Status = robot.status,
+                                SyncTime = syncTime,
+                                CreateDate = syncTime,
+                                Creater = "System"
+                            };
+                            BaseDal.AddData(newRecord);
+                            if (robot.status == "error")
+                            {
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "灏忚溅鍚嶇О:" + robot.robotName, $"灏忚溅缂栧彿銆恵robot.robotCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+                            }
+                        }
+                        else
+                        {
+                            // 鏇存柊鐜版湁璁板綍
+                            existingRecord.RobotName = robot.robotName;
+                            existingRecord.Status = robot.status;
+                            existingRecord.SyncTime = syncTime;
+                            existingRecord.ModifyDate = syncTime;
+                            existingRecord.Modifier = "System";
+                            BaseDal.UpdateData(existingRecord);
+                            if (robot.status == "error")
+                            {
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "灏忚溅鍚嶇О:" + robot.robotName, $"灏忚溅缂栧彿銆恵robot.robotCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+                            }
+                        }
+                        saveCount++;
+                    }
+                }
 
-        //        return new WebResponseContent
-        //        {
-        //            Status = true,
-        //            Message = $"鍚屾鎴愬姛锛屽叡澶勭悊 {saveCount} 鏉¤澶囪褰曘�傜姸鎬佺粺璁�: {statsInfo}"
-        //        };
-        //    }
-        //    catch (Exception ex)
-        //    {
-        //        // 璁板綍璇︾粏閿欒鏃ュ織
-        //        Console.WriteLine($"鑾峰彇璁惧鐘舵�佸紓甯�: {ex.Message}, StackTrace: {ex.StackTrace}");
+                // 澶勭悊鍒嗘嫞鍙拌澶囨暟鎹�
+                if (response.data?.sorters != null && response.data.sorters.Any())
+                {
+                    foreach (var sorter in response.data.sorters)
+                    {
+                        // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
+                        var existingRecord = BaseDal.QueryData(x => x.RobotCode == sorter.sorterCode).FirstOrDefault();
 
-        //        return new WebResponseContent
-        //        {
-        //            Status = false,
-        //            Message = $"鑾峰彇璁惧鐘舵�佸け璐�: {ex.Message}"
-        //        };
-        //    }
-        //}
+                        if (existingRecord == null)
+                        {
+                            // 鍒涘缓鏂拌褰�
+                            var newRecord = new Dt_EquipmentAlarmInfor
+                            {
+                                RobotName = sorter.sorterName,
+                                RobotCode = sorter.sorterCode,
+                                Status = sorter.status,
+                                SyncTime = syncTime,
+                                CreateDate = syncTime,
+                                Creater = "System"
+                            };
+                            BaseDal.AddData(newRecord);
+                            if (sorter.status == "error")
+                            {
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕绉�:" + sorter.sorterName, $"缂栧彿銆恵sorter.sorterCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+                            }
+                        }
+                        else
+                        {
+                            // 鏇存柊鐜版湁璁板綍
+                            existingRecord.RobotName = sorter.sorterName;
+                            existingRecord.Status = sorter.status;
+                            existingRecord.SyncTime = syncTime;
+                            existingRecord.ModifyDate = syncTime;
+                            existingRecord.Modifier = "System";
+                            BaseDal.UpdateData(existingRecord);
+                            if (sorter.status == "error")
+                            {
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕绉�:" + sorter.sorterName, $"缂栧彿銆恵sorter.sorterCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+                            }
+                        }
+                        saveCount++;
+                    }
+                }
+
+                //// 杩斿洖鐘舵�佺粺璁′俊鎭�
+                //var stateStats = response.data?.stateStatistics;
+                //var statsInfo = stateStats != null ?
+                //    $"鍙敤:{stateStats.enable}, 鍏呯數:{stateStats.charging}, 涓嶅彲鐢�:{stateStats.disabled}, 閿欒:{stateStats.error}, 绂诲簱:{stateStats.down}, 鍗犵敤:{stateStats.occupied}"
+                //    : "鏃犵粺璁′俊鎭�";
+
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Message = $"鍚屾鎴愬姛锛屽叡澶勭悊 {saveCount} 鏉¤澶囪褰曘��"
+                };
+            }
+            catch (Exception ex)
+            {
+                // 璁板綍璇︾粏閿欒鏃ュ織
+                Console.WriteLine($"鑾峰彇璁惧鐘舵�佸紓甯�: {ex.Message}, StackTrace: {ex.StackTrace}");
+
+                return new WebResponseContent
+                {
+                    Status = false,
+                    Message = $"鑾峰彇璁惧鐘舵�佸け璐�: {ex.Message}"
+                };
+            }
+        }
     }
 }

--
Gitblit v1.9.3