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 | 182 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 147 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 fb0f354..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();
- if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�")) {
- // 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,12 +121,15 @@
*/
private List<String> getTitleList() {
List<String> s = new ArrayList<>();
- s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�");
- s.add("鑾峰彇閫嗗彉鍣╫id鍒楄〃");
- s.add("璇诲彇閫嗗彉鍣ㄨ鎯�");
- s.add("娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d");
- s.add("涓婁紶oid鍒楄〃缁欎簯绔�");
- s.add("鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�");
+ s.add("鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)");
+ s.add("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)");
+ s.add("鑾峰彇閫嗗彉鍣╫id鍒楄〃(2)");
+ s.add("璇诲彇閫嗗彉鍣ㄨ鎯�(3)");
+ s.add("瑙g粦閫嗗彉鍣�(4)");
+ s.add("涓婁紶oid鍒楄〃缁欎簯绔�(5)");
+ s.add("鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)");
+ s.add("鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)");
+ s.add("鎭㈠鍑哄巶璁剧疆(8)");
return s;
}
@@ -130,13 +139,20 @@
* @param position 绱㈠紩鍊�
*/
private void startRequest(int position, GatewayBean gatewayBean) {
+ showLoading();
String title = getTitleList().get(position);
switch (title) {
- case "鎼滅储閫嗗彉鍣ㄥ垪琛�": {
- HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
+ case "鎼滅储銆愭墍鏈夈�戦�嗗彉鍣ㄥ垪琛�(0)": {
+ HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() {
@Override
public void onSuccess(List<GatewayBean> gatewayBeanList) {
- gsonConvertJsonStr(gatewayBeanList);
+ List<GatewayBean> newGatewayBeanList = new ArrayList<>();
+ for (int i = 0; i < gatewayBeanList.size(); i++) {
+ if (HdlDeviceLogic.getInstance().isGatewaySpk(gatewayBeanList.get(i).getGatewayType())) {
+ newGatewayBeanList.add(gatewayBeanList.get(i));
+ }
+ }
+ gsonConvertJsonStr(newGatewayBeanList);
}
@Override
@@ -146,8 +162,13 @@
});
}
break;
+ case "鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)": {
+ List<GatewayBean> gatewayBeanList = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
+ gsonConvertJsonStr(gatewayBeanList);
+ }
+ break;
- case "鑾峰彇閫嗗彉鍣╫id鍒楄〃": {
+ case "鑾峰彇閫嗗彉鍣╫id鍒楄〃(2)": {
HdlDeviceLogic.getInstance().getInverterOidList(gatewayBean.getDevice_mac(), new LinkCallBack<List<OidBean>>() {
@Override
public void onSuccess(List<OidBean> obj) {
@@ -163,7 +184,7 @@
}
break;
- case "璇诲彇閫嗗彉鍣ㄨ鎯�": {
+ case "璇诲彇閫嗗彉鍣ㄨ鎯�(3)": {
HdlDeviceLogic.getInstance().getGatewayInfo(gatewayBean.getDevice_mac(), new LinkCallBack<GatewayBean>() {
@Override
public void onSuccess(GatewayBean obj) {
@@ -177,14 +198,27 @@
});
}
break;
- case "娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d": {
+ 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
@@ -196,13 +230,13 @@
});
}
break;
- case "涓婁紶oid鍒楄〃缁欎簯绔�": {
+ case "涓婁紶oid鍒楄〃缁欎簯绔�(5)": {
if (this.mOidList == null || this.mOidList.size() == 0) {
hideLoading();
HdlThreadLogic.toast(this, "娌℃湁oid鍒楄〃鏁版嵁锛岃鍏堣幏鍙栭�嗗彉鍣╫id鍒楄〃鏁版嵁锛屽啀閲嶆柊涓婁紶.");
return;
}
- HdlDeviceLogic.getInstance().fullUpdateOid(this.mOidList, new CloudCallBeak<Boolean>() {
+ HdlDeviceLogic.getInstance().fullUpdateOid(UserConfigManage.getInstance().getHomeId(), this.mOidList, new CloudCallBeak<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
gsonConvertJsonStr(obj);
@@ -215,8 +249,8 @@
});
}
break;
- case "鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�": {
- HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
+ case "鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)": {
+ HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(UserConfigManage.getInstance().getHomeId(), gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
@Override
public void onSuccess(List<CloudInverterChildDeviceBean> obj) {
gsonConvertJsonStr(obj);
@@ -227,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: {
@@ -302,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