From 41accee47c8eeb8c6408507f873d68f890092468 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期四, 10 七月 2025 17:18:14 +0800
Subject: [PATCH] 111

---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs |  113 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 71 insertions(+), 42 deletions(-)

diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
index 6e5a535..5eb3b3d 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
@@ -3992,15 +3992,27 @@
                     if (locInfo.state == "1")
                     {
                         CMMLog.Info("DGInWarehouse:" + JsonConvert.SerializeObject(locInfo));
-                        string wmstaskno = "";
-                        string trayCode = "";
-                        bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "CKHJ");
-                        if (req)
+                        if (!string.IsNullOrEmpty(locInfo.END_LOC))
                         {
-                            CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
-                            MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locInfo.Bit, locInfo.END_LOC, "鐢甸挻鐢熶骇閫�簱(浜屾)", 0, locInfo.trayCode);
+                            if(amsResult.success)
+                            {
+                                CMMLog.Info($"鐢甸挻鐢熶骇閫�簱(浜屾)娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
+                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            }
                         }
-                        else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�);
+                        else
+                        {
+                            string wmstaskno = "";
+                            string trayCode = locInfo.trayCode;
+                            bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "DGCK");
+                            if (req)
+                            {
+                                CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
+                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            }
+                            else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�);
+                        }
                     }
                 }
             }
@@ -4639,7 +4651,7 @@
                     if (result.result[0] == 1)
                     {
                         //鎺ㄩ�灏忚溅杩涘叆
-                        TSHelper.GoToAGV(taskNo, 10, 3);
+                        TSHelper.GoToAGV(taskNo, 10, 1);
                         writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
                         {
                             host = plc.ip,
@@ -4727,59 +4739,72 @@
                         host = plc.ip,
                         port = plc.port
                     });
+                    CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細璇诲彇閫氶亾鍙蜂负锛歿plc.readAddr},ip:{plc.ip},绔彛锛歿plc.port}");
+                    CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾垮�涓猴細{result.result[0]}");
                     if (result != null && result.errCode == 0)
                     {
                         if (result.result[0] == 1)
                         {
                             //鎴愬搧涓嬬嚎浠诲姟鐢熸垚鍒版帴椹冲钩鍙�-                            string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", "");
-                            //鍙敓鎴愪换鍔�-                            var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
-                            if (CBInfo != null)
+                            string traycode = "";
+                            var DGinfoList = MongoDBSingleton.Instance.FindAll<DGPackingLineFullModel>("DGPackingLineFullModel");
+                            if (DGinfoList.Count > 0)
                             {
-                                //string timeStamp = timecuo.data.First().timeStamp.ToString();
-                                string timeStamp = "";
-                                foreach (var a in CBInfo)
+                                var DGinfo = DGinfoList.Where(a => a.isUse == "0").OrderBy(a => a.createTime).First();
+                                //灏嗘暟鎹彃鍏ヤ腑闂磋〃
+                                traycode = DGinfo.trayCode;
+                            }
+                            //鍙敓鎴愪换鍔�+                            CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾�鑾峰彇鎵樼洏鍙凤細{traycode}");
+                            if (!string.IsNullOrEmpty(traycode))
+                            {
+                                var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
+                                if (CBInfo != null)
                                 {
-                                    if (!string.IsNullOrEmpty(a.locCode))
+                                    foreach (var a in CBInfo)
                                     {
-                                        //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�-                                        var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits");
-                                        if (CBTable != null)
+                                        if (!string.IsNullOrEmpty(a.locCode))
                                         {
-                                            if (string.IsNullOrEmpty(CBTable.trayCode))
+                                            //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+                                            var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits");
+                                            if (CBTable != null)
+                                            {
+                                                if (string.IsNullOrEmpty(CBTable.trayCode))
+                                                {
+                                                    //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�+                                                    var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode);
+                                                    if (amsResult.success)
+                                                    {
+                                                        CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�);
+                                                        MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode), UpdateFlags.None);
+                                                        MongoDBSingleton.Instance.Update<DGPackingLineFullModel>(Query.EQ("trayCode", traycode), Update.Set("isUse", "1"), UpdateFlags.None);
+                                                        break;
+                                                    }
+                                                    else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒");
+                                                }
+                                            }
+                                            else
                                             {
                                                 //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�                                                 var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode);
                                                 if (amsResult.success)
                                                 {
                                                     CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�);
-                                                    MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeStamp), UpdateFlags.None);
+                                                    //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹� 
+                                                    MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0" });
+                                                    MongoDBSingleton.Instance.Update<DGPackingLineFullModel>(Query.EQ("trayCode", traycode), Update.Set("isUse", "1"), UpdateFlags.None);
                                                     break;
                                                 }
                                                 else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒");
                                             }
                                         }
-                                        else
-                                        {
-                                            //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�-                                            var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode);
-                                            if (amsResult.success)
-                                            {
-                                                CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�);
-                                                //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�-
-                                                MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeStamp });
-                                                break;
-                                            }
-                                            else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒");
-                                        }
+                                        else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�);
                                     }
-                                    else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�);
                                 }
+                                else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�);
                             }
-                            else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�);
+                            
                         }
                     }
                 }
@@ -4846,17 +4871,21 @@
             /// <summary>
             /// 鐗╂枡缂栫爜
             /// </summary>
-            public string CN_S_MATERI_CODE { get; set; }
+            public string CN_S_ITEM_CODE { get; set; }
             /// <summary>
-            /// 妗堕噸閲忥紙鍗曚釜妗堕噸閲�妗舵暟閲忥級
+            /// 妗堕噸閲�             /// </summary>
-            public int CN_N_WEIGHT { get; set; }
+            public float CN_F_QUANTITY { get; set; }
+            /// <summary>
+            /// 妗舵暟閲�+            /// </summary>
+            public int CN_N_CONUT { get; set; }
             /// <summary>
             /// 鐢熶骇鏃ユ湡
             /// </summary>
-            public string CN_S_Data { get; set; }
+            public string CN_T_PRODUCTION_S { get; set; }
 
-            public int CN_S_EXT8 { get; set; }
+            public string CN_S_EXT8 { get; set; }
         }
 
         #endregion

--
Gitblit v1.9.1