using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SlMesDbIterface;
using System.Net.Mail;
using PLMTEST;
using System.Collections;
using System.Drawing.Imaging;
using DataLinkMesWork;
using MesWork;
namespace WebApi
{
public class msgResHeader
{
///
/// 任务ID
///
public string taskId
{
get;
set;
}
///
/// 返回结果
///
public string code
{
get;
set;
}
///
/// 返回消息
///
public string msg
{
get;
set;
}
///
/// 返回消息2
///
public string message
{
get;
set;
}
///
/// 返回结果集
///
public string returnData
{
get;
set;
}
}
public class syncOrderReq
{
///
/// 指令类型
///
public string type
{
get;
set;
}
///
/// 工位号
///
public string opName
{
get;
set;
}
///
/// 数值
///
public string value
{
get;
set;
}
}
public class AnalysisMsg
{
///
/// UUID生成
///
///
public static string UuidUtil()
{
string result = Guid.NewGuid().ToString();
return result;
}
///
/// 重新判断是否申请上线
///
///
///
///
public static string MisFunction(string url, string str)
{
var result = new msgResHeader();
result.taskId = UuidUtil();
result.code = "0";
result.msg = "";
result.returnData = "";
string errorMessage = "";
try
{
/*
15 系统健康
5 传递机型(AMS)
66 允许PLC工作(AMS)
34 发动机上线报警标志
20 AMS保存完数据(AMS)
112 发动机上线报警代码
73 机型标志(AMS)
74 变速箱总成编号(AMS)
75 产品型号(AMS)
116 缸体打印码
117 订单号
14 系统健康(PLC)
2 工件到位(PLC)
43 申请零件编号(PLC)
44 传递机型(PLC)
63 禁用MES(PLC)
9 机型标志(PLC)
10 变速箱总成编号(PLC)
11 产品型号(PLC)
80 托盘编号(PLC)
22 0空托盘,1合格件,2不合格件(PLC)
19 质量数据可以读数据(PLC)
21 质量数据工位合格标志(PLC)
23 0正常件,1返修件(PLC)
39 缸体打印码(PLC)
40 订单号(PLC)
120 上线缸体码(PLC)
*/
// 解析订单内容,存储数据库,根据实际业务来写
syncOrderReq BaseData = JsonHelper.JsonDeserialize(str);
string OpName = BaseData.opName;
switch (BaseData.type)
{
case "1": // 重新申请上线
// 判断是否有工件到位与申请上线 与 没有MES传递机型
int workStart = Convert.ToInt32(MesWorkForm.ReadPLC(2, OpName));
int partLoad = Convert.ToInt32(MesWorkForm.ReadPLC(43, OpName));
int MESEngineType = Convert.ToInt32(MesWorkForm.ReadPLC(5, OpName));
if (workStart == 1 && partLoad == 1 && MESEngineType == 0)
{
// 符合条件写入 e 重新调用 申请上线
OpcData.CustomeEvetnArgs e = new OpcData.CustomeEvetnArgs();
//MesWorkForm.UseMisFuntion(e);
e.TagID = 111;
e.OpName = OpName;
e.TagTypeID = 11;
e.IsFirstValue = "0";
e.TagTypeCodeID = 43;
e.TagValue = "1";
MesWorkForm mewForm = new MesWorkForm();
mewForm.UseMisFuntion(e);
result.message = "写入数据成功";
result.code = "200";
result.returnData = "";
}
else
{
result.message = "当前不满足触发条件 workStart:" + workStart + " partLoad:" + partLoad + " MESEngineType:" + MESEngineType;
result.code = "201";
result.returnData = "";
}
break;
default:
break;
}
if (errorMessage != "")
{
result.message = errorMessage;
result.code = "501";
result.returnData = "ERROR";
}
}
catch (Exception err)
{
result.message = "501";
result.msg = err.Message;
result.returnData = "ERROR";
}
return JsonConvert.SerializeObject(result);
}
}
}