using LLAirtightApi; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SLZ_4 { /// /// MES入站信息 /// public class MesIn { public string name { get; set; } //接口名称 public string time { get; set; } //时间 public string operatorName { get; set; } //操作员 public int channel { get; set; } //通道号 public string sn { get; set; } //条码 } /// /// MES出站信息 /// public class MesOut { public string name { get; set; } //接口名称 public string time { get; set; } //时间 public string operatorName { get; set; } //操作员 public int channel { get; set; } //通道号 public string result { get; set; } //测试结果 OK NG public string sn { get; set; } //条码 public float diffPressure { get; set; } //压差 public float pressure { get; set; } //压力值 public float leakage { get; set; } //泄漏量 public float inflationTime { get; set; } //充气时间 public float balanceTime { get; set; } //平衡时间 public float testTime1 { get; set; } //检测时间1 public float testTime2 { get; set; } //检测时间2 解除输出2时间(28) public float exhaustTime { get; set; } //排气时间 public float bypassTime { get; set; } //旁路时间 public float delayTime1 { get; set; } //输出1延时 public float delayTime2 { get; set; } //输出2延时 public float bigLeakBalanceTime { get; set; }//大漏平衡时间 public float micLeakBalanceTime { get; set; }//微漏平衡时间 public string pressureUnit { get; set; } //压力单位 public string leakageUnit { get; set; } //泄漏量单位 public float pressureUpperLimit { get; set; } //充气压力上限 public float pressureLowerLimit { get; set; } //充气压力下限 public float balanceUpperLimit { get; set; } //平衡压差上限 大漏压差 public float balanceLowerLimit { get; set; } //平衡压差下限 public float leakageUpperLimit { get; set; } //泄漏量上限 微漏上限 public float leakageLowerLimit { get; set; } //泄漏量下限 微漏下限 //public float fEquivalentVolume { get; set; } //等效容积 } public class MesReply { public int code; //返回code public string message; //返回信息 } public class MesObj { public MesIn mesIn; //MES入站信息 public MesOut mesOut; //MES出站信息 public MesReply mesReply; //MES返回 public MesObj() { mesIn = new MesIn(); mesOut = new MesOut(); mesReply = new MesReply(); } public string MesCheckIn(string code, int iCH, string url) { mesIn.name = "checkSN"; mesIn.time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); mesIn.operatorName = FormMain.form.strOperator; mesIn.channel = iCH + 1; mesIn.sn = code; string body = JsonConvert.SerializeObject(mesIn); Log log = new Log(); log.MES_Logmsg(DateTime.Now.ToString() + " 入站 CH-" + (iCH + 1).ToString() + ": " + body); string strResult = HTTPCom.Post(body, url, null); log.MES_Logmsg(DateTime.Now.ToString() + " 入站 CH-" + (iCH + 1).ToString() + " MES返回:" + strResult); if (strResult.Contains("code") && strResult.Contains("message")) { mesReply = JsonConvert.DeserializeObject(strResult); } else { mesReply.code = 0; } return strResult; } public string MesCheckOut(ref TEST_CHANNEL testInfo, ref CONFIG_PARAM configParam, string code, int iCH, string url) { mesOut.name = "updateMes"; mesOut.time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); mesOut.operatorName = FormMain.form.strOperator; mesOut.channel = iCH + 1; mesOut.sn = code; mesOut.result = FormMain.form.strResult[testInfo.ResultFlag]; mesOut.diffPressure = testInfo.fTestDiffPressure; //压差 mesOut.pressure = testInfo.fTestPressure; //压力值 mesOut.leakage = testInfo.fLeakAmount; //泄漏量 mesOut.inflationTime = configParam.inflationTime; //充气时间 mesOut.balanceTime = configParam.balanceTime; //平衡时间 mesOut.testTime1 = configParam.testTime1; //检测时间1 mesOut.testTime2 = configParam.testTime2; //检测时间2 解除输出2时间(28) mesOut.exhaustTime = configParam.exhaustTime; //排气时间 mesOut.bypassTime = configParam.bypassTime; //旁路时间 mesOut.delayTime1 = configParam.delayTime1; //输出1延时 mesOut.delayTime2 = configParam.delayTime2; //输出2延时 mesOut.bigLeakBalanceTime = configParam.bigLeakBalanceTime;//大漏平衡时间 mesOut.micLeakBalanceTime = configParam.micLeakBalanceTime;//微漏平衡时间 mesOut.pressureUnit = FormMain.form.strListPressureUnit[configParam.pressureUnit]; //压力单位 mesOut.leakageUnit = FormMain.form.strListLeakageUnit[configParam.leakageUnit]; //泄漏量单位 mesOut.pressureUpperLimit = configParam.pressureUpperLimit; //充气压力上限 mesOut.pressureLowerLimit = configParam.pressureLowerLimit; //充气压力下限 mesOut.balanceUpperLimit = configParam.balanceUpperLimit; //平衡压差上限 大漏压差 mesOut.balanceLowerLimit = configParam.balanceLowerLimit; //平衡压差下限 mesOut.leakageUpperLimit = configParam.leakageUpperLimit; //泄漏量上限 微漏上限 mesOut.leakageLowerLimit = configParam.leakageLowerLimit; //泄漏量下限 微漏下限 string body = JsonConvert.SerializeObject(mesOut); Log log = new Log(); log.MES_Logmsg(DateTime.Now.ToString() + " 出站 CH-" + (iCH + 1).ToString()+ ": " + body); string strResult = HTTPCom.Post(body, url, null); log.MES_Logmsg(DateTime.Now.ToString() + " 出站 CH-" + (iCH + 1).ToString() + " MES返回:" + strResult); mesReply = JsonConvert.DeserializeObject(strResult); return strResult; } } }