mac
2024-05-21 3eb60f615d621a3acb72a17f14e011b0d1ef749e
2024年05月21日20:33:18

备份代码
12个文件已修改
169 ■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_home_page.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_house_list.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -75,9 +75,7 @@
    }
    private List<DeviceBean> mListDevice = new ArrayList<>();
    public void clearDeviceList() {
@@ -1393,6 +1391,7 @@
        gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//设备状态
        gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());//软件版本号
        gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());//设备类型(产品二级分类名称
        gatewayBean.setGateway_type(cloudInverterDeviceBean.getDeviceType());//设备类型(INV:逆变器;BMS:BMS控制盒;BATTERY:电池单元)
        gatewayBean.setAddresses(cloudInverterDeviceBean.getAddresses());//子网号/设备号,逆变器地址
        gatewayBean.setPowerPvNow(cloudInverterDeviceBean.getPowerPvNow());//发电功率
        gatewayBean.setTotalElectricityPvToday(cloudInverterDeviceBean.getTotalElectricityPvToday());//今日发电量
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -145,7 +145,7 @@
     *                    设备在线 但是当前处于故障 状态:故障
     *                    设备在线(有上报过数据,没有故障)  状态:在线
     *                    设备离线 状态:离线
     * @param state_value 电站状态(1:正常(运行),2:离线,3:连接中,4:故障)
     * @param state_value 电站状态(1:正常(运行),2:离线,3:连接中,4:故障,5:离线有故障)
     */
    private void setTextViewStyle(TextView textView, int state_value) {
        String text = mContext.getString(R.string.my_power_station_operation);
@@ -170,6 +170,12 @@
                text = mContext.getString(R.string.my_power_station_malfunction);
                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
            }
            //5:离线有故障Offline_fault
            break;
            case 5: {
                text = mContext.getString(R.string.Offline_fault);
                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
            }
            break;
        }
        textView.setText(text);
app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -38,6 +38,7 @@
    private String hwVersion;//软件版本号
    private String categorySecondName;//设备类型(产品二级分类名称)
    private String deviceType;//(设备类型INV : 逆变器,BMS : BMS控制盒,BATTERY : 电池单元)
    public String getSystemStatusDesc() {
        return systemStatusDesc == null ? "" : systemStatusDesc;
@@ -193,5 +194,11 @@
        this.online = online;
    }
    public String getDeviceType() {
        return deviceType == null ? "" : deviceType;
    }
    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java
@@ -11,7 +11,6 @@
    private String homeId;
    private String homeName;
    private String deviceType;//设备类型(INV逆变器,BMS控制盒,BATTERY电池单元)
    private String outputActivePower;//逆变器输出有功功率
    private String address;//详细地址
    private HouseInfoBean.Location location;//电站地址
@@ -56,13 +55,6 @@
        this.location = location;
    }
    public String getDeviceType() {
        return TextUtils.isEmpty(deviceType) ? "" : deviceType;
    }
    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }
    /**
     * 拼住宅地址
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -12,6 +12,7 @@
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
@@ -219,15 +220,8 @@
            mMessageAdapter.setOnclickListener(new MessageAdapter.OnClickListener() {
                @Override
                public void onClick(int position, MessageBean messageBean) {
                    String messageStateType;
                    if (isAlarmDeviceClick) {
                        messageStateType = MessageStateType.untreated;
                    } else {
                        messageStateType = MessageStateType.processed;
                    }
                    Intent intent = new Intent();
                    intent.putExtra("msgId", messageBean.getMsgId().toString());
                    intent.putExtra("messageStateType", messageStateType);
                    intent.putExtra("messageBean",new Gson().toJson(messageBean));
                    intent.setClass(_mActivity, MessageInfoActivity.class);
                    startActivity(intent);
                }
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -4,9 +4,11 @@
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.content.res.AppCompatResources;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -16,6 +18,7 @@
import com.hdl.photovoltaic.enums.MessageAlarmStateType;
import com.hdl.photovoltaic.enums.MessageStateType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.bean.MessageBean;
@@ -33,8 +36,6 @@
    private MessageBean mMessageBean;
    private String mMsgId;
    private String mMessageStateType;
    @Override
    public Object getContentView() {
@@ -47,8 +48,11 @@
        setNotificationBarBackgroundColor(CustomColor.white);
        setStatusBarTextColor();
        try {
            mMsgId = getIntent().getStringExtra("msgId");
            mMessageStateType = getIntent().getStringExtra("messageStateType");
            String json = getIntent().getStringExtra("messageBean");
            mMessageBean = new Gson().fromJson(json, MessageBean.class);
            if (mMessageBean == null) {
                mMessageBean = new MessageBean();
            }
        } catch (Exception ignored) {
        }
@@ -63,7 +67,7 @@
    private void readData() {
//        showLoading();
        HdlMessageLogic.getInstance().getMessageInfo(mMsgId, new CloudCallBeak<MessageBean>() {
        HdlMessageLogic.getInstance().getMessageInfo(mMessageBean.getMsgId().toString(), new CloudCallBeak<MessageBean>() {
            @Override
            public void onSuccess(MessageBean msg) {
                HdlThreadLogic.runMainThread(new Runnable() {
@@ -82,21 +86,7 @@
                        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
                        String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
                        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
                        String type = "";//FAULT:故障,WARN:告警,EVENT:事件
                        Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
                        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                            type = _mActivity.getString(R.string.my_power_station_malfunction);
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
                            type = _mActivity.getString(R.string.message_alarm);
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
                            type = _mActivity.getString(R.string.loading_title_tip);
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
                        }
                        viewBinding.messageInfoAlarmStateTv.setText(type);
                        viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
                        stateStyle(viewBinding.messageInfoAlarmStateTv);
                        if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
                            //已经解决掉的隐藏
@@ -126,14 +116,11 @@
                }
                //未处理
                if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
                    //改变缓存状态
                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
                        BaseEventBus baseEventBus = new BaseEventBus();
                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
                        baseEventBus.setType(MessageStateType.untreated);
                        EventBus.getDefault().post(baseEventBus);
                        //通知未处理要更新数据
                        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
                    } else {
                        //除“故障”外,其他等级信息“已读”后,自动移出“发生中”列表并加入“历史记录”列表
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
@@ -157,10 +144,8 @@
                    //改变缓存状态
                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
                        BaseEventBus baseEventBus = new BaseEventBus();
                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
                        baseEventBus.setType(MessageStateType.untreated);
                        EventBus.getDefault().post(baseEventBus);
                        //通知未处理要更新数据
                        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
                    } else {
                        //除“故障”外,其他等级信息“已读”后,自动移出“发生中”列表并加入“历史记录”列表
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
@@ -175,7 +160,7 @@
        viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() {
                HdlMessageLogic.getInstance().getMessageMessageSolve(mMessageBean.getMsgId().toString(), new CloudCallBeak<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        if (mMessageBean == null) {
@@ -206,15 +191,9 @@
     */
    private void sendEventBus() {
        //通知已处理要更新数据
        BaseEventBus processedBus = new BaseEventBus();
        processedBus.setTopic(ConstantManage.message_function_push_post);
        processedBus.setType(MessageStateType.processed);
        EventBus.getDefault().post(processedBus);
        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.processed);
        //通知未处理要更新数据
        BaseEventBus untreatedBus = new BaseEventBus();
        untreatedBus.setTopic(ConstantManage.message_function_push_post);
        untreatedBus.setType(MessageStateType.untreated);
        EventBus.getDefault().post(untreatedBus);
        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
    }
@@ -237,16 +216,43 @@
        viewBinding.messageInfoPowerStationLocationIn.leftTitleTv.setText(R.string.message_alarm_detailspower_station_location);
        viewBinding.messageInfoAlarmTimeIn.leftTitleTv.setText(R.string.message_alarm_details_time);
        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText("");
        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText("");
        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText("");
        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText("");
        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText("");
        viewBinding.messageInfoHomeNameTv.setText(mMessageBean.getHomeName());
        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText(mMessageBean.getTitle());
        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(mMessageBean.getDeviceDesc());
        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(mMessageBean.getEffectScopeDesc());
        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
        String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
        stateStyle(viewBinding.messageInfoAlarmStateTv);
        if (mMessageStateType.equals(MessageStateType.processed)) {
        if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
            //已经解决掉的隐藏
            viewBinding.messageInfoBackTv.setVisibility(View.GONE);
            viewBinding.messageInfoSolveTv.setVisibility(View.GONE);
        }
    }
    /**
     * 状态样式
     *
     * @param textView 组件
     */
    private void stateStyle(TextView textView) {
        String type = "";//FAULT:故障,WARN:告警,EVENT:事件
        Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
            type = _mActivity.getString(R.string.my_power_station_malfunction);
            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
            type = _mActivity.getString(R.string.message_alarm);
            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
            type = _mActivity.getString(R.string.loading_title_tip);
            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
        }
        textView.setText(type);
        textView.setBackground(drawable);
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
@@ -182,8 +182,7 @@
            @Override
            public void onClick(int position, MessageBean messageBean) {
                Intent intent = new Intent();
                intent.putExtra("msgId", messageBean.getMsgId().toString());
                intent.putExtra("messageStateType", mMessageStateType);
                intent.putExtra("messageBean",new Gson().toJson(messageBean));
                intent.setClass(_mActivity, MessageInfoActivity.class);
                startActivity(intent);
            }
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
@@ -269,17 +270,8 @@
            messageCenterListAdapter.setNoOnclickListener(new MessageCenterListAdapter.OnclickListener() {
                @Override
                public void onClick(int position, MessageBean messageBean) {
                    String messageStateType;
                    if (isAlarmDeviceClick) {
                        messageStateType = MessageStateType.untreated;
                    } else {
                        messageStateType = MessageStateType.processed;
                    }
                    Intent intent = new Intent();
                    intent.putExtra("msgId", messageBean.getMsgId().toString());
                    intent.putExtra("messageStateType", messageStateType);
                    intent.putExtra("messageBean", new Gson().toJson(messageBean));
                    intent.setClass(_mActivity, MessageInfoActivity.class);
                    startActivity(intent);
                }
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -96,6 +96,7 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        getStatusOverview();
        initData();
        //初始化
        initView();
@@ -616,9 +617,14 @@
            } else if (eventBus.getType().equals(PowerStationStatus.connecting)) {
                viewBinding.powerStationConnectedIl.parentLl.performClick();
            } else if (eventBus.getType().equals(ConstantManage.station_edit)) {
                //更新一下住宅
                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
                //编辑后更新一下住宅列表
                //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
//                getStatusOverview();
                if (houseInfoAdapter != null) {
                    initData();
                    //更新UI
                    houseInfoAdapter.setList(houseListBeanIDList);
                }
            }
        }
    }
app/src/main/res/layout/fragment_home_page.xml
@@ -437,7 +437,7 @@
                            android:layout_width="wrap_content"
                            android:layout_height="match_parent"
                            android:layout_alignParentEnd="true"
                            android:text="PV power generation"
                            android:text="@string/pv_power"
                            android:textColor="@color/text_E6000000"
                            android:textSize="@dimen/text_12" />
app/src/main/res/layout/fragment_house_list.xml
@@ -23,7 +23,7 @@
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:gravity="center_vertical"
            android:text="Power Station"
            android:text="@string/power_station"
            android:textColor="@color/text_E6000000"
            android:textSize="@dimen/text_20"
            android:textStyle="bold" />
@@ -32,13 +32,12 @@
            android:id="@+id/device_label"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:layout_marginStart="@dimen/dp_21"
            android:layout_marginEnd="@dimen/dp_4"
            android:layout_marginStart="19dp"
            android:layout_marginEnd="7dp"
            android:layout_toStartOf="@+id/edit_iv"
            android:layout_toEndOf="@+id/power_station_label"
            android:gravity="start|center_vertical"
            android:text="Equipment"
            android:text="@string/device"
            android:textColor="@color/text_66000000"
            android:textSize="@dimen/text_16"
app/src/main/res/values/strings.xml
@@ -301,4 +301,7 @@
    <string name="search_station">搜索电站</string>
    <string name="enter_the_device_sn_and_device_name">输入设备SN号/设备名称</string>
    <string name="enter_alarm_name">输入报警名称</string>
    <string name="device">设备</string>
    <string name="Offline_fault">离线有故障</string>
</resources>