using DataCapture_MA.log4Net;
|
using DataCapture_MA.Mes;
|
using DataCapture_MA.Mes.Dto;
|
using DataCapture_MA.Model;
|
using Microsoft.EntityFrameworkCore.Query;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace DataCapture_MA
|
{
|
public class MesApiHelper
|
{
|
/// <summary>
|
/// 推送报警
|
/// </summary>
|
/// <param name="messageAnalysis"></param>
|
/// <returns></returns>
|
public static MesResult PushEquipmentWarning(MessageAnalysis messageAnalysis)
|
{
|
var mesParam = new List<MesWarnInput>();
|
try
|
{
|
if(messageAnalysis.Warnings.Count<=0 && messageAnalysis.WarnningNum>0)
|
{
|
mesParam.Add(new MesWarnInput
|
{
|
EquipSerial = messageAnalysis.RobotSerialNo,
|
AlarmCode = "E-999",
|
AlarmDesc = "未提供报警内容"
|
});
|
}
|
else
|
{
|
foreach(var warning in messageAnalysis.Warnings)
|
{
|
mesParam.Add(new MesWarnInput
|
{
|
EquipSerial = messageAnalysis.RobotSerialNo,
|
AlarmCode = warning.WarningCode,
|
AlarmDesc = warning.WarningContent
|
});
|
}
|
}
|
Log4NetHelper.WriteInfoLog(LogType.PushMes, "推送设备报警信息:" + JsonConvert.SerializeObject(mesParam));
|
var result = MesApiRequest.PushEquipmentWarning(mesParam);
|
return result;
|
}
|
catch(Exception ex)
|
{
|
return new MesResult
|
{
|
statusCode = 500,
|
message = ex.Message,
|
};
|
}
|
}
|
|
/// <summary>
|
/// 推送设备状态
|
/// </summary>
|
/// <param name="messageAnalysis"></param>
|
/// <returns></returns>
|
public static MesResult PushEquipmentStatus(MessageAnalysis messageAnalysis)
|
{
|
var equipmentStatus = new List<MesEquipmentStatus>();
|
try
|
{
|
var equipment = new MesEquipmentStatus()
|
{
|
CurrentStatus = messageAnalysis.RobotMode,
|
EquipSerial = messageAnalysis.RobotSerialNo
|
};
|
equipmentStatus.Add(equipment);
|
|
Log4NetHelper.WriteInfoLog(LogType.PushMes, "推送设备状态信息:" + JsonConvert.SerializeObject(equipmentStatus));
|
var result = MesApiRequest.PushEquipmentStatus(equipmentStatus);
|
return result;
|
}
|
catch (Exception ex)
|
{
|
return new MesResult
|
{
|
statusCode = 500,
|
message = ex.Message,
|
};
|
}
|
}
|
|
/// <summary>
|
/// 推送其他信息
|
/// </summary>
|
/// <param name="messageAnalysis"></param>
|
/// <returns></returns>
|
public static MesResult PushEquipmentInfo(MessageAnalysis messageAnalysis)
|
{
|
var equipmentInfo = new List<EquipmentOtherInfoForMes>();
|
try
|
{
|
var newEquipmentInfo = AutoMapper.Mapper.Map<MessageAnalysis, EquipmentOtherInfoForMes>(messageAnalysis);
|
var info = new MesEquipmentInfo()
|
{
|
EquipSerial = messageAnalysis.RobotSerialNo,
|
ParameterValue = JsonConvert.SerializeObject(newEquipmentInfo)
|
};
|
Log4NetHelper.WriteInfoLog(LogType.PushMes, "推送设备信息:" + JsonConvert.SerializeObject(info));
|
var result = MesApiRequest.PushEquipmentInfo(info);
|
return result;
|
}
|
catch (Exception ex)
|
{
|
return new MesResult
|
{
|
statusCode = 500,
|
message = ex.Message,
|
};
|
}
|
}
|
}
|
}
|