217 lines
6.4 KiB
Java
217 lines
6.4 KiB
Java
package com.ckkj.water.plan;
|
|
|
|
import android.os.Bundle;
|
|
import android.os.Handler;
|
|
import android.view.View;
|
|
|
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
import com.ckkj.water.R;
|
|
import com.ckkj.water.base.BaseFragment;
|
|
import com.ckkj.water.databinding.PlanBindDeviceLayoutBinding;
|
|
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
|
import com.ckkj.water.network.BaseBean;
|
|
//import com.ckkj.water.plan.adapter.BindDeviceAdapter;
|
|
import com.ckkj.water.plan.adapter.BindDeviceAdapter;
|
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
|
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
|
import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
|
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
|
import com.ckkj.water.utils.show.ToastUtil;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 排程关联设备
|
|
*/
|
|
public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding, WaterPlanPresenter>
|
|
implements WaterPlanContract.WaterPlanView {
|
|
|
|
private List<WaterPlanWeekEntity> weekList = new ArrayList<>();
|
|
|
|
private List<WaterDeviceEntity.DeviceListBean> mDeviceList = new ArrayList<>();
|
|
private WaterPlanWeekEntity mPlanEntity;
|
|
private BindDeviceAdapter mAdapter;
|
|
|
|
@Override
|
|
public void initData(Bundle state) {
|
|
initListener();
|
|
mAdapter = new BindDeviceAdapter(mContext,R.layout.plan_bind_device_item,mDeviceList);
|
|
viewBinding.rvDevices.setAdapter(mAdapter);
|
|
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
|
@Override
|
|
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
|
mAdapter.toggleSelection(position);
|
|
if(mDeviceList.get(position).getStatus().equals("0")){
|
|
mDeviceList.get(position).setStatus("1");
|
|
}else{
|
|
mDeviceList.get(position).setStatus("0");
|
|
}
|
|
}
|
|
});
|
|
if (mPlanEntity != null) {
|
|
mPresenter.getPlanBindDevices(mPlanEntity);
|
|
}
|
|
}
|
|
|
|
private void initListener() {
|
|
setClick(viewBinding.tvCommit);
|
|
}
|
|
private void setClick(View view) {
|
|
view.setOnClickListener(this::onClick);
|
|
}
|
|
|
|
public void onClick(View v){
|
|
switch (v.getId()){
|
|
case R.id.tv_commit:
|
|
if (mPlanEntity == null) {
|
|
ToastUtil.showShort(mContext, "请先保存排程");
|
|
return;
|
|
}
|
|
boolean isSelected = false;
|
|
List<String> selected = new ArrayList<>();
|
|
for(WaterDeviceEntity.DeviceListBean bean : mDeviceList){
|
|
if(bean.getStatus().equals("1")){
|
|
isSelected = true;
|
|
selected.add(bean.getDeviceNo());
|
|
}
|
|
}
|
|
if(!isSelected){
|
|
ToastUtil.showShort(mContext, getString(R.string.select_the_device_to_link));
|
|
return;
|
|
}
|
|
String selDevice = "";
|
|
for(String id : selected){
|
|
selDevice += id + ",";
|
|
}
|
|
selDevice = selDevice.substring(0,selDevice.length()-1);
|
|
//提交绑定
|
|
mPresenter.planBindWithDevices(mPlanEntity,selDevice);
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void onResumeInitData() {
|
|
super.onResumeInitData();
|
|
|
|
}
|
|
|
|
/**
|
|
* 设置排程实体,用于关联设备接口请求
|
|
* @param entity 排程实体
|
|
*/
|
|
public void setPlanEntity(WaterPlanWeekEntity entity) {
|
|
this.mPlanEntity = entity;
|
|
if (mPlanEntity != null) {
|
|
if(mPresenter != null){
|
|
mPresenter.getPlanBindDevices(mPlanEntity);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 查询到了可绑定的设备
|
|
* @param bean
|
|
*/
|
|
@Override
|
|
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
|
hideDialogLoading();
|
|
if(mAdapter != null){
|
|
mDeviceList = bean.getDeviceList();
|
|
mAdapter.setNewData(mDeviceList);
|
|
if (mAdapter.getItemCount() != 0) {
|
|
viewBinding.relNoresult.setVisibility(View.GONE);
|
|
viewBinding.linearContent.setVisibility(View.VISIBLE);
|
|
} else {
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void planBindDeviceSuccess(BaseBean bean) {
|
|
hideDialogLoading();
|
|
ToastUtil.showShort(mContext, "绑定成功");
|
|
new Handler().postDelayed(new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
if (getActivity() instanceof AddWaterPlanActivity) {
|
|
((AddWaterPlanActivity) getActivity()).finish();
|
|
}
|
|
}
|
|
},800);
|
|
}
|
|
|
|
@Override
|
|
public void deletePlanSuccess(BaseBean bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void planUnbindDeviceSuccess(BaseBean bean, int position) {
|
|
|
|
}
|
|
|
|
// private void syncSelectedDevices() {
|
|
// Set<Integer> selectedPositions = mAdapter.getSelectedPositions();
|
|
// List<WaterPlanWeekEntity.DeviceEntity> selected = new ArrayList<>();
|
|
// for (int pos : selectedPositions) {
|
|
// if (pos >= 0 && pos < weekList.get(0).getDeviceList().size()) {
|
|
// selected.add(weekList.get(0).getDeviceList().get(pos));
|
|
// }
|
|
// }
|
|
// if (getActivity() instanceof AddWaterPlanActivity) {
|
|
// ((AddWaterPlanActivity) getActivity()).setSelectedDevices(selected);
|
|
// }
|
|
// }
|
|
|
|
@Override
|
|
public WaterPlanPresenter createPresenter() {
|
|
return new WaterPlanPresenter(new WaterPlanImpl());
|
|
}
|
|
|
|
@Override
|
|
public void onNetChange(int netModel) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void showError(String message) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void logOut(BaseBean bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updatePlanStatusSuccess(BaseBean bean, String status) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
|
|
}
|