From 145de2dcd3124f236e7d06bcdee17c7be08048b1 Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期一, 11 十一月 2024 18:34:13 +0800
Subject: [PATCH] 修改搜索按照index索引

---
 HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java |   47 +++++++++++++++++++++--------------------------
 1 files changed, 21 insertions(+), 26 deletions(-)

diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java
index 4fee86d..0735237 100644
--- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java
+++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java
@@ -4,6 +4,7 @@
 
 import com.hdl.sdk.ttl.Config.Configuration;
 import com.hdl.sdk.ttl.HDLDeviceManger.Bean.DevicesData;
+import com.hdl.sdk.ttl.HDLDeviceManger.Bean.ListRemarks;
 import com.hdl.sdk.ttl.HDLDeviceManger.Bean.RemarkTimes;
 import com.hdl.sdk.ttl.HDLDeviceManger.Bean.SearchCountBean;
 import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.DevicesInfoEvent;
@@ -603,6 +604,7 @@
             remarkTimer.cancel();
             remarkTimer = null;
         }
+
         if ((HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() == 0) || isSearching) {
             isRefreshAllDevicesState = false;
             if (HDLDeviceManager.devicesDataList != null && HDLDeviceManager.devicesDataList.size() > 0) {
@@ -620,7 +622,7 @@
         }
 
         //鍒ゆ柇鏄惁鑾峰彇璁惧澶囨敞瀹屽叏锛岃嫢瀹屽叏鍒欒繑鍥炴墍鏈夎澶囧垪琛ㄣ��
-        if (HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() != 0 && pos == -1) {
+        if (pos == -1) {
             if (!isRefreshAllDevicesState) {
                 HandleSearch.OnDeviceListGetSuccessCallBack();
             } else {
@@ -630,46 +632,39 @@
                 isRefreshAllDevicesState = false;
                 HandleSearch.OnDeviceListGetSuccessCallBack();
             }
-
             return;
         }
         remarkTimer = new Timer();
         final int newPos = pos;
-        final RemarkTimes remarkTimes = new RemarkTimes();
-        remarkTimes.setCount(0);
 
-        if (remarkTimer == null) {
-            return;
-        }
+        ListRemarks listRemark = HDLDeviceManager.listRemarks.get(newPos);
         remarkTimer.schedule(new TimerTask() {
             @Override
             public void run() {
-                if (remarkTimes.getCount() < 1) {
-                    remarkTimes.setCount(remarkTimes.getCount() + 1);
+                listRemark.setSendCount(listRemark.getSendCount() + 1);
+                if (listRemark.getSendCount() < 3 && !listRemark.isCallBack()) {
                     if (newPos < HDLDeviceManager.listRemarks.size()) {
-                        HDLLog.I("----->鍙戦�佽幏鍙栧娉ㄥ懡浠ゃ�傚叡" + HDLDeviceManager.listRemarks.size() + "涓ā鍧椼�傜"
-                                + newPos + "涓ā鍧椼�傜 " + (HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getChannelNum())
-                                + " 鍥炶矾锛屽瓙缃戝彿锛�" + HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceSubnetID()
-                                + "锛岃澶囧彿锛�" + HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceDeviceID()
-                                + " 绗� " + remarkTimes.getCount() + " 娆�");
+                        HDLLog.I("----->鍙戦�佽幏鍙栧娉ㄥ懡浠ゃ�傚叡" + HDLDeviceManager.listRemarks.size() + "涓紝绗�"
+                                + newPos + "涓ā鍧椼�傜 " + (listRemark.getAppliancesInfo().getDeviceIndex())
+                                + " 搴忓彿锛屽瓙缃戝彿锛�" + listRemark.getAppliancesInfo().getDeviceSubnetID()
+                                + "锛岃澶囧彿锛�" + listRemark.getAppliancesInfo().getDeviceDeviceID()
+                                + " 绗� " + listRemark.getSendCount() + " 娆�");
                         HDLCommand.cusSendCommand(Configuration.DEVICES_READ_FROM_GATEWAY_COMMAND,
-                                HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getSourceSubnetID()
-                                , HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getSourceDeviceID(),
+                                listRemark.getAppliancesInfo().getSourceSubnetID()
+                                , listRemark.getAppliancesInfo().getSourceDeviceID(),
                                 new byte[]{
-                                        (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceSubnetID(),
-                                        (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceDeviceID(),
-                                        (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getChannelNum(),
-                                        (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getBigType(),
-                                        (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getLittleType(),
+                                        (byte) listRemark.getAppliancesInfo().getDeviceSubnetID(),
+                                        (byte) listRemark.getAppliancesInfo().getDeviceDeviceID(),
+                                        (byte) listRemark.getAppliancesInfo().getDeviceIndex(),
+                                        (byte) listRemark.getAppliancesInfo().getBigType(),
+                                        (byte) listRemark.getAppliancesInfo().getLittleType(),
                                 });
                     }
                 } else {
-
-                    if (HDLDeviceManager.listRemarks != null
-                            && HDLDeviceManager.listRemarks.size() != 0
-                            && newPos < HDLDeviceManager.listRemarks.size()) {
-                        HDLDeviceManager.listRemarks.get(newPos).setCallBack(true);
+                    if (!listRemark.isCallBack()) {
+                        HDLLog.I("----->鑾峰彇澶囨敞鍛戒护瓒呮椂 绗� " + (listRemark.getAppliancesInfo().getDeviceIndex()) + " 搴忓彿锛屽瓙缃戝彿锛�" + listRemark.getAppliancesInfo().getDeviceSubnetID() + "锛岃澶囧彿锛�" + listRemark.getAppliancesInfo().getDeviceDeviceID());
                     }
+                    listRemark.setCallBack(true);
                     getDevRemarks();
                 }
             }

--
Gitblit v1.8.0