From 1ef9c12f9e1edd46fd3edac5363d3519a5e0c05f Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 30 五月 2024 21:12:37 +0800
Subject: [PATCH] Merge branch 'wjc_new' into develop_new
---
app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java | 161 ++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 126 insertions(+), 35 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 7b3e8b9..ff0771b 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
@@ -2,30 +2,30 @@
import androidx.recyclerview.widget.LinearLayoutManager;
-import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
+
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
-import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityTestMainBinding;
import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.internet.TcpClient;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.listener.LinkCallBack;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
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.photovoltaic.widget.ConfirmationExceptionDialog;
import com.hdl.sdk.link.common.exception.HDLLinkException;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
+import com.hdl.sdk.link.core.callback.ModbusCallBack;
import java.util.ArrayList;
import java.util.List;
@@ -39,6 +39,9 @@
private TestTitleAdapter testTitleAdapter;
private List<OidBean> mOidList;
+
+ private GatewayBean mGatewayBean;
+ private String s = "";
@Override
public Object getContentView() {
@@ -63,35 +66,33 @@
*/
private void initView() {
- String homeId = "娴嬭瘯浣忓畢ID=" + UserConfigManage.getInstance().getHomeId();
- String 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;
}
- GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway(UserConfigManage.getInstance().getHomeId());
- if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)") && !title.equals("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)")) {
- // TODO: 10/30/23 鎵句笉鍒颁綇瀹呯殑涓婚�嗗彉鍣�,璇峰厛纭鏄惁缁戝畾閫嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�;
- TipDialog("鎵句笉鍒颁綇瀹呯殑銆愪富閫嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
+ if (mGatewayBean == null && !title.equals("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)")) {
+ TipDialog("鎵句笉鍒颁綇瀹呯殑銆愰�嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
return;
}
- showLoading();
- startRequest(position, gatewayBean);
+
+
+ startRequest(position, mGatewayBean);
}
});
}
@@ -100,10 +101,15 @@
@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);
+
+ } else if (id == viewBinding.clickCommandTv.getId()) {
+
+ } else if (id == viewBinding.clickSelectDeviceTv.getId()) {
+ selectDevice();
}
}
@@ -115,13 +121,15 @@
*/
private List<String> getTitleList() {
List<String> s = new ArrayList<>();
- s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)");
+ s.add("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)");
s.add("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)");
s.add("鑾峰彇閫嗗彉鍣╫id鍒楄〃(2)");
s.add("璇诲彇閫嗗彉鍣ㄨ鎯�(3)");
- s.add("娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)");
+ s.add("瑙g粦閫嗗彉鍣�(4)");
s.add("涓婁紶oid鍒楄〃缁欎簯绔�(5)");
s.add("鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)");
+ s.add("鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)");
+ s.add("鎭㈠鍑哄巶璁剧疆(8)");
return s;
}
@@ -131,10 +139,11 @@
* @param position 绱㈠紩鍊�
*/
private void startRequest(int position, GatewayBean gatewayBean) {
+ showLoading();
String title = getTitleList().get(position);
switch (title) {
- case "鎼滅储閫嗗彉鍣ㄥ垪琛�(0)": {
- HdlDeviceLogic.getInstance().searchAllGateway(new GatewayCallBack() {
+ case "鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)": {
+ HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() {
@Override
public void onSuccess(List<GatewayBean> gatewayBeanList) {
List<GatewayBean> newGatewayBeanList = new ArrayList<>();
@@ -154,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;
@@ -198,14 +198,27 @@
});
}
break;
- case "娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)": {
+ case "瑙g粦閫嗗彉鍣�(4)": {
TipDialog("涓�鏃︽竻闄ゆ帀閫嗗彉鍣ㄤ綇瀹卛d,閫嗗彉鍣ㄩ渶瑕侀噸鏂扮粦瀹氫綇瀹咃紝鍚﹀垯鏃犳硶娴嬭瘯閫嗗彉鍣ㄦ寚浠�;", new Listener() {
@Override
public void Confirmation() {
+
HdlDeviceLogic.getInstance().clearInverterHomeId(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
- gsonConvertJsonStr(obj);
+ s += "瑙g粦銆愭湰鍦般�戞垚鍔�--->";
+ HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ s += "瑙g粦銆愪簯绔�戞垚鍔�";
+ gsonConvertJsonStr(s);
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ setError(e.getMsg(), e.getCode());
+ }
+ });
}
@Override
@@ -248,6 +261,61 @@
setError(e.getMsg(), e.getCode());
}
});
+ }
+ break;
+ case "鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)": {
+ 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);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ setError(e.getMsg(), e.getCode());
+ }
+ });
+ }
+ break;
+ case "鎭㈠鍑哄巶璁剧疆(8)": {
+ ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
+ confirmationCancelDialog.show();
+ confirmationCancelDialog.setTitle("鎻愮ず!");
+ confirmationCancelDialog.setContent("鏄惁瑕佽В缁慭"" + mGatewayBean.getDevice_name() + "\"?");
+ confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ 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().removeLocalCacheMemoryGateway(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDevice_mac());
+ HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDeviceId(), null);
+ }
+
+ @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: {
@@ -323,6 +391,29 @@
});
}
+ /**
+ * 閫夋嫨閫嗗彉鍣ㄨ皟璇�
+ */
+ 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 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);
+
+ }
+ });
+
+ }
+
public interface Listener {
void Confirmation();
}
--
Gitblit v1.8.0