app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java
New file @@ -0,0 +1,8 @@ package com.hdl.photovoltaic.enums; public @interface UnitType { String kWp = "kWp"; String kWh = "kW.h"; String kW = "kW"; String noValue = "0.00"; } app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -15,6 +15,7 @@ import com.google.zxing.qrcode.QRCodeWriter; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.enums.UnitType; import com.hdl.photovoltaic.utils.GlideUtils; import org.json.JSONObject; @@ -54,7 +55,7 @@ public static String getConvertDoubleUnit(String value) { if (TextUtils.isEmpty(value)) { return HdlDeviceLogic.noValue ; return UnitType.noValue; } BigDecimal formattedValue = getBigDecimal(value); return formattedValue.toString() ; @@ -63,13 +64,41 @@ public static String getConvertDoubleUnit(int value) { if (value == 0) { return HdlDeviceLogic.noValue ; return UnitType.noValue; } BigDecimal formattedValue = getBigDecimal(value + ""); return formattedValue.toString() ; } /** * @param value 值 * @param unit 例如:UnitType.kWh * @return 带单位值返回 */ public static String getConvertDoubleUnit(String value, String unit) { if (TextUtils.isEmpty(value)) { return UnitType.noValue + unit; } BigDecimal formattedValue = getBigDecimal(value); return formattedValue.toString() + unit; } /** * @param value 值 * @param unit 例如:UnitType.kWh * @return 带单位值返回 */ public static String getConvertDoubleUnit(int value, String unit) { if (value == 0) { return UnitType.noValue + unit; } BigDecimal formattedValue = getBigDecimal(value + ""); return formattedValue.toString() + unit; } public static String convertString(Object value) { return String.valueOf(value); } app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -74,11 +74,7 @@ return sHdlDeviceLogic; } public static final String kWp = "kWp"; 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<>(); app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
@@ -12,6 +12,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.enums.UnitType; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.ui.bean.DeviceBean; import com.hdl.photovoltaic.widget.SwipeLayout; @@ -41,6 +43,14 @@ @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { DeviceBean deviceBean = this.mList.get(position); holder.homeNameTv.setText(deviceBean.getHomeNameAndDeviceName()); holder.device_details_sn_tv.setText(deviceBean.getOsn()); holder.device_label_run_state_value_tv.setText(deviceBean.getSystemStatusDesc()); holder.device_label_power_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kW)); holder.device_label_day_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kWh)); holder.device_label_location_tv.setText(deviceBean.getHomeAddress()); holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -81,27 +91,28 @@ */ static class MyViewHolder extends RecyclerView.ViewHolder { public ImageView homeIconIv;//住宅图片 public ImageView device_icon_iv;//设备图片 public TextView homeNameTv;//住宅名称 public TextView capacityTv;//装机容量 public TextView powerTv;//发电功率 public TextView stateTv;//电站状态(连接中,运行,离线,故障); public RelativeLayout item_parent_rl;//条目父容器 public ImageView move_home_iv;//移动电站位置 public ImageView del_home_iv;//删除电站 public SwipeLayout item_parent_swipeLayout;//父容器 public TextView device_details_sn_tv;//mac public TextView device_label_run_state_value_tv;//设备运行状态 public TextView device_label_power_value_tv;//有功功率 public TextView device_label_day_value_tv;//当日发电量 public TextView device_label_location_tv;//电站地址 public TextView device_label_state_tv;//电站状态(连接中,运行,离线,故障); public MyViewHolder(@NonNull View itemView) { super(itemView); homeIconIv = itemView.findViewById(R.id.device_details_image_iv); device_icon_iv = itemView.findViewById(R.id.device_details_image_iv); homeNameTv = itemView.findViewById(R.id.device_details_name_tv); capacityTv = itemView.findViewById(R.id.device_details_sn_tv); powerTv = itemView.findViewById(R.id.power_type_tv); stateTv = itemView.findViewById(R.id.fragment_house_list_line_state_tv); item_parent_rl = itemView.findViewById(R.id.item_parent_rl); move_home_iv = itemView.findViewById(R.id.move_home_iv); del_home_iv = itemView.findViewById(R.id.del_home_iv); item_parent_swipeLayout = itemView.findViewById(R.id.item_parent_swipeLayout); device_details_sn_tv = itemView.findViewById(R.id.device_details_sn_tv); device_label_run_state_value_tv = itemView.findViewById(R.id.device_label_run_state_value_tv); device_label_power_value_tv = itemView.findViewById(R.id.device_label_power_value_tv); device_label_day_value_tv = itemView.findViewById(R.id.device_label_day_value_tv); device_label_location_tv = itemView.findViewById(R.id.device_label_location_tv); device_label_state_tv = itemView.findViewById(R.id.device_label_state_tv); } } app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -15,6 +15,8 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.enums.UnitType; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; @@ -55,28 +57,18 @@ HouseIdBean houseIdBean = this.mList.get(position); holder.homeNameTv.setText(houseIdBean.getHomeName().trim()); //装机容量 String capacity = mContext.getString(R.string.my_power_station_installed_capacity) + houseIdBean.getInstalledCapacity() + HdlDeviceLogic.kW; String capacity = mContext.getString(R.string.my_power_station_installed_capacity) + ":" + HdlCommonLogic.getConvertDoubleUnit(houseIdBean.getInstalledCapacity(), UnitType.kWp); holder.capacityTv.setText(capacity); String kw = "0"; try { if (houseIdBean.getPower().contains(".")) { int indexOf = houseIdBean.getPower().indexOf("."); houseIdBean.setPower(houseIdBean.getPower().substring(0, indexOf)); } int intValue = Integer.parseInt(houseIdBean.getPower()); int k = intValue / 1000; int w = intValue % 1000; kw = k + "." + w; } catch (Exception ignored) { kw = "0.0"; } //发电功率 String power = mContext.getString(R.string.power_station_generated_power) + kw + HdlDeviceLogic.kW; holder.powerTv.setText(power); holder.power_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(houseIdBean.getPower(), UnitType.kW)); //当日发电量 holder.day_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(houseIdBean.getTodayElectricity(), UnitType.kWh)); //当月发电量 holder.month_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(houseIdBean.getMonthElectricity(), UnitType.kWh)); holder.plant_details_location_tv.setText(houseIdBean.getHomeAddress()); holder.item_parent_rl.setTag(position); setTextViewStyle(holder.stateTv, houseIdBean.getPowerStationStatus()); GlideUtils.getRoundedCornersImage(mContext, houseIdBean.getPowerStationImage(), holder.homeIconIv, new RoundedCorners(12), false); HdlLogLogic.print("---电站名称:" + houseIdBean.getHomeName() + "---图片url:" + houseIdBean.getPowerStationImage(), false); holder.item_parent_rl.setOnClickListener(new View.OnClickListener() { @Override @@ -194,11 +186,14 @@ public ImageView homeIconIv;//住宅图片 public TextView homeNameTv;//住宅名称 public TextView capacityTv;//装机容量 public TextView powerTv;//发电功率 public TextView power_value_tv;//发电功率 public TextView day_value_tv;//当日发电量 public TextView month_value_tv;//当月发电量 public TextView stateTv;//电站状态(连接中,运行,离线,故障); public RelativeLayout item_parent_rl;//条目父容器 public ImageView move_home_iv;//移动电站位置 public ImageView del_home_iv;//删除电站 public TextView plant_details_location_tv;//电站地址 public SwipeLayout item_parent_swipeLayout;//父容器 public MyViewHolder(@NonNull View itemView) { @@ -206,11 +201,14 @@ homeIconIv = itemView.findViewById(R.id.device_details_image_iv); homeNameTv = itemView.findViewById(R.id.device_details_name_tv); capacityTv = itemView.findViewById(R.id.device_details_sn_tv); powerTv = itemView.findViewById(R.id.power_type_tv); power_value_tv = itemView.findViewById(R.id.power_value_tv); day_value_tv = itemView.findViewById(R.id.day_value_tv); month_value_tv = itemView.findViewById(R.id.month_value_tv); stateTv = itemView.findViewById(R.id.fragment_house_list_line_state_tv); item_parent_rl = itemView.findViewById(R.id.item_parent_rl); move_home_iv = itemView.findViewById(R.id.move_home_iv); del_home_iv = itemView.findViewById(R.id.del_home_iv); plant_details_location_tv = itemView.findViewById(R.id.plant_details_location_tv); item_parent_swipeLayout = itemView.findViewById(R.id.item_parent_swipeLayout); } } app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchDeviceAdapter.java
@@ -1,12 +1,14 @@ package com.hdl.photovoltaic.ui.adapter; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; @@ -30,7 +32,7 @@ @NonNull @Override public SearchDeviceAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_search_house, parent, false); View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_search_device, parent, false); return new MyViewHolder(view); } @@ -38,8 +40,10 @@ public void onBindViewHolder(@NonNull SearchDeviceAdapter.MyViewHolder holder, int position) { DeviceBean deviceBean = this.mList.get(position); holder.power_station_name_tv.setText(deviceBean.getHomeName()); holder.power_station_location_tv.setText(deviceBean.getAddress()); holder.device_search_name_tv.setText(deviceBean.getHomeNameAndDeviceName()); holder.device_search_sn_tv.setText(deviceBean.getOsn()); holder.device_search_location_tv.setText(deviceBean.getHomeAddress()); setTextViewStyle(holder.device_search_state_tv, deviceBean.getDeviceStatus()); holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -75,6 +79,48 @@ notifyDataSetChanged(); } /** * 改变组件样式 * * @param textView 显示组件 * 如果设备从来没上报过数据数据 状态:连接中 * 设备在线 但是当前处于故障 状态:故障 * 设备在线(有上报过数据,没有故障) 状态:在线 * 设备离线 状态:离线 * @param state_value 设备状态(1:连接中,2:故障,3:正常(运行),4:离线,) */ private void setTextViewStyle(TextView textView, int state_value) { String text = mContext.getString(R.string.my_power_station_operation); Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_06b92a); switch (state_value) { case 1: { text = mContext.getString(R.string.my_power_station_connecting); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); } break; case 2: { text = mContext.getString(R.string.my_power_station_malfunction); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343); } break; case 3: { text = mContext.getString(R.string.my_power_station_operation); } break; case 4: { text = mContext.getString(R.string.my_power_station_off_line); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9); } break; } textView.setText(text); textView.setBackground(drawable); } public interface OnClickListener { void onClick(int position, DeviceBean deviceBean); @@ -86,14 +132,18 @@ static class MyViewHolder extends RecyclerView.ViewHolder { public TextView power_station_name_tv; public TextView power_station_location_tv; public TextView device_search_name_tv;//名称(电站_设备名称) public TextView device_search_sn_tv;//mac public TextView device_search_location_tv;//地址 public TextView device_search_state_tv;//状态 public MyViewHolder(@NonNull View itemView) { super(itemView); power_station_name_tv = itemView.findViewById(R.id.message_name_tv); power_station_location_tv = itemView.findViewById(R.id.power_station_location_tv); device_search_name_tv = itemView.findViewById(R.id.device_search_name_tv); device_search_sn_tv = itemView.findViewById(R.id.device_search_sn_tv); device_search_location_tv = itemView.findViewById(R.id.device_search_location_tv); device_search_state_tv = itemView.findViewById(R.id.device_search_state_tv); } } } app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHouseAdapter.java
@@ -42,7 +42,7 @@ HouseIdBean houseIdBean = this.mList.get(position); holder.power_station_name_tv.setText(houseIdBean.getHomeName()); holder.power_station_location_tv.setText(houseIdBean.getAddress()); holder.power_station_location_tv.setText(houseIdBean.getHomeAddress()); holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -130,7 +130,7 @@ } public String getOsn() { return osn == null ? "" : osn; return osn == null ? "" : "SN:" + osn; } public void setOsn(String osn) { app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java
@@ -63,6 +63,7 @@ public void setDeviceType(String deviceType) { this.deviceType = deviceType; } /** * 拼住宅地址 * @@ -75,4 +76,8 @@ return this.location.getNationName() + this.location.getProvinceName() + this.location.getCityName() + this.address; } public String getHomeNameAndDeviceName() { return homeName + "_" + this.getName(); } } app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
@@ -15,7 +15,9 @@ private String homeName;//电站名称 private String installedCapacity;//装机容量 private String power;//发电功率 private String todayElectricity;//今天发电量 private String todayElectricity;//当日发电量 private String monthElectricity;//当月发电量 private int powerStationStatus;//电站状态(电站状态 1:正常(运行),2:离线,3:连接中,4:故障) private String localSecret;//本地通讯秘钥 @@ -106,6 +108,14 @@ this.todayElectricity = todayElectricity; } public String getMonthElectricity() { return monthElectricity == null ? "" : monthElectricity; } public void setMonthElectricity(String monthElectricity) { this.monthElectricity = monthElectricity; } public int getPowerStationStatus() { return powerStationStatus; } app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -25,6 +25,7 @@ import com.hdl.photovoltaic.databinding.FragmentHomePageBinding; import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; import com.hdl.photovoltaic.enums.TimeType; import com.hdl.photovoltaic.enums.UnitType; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; @@ -379,11 +380,11 @@ String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType)); viewBinding.yearMonthDayTv.setText(dataStr); String installed_capacity = getString(R.string.installed_capacity) + "(" + HdlDeviceLogic.kWp + ")"; String installed_capacity = getString(R.string.installed_capacity) + "(" + UnitType.kWp + ")"; viewBinding.infoRl1Text2Tv.setText(installed_capacity); String generated_power = getString(R.string.generated_power) + "(" + HdlDeviceLogic.kW + ")"; String generated_power = getString(R.string.generated_power) + "(" + UnitType.kW + ")"; viewBinding.infoRl1Text4Tv.setText(generated_power); String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWh + ")"; String generation = getString(R.string.generation) + "(" + UnitType.kWh + ")"; viewBinding.homePageStationInfoRl1TitleTv.setText(generation); viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation); @@ -391,7 +392,7 @@ viewBinding.homePageStationInfoRl2YearIc.dataTypeTv.setText(R.string.year_power_generation); viewBinding.homePageStationInfoRl2CumulativeIc.dataTypeTv.setText(R.string.cumulative_power_generation); viewBinding.unitTv.setText(HdlDeviceLogic.kW); viewBinding.unitTv.setText(UnitType.kW); viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
@@ -287,7 +287,6 @@ //更新缓存 setDeviceList(deviceClass.getList()); if (searchDeviceAdapter != null) { initData(); //更新UI searchDeviceAdapter.setList(deviceList); } app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -122,6 +122,9 @@ viewBinding.addIv.setVisibility(View.VISIBLE);//添加图标隐藏 viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//电站标签【父容器】显示 viewBinding.deviceLabelParent.setVisibility(View.GONE);//设备标签【父容器】隐藏 if (viewBinding.deviceNullDataIc.getRoot().getVisibility() == View.VISIBLE) { viewBinding.deviceNullDataIc.getRoot().setVisibility(View.GONE); } loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); @@ -139,6 +142,9 @@ viewBinding.addIv.setVisibility(View.GONE);//添加图标隐藏 viewBinding.powerStationLabelParent.setVisibility(View.GONE);//电站标签【父容器】隐藏 viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//设备标签【父容器】显示 if (viewBinding.homeNullDataIc.getRoot().getVisibility() == View.VISIBLE) { viewBinding.homeNullDataIc.getRoot().setVisibility(View.GONE); } loadNextPageDeviceList(true, 1, true); } }); @@ -161,11 +167,11 @@ } }); //离线 viewBinding.hpowerStationOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() { viewBinding.powerStationOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { powerStationStatusValue = PowerStationStatus.off; selectedStationStyle(viewBinding.hpowerStationOfflineIl.parentLl, viewBinding.hpowerStationOfflineIl.stationTotalTv, viewBinding.hpowerStationOfflineIl.stationTitleTv, true); selectedStationStyle(viewBinding.powerStationOfflineIl.parentLl, viewBinding.powerStationOfflineIl.stationTotalTv, viewBinding.powerStationOfflineIl.stationTitleTv, true); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); @@ -437,7 +443,7 @@ } } }); //设备添搜索 //设备搜索 viewBinding.deviceSearchCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -455,7 +461,7 @@ viewBinding.powerStationAllIl.stationTitleTv.setText(getString(R.string.message_all)); viewBinding.powerStationFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction)); viewBinding.hpowerStationOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line)); viewBinding.powerStationOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line)); viewBinding.powerStationConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added)); selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true); @@ -485,7 +491,7 @@ private void selectedStationStyle(LinearLayout linearLayout, TextView numberTv, TextView titleTv, boolean isShowSelectedStatus) { viewBinding.powerStationAllIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); viewBinding.powerStationFaultsIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); viewBinding.hpowerStationOfflineIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); viewBinding.powerStationOfflineIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); viewBinding.powerStationConnectedIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); viewBinding.powerStationAllIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null)); @@ -494,8 +500,8 @@ viewBinding.powerStationFaultsIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null)); viewBinding.powerStationFaultsIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null)); viewBinding.hpowerStationOfflineIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null)); viewBinding.hpowerStationOfflineIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null)); viewBinding.powerStationOfflineIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null)); viewBinding.powerStationOfflineIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null)); viewBinding.powerStationConnectedIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null)); viewBinding.powerStationConnectedIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null)); @@ -515,8 +521,7 @@ this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList()); } else { this.deviceInfoList = new ArrayList<>(); this.deviceInfoList.add(new DeviceBean()); // this.deviceInfoList.addAll(HdlDeviceLogic.getInstance().getListDevice()); this.deviceInfoList.addAll(HdlDeviceLogic.getInstance().getDeviceList()); } @@ -622,7 +627,7 @@ } viewBinding.powerStationAllIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal())); viewBinding.powerStationFaultsIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault())); viewBinding.hpowerStationOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline())); viewBinding.powerStationOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline())); viewBinding.powerStationConnectedIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting())); } @@ -812,11 +817,15 @@ if (isClickPowerStationLabel) { is_data = houseListBeanIDList != null && houseListBeanIDList.size() > 0; tipText = getString(R.string.my_power_station_data_null); HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.homeNullDataIc.getRoot(), viewBinding.homeNullDataIc.nullDataGifAnimationIv, viewBinding.homeNullDataIc.nullDataTv, tipText, is_data); } else { is_data = deviceInfoList != null && deviceInfoList.size() > 0; tipText = getString(R.string.no_equipment); HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.deviceNullDataIc.getRoot(), viewBinding.deviceNullDataIc.nullDataGifAnimationIv, viewBinding.deviceNullDataIc.nullDataTv, tipText, is_data); } HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, tipText, is_data); } /** app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
@@ -25,9 +25,11 @@ import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter; import com.hdl.photovoltaic.ui.adapter.SearchHouseAdapter; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.uni.HDLUniMP; import java.util.ArrayList; import java.util.Collections; @@ -177,7 +179,11 @@ searchHouseAdapter.setOnclickListener(new SearchHouseAdapter.OnClickListener() { @Override public void onClick(int position, HouseIdBean houseIdBean) { //点击住宅详情 HdlLogLogic.print("点击住宅详情---" + new Gson().toJson(houseIdBean), false); HdlResidenceLogic.getInstance().switchHouse(houseIdBean); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); HdlUniLogic.getInstance().openUniMP(path, null); } }); @@ -288,7 +294,6 @@ //更新缓存 setHouseIdList(houseBeanClass.getList()); if (searchHouseAdapter != null) { initData(); //更新UI searchHouseAdapter.setList(houseListBeanIDList); } @@ -370,6 +375,7 @@ * 添加历史记录 */ private void addSearchTextToList() { int maxValue = 10; for (int i = 0; i < searchHistoryTitleList.size(); i++) { if (searchHistoryTitleList.get(i).equals(currSearchText)) { searchHistoryTitleList.remove(searchHistoryTitleList.get(i)); @@ -378,9 +384,9 @@ searchHistoryTitleList.add(currSearchText); // 倒序排列数据(搜索最后排在前面) Collections.reverse(searchHistoryTitleList); if (searchHistoryTitleList.size() > 10) { if (searchHistoryTitleList.size() > maxValue) { //历史记录不能超出10 searchHistoryTitleList.remove(searchHistoryTitleList.get(11)); searchHistoryTitleList.remove(searchHistoryTitleList.get(maxValue + 1)); } } app/src/main/res/layout/fragment_house_list.xml
@@ -115,7 +115,7 @@ android:layout_centerVertical="true" android:layout_marginStart="@dimen/dp_11" android:layout_toEndOf="@+id/power_station_search_iv" android:text="Search the power station" android:text="@string/search_station" android:textColor="@color/text_66000000" android:textSize="@dimen/text_14" /> </RelativeLayout> @@ -153,7 +153,7 @@ layout="@layout/item_station" /> <include android:id="@+id/hpower_station_offline_il" android:id="@+id/power_station_offline_il" layout="@layout/item_station" /> <include @@ -349,7 +349,7 @@ android:layout_centerVertical="true" android:layout_marginStart="@dimen/dp_11" android:layout_toEndOf="@+id/device_search_iv" android:text="Search the power station" android:text="@string/enter_the_device_sn_and_device_name" android:textColor="@color/text_66000000" android:textSize="@dimen/text_14" /> </RelativeLayout> @@ -379,15 +379,28 @@ <!--没有数据显示样式--> <include android:id="@+id/null_data_ic" android:id="@+id/home_null_data_ic" layout="@layout/null_data_view" android:layout_width="match_parent" android:layout_height="224dp" android:layout_marginBottom="@dimen/dp_202" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintStart_toStartOf="parent" /> <!--没有数据显示样式--> <include android:id="@+id/device_null_data_ic" layout="@layout/null_data_view" android:layout_width="match_parent" android:layout_height="224dp" android:layout_marginBottom="229dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/fragment_message.xml
@@ -101,7 +101,7 @@ android:layout_centerVertical="true" android:layout_marginStart="@dimen/dp_11" android:layout_toEndOf="@+id/power_station_search_iv" android:text="Search the message" android:text="@string/enter_alarm_name" android:textColor="@color/text_66000000" android:textSize="@dimen/text_14" /> </RelativeLayout> app/src/main/res/layout/item_device_details.xml
@@ -66,26 +66,54 @@ android:orientation="horizontal"> <LinearLayout android:id="@+id/power_ll" android:id="@+id/device_label_run_state_ll" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/power_value_tv" android:id="@+id/device_label_run_state_value_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> <TextView android:id="@+id/power_type_tv" android:id="@+id/device_label_run_state_type_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_15" android:layout_height="@dimen/dp_17" android:layout_marginTop="3dp" android:gravity="center" android:text="@string/device_run_state" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> </LinearLayout> <LinearLayout android:id="@+id/device_label_power_ll" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/device_label_power_value_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> <TextView android:id="@+id/device_label_power_type_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_17" android:layout_marginTop="3dp" android:gravity="center" android:text="@string/generated_power" @@ -95,58 +123,29 @@ </LinearLayout> <LinearLayout android:id="@+id/day_ll" android:id="@+id/device_label_day_ll" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/day_value_tv" android:id="@+id/device_label_day_value_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> <TextView android:id="@+id/day_type_tv" android:id="@+id/device_label_day_type_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_15" android:layout_height="@dimen/dp_17" android:layout_marginTop="3dp" android:gravity="center" android:text="@string/day_power_generation" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> </LinearLayout> <LinearLayout android:id="@+id/month_ll" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/month_value_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> <TextView android:id="@+id/month_type_tv" android:layout_width="match_parent" android:layout_height="@dimen/dp_15" android:layout_marginTop="3dp" android:gravity="center" android:text="@string/month_power_generation" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> @@ -166,7 +165,7 @@ android:background="@color/text_E1E1E1" /> <ImageView android:id="@+id/plant_details_location_iv" android:id="@+id/device_label_location_iv" android:layout_width="@dimen/dp_19" android:layout_height="@dimen/dp_19" android:layout_below="@+id/line" @@ -175,13 +174,13 @@ android:src="@drawable/location" /> <TextView android:id="@+id/plant_details_location_tv" android:id="@+id/device_label_location_tv" android:layout_width="290dp" android:layout_height="@dimen/dp_19" android:layout_below="@+id/line" android:layout_marginStart="@dimen/dp_3" android:layout_marginTop="@dimen/dp_8" android:layout_toEndOf="@+id/plant_details_location_iv" android:layout_toEndOf="@+id/device_label_location_iv" android:ellipsize="end" android:gravity="center_vertical|start" android:singleLine="true" @@ -190,7 +189,7 @@ android:textSize="@dimen/text_12" /> <TextView android:id="@+id/fragment_house_list_line_state_tv" android:id="@+id/device_label_state_tv" android:layout_width="69dp" android:layout_height="@dimen/dp_33" android:layout_alignParentTop="true" app/src/main/res/layout/item_plant_details.xml
@@ -79,7 +79,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> @@ -108,7 +108,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> @@ -137,7 +137,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/dp_18" android:gravity="center" android:text="99" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_15" android:textStyle="bold" /> app/src/main/res/layout/item_search_device.xml
New file @@ -0,0 +1,81 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="@dimen/dp_127"> <ImageView android:id="@+id/power_station_search_iv" android:layout_width="@dimen/dp_18" android:layout_height="@dimen/dp_18" android:layout_marginStart="@dimen/dp_16" android:src="@drawable/search_path" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <RelativeLayout android:layout_width="298dp" android:layout_height="@dimen/dp_99" android:layout_marginStart="@dimen/dp_57" android:layout_marginEnd="@dimen/dp_21" android:background="@drawable/ffffff_13" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:id="@+id/device_search_name_tv" android:layout_width="0dp" android:layout_height="@dimen/dp_23" android:layout_alignParentStart="true" android:layout_marginStart="@dimen/dp_16" android:layout_marginTop="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_6" android:layout_toStartOf="@+id/device_search_state_tv" android:ellipsize="end" android:gravity="center_vertical|start" android:singleLine="true" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_16" android:textStyle="bold" /> <TextView android:id="@+id/device_search_sn_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_17" android:layout_below="@+id/device_search_name_tv" android:layout_alignStart="@+id/device_search_name_tv" android:layout_marginTop="@dimen/dp_6" android:gravity="center_vertical" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> <TextView android:id="@+id/device_search_location_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_17" android:layout_below="@+id/device_search_sn_tv" android:layout_alignStart="@+id/device_search_sn_tv" android:layout_marginTop="@dimen/dp_6" android:gravity="center_vertical" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> <TextView android:id="@+id/device_search_state_tv" android:layout_width="69dp" android:layout_height="@dimen/dp_33" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:background="@drawable/state_ffb300" android:gravity="center" android:text="@string/my_power_station_connecting" android:textColor="@color/text_FFFFFFFF" android:textSize="@dimen/text_12" /> </RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/item_station.xml
@@ -21,7 +21,7 @@ android:layout_height="@dimen/dp_25" android:layout_marginTop="7dp" android:gravity="center" android:text="99" android:text="0" android:textColor="@color/text_E6000000" android:textSize="@dimen/text_21" android:textStyle="bold" /> app/src/main/res/values-en/strings.xml
@@ -74,10 +74,10 @@ <string name="power_station">Power station</string> <string name="power_station_me">Mine</string> <string name="my_power_station">My power station</string> <string name="power_station_generated_power">Power generation:</string> <string name="power_station_generated_power">Power generation</string> <string name="power_station_Power_generation_today">Today power generation</string> <string name="power_station_creation_time">Established at</string> <string name="my_power_station_installed_capacity">Installed capacity:</string> <string name="my_power_station_installed_capacity">Installed capacity</string> <string name="my_power_station_connecting">Connecting</string> <string name="my_power_station_off_line">Offline</string> <string name="my_power_station_malfunction">Malfunction</string> app/src/main/res/values-zh/strings.xml
@@ -74,10 +74,10 @@ <string name="power_station">电站</string> <string name="power_station_me">我的</string> <string name="my_power_station">我的电站</string> <string name="power_station_generated_power">发电功率:</string> <string name="power_station_generated_power">发电功率</string> <string name="power_station_Power_generation_today">今日发电</string> <string name="power_station_creation_time">创建时间</string> <string name="my_power_station_installed_capacity">装机容量:</string> <string name="my_power_station_installed_capacity">装机容量</string> <string name="my_power_station_connecting">连接中</string> <string name="my_power_station_off_line">离线</string> <string name="my_power_station_malfunction">故障</string> app/src/main/res/values/strings.xml
@@ -74,10 +74,10 @@ <string name="power_station">电站</string> <string name="power_station_me">我的</string> <string name="my_power_station">我的电站</string> <string name="power_station_generated_power">发电功率:</string> <string name="power_station_generated_power">发电功率</string> <string name="power_station_Power_generation_today">今日发电</string> <string name="power_station_creation_time">创建时间</string> <string name="my_power_station_installed_capacity">装机容量:</string> <string name="my_power_station_installed_capacity">装机容量</string> <string name="my_power_station_connecting">连接中</string> <string name="my_power_station_off_line">离线</string> <string name="my_power_station_malfunction">故障</string> @@ -297,4 +297,8 @@ <string name="co_reduction_rate">CO2减排</string> <string name="quantity_of_equivalent_values">等效值数量</string> <string name="pv_power">Pv发电功率</string> <string name="device_run_state">设备运行状态</string> <string name="search_station">搜索电站</string> <string name="enter_the_device_sn_and_device_name">输入设备SN号/设备名称</string> <string name="enter_alarm_name">输入报警名称</string> </resources>