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<Dt_EquipmentAlarmInfor, IRepository<Dt_EquipmentAlarmInfor>>, IEquipmentAlarmInforService
|
{
|
public EquipmentAlarmInforService(IRepository<Dt_EquipmentAlarmInfor> 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<TowcsResponse<DeviceStatusData>>(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}"
|
// };
|
// }
|
//}
|
}
|
}
|