mac
2024-05-16 7fdae87bc3de46b5b012f8987c6902cd8b054323
2024年05月16日18:17:09
2个文件已添加
14个文件已修改
567 ■■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/module_13_ffffff.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_my_power_station.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_home_page.xml 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_data.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_station.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java
@@ -6,5 +6,5 @@
    String off = "2";//离线
    String connecting = "3";//连接中(待接入)
    String malfunction = "4";//故障
    String off_malfunction = "4";//离线有故障
    String off_malfunction = "5";//离线有故障
}
app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java
New file
@@ -0,0 +1,9 @@
package com.hdl.photovoltaic.enums;
public interface PowerStationStatusType {
    String All = "1";//全部
    String off = "2";//离线
    String connecting = "3";//连接中(待接入)
    String malfunction = "4";//故障
}
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -44,6 +44,8 @@
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
@@ -76,7 +78,34 @@
    public static final String kWh = "kW.h";
    public static final String kW = "kW";
    public static final String noValue = "0.00";
    private List<DeviceBean> mListDevice = new ArrayList<>();
    public static String getConvertDoubleUnit(String value) {
        if (TextUtils.isEmpty(value)) {
            return noValue + kWh;
        }
        BigDecimal formattedValue = getBigDecimal(value);
        return formattedValue + kWh;
    }
    public static String getConvertDoubleUnit(int value) {
        if (value == 0) {
            return noValue + kWh;
        }
        BigDecimal formattedValue = getBigDecimal(value + "");
        return formattedValue + kWh;
    }
    private static BigDecimal getBigDecimal(String value) {
        if (TextUtils.isEmpty(value)) {
            return new BigDecimal(0);
        }
        double doubleValue = Double.parseDouble(value);
        return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
    }
    public void clearDeviceList() {
        if (mListDevice == null) {
@@ -212,7 +241,6 @@
            }
        });
    }
    /**
@@ -1351,9 +1379,6 @@
            }
        });
    }
    /**
app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java
@@ -6,7 +6,6 @@
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.enums.TimeType;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -52,15 +51,18 @@
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (TextUtils.isEmpty(jsonStr)) {
                    if (cloudCallBeak != null) {
                        cloudCallBeak.onSuccess(null);
                try {
                    if (TextUtils.isEmpty(jsonStr)) {
                        if (cloudCallBeak != null) {
                            cloudCallBeak.onSuccess(new DataOverBean());
                        }
                    }
                }
                Gson gson = new Gson();
                DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class);
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(dataOverBean);
                    Gson gson = new Gson();
                    DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class);
                    if (cloudCallBeak != null) {
                        cloudCallBeak.onSuccess(dataOverBean);
                    }
                } catch (Exception ignored) {
                }
            }
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -7,6 +7,7 @@
import androidx.fragment.app.FragmentTransaction;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -17,6 +18,7 @@
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -34,6 +36,7 @@
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlMqttLogic;
import com.hdl.photovoltaic.other.HdlOtaLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
@@ -41,6 +44,7 @@
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.ui.bean.UnCountBean;
import com.hdl.photovoltaic.ui.home.HomePageFragment;
import com.hdl.photovoltaic.ui.me.MeFragment;
import com.hdl.photovoltaic.ui.message.MessageFragment;
@@ -113,6 +117,8 @@
        this.clickJpushNotificationMessage();
        //初始化权限
        this.requestPermissions();
        //读取消息未读数量
        this.getUnreadCount();
    }
@@ -635,6 +641,56 @@
    }
    /**
     * 读取消息【未读数量,未处理总数量,已处理总数量】
     */
    private void getUnreadCount() {
        HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() {
            @Override
            public void onSuccess(UnCountBean unCountBean) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        if (unCountBean == null) {
                            return;
                        }
                        //刷新【消息模块】下角标数值
                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                        if (textView != null) {
                            if (unCountBean.getUnreadCount() == 0) {
                                textView.setVisibility(View.GONE);
                            } else {
                                textView.setVisibility(View.VISIBLE);
                                if (unCountBean.getUnreadCount() > 99) {
                                    textView.setText("99+");
                                } else {
                                    textView.setText(unCountBean.getUnreadCount() + "");
                                }
                            }
                        }
                    }
                });
            }
            @Override
            public void onFailure(HDLException e) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                        if (textView != null) {
                            textView.setVisibility(View.GONE);
                        }
                    }
                });
            }
        });
    }
    /**
     * 点击极光通知栏消息进来
     */
    private void clickJpushNotificationMessage() {
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -234,10 +234,10 @@
                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
                    @Override
                    public void onSuccess(HDLUserRegionBean obj) {
                        //String APP_REGIONURL_TEST = "http://47.114.131.143:27199";
                        //AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
                        String APP_REGIONURL_TEST = "http://47.114.131.143:27199";
                        AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
                        //初始化服务域名
                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
//                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
                        HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
                        HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
                            @Override
@@ -562,8 +562,6 @@
        viewBinding.homeLoginAccountEt.removeTextChangedListener(accountTextWatcher);
        viewBinding.homeLoginPasswordEt.removeTextChangedListener(passwordTextWatcher);
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java
@@ -6,7 +6,6 @@
 * 统计概览数据实体类
 */
public class DataOverBean implements Serializable {
    private String installedCapacity;//装机容量
    private String power;//发电功率
    private String powerRatio;//发电功率占比(当日发电功率/装机容量 * 100%    )
@@ -32,7 +31,7 @@
    }
    public String getPowerRatio() {
        return powerRatio == null ? "" : getPowerRatio();
        return powerRatio == null ? "" : powerRatio;
    }
    public void setPowerRatio(String powerRatio) {
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -29,11 +29,15 @@
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlPowerStationDataStatisticsLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.DataOverBean;
import com.hdl.photovoltaic.ui.bean.SocialContributionBean;
import com.hdl.photovoltaic.ui.bean.StatisticsBean;
import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
import com.hdl.photovoltaic.ui.home.aachart.BasicChartComposer;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.TimeUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -91,6 +95,7 @@
        HdlThreadLogic.runSubThread(new Runnable() {
            @Override
            public void run() {
                getStatusOverview();
                getDataOver();
                getStatistics();
                getSocialContribution();
@@ -100,6 +105,13 @@
    }
    private void initEvent() {
        //电站添加
        viewBinding.homePageStationAddIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
            }
        });
        //时间选择器
        viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() {
            @Override
@@ -356,6 +368,12 @@
    private void initView() {
        viewBinding.homeAllIl.stationTitleTv.setText(getString(R.string.message_all));
        viewBinding.homeFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction));
        viewBinding.homeOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line));
        viewBinding.homeConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added));
        String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
        viewBinding.yearMonthDayTv.setText(dataStr);
@@ -363,7 +381,7 @@
        viewBinding.infoRl1Text2Tv.setText(installed_capacity);
        String generated_power = getString(R.string.generated_power) + "(" + HdlDeviceLogic.kW + ")";
        viewBinding.infoRl1Text4Tv.setText(generated_power);
        String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWp + ")";
        String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWh + ")";
        viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
        viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation);
@@ -416,6 +434,29 @@
        }
    }
    /**
     * 电站状态概览
     */
    private void getStatusOverview() {
        HdlResidenceLogic.getInstance().getStatusOverview(new CloudCallBeak<StatusOverviewBean>() {
            @Override
            public void onSuccess(StatusOverviewBean statusOverviewBean) {
                if (statusOverviewBean == null) {
                    return;
                }
                viewBinding.homeAllIl.stationTotalTv.setText(statusOverviewBean.getTotal() + "");
                viewBinding.homeFaultsIl.stationTotalTv.setText(statusOverviewBean.getFault() + "");
                viewBinding.homeOfflineIl.stationTotalTv.setText(statusOverviewBean.getOffline() + "");
                viewBinding.homeConnectedIl.stationTotalTv.setText(statusOverviewBean.getConnecting() + "");
            }
            @Override
            public void onFailure(HDLException e) {
            }
        });
    }
    /**
     * 获取统计概览数据(公司维度)
@@ -424,17 +465,22 @@
        HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak<DataOverBean>() {
            @Override
            public void onSuccess(DataOverBean dataOverBean) {
                if (dataOverBean == null) {
                    return;
                }
                viewBinding.infoRl1Text1Tv.setText(dataOverBean.getInstalledCapacity());
                viewBinding.infoRl1Text3Tv.setText(dataOverBean.getPower());
                viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        if (dataOverBean == null) {
                            return;
                        }
                        viewBinding.infoRl1Text1Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
                        viewBinding.infoRl1Text3Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getPower()));
                        viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
                viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(dataOverBean.getTodayElectricity());
                viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(dataOverBean.getMonthElectricity());
                viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(dataOverBean.getYearElectricity());
                viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(dataOverBean.getTotalElectricity());
                        viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
                        viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
                        viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
                        viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
                    }
                });
            }
            @Override
@@ -474,7 +520,7 @@
    }
    /**
     * 发电量统计(公司维度)
     * 社会贡献(公司维度)
     */
    private void getSocialContribution() {
        HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() {
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -495,10 +495,15 @@
            @Override
            public void onFailure(HDLException e) {
                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                if (textView != null) {
                    textView.setVisibility(View.GONE);
                }
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                        if (textView != null) {
                            textView.setVisibility(View.GONE);
                        }
                    }
                });
            }
        });
    }
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
@@ -73,6 +73,16 @@
        }
    }
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        BaseEventBus baseEventBus = new BaseEventBus();
        baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch);
        baseEventBus.setType(HomepageTitleTabSwitch.powerstation.toString());
        EventBus.getDefault().post(baseEventBus);
        finish();
    }
    private void initEvent() {
        //返回按钮
        viewBinding.toolbarTopFragmentHouseListRl.topBackLl.setOnClickListener(new View.OnClickListener() {
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -88,6 +88,9 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        //放在这里也对,这里只是被创建一次
//        loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
//        getStatusOverview();
        initData();
        //初始化
        initView();
@@ -494,8 +497,13 @@
            //接收外部点击事件
            if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
                HdlLogLogic.print("正在点击【电站】");
//                HdlThreadLogic.runSubThread(new Runnable() {
//                    @Override
//                    public void run() {
                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
                getStatusOverview();
//                    }
//                });
            }
        }
@@ -541,15 +549,7 @@
     * @param pageNo               页码
     * @param isClear              是否清除数据
     */
    private void loadNextPageHouseList(boolean isRefreshing,
                                       String key,
                                       String keyValue,
                                       String installedCapacityMin,
                                       String installedCapacityMax,
                                       String gridType,
                                       String powerStationStatus,
                                       long pageNo,
                                       boolean isClear) {
    private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, long pageNo, boolean isClear) {
        if (isClear) {
            clearData();
        }
@@ -565,57 +565,50 @@
        }
        //获取住宅(电站)ID列表
        HdlResidenceLogic.getInstance().getResidenceIdList(
                key,
                keyValue,
                installedCapacityMin,
                installedCapacityMax,
                gridType,
                powerStationStatus,
                pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
        HdlResidenceLogic.getInstance().getResidenceIdList(key, keyValue, installedCapacityMin, installedCapacityMax, gridType, powerStationStatus, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
            @Override
            public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
                        HdlThreadLogic.runMainThread(new Runnable() {
                            @Override
                            public void run() {
                                if (isRefreshing) {
                                    hideLoading();
                                }
                                isHouseLoadingMore = false;
                                if (houseBeanClass != null) {
                                    currentHouseListTotal = (int) houseBeanClass.getTotalPage();
                                    currentHouseListPage = (int) houseBeanClass.getPageNo();
                                    //更新缓存
                                    HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList());
                                    if (houseInfoAdapter != null) {
                                        initData();
                                        //更新UI
                                        houseInfoAdapter.setList(houseListBeanIDList);
                                    }
                                }
                                nullDataUpdateUi();
                    public void run() {
                        if (isRefreshing) {
                            hideLoading();
                        }
                        isHouseLoadingMore = false;
                        if (houseBeanClass != null) {
                            currentHouseListTotal = (int) houseBeanClass.getTotalPage();
                            currentHouseListPage = (int) houseBeanClass.getPageNo();
                            //更新缓存
                            HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList());
                            if (houseInfoAdapter != null) {
                                initData();
                                //更新UI
                                houseInfoAdapter.setList(houseListBeanIDList);
                            }
                        }, _mActivity, ShowErrorMode.YES);
                        }
                        nullDataUpdateUi();
                    }
                }, _mActivity, ShowErrorMode.YES);
            }
            @Override
            public void onFailure(HDLException e) {
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        if (currentHouseListPage > 1) {
                            --currentHouseListPage;
                        }
                        isHouseLoadingMore = false;
                        if (isRefreshing) {
                            hideLoading();
                        }
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        HdlThreadLogic.runMainThread(new Runnable() {
                            @Override
                            public void run() {
                                if (currentHouseListPage > 1) {
                                    --currentHouseListPage;
                                }
                                isHouseLoadingMore = false;
                                if (isRefreshing) {
                                    hideLoading();
                                }
                            }
                        }, _mActivity, ShowErrorMode.YES);
                    }
                });
                }, _mActivity, ShowErrorMode.YES);
            }
        });
    }
    /**
app/src/main/res/drawable/module_13_ffffff.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/text_FFFFFFFF" />
    <corners
        android:topLeftRadius="@dimen/dp_13"
        android:topRightRadius="@dimen/dp_13" />
</shape>
app/src/main/res/layout/activity_my_power_station.xml
@@ -22,7 +22,7 @@
        android:id="@+id/my_power_station_bottom_ll"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_49"
        android:background="@color/text_FFFFFFFF"
        android:background="@drawable/module_13_ffffff"
        android:orientation="horizontal"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
app/src/main/res/layout/fragment_home_page.xml
@@ -45,147 +45,43 @@
            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_16"
                android:layout_marginEnd="@dimen/dp_16">
                android:layout_height="wrap_content">
                <RelativeLayout
                <!--条件筛选-->
                <LinearLayout
                    android:id="@+id/home_page_station_ll"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dp_56"
                    android:layout_marginStart="@dimen/dp_16"
                    android:orientation="horizontal"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent">
                    <RelativeLayout
                        android:id="@+id/station_status_all_rl"
                        android:layout_width="74dp"
                        android:layout_height="match_parent"
                        android:background="@drawable/station_status_no_ffffff">
                    <include
                        android:id="@+id/home_all_il"
                        layout="@layout/item_station" />
                        <TextView
                            android:id="@+id/station_status_all_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_25"
                            android:layout_marginTop="7dp"
                            android:gravity="center"
                            android:text="999"
                            android:textColor="@color/text_E6000000"
                            android:textSize="@dimen/text_21"
                            android:textStyle="bold" />
                    <include
                        android:id="@+id/home_faults_il"
                        layout="@layout/item_station" />
                        <TextView
                            android:id="@+id/station_status_number_all_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_17"
                            android:layout_below="@+id/station_status_all_tv"
                            android:layout_marginTop="1dp"
                            android:gravity="center"
                            android:text="state"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_14" />
                    </RelativeLayout>
                    <include
                        android:id="@+id/home_offline_il"
                        layout="@layout/item_station" />
                    <RelativeLayout
                        android:id="@+id/station_status_faults_rl"
                        android:layout_width="74dp"
                        android:layout_height="match_parent"
                        android:layout_marginStart="@dimen/dp_16"
                        android:layout_toEndOf="@+id/station_status_all_rl"
                        android:background="@drawable/station_status_no_ffffff">
                    <include
                        android:id="@+id/home_connected_il"
                        layout="@layout/item_station" />
                        <TextView
                            android:id="@+id/station_status_faults_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_25"
                            android:layout_marginTop="7dp"
                            android:gravity="center"
                            android:text="999"
                            android:textColor="@color/text_E6000000"
                            android:textSize="@dimen/text_21"
                            android:textStyle="bold" />
                        <TextView
                            android:id="@+id/station_status_number_faults_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_17"
                            android:layout_below="@+id/station_status_faults_tv"
                            android:layout_marginTop="1dp"
                            android:gravity="center"
                            android:text="state"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_14" />
                    </RelativeLayout>
                    <RelativeLayout
                        android:id="@+id/station_status_off_rl"
                        android:layout_width="74dp"
                        android:layout_height="match_parent"
                        android:layout_marginStart="@dimen/dp_16"
                        android:layout_toEndOf="@+id/station_status_faults_rl"
                        android:background="@drawable/station_status_no_ffffff">
                        <TextView
                            android:id="@+id/station_status_off_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_25"
                            android:layout_marginTop="7dp"
                            android:gravity="center"
                            android:text="999"
                            android:textColor="@color/text_E6000000"
                            android:textSize="@dimen/text_21"
                            android:textStyle="bold" />
                        <TextView
                            android:id="@+id/station_status_number_off_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_17"
                            android:layout_below="@+id/station_status_off_tv"
                            android:layout_marginTop="1dp"
                            android:gravity="center"
                            android:text="state"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_14" />
                    </RelativeLayout>
                    <RelativeLayout
                        android:id="@+id/station_status_connected_rl"
                        android:layout_width="74dp"
                        android:layout_height="match_parent"
                        android:layout_marginStart="@dimen/dp_16"
                        android:layout_toEndOf="@+id/station_status_off_rl"
                        android:background="@drawable/station_status_no_ffffff">
                        <TextView
                            android:id="@+id/station_status_connected_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_25"
                            android:layout_marginTop="7dp"
                            android:gravity="center"
                            android:text="999"
                            android:textColor="@color/text_E6000000"
                            android:textSize="@dimen/text_21"
                            android:textStyle="bold" />
                        <TextView
                            android:id="@+id/station_status_number_connected_tv"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/dp_17"
                            android:layout_below="@+id/station_status_connected_tv"
                            android:layout_marginTop="1dp"
                            android:gravity="center"
                            android:text="state"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_14" />
                    </RelativeLayout>
                </RelativeLayout>
                </LinearLayout>
                <!--装机容量 发电功率数据显示-->
                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/home_page_station_info_cl"
                    android:layout_width="0dp"
                    android:layout_height="312dp"
                    android:layout_marginStart="@dimen/dp_16"
                    android:layout_marginEnd="@dimen/dp_16"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/home_page_station_ll">
@@ -237,7 +133,7 @@
                            android:layout_marginStart="@dimen/dp_16"
                            android:layout_marginTop="@dimen/dp_21"
                            android:layout_toEndOf="@+id/home_page_station_info_rl1_f"
                            android:text="33333333" />
                            android:text="0.00kW.h" />
                        <TextView
                            android:id="@+id/info_rl1_text2_tv"
@@ -257,7 +153,7 @@
                            android:layout_below="@+id/info_rl1_text2_tv"
                            android:layout_alignStart="@+id/info_rl1_text1_tv"
                            android:layout_marginTop="@dimen/dp_16"
                            android:text="33333" />
                            android:text="0.00kW.h" />
                        <TextView
                            android:id="@+id/info_rl1_text4_tv"
@@ -350,6 +246,8 @@
                    android:id="@+id/home_page_station_data_cl"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp_16"
                    android:layout_marginEnd="@dimen/dp_16"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/home_page_station_info_cl">
@@ -559,12 +457,14 @@
                            />
                    </FrameLayout>
                </androidx.constraintlayout.widget.ConstraintLayout>
                <!--社会贡献显示-->
                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/home_page_station_statistics_cl"
                    android:layout_width="match_parent"
                    android:layout_height="186dp"
                    android:layout_marginStart="@dimen/dp_16"
                    android:layout_marginTop="@dimen/dp_26"
                    android:layout_marginEnd="@dimen/dp_16"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/home_page_station_data_cl">
@@ -629,7 +529,7 @@
                            android:layout_alignParentTop="true"
                            android:layout_marginStart="@dimen/dp_10"
                            android:layout_marginTop="@dimen/dp_35"
                            android:text="ssss"
                            android:text="s"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_12" />
@@ -685,7 +585,7 @@
                            android:layout_alignParentTop="true"
                            android:layout_marginStart="@dimen/dp_10"
                            android:layout_marginTop="@dimen/dp_35"
                            android:text="ssss"
                            android:text="s"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_12" />
@@ -740,7 +640,7 @@
                            android:layout_alignParentTop="true"
                            android:layout_marginStart="@dimen/dp_10"
                            android:layout_marginTop="@dimen/dp_35"
                            android:text="ssss"
                            android:text="s"
                            android:textColor="@color/text_66000000"
                            android:textSize="@dimen/text_12" />
app/src/main/res/layout/item_data.xml
@@ -11,7 +11,7 @@
        android:textColor="@color/text_E6000000"
        android:textSize="@dimen/text_20"
        android:textStyle="bold"
        android:text="33"
        android:text="0.00kW.h"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
app/src/main/res/layout/item_station.xml
@@ -2,33 +2,48 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/station_status_cl"
    android:layout_width="74dp"
    android:layout_height="56dp"
    android:background="@drawable/station_status_no_ffffff">
    android:layout_width="90dp"
    android:layout_height="56dp">
    <TextView
        android:id="@+id/station_status_tv"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/dp_25"
        android:layout_marginTop="7dp"
        android:text="99"
        android:textColor="@color/text_E6000000"
        android:textSize="@dimen/text_21"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
    <LinearLayout
        android:layout_width="@dimen/dp_74"
        android:layout_height="match_parent"
        android:background="@drawable/station_status_no_ffffff"
        android:orientation="vertical"
        app:layout_constraintEnd_toStartOf="@+id/v"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
        app:layout_constraintTop_toTopOf="parent">
    <TextView
        android:id="@+id/station_status_number_tv"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/dp_17"
        android:layout_marginTop="1dp"
        android:text="state"
        android:textColor="@color/text_66000000"
        android:textSize="@dimen/text_14"
        app:layout_constraintEnd_toEndOf="@+id/station_status_tv"
        app:layout_constraintStart_toStartOf="@+id/station_status_tv"
        app:layout_constraintTop_toBottomOf="@+id/station_status_tv" />
        <TextView
            android:id="@+id/station_total_tv"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dp_25"
            android:layout_marginTop="7dp"
            android:gravity="center"
            android:text="99"
            android:textColor="@color/text_E6000000"
            android:textSize="@dimen/text_21"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/station_title_tv"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dp_17"
            android:layout_marginTop="1dp"
            android:gravity="center"
            android:text="state"
            android:textColor="@color/text_66000000"
            android:textSize="@dimen/text_14" />
    </LinearLayout>
    <View
        android:id="@+id/v"
        android:layout_width="@dimen/dp_16"
        android:layout_height="match_parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />
</androidx.constraintlayout.widget.ConstraintLayout>