上传设备报警信息

This commit is contained in:
liming 蔡
2026-07-28 10:51:38 +08:00
parent 799fb8ff06
commit a7d1772d49
11 changed files with 549 additions and 259 deletions
+46
View File
@@ -55,6 +55,7 @@ namespace JY.Inspection.Mes
// TODO 上传设备状态信息
// TODO 上传设备报警信息
MesCallResult<RespAlarm> UpAlarmData(ReqAlarm req);
// TODO 能耗
void UpEnergyDataMqtt(List<double> dataList);
@@ -424,5 +425,50 @@ namespace JY.Inspection.Mes
MqttSingleton.Instance.SendAsync(topic, payload).ConfigureAwait(false);
}
public MesCallResult<RespAlarm> UpAlarmData(ReqAlarm req)
{
if (req == null)
{
throw new ArgumentNullException("MES报警请求信息为空");
}
// MES登录请求地址
DateTime currentTime = DateTime.Now;
// 报警URL
string reqUrl = Global.systemConfig.EquipAlarmUrl;
MesCallResult<RespAlarm> resp = new MesCallResult<RespAlarm>();
try
{
string reqJsonStr = JsonHelper.Serialize(req);
var sw = new Stopwatch();
sw.Start();
string mesRes = MESApiHelper.HttpPostJsonAPI(
reqUrl,
reqJsonStr,
Global.systemConfig.MesRequestTime
);
resp = MESApiHelper.HttpPostJsonAPI<RespAlarm>(reqUrl, reqJsonStr, Global.systemConfig.MesRequestTime);
sw.Stop();
if (resp?.OriResponse != null && resp?.OriResponse.Success != true)
{
resp.IsSuccess = false;
resp.ErrorType = MesErrorType.BusinessError;
resp.ErrorMessage = resp?.OriResponse?.Message ?? "MES业务处理失败, 错误消息为空";
}
new MesLog().LogEqupAlarmInfo(currentTime, reqJsonStr, resp.OriRespJsonStr, sw.ElapsedMilliseconds);
}
catch (Exception ex)
{
resp.IsSuccess = false;
resp.ErrorType = MesErrorType.ClientError;
resp.ErrorMessage = "上传设备报警信息异常:" + ex.Message;
}
return resp;
}
}
}
+9
View File
@@ -17,6 +17,8 @@ namespace JY.Inspection.Mes
void LogExitStation(DateTime curTime, string reqJsonStr, string respMes, long costTime);
void LogLoginMes(DateTime curTime, string reqJsonStr, string respMes, long costTime);
void LogEqupAlarmInfo(DateTime curTime, string reqJsonStr, string respMes, long costTime);
}
public class MesLog : IMesLog
@@ -71,5 +73,12 @@ namespace JY.Inspection.Mes
LogoutAction(actionName, curTime, reqJsonStr, respMes, costTime);
}
public void LogEqupAlarmInfo(DateTime curTime, string reqJsonStr, string respMes, long costTime)
{
string actionName = "设备报警";
LogoutAction(actionName, curTime, reqJsonStr, respMes, costTime);
}
}
}