From 682eba0aaf922e69dfafe05fb6c1bbdbf3a0e04a Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 29 9月 2025 14:35:53 +0800 Subject: [PATCH] 优化 --- DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMesThread.cs | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 deletions(-) diff --git a/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMesThread.cs b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMesThread.cs new file mode 100644 index 0000000..955e6a8 --- /dev/null +++ b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMesThread.cs @@ -0,0 +1,110 @@ +锘縰sing iWareCc.Properties; +using iWareCommon.Utils; +using iWareDataCore.ORM; +using iWareDataCore.TASK.EnumType; +using iWareLog.LOG.EnumType; +using iWareLog.ORM; +using iWareLog.Report.Helper; +using iWareLog.Report.Service; +using Newtonsoft.Json; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; + +namespace iWareCc +{ + /// <summary> + /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES)-绾跨▼ + /// </summary> + public class mesDataTranfficForRealMesThread + { + //public static LogType _logType = LogType.mesDataTranfficForRealMes; + public static async void Handler() + { + while (true) + { + try + { + Thread.Sleep(5000); + + List<InOutStorageDetailResultForMes> sendMesData = InOutService.GetInstance().GetInOutStorageDetailListForMes(); + + if (sendMesData.Count > 0) + { + //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},瑕佹帹閫亄sendMesData.Count()}鏉�!"; + foreach (var itemTask in sendMesData) + { + using (DbModelLog mod = new DbModelLog()) + { + try + { + ApiResponse<string> ret = null; + itemTask.Timestamp = DateTime.Now;//鍙戦�佹椂闂存埑瀹炴椂 + + //杞崲 + var str_OccurrenceTime = ""; + if (itemTask.OccurrenceTime != null) + { + str_OccurrenceTime = ((DateTime)itemTask.OccurrenceTime).ToString("yyyy-MM-dd HH:mm:ss"); + } + R_InOutStorageDetailResultForMes r = new R_InOutStorageDetailResultForMes() + { + BusinessFlag = itemTask.BusinessFlag.ToString(), + Code = itemTask.Code, + IssueProjectNo = itemTask.IssueProjectNo, + PlaceCode = itemTask.PlaceCode, + SerialNo = itemTask.SerialNo, + Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + OccurrenceTime = str_OccurrenceTime, + }; + + ret = PushMesHandler.Mes_InStockSend(r); + + //鏌ユ壘瀵硅薄 + var db_itemTask = mod.InOutStorageDetails.Where(x => x.id == itemTask.Id).FirstOrDefault(); + //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},宸叉帹閫佺粨鏉燂紝杩斿洖:{JsonConvert.SerializeObject(ret)}"; + if (ret.Success) + { + db_itemTask.isSendToMes = (int)EIsSendToMes.鎺ㄩ�佹垚鍔�;//鎺ㄩ�佹垚鍔� + db_itemTask.isSendToMesStr = "鎴愬姛"; + } + else + { + db_itemTask.isSendToMes = (int)EIsSendToMes.寰呮帹閫�;//寰呮帹閫� + db_itemTask.isSendToMesStr = "澶辫触"; + } + db_itemTask.SendToMesTime = DateTime.Now; + db_itemTask.MesRet = ret.Message; + db_itemTask.SendToMesCount = (db_itemTask.SendToMesCount ?? 0) + 1; + if (db_itemTask.isSendToMes == (int)EIsSendToMes.寰呮帹閫� && db_itemTask.SendToMesCount > 100) + { + db_itemTask.isSendToMes = (int)EIsSendToMes.寮哄埗瀹屾垚;//琛ㄧず寮哄埗鎺ㄩ�佹垚鍔� + db_itemTask.isSendToMesStr = "寮哄埗鎴愬姛"; + } + mod.SaveChanges(); + + } + catch (Exception ex) + { + LogTextHelper.WriteLine(Resources.LogDir + @"/MES鍑哄叆搴撴暟鎹紶杈�/" + "mesDataTranfficForRealMesThread", "MES鍑哄叆搴撴暟鎹紶杈撳紓甯�:{0}", JsonConvert.SerializeObject(ex)); + //LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Handle", ex.Message); + //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鎺ㄩ�佺粰MES鏁版嵁寮傚父:" + JsonConvert.SerializeObject(ex); + //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); + } + } + } + } + } + catch (Exception ex) + { + LogTextHelper.WriteLine(Resources.LogDir + @"/MES鍑哄叆搴撴暟鎹紶杈�/" + "mesDataTranfficForRealMesThread", "(澶栭儴)MES鍑哄叆搴撴暟鎹紶杈撳紓甯�:{0}", JsonConvert.SerializeObject(ex)); + //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鏁版嵁瑕佹帹閫佺粰MES鍑虹幇寮傚父:" + ex.Message; + //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); + } + } + } + } +} -- Gitblit v1.9.3