mac
2024-09-06 30dd2bff4bcb91be35c058bcd84a3049b7ee35ff
2024年09月06日17:45:55

1,登录增加同意并登录;
2,消息中心增加负载中心;
3,搜索增加负载中心spk;
1个文件已添加
19个文件已修改
374 ■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/HDLApp.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/DeviceType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java 141 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/device_debug.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_me.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-en/strings.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-zh/strings.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -192,7 +192,7 @@
                HDLSDKSPUtils.clear();
                //重新登陆,默认同意隐私政策
                UserConfigManage.getInstance().setAcceiptPolicy(true);
                UserConfigManage.getInstance().setAcceiptPolicy(false);
                //重新设定一个时间
                UserConfigManage.getInstance().setLoginDateTime(0);
                UserConfigManage.getInstance().Save();
app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -26,8 +26,10 @@
    //网络状态发生变化
    public static final String network_change_post = "network_change";
    //电站状态
    public static final String station_status = "station_status";
    //电站界面
    public static final String station_page = "station_status";
    //消息界面
    public static final String uni_open_message_page = "message_page";
    public static final String station_edit = "station_edit";
app/src/main/java/com/hdl/photovoltaic/enums/DeviceType.java
@@ -4,6 +4,7 @@
    String inv = "INV";//逆变器
    String bms = "BMS";//BMS控制盒
    String battery = "BATTERY";//电池单元
    String load_centre = "LOAD_CENTRE";//负载控制中心
}
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -95,6 +95,8 @@
    public static final String POST_Device_startup = "/home-wisdom/app/powerStation/device/inverter/startup";
    //获取设备详情(云端)
    public static final String POST_Device_info = "/home-wisdom/app/device/info";
    //获取电站下负载控制中心列表
    public static final String POST_Device_loadCentreDevices = "/home-wisdom/app/powerStation/device/loadCentreDevices";
    //endregion
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -3,9 +3,6 @@
import android.os.SystemClock;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -35,7 +32,6 @@
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import com.hdl.sdk.link.gateway.type.GatewayMasterType;
import com.huawei.hms.support.api.entity.core.JosBaseReq;
import java.lang.reflect.Type;
@@ -1062,17 +1058,26 @@
     * @param cloudCallBeak 返回逆变器列表
     */
    public void getCurrentHomeLocalAndCloudGatewayList(String homeId, CloudCallBeak<List<GatewayBean>> cloudCallBeak) {
        HdlDeviceLogic.getInstance().searchCurrentHomeGateway(homeId, new GatewayCallBack() {
        searchCurrentHomeGateway(homeId, new GatewayCallBack() {
            @Override
            public void onSuccess(List<GatewayBean> gatewayBeanList) {
                //局域网有2种情况(1:有局域网,有外网;2:有局域网,没有外网);
                HdlDeviceLogic.getInstance().getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                //向云端获取逆变器列表
                getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
                    public void onSuccess(List<CloudInverterDeviceBean> inverterDeviceList) {
                        //向云端获取负载中心列表
                        getLoadCentreDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                            @Override
                            public void onSuccess(List<CloudInverterDeviceBean> loadCentreDeviceList) {
                                if (loadCentreDeviceList != null) {
                                    //合并负载中心设备列表,然后在一起做处理
                                    inverterDeviceList.addAll(loadCentreDeviceList);
                                }
                        List<String> removeSidList = new ArrayList<>();
                        for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                            if (!querySidInverter(list, gatewayBean.getSid())) {
                                    if (querySidInverter(inverterDeviceList, gatewayBean.getSid())) {
                                //本地有,云端没有,删除本地;
                                removeSidList.add(gatewayBean.getSid());
                            }
@@ -1082,16 +1087,78 @@
                            removeLocalInverter(removeSidList.get(i));
                        }
                        //情况1:有局域网,有外网;
                        setDeviceRemoteInfo(list, homeId, cloudCallBeak);
                                setDeviceRemoteInfo(inverterDeviceList, homeId, cloudCallBeak);
                            }
                            @Override
                            public void onFailure(HDLException e) {
                                //向云端获取负载中心设备列表失败后,仍然处理逆变器设备列表
                                List<String> removeSidList = new ArrayList<>();
                                for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                                    GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                                    if (querySidInverter(inverterDeviceList, gatewayBean.getSid())) {
                                        //本地有,云端没有,删除本地;
                                        removeSidList.add(gatewayBean.getSid());
                                    }
                                }
                                for (int i = 0; i < removeSidList.size(); i++) {
                                    //删除本地的逆变器
                                    removeLocalInverter(removeSidList.get(i));
                                }
                                //情况1:有局域网,有外网;
                                setDeviceRemoteInfo(inverterDeviceList, homeId, cloudCallBeak);
                            }
                        });
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        ///情况2:有局域网,没有外网;
                        //本地有逆变器列表,获取云端绑定逆变器失败,默认返回本地逆变器列表;
                        //向云端获取负载中心列表
                        getLoadCentreDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                            @Override
                            public void onSuccess(List<CloudInverterDeviceBean> loadCentreDeviceList) {
                                if (loadCentreDeviceList == null) {
                        if (cloudCallBeak != null) {
                            cloudCallBeak.onSuccess(getCurrentHomeGatewayList(homeId));
                        }
                                    return;
                                }
                                List<String> removeSidList = new ArrayList<>();
                                for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                                    GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                                    if (gatewayBean.getSpk().equals(INVERTER_DEVICE_SPK)) {
                                        //不是负载中心的spk不做处理;
                                        continue;
                                    }
                                    if (querySidInverter(loadCentreDeviceList, gatewayBean.getSid())) {
                                        //本地有,云端没有,删除本地;
                                        removeSidList.add(gatewayBean.getSid());
                                    }
                                }
                                for (int i = 0; i < removeSidList.size(); i++) {
                                    //删除本地的逆变器
                                    removeLocalInverter(removeSidList.get(i));
                                }
                                //情况1:有局域网,有外网;
                                setDeviceRemoteInfo(loadCentreDeviceList, homeId, cloudCallBeak);
                            }
                            @Override
                            public void onFailure(HDLException e) {
                                //向云端获取负载中心设备列表失败后,默认返回本地逆变器列表;
                                if (cloudCallBeak != null) {
                                    cloudCallBeak.onSuccess(getCurrentHomeGatewayList(homeId));
                                }
                            }
                        });
//                        if (cloudCallBeak != null) {
//                            cloudCallBeak.onSuccess(getCurrentHomeGatewayList(homeId));
//                        }
                    }
                });
            }
@@ -1099,7 +1166,7 @@
            @Override
            public void onError(HDLLinkException e) {
                //外网只有1种情况(本地搜索逆变器列表失败了)
                HdlDeviceLogic.getInstance().getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
                        //外网进来先【默认】清空本地逆变器列表
@@ -1169,19 +1236,21 @@
    }
    /**
     * 通过sid查询逆变器
     * 通过sid查询逆变器是否存绑定在云端
     *
     * @param list 云端上逆变器列表
     * @return 存在为true, 否则为false
     * @return true不存在,否则存在
     */
    private boolean querySidInverter(List<CloudInverterDeviceBean> list, String sid) {
        int exists_value = -1;
        for (int i = 0; i < list.size(); i++) {
            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
            if (sid.equals(cloudInverterDeviceBean.getSid())) {
                return true;
                exists_value = 1;
                break;
            }
        }
        return false;
        return exists_value == -1;
    }
    /**
@@ -1493,6 +1562,43 @@
        });
    }
    /**
     * 获取电站下负载控制中心列表
     *
     * @param homeId 电站id
     */
    public void getLoadCentreDeviceList(String homeId, CloudCallBeak<List<CloudInverterDeviceBean>> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Device_loadCentreDevices;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
        // json.addProperty("zoneType", "password");//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (TextUtils.isEmpty(jsonStr)) {
                    if (cloudCallBeak != null) {
                        cloudCallBeak.onSuccess(new ArrayList<>());
                    }
                }
                Type type = new TypeToken<List<CloudInverterDeviceBean>>() {
                }.getType();
                List<CloudInverterDeviceBean> list = new Gson().fromJson(jsonStr, type);
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(list);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 刷新逆变器缓存信息(包括设置mqtt秘钥)
     * 注: //目的是为了获取拿到网关ID,mqtt通讯秘钥等信息,缓存本地逆变器列表里面,发送数据数据时自动去缓存列表里面去查找;
@@ -1555,7 +1661,7 @@
     */
    public List<String> getGatewaySpk() {
        List<String> spks = new ArrayList<>();
        spks.add(DEVICE_SPK);
        spks.add(INVERTER_DEVICE_SPK);
        return spks;
    }
@@ -1571,5 +1677,8 @@
        return false;
    }
    public final String DEVICE_SPK = "energy.hdl_inverter";
    /**
     * 逆变器spk
     */
    public final String INVERTER_DEVICE_SPK = "energy.hdl_inverter";
}
app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
@@ -143,13 +143,19 @@
     * 前提条件:设备自动上报oid信息给云端
     *
     * @param deviceOidId oid云端id
     * @param oid         设备oid
     * @param homeId      电站id
     * @param callBack    -
     */
    public void getCurrentDeviceFirmwares(String deviceOidId, CloudCallBeak<List<DeviceFirmwareBean>> callBack) {
    public void getCurrentDeviceFirmwares(String deviceOidId, String oid, String homeId, CloudCallBeak<List<DeviceFirmwareBean>> callBack) {
        String requestUrl = HttpApi.POST_OTA_GET_DeviceFirmwares;
        JsonObject json = new JsonObject();
        if (!TextUtils.isEmpty(deviceOidId)) {
        json.addProperty("deviceOidId", deviceOidId);
        json.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
        } else {
            json.addProperty("oid", oid);
        }
        json.addProperty("homeId", homeId);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String json) {
@@ -263,12 +269,13 @@
     * 前提条件:设备自动上报oid信息给云端
     *
     * @param oid      网关设备oid
     * @param homeId   电站id
     * @param callBack -
     */
    public void getCurrentGatewayDrivers(String oid, CloudCallBeak<List<GatewayDriverBean>> callBack) {
    public void getCurrentGatewayDrivers(String oid, String homeId, CloudCallBeak<List<GatewayDriverBean>> callBack) {
        String requestUrl = HttpApi.POST_OTA_GET_GatewayDrivers;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
        json.addProperty("homeId", homeId);
        json.addProperty("oid", oid);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -264,7 +264,6 @@
                    }
                    break;
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(topic)) {
@@ -529,9 +528,17 @@
                    break;
                    //消息中心
                    case HDLUniMP.UNI_EVENT_REPLY_MINE_MESSAGE_CENTER: {
                        String homeId = getKeyValue("homeId", getKeyValue("data", data));
                        String isShowFault = getKeyValue("isShowFault", getKeyValue("data", data));
                        Intent intent = new Intent();
                        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        intent.setClass(HDLApp.getInstance(), MessageCenterList.class);
                        if (!TextUtils.isEmpty(homeId)) {
                            intent.putExtra("homeId", homeId);
                        }
                        if (!TextUtils.isEmpty(isShowFault)) {
                            intent.putExtra("isShowFault", isShowFault);
                        }
                        HDLApp.getInstance().startActivity(intent);
                    }
                    break;
@@ -1196,7 +1203,9 @@
     */
    private void uniGetCurrentDeviceFirmwares(String type, Object data, DCUniMPJSCallback callback) {
        String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//云端上设备id
        HdlOtaLogic.getInstance().getCurrentDeviceFirmwares(deviceOidId, new CloudCallBeak<List<DeviceFirmwareBean>>() {
        String oid = getKeyValue("oid", getKeyValue("data", data));//设备oid
        String homeId = getKeyValue("homeId", getKeyValue("data", data));//电站id
        HdlOtaLogic.getInstance().getCurrentDeviceFirmwares(deviceOidId, oid, homeId, new CloudCallBeak<List<DeviceFirmwareBean>>() {
            @Override
            public void onSuccess(List<DeviceFirmwareBean> obj) {
                uniSuccessCallback(type, obj, callback);
@@ -1447,7 +1456,8 @@
     */
    private void uniGetCurrentGatewayDrivers(String type, Object data, DCUniMPJSCallback callback) {
        String deviceOid = getKeyValue("oid", getKeyValue("data", data));
        HdlOtaLogic.getInstance().getCurrentGatewayDrivers(deviceOid, new CloudCallBeak<List<GatewayDriverBean>>() {
        String homeId = getKeyValue("homeId", getKeyValue("data", data));//电站id
        HdlOtaLogic.getInstance().getCurrentGatewayDrivers(deviceOid, homeId, new CloudCallBeak<List<GatewayDriverBean>>() {
            @Override
            public void onSuccess(List<GatewayDriverBean> obj) {
                uniSuccessCallback(type, obj, callback);
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -658,12 +658,13 @@
                    }
                });
            }
        } else if (event.getTopic().contains(ConstantManage.station_status)) {
        } else if (event.getTopic().contains(ConstantManage.homepage_title_tab_switch)) {
            if (event.getType().contains(ConstantManage.station_page)) {
                //从首页指定电站状态打开电站界面
            currentFragmentIndex = 1;
            bottomViewChangeOfStyle();
            showFragment();
            HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, event.getType());
            }
        }
    }
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -236,6 +236,50 @@
                    getDialog();
                    return;
                }
                //登录
                Login(account, password);
            }
        });
        //体验电站
        viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setSelected(!v.isSelected());
                UserConfigManage.getInstance().setUserExperience(v.isSelected());
//                requestPermissions();
//                startActivity(BPowerStationActivity.class);
            }
        });
        //注册
        viewBinding.homeLoginRegisterTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(LoginActivity.this, RegisterAccountActivity.class);
                startActivity(intent);
            }
        });
        //忘记密码
        viewBinding.homeLoginForgetPasswordTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(LoginActivity.this, ChangePassword.class);
                startActivity(intent);
            }
        });
    }
    /**
     * 登录
     *
     * @param account  账号
     * @param password 密码
     */
    private void Login(String account, String password) {
                showLoading(getString(R.string.home_login_be_logging_in));
                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
                    @Override
@@ -319,38 +363,6 @@
                    public void onFailure(HDLException e) {
                        hideLoading();
                        HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
                    }
                });
            }
        });
        //体验电站
        viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setSelected(!v.isSelected());
                UserConfigManage.getInstance().setUserExperience(v.isSelected());
//                requestPermissions();
//                startActivity(BPowerStationActivity.class);
            }
        });
        //注册
        viewBinding.homeLoginRegisterTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(LoginActivity.this, RegisterAccountActivity.class);
                startActivity(intent);
            }
        });
        //忘记密码
        viewBinding.homeLoginForgetPasswordTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(LoginActivity.this, ChangePassword.class);
                startActivity(intent);
            }
        });
@@ -543,6 +555,9 @@
                UserConfigManage.getInstance().setAcceiptPolicy(true);
                viewBinding.homeLoginPrivacyCheckIv.setSelected(true);
                confirmationCancelDialog.dismiss();
                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
                Login(account, password);
            }
        });
        confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -128,7 +128,7 @@
        viewBinding.homeAllIl.parentLl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.All);
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch,ConstantManage.station_page, PowerStationStatus.All);
            }
        });
@@ -136,21 +136,21 @@
        viewBinding.homeFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.malfunction);
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch,ConstantManage.station_page, PowerStationStatus.malfunction);
            }
        });
        //离线
        viewBinding.homeOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.off);
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch,ConstantManage.station_page, PowerStationStatus.off);
            }
        });
        //待接入
        viewBinding.homeConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.connecting);
                HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch,ConstantManage.station_page, PowerStationStatus.connecting);
            }
        });
        //时间选择器
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -189,6 +189,15 @@
                }
            }
        });
        //设备调试
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //设备调试
                String path = HDLUniMP.UNI_EVENT_OPEN_MINE_DEVICEDEBUG;
                HdlUniLogic.getInstance().openUniMP(path, null);
            }
        });
        //员工管理(主账号才显示)
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
@@ -197,6 +206,7 @@
                HdlUniLogic.getInstance().openUniMP(path, null);
            }
        });
        //设置
        viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -205,6 +215,7 @@
                startActivity(intent);
            }
        });
        //关于
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -230,15 +241,18 @@
     * 初始化界面
     */
    private void initView() {
        //设备调试
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.device_debug);
        viewBinding.fragmentMeLineDeviceDebugIl.fragmentMeLineTitleIv.setText(R.string.device_debugging);
        //员工管理
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.user_management);
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineTitleIv.setText(R.string.staff_management);
        viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.GONE);//先隐藏,读取到有限权在显示
//        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        //设备
        viewBinding.fragmentMeLineSetIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.set);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_set);
        //关于
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards);
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_regard);
//        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineV.setVisibility(View.VISIBLE);
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -59,8 +59,8 @@
    private int mTotalCount = 0; //总条数
    private int mCurrentPage = 0; // 当前页码
    private int mCurrentTotal = 0; // 总页码
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元;"LOAD_CENTRE":负载控制中心)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元;"LOAD_CENTRE":负载控制中心
    private String mTypeFilterKye = FilterType.all;//过滤类型 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
    private String mTypeFilterValue = FilterType.all;//过滤类型值 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
@@ -609,6 +609,7 @@
        map.put(getString(R.string.alarm_all_device_inverter), "INV");
        map.put(getString(R.string.alarm_all_device_bms), "BMS");
        map.put(getString(R.string.alarm_all_device_battery_cell), "BATTERY");
        map.put(getString(R.string.alarm_all_device_load_centre), "LOAD_CENTRE");
        map.put(getString(R.string.alarm_all_grade), "");//设等级全部
        map.put(getString(R.string.alarm_all_grade_malfunction), "FAULT");
        map.put(getString(R.string.alarm_all_grade_warning), "WARN");
@@ -641,6 +642,7 @@
                stringList.add(getString(R.string.alarm_all_device_inverter));
                stringList.add(getString(R.string.alarm_all_device_bms));
                stringList.add(getString(R.string.alarm_all_device_battery_cell));
                stringList.add(getString(R.string.alarm_all_device_load_centre));
            }
            break;
            case FilterType.type: {
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -61,7 +61,7 @@
    private int mTotalCount1 = 0;//消息数量总数
    private int mTotalCount2 = 0;//消息数量总数
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterKye = FilterType.all;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mTypeFilterKye = FilterType.all;//过滤类型 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
@@ -76,6 +76,7 @@
    //     *                                timeType(TODAY :今天;LAST_3_DAYS: 近3天;LAST_7_DAYS :近7天;LAST_30_DAYS :近30天);
    private boolean isLoadingMore = false; // 标记正在加载更多数据
    LinearLayoutManager mLayoutManager;
    @Override
    public Object getContentView() {
@@ -94,7 +95,7 @@
        //初始化界面监听器
        initEvent();
        //进来读取一次数据(为了更新currentPage,currentTotal这个值)
        loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all);
        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
    }
    @Override
@@ -241,7 +242,7 @@
                if (isAlarmDeviceClick) {
                    return;//防止多次点击
                }
                mDeviceTypeFilterKye = FilterType.deviceType;
                mDeviceTypeFilterKye = FilterType.all;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
@@ -262,7 +263,7 @@
                if (!isAlarmDeviceClick) {
                    return;//防止多次点击
                }
                mDeviceTypeFilterKye = FilterType.deviceType;
                mDeviceTypeFilterKye = FilterType.all;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
@@ -344,6 +345,22 @@
    }
    private void initData() {
        try {
            Intent intent = getIntent();
            if (intent != null) {
                String isShowFault = intent.getStringExtra("isShowFault");
                if (isShowFault.equals("true")) {
                    //默认故障全部
                    mDeviceTypeFilterKye = FilterType.all;
                    mDeviceTypeFilterValue = FilterType.all;
                    mTypeFilterKye = FilterType.type;
                    mTypeFilterValue = "FAULT";
                    mTimeTypeFilterKye = FilterType.all;
                    mTimeTypeFilterValue = FilterType.all;
                }
            }
        } catch (Exception ignored) {
        }
    }
    /**
@@ -570,6 +587,7 @@
        map.put(getString(R.string.alarm_all_device_inverter), "INV");
        map.put(getString(R.string.alarm_all_device_bms), "BMS");
        map.put(getString(R.string.alarm_all_device_battery_cell), "BATTERY");
        map.put(getString(R.string.alarm_all_device_load_centre), "LOAD_CENTRE");
        map.put(getString(R.string.alarm_all_grade), "");//设等级全部
        map.put(getString(R.string.alarm_all_grade_malfunction), "FAULT");
        map.put(getString(R.string.alarm_all_grade_warning), "WARN");
@@ -602,6 +620,7 @@
                stringList.add(getString(R.string.alarm_all_device_inverter));
                stringList.add(getString(R.string.alarm_all_device_bms));
                stringList.add(getString(R.string.alarm_all_device_battery_cell));
                stringList.add(getString(R.string.alarm_all_device_load_centre));
            }
            break;
            case FilterType.type: {
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -18,7 +18,6 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.bean.PageNumberObject;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
@@ -94,7 +93,7 @@
    /**
     * 还原条件的初始化状态
     */
    private void InitializationState() {
    private void initializationState() {
        key = SortValue.all;
        value = SortValue.all;
        installedCapacityMinValue = "";
@@ -130,7 +129,7 @@
                }
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                InitializationState();
                initializationState();
                getStatusOverview();
                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -676,10 +675,10 @@
        } else if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
            //接收外部点击事件
            if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
            //接收外部点击事件
            if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
                HdlLogLogic.print("正在点击【电站】");
//                if (!isReadData) {
//                    //1,从首页-故障-进来-电站(不读取)
@@ -690,27 +689,28 @@
                //2024年06月24日14:34:01 产品经理要求进去电站列表都要读取 且默认进去都是默认电站标签
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                InitializationState();
                initializationState();
                getStatusOverview();
                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
            } else if (eventBus.getType().equals(PowerStationStatus.All)) {
            } else if (eventBus.getType().equals(ConstantManage.station_page)) {
                //通过首页电站进来的
                if (eventBus.getData().equals(PowerStationStatus.All)) {
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                viewBinding.powerStationAllIl.parentLl.performClick();
            } else if (eventBus.getType().equals(PowerStationStatus.malfunction)) {
                } else if (eventBus.getData().equals(PowerStationStatus.malfunction)) {
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                viewBinding.powerStationFaultsIl.parentLl.performClick();
            } else if (eventBus.getType().equals(PowerStationStatus.off)) {
                } else if (eventBus.getData().equals(PowerStationStatus.off)) {
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                viewBinding.powerStationOfflineIl.parentLl.performClick();
            } else if (eventBus.getType().equals(PowerStationStatus.connecting)) {
                } else if (eventBus.getData().equals(PowerStationStatus.connecting)) {
                isClickPowerStationLabel = true;
                selectedTitleLabelStyle();
                viewBinding.powerStationConnectedIl.parentLl.performClick();
                }
            } else if (eventBus.getType().equals(ConstantManage.station_edit)) {
                //编辑后更新一下住宅列表
                //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -64,7 +64,6 @@
    public final static String UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_info= "device_info";//获取设备详情
    /*********OTA模块*********/
    public final static String UNI_EVENT_REPLY_OTA_MODEL = "uni_ota_model";//升级模块(大类)
    public final static String UNI_EVENT_REPLY_OTA_CLOUD_OID_LIST = "cloud_oid_list";//向云端获取oid列表
@@ -161,6 +160,8 @@
    public final static String UNI_EVENT_OPEN_HOME_Null_C = "pages/powerStationDetail/tabbarPage";//无电站时(不需要传参数)
    public final static String UNI_EVENT_OPEN_DEVICE_DETAILS = "pages/powerStationDetail/childPage/device/detail";//设备详情
    public final static String UNI_EVENT_OPEN_MINE_MINESTAFFMANAGER = "pages/mine/mineStaffManager";//B端打开员工管理界面
    public final static String UNI_EVENT_OPEN_MINE_DEVICEDEBUG = "pages/deviceDebug/searchInverterList";//B端打开设备调试界面
    public final static String UNI_EVENT_OPEN_DEVICESCAN = "pages/powerStation/deviceScan";//跳到uni扫二维码界面
    /*********设备模块*********/
app/src/main/res/drawable/device_debug.png
app/src/main/res/layout/fragment_me.xml
@@ -103,6 +103,10 @@
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/fragment_me_icon_parent_cl">
        <!--设备调试-->
        <include
            android:id="@+id/fragment_me_line_device_debug_il"
            layout="@layout/fragment_me_line" />
        <!--主账号才显示-->
        <include
            android:id="@+id/fragment_me_line_user_management_il"
app/src/main/res/values-en/strings.xml
@@ -176,7 +176,7 @@
    <!--弹框-->
    <string name="loading_cancel">Cancel</string>
    <string name="loading_affirm">Confirm</string>
    <string name="loading_agree">Agree</string>
    <string name="loading_agree">Agree and sign in</string>
    <string name="loading_on_agree">Disagree</string>
    <string name="loading_privacy">Privacy policy and terms of service</string>
    <string name="loading_privacy_server">To better protect your legitimate rights and interests, please read and agree to the following agreements 《Privacy Policy》 and 《Terms of Service》.</string>
@@ -229,6 +229,7 @@
    <string name="alarm_all_device_inverter">inverter</string>
    <string name="alarm_all_device_bms">BMS control box</string>
    <string name="alarm_all_device_battery_cell">Battery unit</string>
    <string name="alarm_all_device_load_centre">Load centre</string>
    <string name="alarm_all_grade">All grades</string>
    <string name="alarm_all_grade_malfunction">malfunction</string>
    <string name="alarm_all_grade_warning">warning</string>
@@ -327,5 +328,6 @@
    <string name="capture_no_result2">No results were scanned, it may not be a valid QR code</string>
    <string name="scan_cancel">Cancel</string>
    <string name="not_delivery_qr_code">Not delivery of QR code.</string>
    <string name="device_debugging">Device debugging</string>
</resources>
app/src/main/res/values-zh/strings.xml
@@ -175,7 +175,7 @@
    <!--弹框-->
    <string name="loading_cancel">取消</string>
    <string name="loading_affirm">确认</string>
    <string name="loading_agree">同意</string>
    <string name="loading_agree">同意并登录</string>
    <string name="loading_on_agree">不同意</string>
    <string name="loading_privacy">隐私权政策及服务条款</string>
    <string name="loading_privacy_server">为了更好的保障您的合法权益,请您阅读并同意以下协议《隐私权政策》和《服务条款》</string>
@@ -228,6 +228,7 @@
    <string name="alarm_all_device_inverter">逆变器</string>
    <string name="alarm_all_device_bms">BMS控制盒</string>
    <string name="alarm_all_device_battery_cell">电池单元</string>
    <string name="alarm_all_device_load_centre">负载中心</string>
    <string name="alarm_all_grade">全部等级</string>
    <string name="alarm_all_grade_malfunction">故障</string>
    <string name="alarm_all_grade_warning">警告</string>
@@ -324,6 +325,7 @@
    <string name="capture_no_result2">没有扫描出结果,可能不是有效的二维码</string>
    <string name="scan_cancel">取消</string>
    <string name="not_delivery_qr_code">不是交付二维码.</string>
    <string name="device_debugging">设备调测</string>
</resources>
app/src/main/res/values/strings.xml
@@ -175,7 +175,7 @@
    <!--弹框-->
    <string name="loading_cancel">取消</string>
    <string name="loading_affirm">确认</string>
    <string name="loading_agree">同意</string>
    <string name="loading_agree">同意并登录</string>
    <string name="loading_on_agree">不同意</string>
    <string name="loading_privacy">隐私权政策及服务条款</string>
    <string name="loading_privacy_server">为了更好的保障您的合法权益,请您阅读并同意以下协议《隐私权政策》和《服务条款》</string>
@@ -228,6 +228,7 @@
    <string name="alarm_all_device_inverter">逆变器</string>
    <string name="alarm_all_device_bms">BMS控制盒</string>
    <string name="alarm_all_device_battery_cell">电池单元</string>
    <string name="alarm_all_device_load_centre">负载中心</string>
    <string name="alarm_all_grade">全部等级</string>
    <string name="alarm_all_grade_malfunction">故障</string>
    <string name="alarm_all_grade_warning">警告</string>
@@ -245,7 +246,6 @@
    <string name="already_the_first_one">已经是第一个了.</string>
    <string name="restarting_please_wait">重启中,请等待…</string>
    <string name="port_conflict">应用冲突,需要关闭onpro或者其它版本的调试软件然后再重新启动这个软件试试</string>
    <string name="cancel_download_successfully">取消下载成功.</string>
@@ -326,6 +326,7 @@
    <string name="capture_no_result2">没有扫描出结果,可能不是有效的二维码</string>
    <string name="scan_cancel">取消</string>
    <string name="not_delivery_qr_code">不是交付二维码.</string>
    <string name="device_debugging">设备调测</string>
</resources>