using HslCommunication; using Newtonsoft.Json; using Quartz.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Helper; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; using static WIDESEA_DTO.SquareCabin.TowcsDto; namespace WIDESEA_WMsInfoServices { public class EquipmentAlarmInforService : ServiceBase>, IEquipmentAlarmInforService { public EquipmentAlarmInforService(IRepository BaseDal) : base(BaseDal) { } //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>(result); // // 检查接口响应是否成功 // if (response == null || response.code != "0") // { // return new WebResponseContent { Status = false, Message = $"WCS接口调用失败: {response?.msg}" }; // } // 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++; // } // } // // 处理分拣台设备数据 // 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(); // 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++; // } // } // //// 返回状态统计信息 // //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} 条设备记录。状态统计: {statsInfo}" // }; // } // catch (Exception ex) // { // // 记录详细错误日志 // Console.WriteLine($"获取设备状态异常: {ex.Message}, StackTrace: {ex.StackTrace}"); // return new WebResponseContent // { // Status = false, // Message = $"获取设备状态失败: {ex.Message}" // }; // } //} } }