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); } } }