using iWareCommon.Utils; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using yunneiWCS.EnumDefine; using yunneiWCS.ExtendFunction; using yunneiWCS.SystemInteraction.mes2.dto; using static WZ.Useful.Commons.NativeMethods; namespace yunneiWCS.mes { /// /// MES推送接口 /// public class PushMesHandler { public static string mes_api_url = ConfigHelper.GetConfigString("MesUrl");//修改为配置文件 【EditBy shaocx,2022-01-27】 static HTTPService mes_api = new HTTPService(mes_api_url);//mes基地址 /// /// 给MES推送入库信息 /// /// /// public static mesMsg Mes_InStockSend(List pushData, LogType _logType) { mesMsg res = null; var funName = "Mes_InStockSend"; try { MesRequest> mesRequest = new MesRequest>(); mesRequest.Datas = pushData; mesRequest.TableName = "T_WMS_Inbound_Record"; mesRequest.PrimaryKeys = "identifier"; string paprm = JsonConvert.SerializeObject(mesRequest); Log4NetHelper.WriteInfoLog(_logType, $"{funName},准备参数:{paprm}"); Guid guid = System.Guid.NewGuid(); //模拟 if (Form1.isvirtual) {//模拟环境 res = new mesMsg(); res.ErrorCode = 0; res.ErrorMsg = "系统模拟完成"; } else { var resStr = mes_api.postContentForString("", paprm, guid); Log4NetHelper.WriteInfoLog(_logType, $"{funName},结果返回:{resStr}"); res = JsonConvert.DeserializeObject(resStr); } Log4NetHelper.WriteInfoLog(_logType, $"{funName},参数:{paprm},返回:{JsonConvert.SerializeObject(res)}"); } catch (Exception ex) { Log4NetHelper.WriteErrorLog(_logType, $"{funName},异常:" + ex.Message, ex); res.ErrorCode = 4; res.ErrorMsg = "wms发送异常:" + ex.Message; } return res; } /// /// 给MES推送出库信息 /// /// /// public static mesMsg Mes_OutStockSend(List pushData, LogType _logType) { mesMsg res = null; var funName = "Mes_OutStockSend"; try { MesRequest> mesRequest = new MesRequest>(); mesRequest.Datas = pushData; mesRequest.TableName = "T_WMS_Outbound_Record"; mesRequest.PrimaryKeys = "identifier"; string paprm = JsonConvert.SerializeObject(mesRequest); Log4NetHelper.WriteInfoLog(_logType, $"{funName},准备参数:{paprm}"); Guid guid = System.Guid.NewGuid(); //模拟 if (Form1.isvirtual) {//模拟环境 res = new mesMsg(); res.ErrorCode = 0; res.ErrorMsg = "系统模拟完成"; } else { var resStr = mes_api.postContentForString("", paprm, guid); Log4NetHelper.WriteInfoLog(_logType, $"{funName},结果返回:{resStr}"); res = JsonConvert.DeserializeObject(resStr); } Log4NetHelper.WriteInfoLog(_logType, $"{funName},参数:{paprm},返回:{JsonConvert.SerializeObject(res)}"); } catch (Exception ex) { Log4NetHelper.WriteErrorLog(_logType, $"{funName},异常:" + ex.Message, ex); res.ErrorCode = 4; res.ErrorMsg = "wms发送异常:" + ex.Message; } return res; } /// /// 给MES推送库存信息 /// /// /// public static mesMsg Mes_StockSend(List pushData, LogType _logType) { mesMsg res = null; var funName = "Mes_StockSend"; try { MesRequest> mesRequest = new MesRequest>(); mesRequest.Datas = pushData; mesRequest.TableName = "T_WMS_Realtime_Data"; mesRequest.PrimaryKeys = "serialNumber,positionName"; string paprm = JsonConvert.SerializeObject(mesRequest); Guid guid = System.Guid.NewGuid(); Log4NetHelper.WriteInfoLog(_logType, $"{funName},准备参数:{paprm}"); //模拟 if (Form1.isvirtual) {//模拟环境 res = new mesMsg(); res.ErrorCode = 0; res.ErrorMsg = "系统模拟完成"; } else { var resStr = mes_api.postContentForString("", paprm, guid); Log4NetHelper.WriteInfoLog(_logType, $"{funName},结果返回:{resStr}"); res = JsonConvert.DeserializeObject(resStr); } Log4NetHelper.WriteInfoLog(_logType, $"{funName},参数:{paprm},返回:{JsonConvert.SerializeObject(res)}"); } catch (Exception ex) { Log4NetHelper.WriteErrorLog(_logType, $"{funName},异常:" + ex.Message, ex); res.ErrorCode = 4; res.ErrorMsg = "wms发送异常:" + ex.Message; } return res; } } }