From a74308088dbe3006b212f0fb55098c7fd4f6fc91 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 02 9月 2025 15:12:16 +0800 Subject: [PATCH] 222 --- wcs/yunneiWCS/yunneiWCS/ThreadTask/mesStockDataForRealMes.cs | 117 +++++++++++++++++++++++++++++++++++++++ wcs/yunneiWCS/yunneiWCS/yunneiWCS.csproj | 1 wcs/yunneiWCS/yunneiWCS/ThreadTask/mesDataTranfficForRealMes.cs | 2 wcs/yunneiWCS/yunneiWCS/Utils/Log4Net/LogType.cs | 7 + 4 files changed, 124 insertions(+), 3 deletions(-) diff --git a/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesDataTranfficForRealMes.cs b/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesDataTranfficForRealMes.cs index 7bd60ac..00b7382 100644 --- a/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesDataTranfficForRealMes.cs +++ b/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesDataTranfficForRealMes.cs @@ -13,7 +13,7 @@ namespace yunneiWCS.ThreadTask { /// <summary> - /// MES鏁版嵁浼犺緭(鐪熸鐨凪ES) + /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES) /// </summary> public class mesDataTranfficForRealMes { diff --git a/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesStockDataForRealMes.cs b/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesStockDataForRealMes.cs new file mode 100644 index 0000000..62de875 --- /dev/null +++ b/wcs/yunneiWCS/yunneiWCS/ThreadTask/mesStockDataForRealMes.cs @@ -0,0 +1,117 @@ +锘縰sing iWareCommon.Utils; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using yunneiWCS.EnumDefine; +using yunneiWCS.ExtendFunction; +using yunneiWCS.mes; +using yunneiWCS.ORM; +using yunneiWCS.SystemInteraction.mes2.dto; + +namespace yunneiWCS.ThreadTask +{ + /// <summary> + /// MES搴撳瓨鏁版嵁浼犺緭(鐪熸鐨凪ES) + /// </summary> + public class mesStockDataForRealMes + { + public static LogType _logType = LogType.mesStockDataForRealMes; + public static async void Handler() + { + while (true) + { + try + { + Thread.Sleep(5000); + //Log4NetHelper.WriteErrorLog(_logType, "娴嬭瘯鍟婂晩鍟婂晩 "); + //Log4NetHelper.WriteInfoLog(_logType, "娴嬭瘯鍟婂晩鍟婂晩 "); + using (dbmodel mod = new dbmodel()) + { + List<Wms_outInStockRecord_V2_Mes> sendMesData = mod.Wms_outInStockRecord_V2_Mes.Where(x => x.isSendToMes == 0).ToList(); + + if (sendMesData.Count > 0) + { + foreach (var itemTask in sendMesData) + { + try + { + ApiResponse<object> ret = null; + + //鑾峰彇淇℃伅鏄庣粏 + var details = mod.Wms_outInStockRecord_Details_V2_Mes.Where(x => x.mainId == itemTask.ID).ToList(); + List<InboundStockInfoToMes> pushData = new List<InboundStockInfoToMes>(); + foreach (var de in details) + { + pushData.Add(new InboundStockInfoToMes() + { + containerCode = itemTask.containerCode, + createTime = itemTask.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"), + materialCode = de.productCode, + materialName = de.productName, + positionName = itemTask.sourcePlace, + productName = itemTask.materialName, + serialNumber = de.serialNumber, + supplier = itemTask.supplier, + version = itemTask.version, + }); + } + + if (Form1.isvirtual) + {//妯℃嫙鐜 + ret = new ApiResponse<object>(); + ret.Success = true; + ret.Message = "绯荤粺妯℃嫙瀹屾垚"; + } + else + { + switch (itemTask.outInFlag) + { + case (int)OutInFlag.鍏ュ簱: + ret = PushMesHandler.Mes_InStockSend(pushData, itemTask.ID.ToString(), _logType); + break; + case (int)OutInFlag.鍑哄簱: + ret = PushMesHandler.Mes_OutStockSend(pushData, itemTask.ID.ToString(), _logType); + break; + default: + break; + } + } + + if (ret.Success) + { + itemTask.isSendToMes = 1; + } + else + { + itemTask.isSendToMes = 0; + } + itemTask.SendToMesTime = DateTime.Now; + itemTask.MesRet = ret.Message; + itemTask.SendToMesCount = (itemTask.SendToMesCount ?? 0) + 1; + mod.SaveChanges(); + + } + catch (Exception ex) + { + SystemWarningMsg.msg_mesDataTranfficForRealMes = "鎺ㄩ�佺粰MES鏁版嵁寮傚父:" + JsonConvert.SerializeObject(ex); + Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); + } + } + } + else + { + SystemWarningMsg.msg_mesDataTranfficForRealMes = "娌℃湁鏁版嵁瑕佹帹閫佺粰MES!"; + } + } + } + catch (Exception ex) + { + SystemWarningMsg.msg_mesDataTranfficForRealMes = "鏁版嵁瑕佹帹閫佺粰MES鍑虹幇寮傚父:" + ex.Message; + Log4NetHelper.WriteErrorLog(_logType, SystemWarningMsg.msg_mesDataTranfficForRealMes, ex); + } + } + } + } +} diff --git a/wcs/yunneiWCS/yunneiWCS/Utils/Log4Net/LogType.cs b/wcs/yunneiWCS/yunneiWCS/Utils/Log4Net/LogType.cs index 1e82ec7..7871cf2 100644 --- a/wcs/yunneiWCS/yunneiWCS/Utils/Log4Net/LogType.cs +++ b/wcs/yunneiWCS/yunneiWCS/Utils/Log4Net/LogType.cs @@ -12,10 +12,13 @@ public enum LogType { /// <summary> - /// MES鏁版嵁浼犺緭(鐪熸鐨凪ES) + /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES) /// </summary> mesDataTranfficForRealMes = 1, - + /// <summary> + /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES) + /// </summary> + mesStockDataForRealMes = 2, } } diff --git a/wcs/yunneiWCS/yunneiWCS/yunneiWCS.csproj b/wcs/yunneiWCS/yunneiWCS/yunneiWCS.csproj index 79c8606..935fe67 100644 --- a/wcs/yunneiWCS/yunneiWCS/yunneiWCS.csproj +++ b/wcs/yunneiWCS/yunneiWCS/yunneiWCS.csproj @@ -161,6 +161,7 @@ <Compile Include="TestForm.Designer.cs"> <DependentUpon>TestForm.cs</DependentUpon> </Compile> + <Compile Include="ThreadTask\mesStockDataForRealMes.cs" /> <Compile Include="ThreadTask\mesDataTranfficForRealMes.cs" /> <Compile Include="Utils\Log4Net\C_LogWriter.cs" /> <Compile Include="Utils\Log4Net\Log4netHelper.cs" /> -- Gitblit v1.9.3