From b7cf29b366aa2afb5fada4b340bac268c1bb1534 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期四, 12 六月 2025 17:34:02 +0800
Subject: [PATCH] 123

---
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
index 16352e4..237f2cb 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
@@ -132,6 +132,14 @@
                 string TRow = string.IsNullOrEmpty(end.CN_S_FLOOR) ? "1" : end.CN_S_FLOOR;
                 CMMLog.Info($"浠诲姟鎺ㄩ�锛氳揣浣嶇紪鐮侊細璧风偣淇℃伅:{JsonConvert.SerializeObject(start)},缁堢偣淇℃伅:{JsonConvert.SerializeObject(end)}锛涗换鍔′俊鎭細{JsonConvert.SerializeObject(mst)}");
 
+                var trayInfo = MongoDBSingleton.Instance.FindOne<trayTypeTable>(Query.EQ("locCode", mst.CN_S_START_BIT), "trayTypeTable");
+                if (trayInfo != null && trayInfo.trayType == "2")
+                {
+                    start.CN_N_AGV_LOCATION = start.CN_N_AGV_LOCATION + 400;
+                    end.CN_N_AGV_LOCATION = end.CN_N_AGV_LOCATION + 400;
+                    CMMLog.Info($"浠诲姟鎺ㄩ�锛氱敯瀛楁墭璧风偣缁堢偣 绔欑偣鏇存敼锛岃捣鐐癸細{start.CN_N_AGV_LOCATION}锛岀粓鐐癸細{end.CN_N_AGV_LOCATION}");
+                }
+
                 if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋�)
                 {
                     CMMLog.Info($"浠诲姟鎺ㄩ�鐗规畩浠诲姟澶勭悊-3妤煎绉板叆缂撳瓨鏋讹細浠诲姟鍙凤細{mst.CN_S_TASK_NO},鍑嗗鑾峰彇 sendBit 閰嶇疆鏁版嵁銆傚娉細姝や换鍔$被鍨嬩粎鑾峰彇璧风偣銆�);
@@ -154,6 +162,10 @@
                         if (emp != null)
                         {
                             start.CN_N_AGV_LOCATION = agvLoc.Site[emp.Quantity - 1];
+                        }
+                        if(agvLoc.trayType == 2)
+                        {
+                            end.CN_N_AGV_LOCATION = MongoDBSingleton.Instance.FindOne<STOCK_LOCATION_Two>(Query.EQ("CN_S_LOCATION_CODE", mst.CN_S_END_BIT), "STOCK_LOCATION_Two").CN_N_AGV_LOCATION;
                         }
                     }
                 }
@@ -242,6 +254,7 @@
                     if (mst.CN_S_BUSS_TYPE == "鍖呰绾胯ˉ绌�) PLCControl.PackingLineComplete(plc.ip);
                     if (mst.CN_S_BUSS_TYPE == "鐢垫鍙栬揣") PLCControl.LiftAction(plc, mst.CN_S_TASK_NO,false);
                     if (mst.CN_S_BUSS_TYPE == "鍥涢挻鎴愬搧鍑哄簱" || mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍑哄簱") PLCControl.productOutWare(mst.CN_S_END_BIT, mst.CN_S_TASK_NO, false);
+                    if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) PLCControl.CacheStackingMouth6(plc);
                 }
             }
         }
@@ -394,6 +407,7 @@
                     result = true;
                 }
             }
+
             var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault();
             if (bussTypeInfo != null)
             {
@@ -458,7 +472,7 @@
                 {
                     #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴
                     bool action = true;
-                    plc.ForEach(a =>
+                    foreach(var a in plc)
                     {
                         var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
                         {
@@ -474,6 +488,7 @@
                             {
                                 action = false;
                                 CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}");
+                                break;
                             }
                             else
                             {
@@ -485,6 +500,18 @@
                                     {
                                         action = false;
                                         CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡");
+
+                                    }
+                                    else
+                                    {
+                                        int[] num = new int[1] { 1 };
+                                        var writeRes = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+                                        {
+                                            host = a.ip,
+                                            addr = a.writeAddr,
+                                            data = num,
+                                            port = a.port
+                                        });
                                     }
                                 }
                                 else
@@ -494,7 +521,7 @@
                                 }
                             }
                         }
-                    });
+                    };
                     if (!action)
                     {
                         return false;
@@ -581,7 +608,6 @@
             //鍏ュ簱杈撻�绾夸笂鏈変袱涓緭閫佸彛
 
             //鍒ゆ柇杈撻�绾挎ā寮忓拰涓棿琛ㄦā寮忛兘鏄叆搴撴ā寮�-
             try
             {
                 string endMachLoc = "";
@@ -600,7 +626,7 @@
                     });
                     if (modeResult != null && modeResult.errCode == 0)
                     {
-                        CMMLog.Debug($"InWareTask锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr}鐨勫�涓猴細{modeResult.result[0]}");
+                        CMMLog.Debug($"InWareTask锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr}鐨勫�涓猴細{JsonConvert.SerializeObject(modeResult.result)}");
                         if (modeResult.result[0] == 1)
                         {
                             action = false;
@@ -619,6 +645,14 @@
                                 }
                                 else
                                 {
+                                    int[] num = new int[1] { 2 };
+                                    var writeRes = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+                                    {
+                                        host = plc.ip,
+                                        addr = plc.writeAddr,
+                                        data = num,
+                                        port = plc.port
+                                    });
                                     return true;
                                 }
                             }

--
Gitblit v1.9.1