From e3d6e8ddbfc930db88bef1e7f170ddfe71b06cf1 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期五, 04 七月 2025 17:25:43 +0800
Subject: [PATCH] 1

---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 1 deletions(-)

diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
index 2128a19..ce7e3bc 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
@@ -175,6 +175,32 @@
                         end.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                     }
                 }
+
+                var conn1 = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
+                if (conn1.Count == 2)
+                {
+                    //涓や釜鎺ラ┏骞冲彴
+                    if (mst.CN_S_START_BIT == conn1[0].locCode || mst.CN_S_START_BIT == conn1[1].locCode)
+                    {
+                        start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
+                    }
+                    if (mst.CN_S_END_BIT == conn1[0].locCode || mst.CN_S_END_BIT == conn1[1].locCode)
+                    {
+                        end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
+                    }
+                }
+                if (conn1.Count == 1)
+                {
+                    //涓�釜鎺ラ┏骞冲彴
+                    if (mst.CN_S_START_BIT == conn1[0].locCode)
+                    {
+                        start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
+                    }
+                    if (mst.CN_S_END_BIT == conn1[0].locCode)
+                    {
+                        end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
+                    }
+                }
                 #endregion
 
                 string FRow = string.IsNullOrEmpty(start.CN_S_FLOOR) ? "1" : start.CN_S_FLOOR;
@@ -208,7 +234,7 @@
                         }
                     }
                 }
-                if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱")
+                if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱")
                 {
                     TRow = "1";
                 }
@@ -1120,6 +1146,53 @@
             }
             CMMLog.Info("杩涘叆鍏呯數浠诲姟娴佺▼鍒ゆ柇锛氭墽琛岀粨鏉燂紒");
         }
+
+        internal static void AGVBatteryTimeTwo()
+        {
+            var cpsInfo = MongoDBSingleton.Instance.FindAll<TN_B_CHARGE_PLAN_SET>("TN_B_CHARGE_PLAN_SET");
+            if (cpsInfo.Count > 0)
+            {
+                foreach (var a in cpsInfo)
+                {
+                    int agvNo = int.Parse(a.CN_S_NAME);
+                    if(agvNo != 0)
+                    {
+                        //鍒ゆ柇涓棿琛�MarginAGV 鏄惁鏈夎AGV鐨勬暟鎹�+                        var maInfo = MongoDBSingleton.Instance.FindOne<MarginAGV>(Query.EQ("agvNo", int.Parse(a.CN_S_NAME)), "MarginAGV");
+                        if (maInfo == null)
+                        {
+                            if (DateTime.Parse(a.CN_DT_START).AddMinutes(10) > DateTime.Now)
+                            {
+                                //褰撳墠鏃堕棿鍦ㄦ寚瀹氬厖鐢垫椂闂寸殑10鍒嗛挓涔嬪唴
+                                var pileInfo = Settings.GetChargingPile().Where(b => b.agvNo == a.CN_S_NAME && b.enable == "1").FirstOrDefault();
+                                if(pileInfo != null)
+                                {
+                                    int marginGroup = int.Parse(pileInfo.charginGroup);
+                                    TSHelper.SendChargeTask(a.CN_S_NAME, true);
+                                    //澧炲姞鏃堕棿
+                                    MongoDBSingleton.Instance.Insert<MarginAGV>(new MarginAGV { agvNo = agvNo, marginGroup = marginGroup, dateTime = DateTime.Now });
+                                }
+                                else
+                                {
+                                    CMMLog.Info($"鍏呯數浠诲姟锛屾湭閰嶇疆褰撳墠杞﹀彿锛岃溅鍙凤細{a.CN_S_NAME}");
+                                }
+                            }
+                        }
+                        else
+                        {
+                            if (maInfo.dateTime.AddMinutes(10) < DateTime.Now)
+                            {
+                                MongoDBSingleton.Instance.Remove<MarginAGV>(Query.EQ("id", maInfo.id), RemoveFlags.None);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        CMMLog.Info("鍏呯數浠诲姟娴佺▼寮傚父锛屽綋鍓嶈溅鍙蜂负0");
+                    }
+                }
+            }
+        }
         #endregion
 
         /// <summary>
@@ -1340,6 +1413,8 @@
             return result;
         }
 
+
+
         /// <summary>
         /// SQL-AMS浠诲姟涓昏〃
         /// </summary>

--
Gitblit v1.9.1