1349 lines
62 KiB
Plaintext
1349 lines
62 KiB
Plaintext
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;
|
|||
|
|
|
|||
|
|
namespace JinYuan.ControlCenters
|
|||
|
|
{
|
|||
|
|
public class MESDataCombin
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
#region 1、员工验证
|
|||
|
|
public static string LoginEnyity(string userName, string passWord)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = string.Empty;
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
JObject jo = new JObject();
|
|||
|
|
jo.Add("siteCode", CommonMethods.mesConfig.siteCode);
|
|||
|
|
jo.Add("lineCode", CommonMethods.mesConfig.lineCode);
|
|||
|
|
jo.Add("equipNum", CommonMethods.mesConfig.equipNum);
|
|||
|
|
jo.Add("userName", userName);
|
|||
|
|
jo.Add("passWord", passWord);
|
|||
|
|
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.LoginMesUrl, jo.ToString());
|
|||
|
|
sw.Stop();
|
|||
|
|
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{CommonMethods.mesConfig.LoginMesUrl},请求数据为:{jo.ToString()}\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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用员工权限校验接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 2、设备参数设定值请求
|
|||
|
|
/// <summary>
|
|||
|
|
/// 设备参数设定值请求
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string ParamSetRequestData()
|
|||
|
|
{
|
|||
|
|
var result = new ParamReturnData();
|
|||
|
|
string resJson = string.Empty;
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
var model = new
|
|||
|
|
{
|
|||
|
|
siteCode = CommonMethods.mesConfig.siteCode,
|
|||
|
|
lineCode = CommonMethods.mesConfig.lineCode,
|
|||
|
|
equipNum = CommonMethods.mesConfig.equipNum,
|
|||
|
|
materialCode = CommonMethods.mesConfig.MaterialCode,
|
|||
|
|
userName = CommonMethods.mesConfig.mesUserName
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
var nowDate = DateTime.Now;
|
|||
|
|
var postcontent = JsonConvert.SerializeObject(model);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.ParamSetpointRequestMesUrl, postcontent);
|
|||
|
|
sw.Stop();
|
|||
|
|
josnTxtMsg = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备参数设定值请求接口:{CommonMethods.mesConfig.ParamSetpointRequestMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resJson}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\设备参数设定值请求\{nowDate.ToString("HH")}.txt", josnTxtMsg);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
LogHelper.Instance.WriteEX("调用设备参数设定值请求接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 3、设备参数设定值变更
|
|||
|
|
/// <summary>
|
|||
|
|
/// 设备参数设定值变更
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string ParamChangeData()
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = string.Empty;
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
ParamChange paramChange = new ParamChange();
|
|||
|
|
List<TagListItem> tagListItems = new List<TagListItem>();
|
|||
|
|
TagListItem listItem = new TagListItem();
|
|||
|
|
listItem.tagCode = "";
|
|||
|
|
listItem.unitBefore = "";
|
|||
|
|
listItem.standardValueBefore = "";
|
|||
|
|
listItem.trueValueBefore = "";
|
|||
|
|
listItem.falseValueBefore = "";
|
|||
|
|
listItem.minValueBefore = 0;
|
|||
|
|
listItem.maxValueBefore = 100;
|
|||
|
|
listItem.unitAfter = "";
|
|||
|
|
listItem.standardValueAfter = "";
|
|||
|
|
listItem.trueValueAfter = "";
|
|||
|
|
listItem.falseValueBefore = "";
|
|||
|
|
listItem.minValueAfter = 0;
|
|||
|
|
listItem.maxValueAfter = 1000;
|
|||
|
|
tagListItems.Add(listItem);
|
|||
|
|
|
|||
|
|
paramChange.siteCode = CommonMethods.mesConfig.siteCode;
|
|||
|
|
paramChange.lineCode = CommonMethods.mesConfig.lineCode;
|
|||
|
|
paramChange.equipNum = CommonMethods.mesConfig.equipNum;
|
|||
|
|
paramChange.materialCode = CommonMethods.mesConfig.MaterialCode;
|
|||
|
|
paramChange.userName = CommonMethods.mesConfig.mesUserName;
|
|||
|
|
paramChange.changeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|||
|
|
paramChange.tagGroupCode = "";
|
|||
|
|
paramChange.tagGroupDescription = "";
|
|||
|
|
paramChange.tagList = tagListItems;
|
|||
|
|
|
|||
|
|
string SendJosn = JsonConvert.SerializeObject(paramChange);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.ChangeParamSetValueMesUrl, SendJosn);
|
|||
|
|
sw.Stop();
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用参数设定值变更接口:{CommonMethods.mesConfig.ParamSetpointRequestMesUrl},请求数据为:{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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用参数设定值变更接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 4、原材料投入信息
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 5、产品进站信息(组装)
|
|||
|
|
/// <summary>
|
|||
|
|
/// 产品进站信息(组装)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="m"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string Inboundinformation(List<string> listRFID, ref long outTime, ref string strTimeOut)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = string.Empty;
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
strTimeOut = string.Empty;
|
|||
|
|
outTime = 0;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
JObject jo = new JObject();
|
|||
|
|
jo.Add("siteCode", CommonMethods.mesConfig.siteCode);
|
|||
|
|
jo.Add("lineCode", CommonMethods.mesConfig.lineCode);
|
|||
|
|
jo.Add("equipNum", CommonMethods.mesConfig.equipNum);
|
|||
|
|
jo.Add("materialCode", CommonMethods.mesConfig.MaterialCode);
|
|||
|
|
jo.Add("userName", CommonMethods.mesConfig.mesUserName);
|
|||
|
|
jo.Add("identification", "");
|
|||
|
|
jo.Add("productType", "");
|
|||
|
|
//条码list
|
|||
|
|
JArray ja = new JArray();
|
|||
|
|
|
|||
|
|
jo.Add("identificationList", ja);
|
|||
|
|
//托杯码List
|
|||
|
|
JArray ja2 = new JArray();
|
|||
|
|
for (int i = 0; i < listRFID.Count; i++)
|
|||
|
|
{
|
|||
|
|
ja2.Add(listRFID[i]);
|
|||
|
|
}
|
|||
|
|
jo.Add("containerCodeList", ja2);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.InPutStationMesUrl, jo.ToString());
|
|||
|
|
sw.Stop();
|
|||
|
|
outTime = sw.ElapsedMilliseconds;
|
|||
|
|
if (outTime > 200)
|
|||
|
|
{
|
|||
|
|
strTimeOut = $"卷芯进站PC<=>MES上传耗时:{outTime}ms,RFID:{listRFID[0]}";
|
|||
|
|
}
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品进站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{jo.ToString()},\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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用产品进站信息(组装)接口", ex);
|
|||
|
|
}
|
|||
|
|
return resJson;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 5.1 产品进站信息多个上传
|
|||
|
|
/// <summary>
|
|||
|
|
/// 产品进站信息多个上传
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="listBar"></param>
|
|||
|
|
/// <param name="MesMessage"></param>
|
|||
|
|
/// <param name="mesResType"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool Inboundinformations(string CellCode, ref string MesMessage, ref MesResType mesResType)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
MesMessage = "调用进站接口返回失败!";
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
string resJson = "";
|
|||
|
|
bool res = false;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
var model = new ManyCellInStation
|
|||
|
|
{
|
|||
|
|
siteCode = CommonMethods.mesConfig.siteCode,
|
|||
|
|
lineCode = CommonMethods.mesConfig.lineCode,
|
|||
|
|
equipNum = CommonMethods.mesConfig.equipNum,
|
|||
|
|
materialCode = CommonMethods.mesConfig.MaterialCode,
|
|||
|
|
userName = CommonMethods.mesConfig.mesUserName,
|
|||
|
|
identification = CellCode,
|
|||
|
|
productType = "OK"
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
var nowDate = DateTime.Now;
|
|||
|
|
var postcontent = JsonConvert.SerializeObject(model);
|
|||
|
|
|
|||
|
|
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
string result = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.InPutStationMesUrl, postcontent);
|
|||
|
|
sw.Stop();
|
|||
|
|
|
|||
|
|
long outTime = sw.ElapsedMilliseconds;
|
|||
|
|
if (outTime > 1000)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteLog($"电池进站PC<=>MES上传耗时:{outTime}ms,条码:{CellCode}", "MESTime");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (string.IsNullOrEmpty(result))
|
|||
|
|
{
|
|||
|
|
string resData = result == "" ? "" : result;
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品进站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品进站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
return res;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var res1 = ReturnMesInMsg(result);
|
|||
|
|
if (res1.success)
|
|||
|
|
{
|
|||
|
|
res = true;
|
|||
|
|
GetInMesResType(res1, CellCode, ref MesMessage, ref mesResType);
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品进站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品进站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
var resData = res1 == null ? "" : result;
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品进站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品进站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
resJson = $"产品进站信息(组装)接口发生异常:{ex.Message}";
|
|||
|
|
LogHelper.Instance.WriteEX("产品进站信息(组装)接口", ex);
|
|||
|
|
}
|
|||
|
|
return res;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 进站结果分类
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="res1"></param>
|
|||
|
|
/// <param name="listBar"></param>
|
|||
|
|
/// <param name="MesMessage"></param>
|
|||
|
|
/// <param name="mesResType"></param>
|
|||
|
|
private static void GetInMesResType(MesResponseIn res1, string listBar, ref string MesMessage, ref MesResType mesResType)
|
|||
|
|
{
|
|||
|
|
if (res1 != null)
|
|||
|
|
{
|
|||
|
|
if (res1.success)
|
|||
|
|
{
|
|||
|
|
mesResType = MesResType.D;
|
|||
|
|
MesMessage = " MES进站成功!";
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if (res1.category == null)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
switch (res1.category)
|
|||
|
|
{
|
|||
|
|
case "A":
|
|||
|
|
mesResType = MesResType.A;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
case "B":
|
|||
|
|
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
case "C":
|
|||
|
|
|
|||
|
|
mesResType = MesResType.C;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
mesResType = MesResType.UnKnow;
|
|||
|
|
MesMessage = " MES进站失败!";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static MesResponseIn ReturnMesInMsg(string ret)
|
|||
|
|
{
|
|||
|
|
MesResponseIn obj = new MesResponseIn();
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
obj = JsonConvert.DeserializeObject<MesResponseIn>(ret);
|
|||
|
|
return obj;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (System.Exception ex)
|
|||
|
|
{
|
|||
|
|
return obj;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 6、设备过程加工参数
|
|||
|
|
/// <summary>
|
|||
|
|
/// 设备过程加工参数
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 7、产品结果加工参数
|
|||
|
|
/// <summary>
|
|||
|
|
/// 产品结果加工参数
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="m"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string ProductResultParameters(BGearEntity m, MesUploadType unloadType)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = string.Empty;
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
bool res = false;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
var nowDate = DateTime.Now;
|
|||
|
|
string sNowDate = nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|||
|
|
|
|||
|
|
var model = new ProductResultParameters
|
|||
|
|
{
|
|||
|
|
equipNum = CommonMethods.mesConfig.equipNum,
|
|||
|
|
type = unloadType.ToString(),
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 查询进站时间
|
|||
|
|
var BGearList = CommonMethods.db.QuerySqlList<AGearEntity>(CommonMethods.dBSQL.GetInStationTop1Sql(m.BarCode));
|
|||
|
|
|
|||
|
|
|
|||
|
|
switch (unloadType)
|
|||
|
|
{
|
|||
|
|
case MesUploadType.DD:
|
|||
|
|
var payload1 = new Payload1
|
|||
|
|
{
|
|||
|
|
siteCode = CommonMethods.mesConfig.siteCode,
|
|||
|
|
lineCode = CommonMethods.mesConfig.lineCode,
|
|||
|
|
userName = CommonMethods.mesConfig.mesUserName,
|
|||
|
|
materialCode = CommonMethods.mesConfig.MaterialCode,
|
|||
|
|
carCode = "",
|
|||
|
|
collection = "JS",
|
|||
|
|
recordDate = sNowDate,
|
|||
|
|
qty = 1,
|
|||
|
|
containerCode = "",
|
|||
|
|
};
|
|||
|
|
//参数列
|
|||
|
|
var tagDataVOList = new List<TagDataVOList>();
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "CODE_BM",
|
|||
|
|
tagValue = m.BarCode.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯条码"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SCANNING_TIME_BM",
|
|||
|
|
tagValue = m.BarCode.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯扫码时间"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SURFACE_DETECTION_RESULT",
|
|||
|
|
tagValue = m.AreaCheckResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯大面检测结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "PET_TENSION_SETTING_BM",
|
|||
|
|
tagValue = m.PETtensionSet.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "PET膜张力设定值(N)"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "PET_TENSION_BM",
|
|||
|
|
tagValue = m.PETtensionReal.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "PET膜张力实际值(N)"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "BASE_PLATE_DETECTION_RESULT",
|
|||
|
|
tagValue = m.bassPosNegCheckResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "底托片正反检测结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SURFACE_TO_TOP_COVER_DISTANCE1",
|
|||
|
|
tagValue = m.BigFaceBassDistance1.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯大面上边缘与顶盖底面距离(mm)1"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SURFACE_TO_TOP_COVER_DISTANCE2",
|
|||
|
|
tagValue = m.BigFaceBassDistance2.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯大面上边缘与顶盖底面距离(mm)2"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SIDE_TO_TOP_COVER_DISTANCE1",
|
|||
|
|
tagValue = m.SideFaceBassDistance1.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯侧面上边缘与顶盖底面距离(mm)1"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SIDE_TO_TOP_COVER_DISTANCE2",
|
|||
|
|
tagValue = m.SideFaceBassDistance2.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯侧面上边缘与顶盖底面距离(mm)2"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SURFACE_APPEARANCE_DETECTION",
|
|||
|
|
tagValue = m.BigFaceCheckResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯大面外观检测结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "LONG_EDGE_MAX_SETTING",
|
|||
|
|
tagValue = m.LengthSetMax.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)长边设定值最大值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "LONG_EDGE_MIN_SETTING",
|
|||
|
|
tagValue = m.LengthSetMin.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)长边设定值最小值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SHORT_EDGE_MAX_SETTING",
|
|||
|
|
tagValue = m.ShortSetMax.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)短边设定值最大值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SHORT_EDGE_MIN_SETTING",
|
|||
|
|
tagValue = m.ShortSetMin.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)短边设定值最小值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "LONG_EDGE_VALUE",
|
|||
|
|
tagValue = m.LengthReal.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)长边实际值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SHORT_EDGE_VALUE",
|
|||
|
|
tagValue = m.ShortReal.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸(mm)短边实际值"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SIZE_DETECTION_JUDGE_RESULT",
|
|||
|
|
tagValue = m.SideCheckResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯包膜后尺寸检测判定结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "BASE_PLATE_POSITION_DETECTION_RESULT",
|
|||
|
|
tagValue = m.PositionCherkResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "电芯底托片位置检测结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "PROCESS_NAME_BM",
|
|||
|
|
tagValue = m.ProcessName.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "工序名"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "FRONTLINE_SCAN_1_RESULTS_BM",
|
|||
|
|
tagValue = m.FrontlineSweep1Result.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜前线扫1结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "FRONTLINE_SCAN_2_RESULTS_BM",
|
|||
|
|
tagValue = m.FrontlineSweep2Result.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜前线扫2结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "FRONTLINE_SCAN_3_RESULTS_BM",
|
|||
|
|
tagValue = m.FrontlineSweep3Result.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜前线扫3结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "BOTTOM_CCD_RESULTS_(AREA_ARRAY)_BM",
|
|||
|
|
tagValue = m.ButtonCCDResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "底托CCD结果(面阵)"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "SCAN_1_RESULT_OF_THE_REAR_SURFACE_LINE_BM",
|
|||
|
|
tagValue = m.bigArealineSweepResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜后大面线扫1结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "REAR_SIDE_LINE_SCAN_1_RESULT_BM",
|
|||
|
|
tagValue = m.SideLineSweep1Result.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜后侧面线扫1结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "REAR_SIDE_LINE_SCAN_2_RESULTS_BM",
|
|||
|
|
tagValue = m.SideLineSweep2Result.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜后侧面线扫2结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2D_CAMERA_1_RESULTS_FOR_REAR_LARGE_AREA_INSPECTION_BM",
|
|||
|
|
tagValue = m.BigAreaCheck12DResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜后大面检测2D相机1结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2D_CAMERA_2_RESULTS_FOR_REAR_LARGE_AREA_INSPECTION_BM",
|
|||
|
|
tagValue = m.BigAreaCheck22DResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜后大面检测2D相机2结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "BOTTOM_SUPPORT_NEGATIVE_PRESSURE_BM",
|
|||
|
|
tagValue = m.ProcessName.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "底托负压"
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_UPPER_CUTTER_BM",
|
|||
|
|
tagValue = m.CutterLife1.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_CUTTING_BLADE_BM",
|
|||
|
|
tagValue = m.CutterLife2.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_BACKUP_ROLL_1_UPPER_CUTTER_BM",
|
|||
|
|
tagValue = m.CutterLife3.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1备卷1上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_BACKUP_ROLL_1_LOWER_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife4.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1备卷1下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_BACKUP_ROLL_2_CUTTING_KNIFE_ON_TOP_BM",
|
|||
|
|
tagValue = m.CutterLife5.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1备卷2上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "1_BACKUP_ROLL_2_LOWER_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife6.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜1备卷2下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_UPPER_KNIVES_BM",
|
|||
|
|
tagValue = m.CutterLife7.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_CUTTING_KNIVES_BM",
|
|||
|
|
tagValue = m.CutterLife8.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_BACKUP_ROLLS_AND_1_UPPER_CUTTER_BM",
|
|||
|
|
tagValue = m.CutterLife9.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2备卷1上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_BACKUP_ROLLS_AND_1_LOWER_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife10.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2备卷1下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_BACKUP_ROLLS_2_UPPER_CUTTERS_BM",
|
|||
|
|
tagValue = m.CutterLife11.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2备卷2上切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "2_BACKUP_ROLLS_2_LOWER_CUTTERS_BM",
|
|||
|
|
tagValue = m.CutterLife12.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "包膜2备卷2下切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "CORNER_CUTTING_1_LEFT_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife13.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "切角1左切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "CORNER_CUTTING_1_RIGHT_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife14.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "切角1右切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "CORNER_2_LEFT_CUTTER_BM",
|
|||
|
|
tagValue = m.CutterLife15.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "切角2左切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "CORNER_2_RIGHT_CUTTING_KNIFE_BM",
|
|||
|
|
tagValue = m.CutterLife16.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "切角2右切刀"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "STATION_ENTRY_TIME_BM",
|
|||
|
|
tagValue = BGearList[0].InStationTime.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "进站时间"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "EXIT_TIME_BM",
|
|||
|
|
tagValue = m.OutStationTime.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "出站时间"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "OUTBOUND_JUDGMENT_RESULT_BM",
|
|||
|
|
tagValue = m.CellResult.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "出站判定结果"
|
|||
|
|
});
|
|||
|
|
tagDataVOList.Add(new TagDataVOList
|
|||
|
|
{
|
|||
|
|
tagCode = "ABNORMAL_FEEDBACK_INFORMATION_BM",
|
|||
|
|
tagValue = m.Remark.ToString(),
|
|||
|
|
tagTime = m.OutStationTime,
|
|||
|
|
tagCalculateResult = "Y",
|
|||
|
|
tagRemark = "异常反馈信息"
|
|||
|
|
});
|
|||
|
|
//payload1.identification = new List<Identification>();
|
|||
|
|
|
|||
|
|
Identification identification = new Identification()
|
|||
|
|
{
|
|||
|
|
identification = m.BarCode,
|
|||
|
|
qualityStatus = m.CellResult,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
payload1.identification = identification;
|
|||
|
|
payload1.tagDataVOList = tagDataVOList;
|
|||
|
|
|
|||
|
|
model.payload = JsonConvert.SerializeObject(payload1);
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var postcontent = JsonConvert.SerializeObject(model);
|
|||
|
|
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.ResultProcessParamMesUrl, postcontent);
|
|||
|
|
sw.Stop();
|
|||
|
|
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品结果加工参数接口:{CommonMethods.mesConfig.ResultProcessParamMesUrl},请求数据为:{postcontent},\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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用产品结果加工参数接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 8、产品出站信息(组装)
|
|||
|
|
/// <summary>
|
|||
|
|
/// 产品出站信息(组装)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="m"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string OutboundInformation(BGearEntity m, ref string strTimeOut)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = "";
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
|
|||
|
|
#region 多电芯上传屏蔽
|
|||
|
|
//JArray jaContainerCode = new JArray(); //containerCodeAndIdentificationList
|
|||
|
|
//foreach (BGearEntity m in list)
|
|||
|
|
//{
|
|||
|
|
// JArray jaMaterialLotCodeList = new JArray(); //materialLotCodeList
|
|||
|
|
// JObject jo4 = new JObject();
|
|||
|
|
// jo4.Add("materialLotCode", "");
|
|||
|
|
// jo4.Add("materialLotCodeLocator", CommonMethods.mesConfig.materialLotCodeLocator);
|
|||
|
|
// jaMaterialLotCodeList.Add(jo4);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// JArray jaIdentiftyList = new JArray();//identiftyList
|
|||
|
|
// JObject jo3 = new JObject();
|
|||
|
|
// jo3.Add("identification", m.BarCode); //卷心码
|
|||
|
|
// jo3.Add("qualityStatus", m.Result);
|
|||
|
|
// jo3.Add("qrCode", ""); //
|
|||
|
|
// jo3.Add("ngMessage", m.Remark);
|
|||
|
|
// jo3.Add("materialLotList", jaMaterialLotCodeList);
|
|||
|
|
// jaIdentiftyList.Add(jo3);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// JObject jo2 = new JObject();
|
|||
|
|
// jo2.Add("containerCode","");//托杯码
|
|||
|
|
// jo2.Add("identiftyList", jaIdentiftyList);
|
|||
|
|
// jaContainerCode.Add(jo2);
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//JObject jo1 = new JObject();
|
|||
|
|
//jo1.Add("siteCode", CommonMethods.mesConfig.siteCode);
|
|||
|
|
//jo1.Add("lineCode", CommonMethods.mesConfig.lineCode);
|
|||
|
|
//jo1.Add("equipNum", CommonMethods.mesConfig.equipNum);
|
|||
|
|
//jo1.Add("userName", CommonMethods.mesConfig.mesUserName);
|
|||
|
|
//jo1.Add("productType", "");
|
|||
|
|
//jo1.Add("completeQty", "");
|
|||
|
|
//jo1.Add("type", 1); //追溯标识替换
|
|||
|
|
//jo1.Add("materialCode", CommonMethods.mesConfig.MaterialCode);
|
|||
|
|
//jo1.Add("containerCodeAndIdentificationList", jaContainerCode);
|
|||
|
|
#endregion
|
|||
|
|
//strTimeOut = string.Empty;
|
|||
|
|
//try
|
|||
|
|
//{
|
|||
|
|
// JArray jaMaterialLotCodeList = new JArray(); //materialLotCodeList
|
|||
|
|
// JObject jo4 = new JObject();
|
|||
|
|
// jo4.Add("materialLotCode", "");
|
|||
|
|
// jo4.Add("materialLotCodeLocator", "");
|
|||
|
|
// jaMaterialLotCodeList.Add(jo4);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// JArray jaIdentiftyList = new JArray();//identiftyList
|
|||
|
|
// JObject jo3 = new JObject();
|
|||
|
|
// jo3.Add("identification", m.BarCode); //卷心码
|
|||
|
|
// jo3.Add("qualityStatus", m.Result);
|
|||
|
|
// jo3.Add("qrCode", ""); //
|
|||
|
|
// jo3.Add("ngMessage", m.Remark);
|
|||
|
|
// jo3.Add("materialLotList", jaMaterialLotCodeList);
|
|||
|
|
// jaIdentiftyList.Add(jo3);
|
|||
|
|
|
|||
|
|
// JArray jaContainerCode = new JArray(); //containerCodeAndIdentificationList
|
|||
|
|
// JObject jo2 = new JObject();
|
|||
|
|
// jo2.Add("containerCode", m.RFID);//托杯码
|
|||
|
|
// jo2.Add("identiftyList", jaIdentiftyList);
|
|||
|
|
// jaContainerCode.Add(jo2);
|
|||
|
|
|
|||
|
|
// JObject jo1 = new JObject();
|
|||
|
|
// jo1.Add("siteCode", CommonMethods.mesConfig.siteCode);
|
|||
|
|
// jo1.Add("lineCode", CommonMethods.mesConfig.lineCode);
|
|||
|
|
// jo1.Add("equipNum", CommonMethods.mesConfig.equipNum);
|
|||
|
|
// jo1.Add("materialCode", CommonMethods.mesConfig.MaterialCode);
|
|||
|
|
// jo1.Add("userName", CommonMethods.mesConfig.mesUserName);
|
|||
|
|
// jo1.Add("productType", "");
|
|||
|
|
// jo1.Add("completeQty", "");
|
|||
|
|
// jo1.Add("type", 1); //追溯标识替换
|
|||
|
|
// jo1.Add("containerCodeAndIdentificationList", jaContainerCode);
|
|||
|
|
// sw.Restart();
|
|||
|
|
// resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.OutStationMesUrl, jo1.ToString());
|
|||
|
|
// sw.Stop();
|
|||
|
|
// long outTime = sw.ElapsedMilliseconds;
|
|||
|
|
// if (outTime > 150)
|
|||
|
|
// {
|
|||
|
|
// strTimeOut = $"卷芯进站PC<=>MES上传耗时{outTime}ms,{m.RFID},{m.BarCode},{m.SteelShellCode}";
|
|||
|
|
// }
|
|||
|
|
// josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用出站信息(组装)接口:{CommonMethods.mesConfig.OutStationMesUrl},请求数据为:{jo1.ToString()},\n{nowTime.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{outTime}ms,返回结果:{resJson}";
|
|||
|
|
// TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowTime.ToString("yyyyMMdd")}\产品出站信息(组装)\{nowTime.ToString("HH")}.txt", josnTxtMsg);
|
|||
|
|
//}
|
|||
|
|
//catch (Exception ex)
|
|||
|
|
//{
|
|||
|
|
// LogHelper.Instance.WriteEx("调用出站信息(组装)接口", ex);
|
|||
|
|
//}
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 单个电芯上传
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="m"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool OutboundInformations(BGearEntity m, ref string MesMessage, ref MesResType mesResType)
|
|||
|
|
{
|
|||
|
|
DateTime nowDate = DateTime.Now;
|
|||
|
|
string resJson = "";
|
|||
|
|
bool res = false;
|
|||
|
|
MesMessage = "MES出站失败";
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
JArray jaNGCode = new JArray(); //materialLotCodeList
|
|||
|
|
JObject jo4 = new JObject();
|
|||
|
|
jaNGCode.Add(jo4);
|
|||
|
|
|
|||
|
|
|
|||
|
|
JArray jaMaterialLotList = new JArray(); //materialLotCodeList
|
|||
|
|
JObject jo3 = new JObject();
|
|||
|
|
jo3.Add("materialLotCode", "");
|
|||
|
|
jo3.Add("materialLotCodeLocator", CommonMethods.mesConfig.materialLotCodeLocator);
|
|||
|
|
jaMaterialLotList.Add(jo3);
|
|||
|
|
|
|||
|
|
|
|||
|
|
JArray jaIdentiftyList = new JArray();//identiftyList
|
|||
|
|
JObject jo2 = new JObject();
|
|||
|
|
jo2.Add("identification", m.BarCode); //产品条码
|
|||
|
|
jo2.Add("qualityStatus", m.CellResult); //状态
|
|||
|
|
//jo2.Add("qualityStatus", "OK"); //状态
|
|||
|
|
jo2.Add("qrCode", "");
|
|||
|
|
jo2.Add("ngMessage", m.NGMessage);
|
|||
|
|
jo2.Add("ngCode", jaNGCode);
|
|||
|
|
jo2.Add("materialLotList", jaMaterialLotList);
|
|||
|
|
jaIdentiftyList.Add(jo2);
|
|||
|
|
|
|||
|
|
JObject jo1 = new JObject();
|
|||
|
|
jo1.Add("siteCode", CommonMethods.mesConfig.siteCode);
|
|||
|
|
jo1.Add("lineCode", CommonMethods.mesConfig.lineCode);
|
|||
|
|
jo1.Add("equipNum", CommonMethods.mesConfig.equipNum);
|
|||
|
|
jo1.Add("userName", CommonMethods.mesConfig.mesUserName);
|
|||
|
|
jo1.Add("productType", CommonMethods.mesConfig.ModelName);
|
|||
|
|
jo1.Add("completeQty", "");
|
|||
|
|
jo1.Add("containerCode", "");
|
|||
|
|
jo1.Add("type", 1); //追溯标识替换
|
|||
|
|
jo1.Add("materialCode", CommonMethods.mesConfig.MaterialCode);
|
|||
|
|
jo1.Add("identiftyList", jaIdentiftyList);
|
|||
|
|
|
|||
|
|
|
|||
|
|
var postcontent = JsonConvert.SerializeObject(jo1);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
string result = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.OutStationMesUrl, postcontent);
|
|||
|
|
sw.Stop();
|
|||
|
|
long outTime = sw.ElapsedMilliseconds;
|
|||
|
|
if (outTime > 1000)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteLog($"电芯出站PC<=>MES上传耗时:{outTime}ms,电芯码:{m.BarCode}", "MESTime");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (string.IsNullOrEmpty(result))
|
|||
|
|
{
|
|||
|
|
string resData = result == "" ? "" : result;
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品出站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品出站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
return res;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var res1 = ReturnMesOutMsg(result);
|
|||
|
|
if (res1.success)
|
|||
|
|
{
|
|||
|
|
res = true;
|
|||
|
|
GetOutMesResType(res1, m.BarCode, ref MesMessage, ref mesResType);
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品出站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品出站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
var resData = res1 == null ? "" : result;
|
|||
|
|
resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用产品出站信息(组装)接口:{CommonMethods.mesConfig.InPutStationMesUrl},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}";
|
|||
|
|
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowDate.ToString("yyyyMMdd")}\产品出站信息(组装)\{nowDate.ToString("HH")}.txt", resJson);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用出站信息(组装)接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return res;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 进站结果分类
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="res1">MES返回信息</param>
|
|||
|
|
/// <param name="cell">电池数据</param>
|
|||
|
|
/// <param name="index">电池编号</param>
|
|||
|
|
/// <param name="MesMessage"></param>
|
|||
|
|
/// <param name="mesResType"></param>
|
|||
|
|
private static void GetOutMesResType(MesResponseOut res1, string cell, ref string MesMessage, ref MesResType mesResType)
|
|||
|
|
{
|
|||
|
|
if (res1 != null)
|
|||
|
|
{
|
|||
|
|
if (res1.success)
|
|||
|
|
{
|
|||
|
|
mesResType = MesResType.D;
|
|||
|
|
MesMessage = "MES出站成功!";
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if (res1.category == null)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
switch (res1.category)
|
|||
|
|
{
|
|||
|
|
case "A":
|
|||
|
|
mesResType = MesResType.A;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
case "B":
|
|||
|
|
|
|||
|
|
mesResType = MesResType.B;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
case "C":
|
|||
|
|
|
|||
|
|
mesResType = MesResType.C;
|
|||
|
|
MesMessage = res1.message;
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
|
|||
|
|
mesResType = MesResType.UnKnow;
|
|||
|
|
MesMessage = "MES出站失败!";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static MesResponseOut ReturnMesOutMsg(string ret)
|
|||
|
|
{
|
|||
|
|
MesResponseOut obj = new MesResponseOut();
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
obj = JsonConvert.DeserializeObject<MesResponseOut>(ret);
|
|||
|
|
return obj;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (System.Exception ex)
|
|||
|
|
{
|
|||
|
|
return obj;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 9、报警信息
|
|||
|
|
/// <summary>
|
|||
|
|
/// 报警信息
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="alarmObj"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string EquAlarm(string strGuid, List<AlarmData> alarmObj)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = "";
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
if (alarmObj.Count > 0)
|
|||
|
|
{
|
|||
|
|
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 = strGuid;
|
|||
|
|
alarmParam.seatId = "";
|
|||
|
|
List<AlarmLineListItem> alarmLineList = new List<AlarmLineListItem>();
|
|||
|
|
for (int j = 0; j < alarmObj.Count; j++)
|
|||
|
|
{
|
|||
|
|
AlarmLineListItem alarmList = new AlarmLineListItem();
|
|||
|
|
alarmList.alarmEndTime = alarmObj[j].EndTime.ToString();
|
|||
|
|
alarmList.alarmType = alarmObj[j].AlarmType;
|
|||
|
|
alarmList.alarmName = alarmObj[j].AlarmContent;
|
|||
|
|
alarmList.alarmStartTime = alarmObj[j].StartTime.ToString();
|
|||
|
|
alarmList.faultCode = alarmObj[j].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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用MES设备报警接口", ex);
|
|||
|
|
}
|
|||
|
|
return resJson;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 10、设备状态
|
|||
|
|
/// <summary>
|
|||
|
|
/// 设备状态
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="strStatus"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string EqpStatusParam(string strStatus, string StartDate, string strGuid, List<FaultCodeList> 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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用MES设备运行状态接口", ex);
|
|||
|
|
}
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 11、能耗上传
|
|||
|
|
/// <summary>
|
|||
|
|
/// 能耗数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="strStatus"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string WattHourMeterParam(List<WattrMeter> meterParams)
|
|||
|
|
{
|
|||
|
|
DateTime nowTime = DateTime.Now;
|
|||
|
|
string resJson = "";
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string SendJosn = JsonConvert.SerializeObject(meterParams);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.WattrMeterUrl, SendJosn);
|
|||
|
|
sw.Stop();
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备能耗信息接口:{CommonMethods.mesConfig.WattrMeterUrl},请求数据为:{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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用设备能耗信息接口", ex);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 12、风速值上传
|
|||
|
|
/// <summary>
|
|||
|
|
/// 设备风速接口
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="collectData"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string UploadDeviceCollectData()
|
|||
|
|
{
|
|||
|
|
var nowTime = DateTime.Now;
|
|||
|
|
string resJson = "";
|
|||
|
|
string josnTxtMsg = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
if (CommonMethods.AntiDustAirSpeed == null) { return ""; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
UploadDeviceCollectData uploadDevice = new UploadDeviceCollectData();
|
|||
|
|
uploadDevice.appid = "e1012966a936170c6fcab98e24042d10";
|
|||
|
|
List<Collect_code_value_list> list = new List<Collect_code_value_list>();
|
|||
|
|
for (int i = 0; i < CommonMethods.AntiDustAirSpeed.Count; i++)
|
|||
|
|
{
|
|||
|
|
Collect_code_value_list _Value_List = new Collect_code_value_list();
|
|||
|
|
_Value_List.target_code = 5;
|
|||
|
|
_Value_List.target_value = CommonMethods.AntiDustAirSpeed[i].ToString();
|
|||
|
|
_Value_List.target_value_tag = CommonMethods.mesConfig.listAntiDustAirSpeedNum[i];
|
|||
|
|
list.Add(_Value_List);
|
|||
|
|
}
|
|||
|
|
uploadDevice.collect_code_value_list = list;
|
|||
|
|
uploadDevice.collect_time = GetUnixTimestamp();
|
|||
|
|
uploadDevice.device_code = CommonMethods.mesConfig.equipNum;
|
|||
|
|
|
|||
|
|
string SendJosn = JsonConvert.SerializeObject(uploadDevice);
|
|||
|
|
var sw = new Stopwatch();
|
|||
|
|
sw.Start();
|
|||
|
|
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.CollectData, SendJosn);
|
|||
|
|
sw.Stop();
|
|||
|
|
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用风速接口:{CommonMethods.mesConfig.CollectData},请求数据为:{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)
|
|||
|
|
{
|
|||
|
|
LogHelper.Instance.WriteEX("调用设备能耗信息接口", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return resJson;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Tag标签
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="Num"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string GetTag(int Num)
|
|||
|
|
{
|
|||
|
|
if (Num == 0)
|
|||
|
|
Num = 1;
|
|||
|
|
switch (Num.ToString().Length)
|
|||
|
|
{
|
|||
|
|
case 1:
|
|||
|
|
return $"FSY-4A-{Num}";
|
|||
|
|
case 2:
|
|||
|
|
return $"00{Num}";
|
|||
|
|
case 3:
|
|||
|
|
return $"0{Num}";
|
|||
|
|
default:
|
|||
|
|
return $"{Num}";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///本地时间为Unix时间戳
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static long GetUnixTimestamp()
|
|||
|
|
{
|
|||
|
|
return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static List<MesResType> GetMesType(int Num)
|
|||
|
|
{
|
|||
|
|
List<MesResType> mesResTypes = new List<MesResType>();
|
|||
|
|
for (int i = 0; i < Num; i++)
|
|||
|
|
{
|
|||
|
|
mesResTypes.Add(MesResType.B);
|
|||
|
|
}
|
|||
|
|
return mesResTypes;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static List<string> GetListString(int Num, string str)
|
|||
|
|
{
|
|||
|
|
List<string> mesResTypes = new List<string>();
|
|||
|
|
for (int i = 0; i < Num; i++)
|
|||
|
|
{
|
|||
|
|
mesResTypes.Add(str);
|
|||
|
|
}
|
|||
|
|
return mesResTypes;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|