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