Files

209 lines
6.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
{
/// <summary>
/// 任务ID
/// </summary>
public string taskId
{
get;
set;
}
/// <summary>
/// 返回结果
/// </summary>
public string code
{
get;
set;
}
/// <summary>
/// 返回消息
/// </summary>
public string msg
{
get;
set;
}
/// <summary>
/// 返回消息2
/// </summary>
public string message
{
get;
set;
}
/// <summary>
/// 返回结果集
/// </summary>
public string returnData
{
get;
set;
}
}
public class syncOrderReq
{
/// <summary>
/// 指令类型
/// </summary>
public string type
{
get;
set;
}
/// <summary>
/// 工位号
/// </summary>
public string opName
{
get;
set;
}
/// <summary>
/// 数值
/// </summary>
public string value
{
get;
set;
}
}
public class AnalysisMsg
{
/// <summary>
/// UUID生成
/// </summary>
/// <returns></returns>
public static string UuidUtil()
{
string result = Guid.NewGuid().ToString();
return result;
}
/// <summary>
/// 重新判断是否申请上线
/// </summary>
/// <param name="url"></param>
/// <param name="str"></param>
/// <returns></returns>
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<syncOrderReq>(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);
}
}
}