From c9c91ad3e3ac218d81c86809c93a35622b51a686 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 17 9月 2025 16:05:05 +0800
Subject: [PATCH] 初步 增加 推送线程

---
 DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs |   96 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 96 insertions(+), 0 deletions(-)

diff --git a/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs
new file mode 100644
index 0000000..5435a1b
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs
@@ -0,0 +1,96 @@
+锘縰sing iWareDataCore.ORM;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+
+namespace iWareCc
+{
+    /// <summary>
+    /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES)
+    /// </summary>
+    public class mesDataTranfficForRealMes
+    {
+        //public static LogType _logType = LogType.mesDataTranfficForRealMes;
+        public static async void Handler()
+        {
+            while (true)
+            {
+                try
+                {
+                    Thread.Sleep(5000);
+
+                    using (DbModelCore mod = new DbModelCore())
+                    {
+                        List<Wms_outInStockRecord_V2_Mes> sendMesData = mod.Wms_outInStockRecord_V2_Mes.Where(x => x.IsSendToMes == 0).OrderBy(x => x.ID).ToList();
+
+                        if (sendMesData.Count > 0)
+                        {
+                            //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},瑕佹帹閫亄sendMesData.Count()}鏉�!";
+                            foreach (var itemTask in sendMesData)
+                            {
+                                try
+                                {
+                                    ApiResponse<string> ret = null;
+
+                                    //鑾峰彇淇℃伅鏄庣粏
+                                    List<InboundStockInfoToMes> pushData = new List<InboundStockInfoToMes>();
+                                    pushData.Add(new InboundStockInfoToMes()
+                                    {
+                                        BusinessFlag = itemTask.OutInFlagName,
+
+                                        OccurrenceTime鈥� = itemTask.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"),
+                                        Code = itemTask.Code,
+                                        PlaceCode = itemTask.PlaceCode,
+                                        SerialNo = itemTask.SerialNo,
+                                        IssueProjectNo = itemTask.IssueProjectNo,
+
+
+                                    });
+
+
+                                    //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},宸叉帹閫佺粨鏉燂紝杩斿洖:{JsonConvert.SerializeObject(ret)}";
+                                    if (ret.Success)
+                                    {
+                                        itemTask.IsSendToMes = 1;//鎺ㄩ�佹垚鍔�
+                                        itemTask.IsSendToMesStr = "鎴愬姛";
+                                    }
+                                    else
+                                    {
+                                        itemTask.IsSendToMes = 0;//鎺ㄩ�佸け璐�
+                                        itemTask.IsSendToMesStr = "澶辫触";
+                                    }
+                                    itemTask.SendToMesTime = DateTime.Now;
+                                    itemTask.MesRet = ret.Message;
+                                    itemTask.SendToMesCount = (itemTask.SendToMesCount ?? 0) + 1;
+                                    if (itemTask.IsSendToMes == 0 && itemTask.SendToMesCount > 100)
+                                    {
+                                        itemTask.IsSendToMes = 3;//琛ㄧず寮哄埗鎺ㄩ�佹垚鍔�
+                                        itemTask.IsSendToMesStr = "寮哄埗鎴愬姛";
+                                    }
+                                    mod.SaveChanges();
+
+                                }
+                                catch (Exception ex)
+                                {
+                                    //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鎺ㄩ�佺粰MES鏁版嵁寮傚父:" + JsonConvert.SerializeObject(ex);
+                                    //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex);
+                                }
+                            }
+                        }
+                        else
+                        {
+                            //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},娌℃湁鏁版嵁瑕佹帹閫佺粰MES!";
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鏁版嵁瑕佹帹閫佺粰MES鍑虹幇寮傚父:" + ex.Message;
+                    //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex);
+                }
+            }
+        }
+    }
+}

--
Gitblit v1.9.3