wjc
2 天以前 ef0dba8548e2813beee2af8c8c3db72c3cb56da0
2025年07月30日18:53:03
1个文件已添加
8个文件已修改
218 ■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-en/strings.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-zh/strings.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java
New file
@@ -0,0 +1,35 @@
package com.hdl.photovoltaic.enums;
/**
 * 项目状态 (交付、验收、撤销交付、验收未通过、重新调试、交付回滚等操作)
 */
public @interface ProjectOperation {
    /**
     * 交付
     */
    String DELIVERY = "DELIVERY";
    /**
     * 撤销交付
     */
    String CANCEL_DELIVERY = "CANCEL_DELIVERY";
    /**
     * 验收
     */
    String ACCEPTANCE = "ACCEPTANCE";
    /**
     * 验收未通过
     */
    String ACCEPTANCE_FAIL = "ACCEPTANCE_FAIL";
    /**
     * 重新调试
     */
    String DEBUGGING_AGAIN = "DEBUGGING_AGAIN";
    /**
     * 交付回滚
     */
    String DELIVERY_ROLLBACK = "DELIVERY_ROLLBACK";
    /**
     * 未知
     */
    String SCAN_CODE_TO_GET = "SCAN_CODE_TO_GET";
}
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -168,6 +168,9 @@
    //电站手动交付(安装商)
    public static final String POST_deliverToAccount = "/home-wisdom/app/powerStation/deliverToAccount";
    //更新项目状态 (交付、验收、撤销交付、验收未通过、重新调试、交付回滚等操作)(https://hdl-gz.yuque.com/wnkbmh/diiq35/kegldc#gWveC)
    public static final String POST_UpdateProjectDebugStatus = "/smart-footstone/mgmt/community/project/updateProjectDebugStatus";
    //endregion
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -11,6 +11,7 @@
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.ProjectOperation;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -170,6 +171,25 @@
        for (int i = 0; i < mHouseIdList.size(); i++) {
            if (mHouseIdList.get(i).getHomeId().equals(houseId)) {
                mHouseIdList.remove(i);
                break;
            }
        }
    }
    /**
     * 电站Id对象更新
     *
     * @param houseIdBean 电站id对象
     */
    public void updateHouseIdBean(HouseIdBean houseIdBean) {
        if (houseIdBean == null) {
            return;
        }
        for (int i = 0; i < mHouseIdList.size(); i++) {
            HouseIdBean h = mHouseIdList.get(i);
            if (h.getHomeId().equals(houseIdBean.getHomeId())) {
                h.setDebugStatus(houseIdBean.getDebugStatus());
                //mHouseIdList.set(i,houseIdBean);整个对象替换
                break;
            }
        }
@@ -1086,6 +1106,41 @@
    }
    /**
     * 更新项目状态 (交付、验收、撤销交付、验收未通过、重新调试、交付回滚等操作)(https://hdl-gz.yuque.com/wnkbmh/diiq35/kegldc#gWveC)
     *
     * @param homeId            电站id
     * @param communityId       社区id
     * @param flowRecordContent 流转记录内容
     * @param projectOperation  项目状态
     * @param cloudCallBeak     -
     */
    public void setUpdateProjectDebugStatus(String homeId, String communityId, String flowRecordContent, String projectOperation, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_UpdateProjectDebugStatus;
        JsonObject json = new JsonObject();
        json.addProperty("houseId", homeId);
        json.addProperty("communityId", communityId);
        json.addProperty("flowRecordContent", flowRecordContent);//流转记录内容
        json.addProperty("projectFlowRecordActionEnum", projectOperation);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 添加推送Token
     *
     * @param cloudCallBeak -
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -108,6 +108,11 @@
            //未交付完要显示删除按钮
            holder.home_del_ll.setVisibility(View.VISIBLE);
        }
        if (houseIdBean.getDebugStatus().equals(DebugStatus.WAIT_DELIVERED)) {
            //更改成回滚图标
            holder.home_del_ll.setVisibility(View.VISIBLE);
            holder.del_home_iv.setImageResource(R.drawable.roll_back);
        }
        //删除电站
        holder.home_del_ll.setOnClickListener(new View.OnClickListener() {
@@ -278,6 +283,7 @@
        public RelativeLayout item_parent_rl;//条目父容器
        public LinearLayout home_move_ll;//移动电站位置
        public LinearLayout home_del_ll;//删除电站
        public ImageView del_home_iv;
        public TextView home_location_tv;//电站地址
        public SwipeLayout item_parent_swipeLayout;//父容器
@@ -299,6 +305,7 @@
            item_parent_rl = itemView.findViewById(R.id.item_parent_rl);
            home_move_ll = itemView.findViewById(R.id.move_ll);
            home_del_ll = itemView.findViewById(R.id.del_ll);
            del_home_iv = itemView.findViewById(R.id.del_home_iv);
            home_location_tv = itemView.findViewById(R.id.home_location_tv);
            item_parent_swipeLayout = itemView.findViewById(R.id.item_parent_swipeLayout);
        }
app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
@@ -11,6 +11,9 @@
 */
public class HouseIdBean implements Serializable {
    private String homeId;//电站id
    private String debugType="NORMAL";//调试类型(NORMAL =常规调试;SIMPLE =简易调试)
    private String communityId="";//项目id
    private String flowRecordContent="";//流转记录内容
    private String powerStationImage;//电站图片
    private String homeName;//电站名称
    private String installedCapacity;//组串容量(创建电站时输入的组串容量)
@@ -60,7 +63,29 @@
     * SECONDARY_DEBUGGIN = 授权调试
     */
    private String debugStatus;
    public String getDebugType() {
        return debugType;
    }
    public void setDebugType(String debugType) {
        this.debugType = debugType;
    }
    public String getCommunityId() {
        return communityId;
    }
    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
    public String getFlowRecordContent() {
        return flowRecordContent;
    }
    public void setFlowRecordContent(String flowRecordContent) {
        this.flowRecordContent = flowRecordContent;
    }
    public String getDebugStatus() {
        return debugStatus == null ? "" : debugStatus;
    }
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -32,6 +32,7 @@
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.PowerStationStatus;
import com.hdl.photovoltaic.enums.ProjectOperation;
import com.hdl.photovoltaic.enums.ShowErrorMode;
import com.hdl.photovoltaic.enums.SortType;
import com.hdl.photovoltaic.enums.SortValue;
@@ -317,49 +318,59 @@
            @Override
            public void onDelClick(int position, HouseIdBean houseIdBean) {
                final boolean isWaitDelivered = houseIdBean.getDebugStatus().equals(DebugStatus.WAIT_DELIVERED);
                DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity);
                delayedConfirmationCancelDialog.show();
                delayedConfirmationCancelDialog.isHideTitle(true);
                String homeName = "\"" + houseIdBean.getHomeName() + "\"";
                delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName));
                delayedConfirmationCancelDialog.startCountdown(4);
                if (isWaitDelivered) {
                    //"是否将电站的调试状态回退到调试中"
                    delayedConfirmationCancelDialog.setContent(getString(R.string.debug_status_rollback).replace("%s", homeName));
                } else {
                    delayedConfirmationCancelDialog.startCountdown(4);
                    delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName));
                }
                delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() {
                    @Override
                    public void Confirm() {
                        delayedConfirmationCancelDialog.dismiss();
                        showLoading(getString(R.string.deleting_please_wait));
                        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(houseIdBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() {
                            @Override
                            public void onSuccess(List<GatewayBean> list) {
                                //发起删除电站指令
                                deleteResidence(houseIdBean.getHomeId(), list);
                        if (isWaitDelivered) {
                            showLoading();
                            HdlResidenceLogic.getInstance().setUpdateProjectDebugStatus(houseIdBean.getHomeId(), houseIdBean.getCommunityId(), houseIdBean.getFlowRecordContent(), ProjectOperation.DEBUGGING_AGAIN.toString(), new CloudCallBeak<Boolean>() {
                                @Override
                                public void onSuccess(Boolean list) {
                                    hideLoading();
                                    if (houseInfoAdapter != null) {
                                        houseIdBean.setDebugStatus(DebugStatus.Debugging);
                                        HdlResidenceLogic.getInstance().updateHouseIdBean(houseIdBean);
                                        initData();
                                        //更新UI
                                        houseInfoAdapter.notifyItemChanged(position);
                                    }
                                }
                            }
                                @Override
                                public void onFailure(HDLException e) {
                                    hideLoading();
                                }
                            });
                        } else {
                            showLoading(getString(R.string.deleting_please_wait));
                            HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(houseIdBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() {
                                @Override
                                public void onSuccess(List<GatewayBean> list) {
                                    //发起删除电站指令
                                    deleteResidence(houseIdBean.getHomeId(), list, position);
                            @Override
                            public void onFailure(HDLException e) {
                                //发起删除电站指令
                                deleteResidence(houseIdBean.getHomeId(), null);
                            }
                        });
                                }
//                        //删除住宅
//                        HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() {
//                            @Override
//                            public void onSuccess(Boolean obj) {
//                                HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId());
//                                initData();//初始化缓存数据
//                                houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表
//                                nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空
//                            }
//
//                            @Override
//                            public void onFailure(HDLException e) {
//                                HdlThreadLogic.toast(_mActivity, e);
//                            }
//                        });
                                @Override
                                public void onFailure(HDLException e) {
                                    //发起删除电站指令
                                    deleteResidence(houseIdBean.getHomeId(), null, position);
                                }
                            });
                        }
                    }
                });
                delayedConfirmationCancelDialog.setNoOnclickListener(new DelayedConfirmationCancelDialog.onNoOnclickListener() {
@@ -538,7 +549,6 @@
        viewBinding.fragmentHouseSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity));
        viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter);
        houseInfoAdapter.setList(this.houseListBeanIDList, powerStationStatusValue);
        //设备标签
        deviceInfoAdapter = new DeviceInfoAdapter(_mActivity);
        viewBinding.fragmentDeviceSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity));
@@ -975,10 +985,11 @@
    /**
     * 删除电站
     *
     * @param homeId 电站id
     * @param list   逆变器列表
     * @param homeId   电站id
     * @param list     逆变器列表
     * @param position 位置
     */
    private void deleteResidence(String homeId, List<GatewayBean> list) {
    private void deleteResidence(String homeId, List<GatewayBean> list, int position) {
        //删除住宅
        HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() {
@@ -988,7 +999,10 @@
                initializeInverter(list); //发起初始化指令给逆变器;(注意:前面已先解绑云端逆变器,mqtt通道已断开,初始化只能是本地发送(先搜索局域网逆变器列表,建立本地通讯通道))
                HdlResidenceLogic.getInstance().delHouseId(homeId);//删除电站缓存
                initData();//初始化缓存数据
                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//重新刷新列表
                if (houseInfoAdapter != null) {
//                    houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//重新刷新列表
                    houseInfoAdapter.notifyItemRemoved(position);//只刷新当前的位置
                }
                getStatusOverview();//删除成功后刷新电站状态概览
                nullDataUpdateUi();//检测数据是否为空
            }
app/src/main/res/values-en/strings.xml
@@ -373,4 +373,5 @@
    <string name="event_content">Event content</string>
    <string name="remark">remark</string>
    <string name="treatment_options">Treatment options</string>
    <string name="debug_status_rollback">Should the commissioning status of the %s power station be rolled back to commissioning?</string>
</resources>
app/src/main/res/values-zh/strings.xml
@@ -368,5 +368,6 @@
    <string name="event_title">事件标题</string>
    <string name="event_content">事件内容</string>
    <string name="remark">备注</string>
    <string name="treatment_options">处理方案</string>
    <string name="treatment_options">处理方案</string>是否将电站的调试状态回退到调试中
    <string name="debug_status_rollback">是否将%s电站的调试状态回退到调试中?</string>
</resources>
app/src/main/res/values/strings.xml
@@ -375,6 +375,7 @@
    <string name="event_content">Event content</string>
    <string name="remark">remark</string>
    <string name="treatment_options">Treatment options</string>
    <string name="debug_status_rollback">Should the commissioning status of the %s power station be rolled back to commissioning?</string>
</resources>