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