From b93ca15aa55af7cf2dee653beb100076c897f152 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 25 六月 2024 16:56:38 +0800
Subject: [PATCH] 2024年06月25日16:56:31

---
 app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java |  115 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 66 insertions(+), 49 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
index b53fbd1..8ea0293 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -20,6 +20,7 @@
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean;
 import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.test.dialogs.DialogDeviceList;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.sdk.link.common.exception.HDLLinkException;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
@@ -38,6 +39,8 @@
     private TestTitleAdapter testTitleAdapter;
 
     private List<OidBean> mOidList;
+
+    private GatewayBean mGatewayBean;
     private String s = "";
 
     @Override
@@ -63,41 +66,33 @@
      */
     private void initView() {
 
-        String homeId = "homeId=" + UserConfigManage.getInstance().getHomeId();
-        String homeName = "homeName=" + UserConfigManage.getInstance().getHomeName();
+        String homeId = "鐢电珯Id=" + UserConfigManage.getInstance().getHomeId();
+        String homeName = "鐢电珯鍚嶇О=" + UserConfigManage.getInstance().getHomeName();
         viewBinding.homeIdTv.setText(homeId);
         viewBinding.homeNameTv.setText(homeName);
 
     }
 
     private void initEvent() {
-        viewBinding.topBackBtn.setOnClickListener(this);
+        viewBinding.topBackLl.setOnClickListener(this);
         viewBinding.topLogBtn.setOnClickListener(this);
         viewBinding.clickCommandTv.setOnClickListener(this);
+        viewBinding.clickSelectDeviceTv.setOnClickListener(this);
         testTitleAdapter.setItemOnClickListener(new TestTitleAdapter.OnClickListener() {
             @Override
             public void OnClick(int position, String title) {
-
-
                 if (TextUtils.isEmpty(UserConfigManage.getInstance().getHomeId())) {
                     // TODO: 10/30/23 璇峰厛閫夋嫨浣忓畢杩涜娴嬭瘯,鍚﹀垯鏃犳硶杩涜閫嗗彉鍣ㄦ寚浠ゆ祴璇�;
-                    TipDialog("璇峰厛閫夋嫨浣忓畢杩涜娴嬭瘯,鍚﹀垯鏃犳硶杩涜閫嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
+                    TipDialog("璇峰厛閫夋嫨涓�涓�愮數绔欍�戣繘琛屾祴璇�,鍚﹀垯鏃犳硶杩涜閫嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
                     return;
                 }
-                List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
-                if (list == null && !title.equals("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)") && !title.equals("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)")) {
-                    // TODO: 10/30/23 鎵句笉鍒颁綇瀹呯殑涓婚�嗗彉鍣�,璇峰厛纭鏄惁缁戝畾閫嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�
-                    TipDialog("鎵句笉鍒颁綇瀹呯殑銆愪富閫嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
-                    return;
-                }
-                if (list.size() == 0 && !title.equals("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)") && !title.equals("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)")) {
-                    // TODO: 10/30/23 鎵句笉鍒颁綇瀹呯殑涓婚�嗗彉鍣�,璇峰厛纭鏄惁缁戝畾閫嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�
-                    TipDialog("鎵句笉鍒颁綇瀹呯殑銆愪富閫嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
+                if (mGatewayBean == null && !title.equals("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)")) {
+                    TipDialog("鎵句笉鍒颁綇瀹呯殑銆愰�嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
                     return;
                 }
 
-                showLoading();
-                startRequest(position, list.get(0));
+
+                startRequest(position, mGatewayBean);
             }
         });
     }
@@ -106,7 +101,7 @@
     @Override
     public void onClick(View v) {
         int id = v.getId();
-        if (id == viewBinding.topBackBtn.getId()) {
+        if (id == viewBinding.topBackLl.getId()) {
             finish();
         } else if (id == viewBinding.topLogBtn.getId()) {
             startActivity(TestLogActivity.class);
@@ -114,7 +109,7 @@
         } else if (id == viewBinding.clickCommandTv.getId()) {
 
         } else if (id == viewBinding.clickSelectDeviceTv.getId()) {
-//            selectDevice();
+            selectDevice();
 
         }
     }
@@ -144,6 +139,7 @@
      * @param position 绱㈠紩鍊�
      */
     private void startRequest(int position, GatewayBean gatewayBean) {
+        showLoading();
         String title = getTitleList().get(position);
         switch (title) {
             case "鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)": {
@@ -167,17 +163,8 @@
             }
             break;
             case "鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)": {
-                HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() {
-                    @Override
-                    public void onSuccess(List<GatewayBean> gatewayBeanList) {
-                        gsonConvertJsonStr(gatewayBeanList);
-                    }
-
-                    @Override
-                    public void onError(HDLLinkException e) {
-                        setError(e.getMsg(), e.getCode());
-                    }
-                });
+                List<GatewayBean> gatewayBeanList = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
+                gsonConvertJsonStr(gatewayBeanList);
             }
             break;
 
@@ -277,7 +264,11 @@
             }
             break;
             case "鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)": {
-                TcpClient.getInstance().sendModBusDataToLinkGateway(gatewayBean.getDevice_mac(), "0000001A", TcpClient.FunctionCode.ReadMultipleRegisters, 550, "8", new ModbusCallBack() {
+                if (TextUtils.isEmpty(mGatewayBean.getAddresses())) {
+                    TipDialog("閫嗗彉鍣╝ddresses鍦板潃涓簄ull.", null);
+                    return;
+                }
+                TcpClient.getInstance().sendModBusDataToLinkGateway(gatewayBean.getDevice_mac(), mGatewayBean.getAddresses(), TcpClient.FunctionCode.ReadMultipleRegisters, 550, "8", new ModbusCallBack() {
                     @Override
                     public void onSuccess(int[] data) {
                         gsonConvertJsonStr(data);
@@ -291,17 +282,40 @@
             }
             break;
             case "鎭㈠鍑哄巶璁剧疆(8)": {
-                HdlDeviceLogic.getInstance().initializeGateway("0B37BA09F722EEDF", new LinkCallBack<Boolean>() {
+                ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
+                confirmationCancelDialog.show();
+                confirmationCancelDialog.setTitle("鎻愮ず!");
+                confirmationCancelDialog.setContent("鏄惁瑕佽В缁慭"" + mGatewayBean.getDevice_name() + "\"?");
+                confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                     @Override
-                    public void onSuccess(Boolean obj) {
-                        gsonConvertJsonStr(obj);
-                    }
+                    public void Confirm() {
+                        confirmationCancelDialog.dismiss();
+                        showLoading("瑙g粦涓�...");
+                        HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
+                            @Override
+                            public void onSuccess(Boolean obj) {
+                                hideLoading();
+                                gsonConvertJsonStr(obj);
+                                HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToMac(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDevice_mac());
+                                HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDeviceId(), null);
+                            }
 
-                    @Override
-                    public void onError(HDLLinkException e) {
-                        setError(e.getMsg(), e.getCode());
+                            @Override
+                            public void onError(HDLLinkException e) {
+                                hideLoading();
+                                setError(e.getMsg(), e.getCode());
+                            }
+                        });
                     }
                 });
+                confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+                    @Override
+                    public void Cancel() {
+                        hideLoading();
+                        confirmationCancelDialog.dismiss();
+                    }
+                });
+
             }
             break;
             default: {
@@ -380,21 +394,24 @@
     /**
      * 閫夋嫨閫嗗彉鍣ㄨ皟璇�
      */
-    public void selectDevice(String homeId) {
-        showLoading();
-        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() {
+    public void selectDevice() {
+        List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
+        DialogDeviceList dialogDeviceList = new DialogDeviceList(_mActivity, list);
+        dialogDeviceList.show();
+        dialogDeviceList.DeviceOnclickListener(new DialogDeviceList.OnclickListener() {
             @Override
-            public void onSuccess(List<GatewayBean> obj) {
-                hideLoading();
+            public void onClick(int position, GatewayBean gatewayBean) {
+                dialogDeviceList.dismiss();
+                if (gatewayBean == null) {
+                    return;
+                }
+                mGatewayBean = gatewayBean;
+                String str = "閫嗗彉鍣ㄥ悕绉�=" + gatewayBean.getDevice_name() + "_" + gatewayBean.getDevice_mac();
+                viewBinding.deviceNameTv.setText(str);
 
-
-            }
-
-            @Override
-            public void onFailure(HDLException e) {
-                hideLoading();
             }
         });
+
     }
 
     public interface Listener {

--
Gitblit v1.8.0