using iWareCommon.Common.Globle; using iWareCommon.Utils; using iWareModel; using iWareModel.Entity.MES; using iWareModel.EnumType.WMS; using iWareSql; using iWareSql.DataAccess; using iWareSql.DBModel; using iWareSql.WmsDBModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using XiGang.Core.Model; namespace iWareCC { /// /// 推送MES- 包装完成接口 /// public static class PushPackageCodeToMes { public static string Mes_Api = ConfigHelper.GetConfigString("Mes_Api"); public static string Mes_Api_packagecompleted = ConfigHelper.GetConfigString("Mes_Api_packagecompleted"); public static void Handler() { LogType logType = LogType.PushPackageCodeToMes; while (true) { try { var errMsg = ""; //if (SystemValue.isAllowRuning_OutTaskRetryToMes && SystemValue.isStartedModel) if (SystemValue.isStartedModel) { using (WmsDBModel edm = new WmsDBModel()) { var value = edm.mes_push_packagecode.Where(x => x.PushStatus == 0 || x.PushStatus == 1).FirstOrDefault(); if (value != null) { var res = new HTTPService(Mes_Api).getContent(Mes_Api_packagecompleted + "?PackageCode=" + value.PackageCode, Guid.NewGuid(), 10000); value.UpdateTime = DateTime.Now; if (res.iState == 0) { value.PushNum++; value.PushStatus = (int)PushStatusEnum.PushSuccess; value.ApiMessage = (res.message ?? "") + (res.errorMessage ?? ""); } else { value.PushStatus = (int)PushStatusEnum.Pushing; value.PushNum++; value.ApiMessage = (res.message ?? "") + (res.errorMessage ?? ""); if (value.PushNum == 3) { value.PushStatus = (int)PushStatusEnum.PushFail; } } edm.SaveChanges(); } else { SystemWarningMsg._lbl_Alert_PushPackageCodeToMes = "没有要处理的数据"; } } } } catch (Exception ex) { SystemWarningMsg._lbl_Alert_PushPackageCodeToMes = " 推送MES- 包装完成接口 出现异常:" + ex.Message; Log4NetHelper.WriteErrorLog(logType, " 推送MES- 包装完成接口 出现异常:" + ex.Message, ex); } Thread.Sleep(1000); } } } }