From 6fe4792f1f71389400d075b57fb613d7815b6783 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 10 七月 2025 17:21:51 +0800 Subject: [PATCH] 111 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs | 76 ++++++++++++++++++++++++++++++-------- 1 files changed, 60 insertions(+), 16 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs index 0613efb..0b21cea 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs @@ -1,4 +1,5 @@ 锘縰sing Hanhe.iWCS.Common; +using Hanhe.iWCS.DeviceDriver; using Hanhe.iWCS.MData; using Hanhe.iWCS.Model; using MongoDB.Bson; @@ -14,10 +15,13 @@ using System.Net.NetworkInformation; using System.Net.Sockets; using System.Security.Cryptography; +using System.Security.Policy; using System.Text; using System.Threading.Tasks; using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper; +using static Hanhe.iWCS.JingmenGEMTwoProtocol.PLCControl; +using static Hanhe.iWCS.JingmenGEMTwoProtocol.ProtocolAnalysis; namespace Hanhe.iWCS.JingmenGEMTwoProtocol { @@ -35,6 +39,7 @@ static WebApiHelper api = new WebApiHelper(); public const string ERPSwitch01 = "1";// ERP鍙樻洿娴佺▼寮�叧 + public static HardwareAccessObject hao = HardwareAccessHelper.Instance.GetEquipmentsHAO(Constants.WMS_DEVICE_TYPE_WMS); public static List<string> SendERPTaskType = Settings.SendERPTaskType.Split(',').ToList();//鍥炴姤浠诲姟绫诲瀷 public static List<string> LoginInfo = Settings.LoginInfo.Split(',').ToList();// ERP鐧诲綍鎺ュ彛浼犺緭淇℃伅 @@ -2035,39 +2040,78 @@ } - internal static void senderpTaskDG(string startBit) + internal static bool senderpTaskDG(string startBit, string trayCode) { try { //閫氳繃鎵樼洏鍙疯皟鐢╳ms鎺ュ彛鑾峰彇鐗╂枡淇℃伅 - CMMLog.Info("鎻掑叆SendErpTaskInfoTable 琛�寮�:" + startBit); - var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTable>(Query.EQ("Bit", startBit), "SendErpTaskInfoTable"); + CMMLog.Info("SendErpTaskInfoTableDG 琛ㄦ煡璇�寮�:" + startBit); + var url = hao.WebUrl + "GlmTrayItemSet"; + var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTableDG>(Query.EQ("Bit", startBit), "SendErpTaskInfoTableDG"); if (erpInfo == null) { //string fEntryId = time.FEntryID_1.ToString() + (time.FEntryID_2 == 0 ? "" : ";" + time.FEntryID_2.ToString()) + (time.FEntryID_3 == 0 ? "" : ";" + time.FEntryID_3.ToString()) + (time.FEntryID_4 == 0 ? "" : ";" + time.FEntryID_4.ToString()); + string materiCode = ""; + string lotCode = ""; + int totalWeight = 0; + string productTime = ""; - CMMLog.Info("鎻掑叆SendErpTaskInfoTable 琛�1"); - MongoDBSingleton.Instance.Insert<SendErpTaskInfoTable>(new SendErpTaskInfoTable + //鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撶墿鏂欎俊鎭�+ CJWareNum model = new CJWareNum { - Bit = startBit, - //materiCode = time.materialCode, - //lotCode = time.batchNumber, - //productTime = Convert.ToDateTime(time.ProductionDate).AddHours(8), - //invalidationTime = Convert.ToDateTime(time.ProductionDate).AddHours(8).AddDays(365), - dateTime = DateTime.Now.AddHours(8), - //鍙樻洿娉ㄩ噴 - mesSucess = "0" - }, "SendErpTaskInfoTable"); + TrayCode = trayCode + }; + + string msgData = JsonConvert.SerializeObject(model); + + var feedback = helper.WebPost(url, msgData).Replace(@"\", "").Trim(); + CMMLog.Info($"SendErpTaskInfoTableDG:銆愯皟鐢╳ms鑾峰彇鐗╂枡淇℃伅銆�鎺ユ敹鏁版嵁锛� + feedback); + if (!string.IsNullOrEmpty(feedback)) + { + var wmsResponse = JsonConvert.DeserializeObject<LKInfoResModel>(feedback); + if (wmsResponse.Success == true) + { + materiCode = wmsResponse.Data.CN_S_ITEM_CODE; + lotCode = wmsResponse.Data.CN_S_LOT_NO; + totalWeight = (int)wmsResponse.Data.CN_F_QUANTITY * wmsResponse.Data.CN_N_CONUT; + productTime = wmsResponse.Data.CN_T_PRODUCTION_S; + } + } + + CMMLog.Info("SendErpTaskInfoTableDG琛�1"); + if (!string.IsNullOrEmpty(materiCode) && !string.IsNullOrEmpty(lotCode) && totalWeight != 0 && !string.IsNullOrEmpty(productTime)) + { + MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableDG>(new SendErpTaskInfoTableDG + { + Bit = startBit, + materiCode = materiCode, + lotCode = lotCode, + totalWeight = totalWeight, + productTime = Convert.ToDateTime(productTime).AddHours(8), + invalidationTime = Convert.ToDateTime(productTime).AddHours(8).AddDays(365), + dateTime = DateTime.Now.AddHours(8), + //鍙樻洿娉ㄩ噴 + mesSucess = "0" + }, "SendErpTaskInfoTableDG"); + return true; + } + else + { + CMMLog.Info($"SendErpTaskInfoTableDG:鑾峰彇鏁版嵁閿欒锛宮ateriCode锛歿materiCode},lotCode:{lotCode},totalWeight:{totalWeight},productTime:{productTime}"); + } + } - CMMLog.Info("鎻掑叆SendErpTaskInfoTable 琛�缁撴潫"); + CMMLog.Info("鎻掑叆SendErpTaskInfoTableDG琛�缁撴潫"); } catch (Exception ex) { - CMMLog.Info("鎻掑叆SendErpTaskInfoTable 琛�err:" + ex.Message); + CMMLog.Info("鎻掑叆SendErpTaskInfoTableDG琛�err:" + ex.Message); } + + return false; } internal static void SendERPTaskCompleteFuncDG() -- Gitblit v1.9.1