From ef0dba8548e2813beee2af8c8c3db72c3cb56da0 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 30 七月 2025 18:53:07 +0800 Subject: [PATCH] 2025年07月30日18:53:03 --- app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java | 25 ++++++ app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java | 3 app/src/main/res/values-zh/strings.xml | 3 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 88 ++++++++++++--------- app/src/main/res/values/strings.xml | 1 app/src/main/res/values-en/strings.xml | 1 app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java | 55 +++++++++++++ app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java | 7 + app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java | 35 ++++++++ 9 files changed, 180 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java b/app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java new file mode 100644 index 0000000..092d256 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/enums/ProjectOperation.java @@ -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"; +} diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java index 7024e93..69ff5e8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java +++ b/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 diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java index 0c7bf1d..e816a8f 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java +++ b/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); + } + } + }); + + } + + /** * 娣诲姞鎺ㄩ�乀oken * * @param cloudCallBeak - diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java index 118d590..c6c447e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java +++ b/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); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java index 5a0d354..d39800e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java +++ b/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; } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java index de58c0a..703bf16 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java +++ b/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); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍓嶉潰宸插厛瑙g粦浜戠閫嗗彉鍣紝mqtt閫氶亾宸叉柇寮�锛屽垵濮嬪寲鍙兘鏄湰鍦板彂閫�(鍏堟悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾)锛� HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨 initData();//鍒濆鍖栫紦瀛樻暟鎹� - houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃 + if (houseInfoAdapter != null) { +// houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃 + houseInfoAdapter.notifyItemRemoved(position);//鍙埛鏂板綋鍓嶇殑浣嶇疆 + } getStatusOverview();//鍒犻櫎鎴愬姛鍚庡埛鏂扮數绔欑姸鎬佹瑙� nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌� } diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index d601908..d75124f 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/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> \ No newline at end of file diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 7824de2..96f7316 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/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> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 73aa1ac..d548f5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/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> \ No newline at end of file -- Gitblit v1.8.0