using JinYuan.VirtualDataLibrary;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using JinYuan.Helper;
using JinYuan.MES;
using JinYuan.MES.Models;
using JinYuan.MES.Enums;
using JinYuan.Models;
using SqlSugar;
namespace JinYuan.ControlCenters
{
public class MESDataCombin
{
#region 9、报警信息
///
/// 报警信息
///
/// 报警内容
/// 报警标志 1:报警开始 0:报警结束
///
public static string EquAlarm(AlarmData alarmObj, int alarmFlag)
{
DateTime nowTime = DateTime.Now;
string resJson = "";
string josnTxtMsg = string.Empty;
try
{
UploadAlarmParam alarmParam = new UploadAlarmParam();
alarmParam.siteCode = CommonMethods.mesConfig.siteCode;
alarmParam.lineCode = CommonMethods.mesConfig.lineCode;
alarmParam.equipNum = CommonMethods.mesConfig.equipNum;
alarmParam.materialCode = CommonMethods.mesConfig.MaterialCode;
alarmParam.userName = CommonMethods.mesConfig.mesUserName;
alarmParam.recordDate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
alarmParam.guid = alarmObj.AlarmGuid;
alarmParam.seatId = "";
List alarmLineList = new List();
AlarmLineListItem alarmList = new AlarmLineListItem();
alarmList.alarmEndTime = alarmFlag == 1 ? "" : alarmObj.EndTime.ToString();
alarmList.alarmType = alarmObj.AlarmType;
alarmList.alarmName = alarmObj.AlarmContent;
alarmList.alarmStartTime = alarmObj.StartTime.ToString();
alarmList.faultCode = alarmObj.AlarmCode;
alarmLineList.Add(alarmList);
alarmParam.alarmLineList = alarmLineList;
string SendJosn = JsonConvert.SerializeObject(alarmParam);
var sw = new Stopwatch();
sw.Start();
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.AlarmCurrencyMesUrl, SendJosn);
sw.Stop();
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用MES设备报警接口:{CommonMethods.mesConfig.AlarmCurrencyMesUrl},请求数据为:{SendJosn},\n{nowTime.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resJson}";
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowTime.ToString("yyyyMMdd")}\设备报警\{nowTime.ToString("HH")}.txt", josnTxtMsg);
}
catch (Exception ex)
{
LoggerHelp.WriteEX("调用MES设备报警接口", ex);
}
return resJson;
}
#endregion
#region 10、设备状态
///
/// 设备状态
///
///
///
public static string EqpStatusParam(string strStatus, string StartDate, string strGuid, List FaultCodeLists = null)
{
var nowTime = DateTime.Now;
string resJson = "";
string josnTxtMsg = string.Empty;
string Date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
try
{
EqpStatusParam statusParam = new EqpStatusParam();
statusParam.siteCode = CommonMethods.mesConfig.siteCode;
statusParam.lineCode = CommonMethods.mesConfig.lineCode;
statusParam.equipNum = CommonMethods.mesConfig.equipNum;
statusParam.userName = CommonMethods.mesConfig.mesUserName;
statusParam.seatId = "";
statusParam.recordDate = StartDate;
statusParam.statusCode = strStatus;
statusParam.uploadTime = Date;
statusParam.guid = strGuid;
statusParam.faultCodeList = FaultCodeLists;
string SendJosn = JsonConvert.SerializeObject(statusParam);
var sw = new Stopwatch();
sw.Start();
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.StatusMesUrl, SendJosn);
sw.Stop();
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用MES设备运行状态接口:{CommonMethods.mesConfig.StatusMesUrl},请求数据为:{SendJosn},\n{nowTime.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resJson}";
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowTime.ToString("yyyyMMdd")}\设备运行状态\{nowTime.ToString("HH")}.txt", josnTxtMsg);
}
catch (Exception ex)
{
LoggerHelp.WriteEX("调用MES设备运行状态接口", ex);
}
return resJson;
}
#endregion
}
}