排程编辑更新
This commit is contained in:
@@ -5,28 +5,23 @@ import android.view.View;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.ckkj.water.EventMessage;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.databinding.AddWaterPlanLayoutBinding;
|
||||
import com.ckkj.water.login.LoginActivity;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
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.plate.adapter.ViewPagerAdapter;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
import com.ckkj.water.utils.manager.WaterUserInfoManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
|
||||
/**
|
||||
* 添加/编辑浇水排程
|
||||
*/
|
||||
@@ -197,5 +192,10 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,24 +3,21 @@ package com.ckkj.water.plan;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.databinding.BindingAdapter;
|
||||
|
||||
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.main.activity.MainActivity;
|
||||
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.google.gson.Gson;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 排程关联设备
|
||||
@@ -29,23 +26,30 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
|
||||
private List<WaterPlanWeekEntity> weekList = new ArrayList<>();
|
||||
|
||||
private List<WaterDeviceEntity.DeviceListBean> mDeviceList = new ArrayList<>();
|
||||
private WaterPlanWeekEntity mPlanEntity;
|
||||
// private BindDeviceAdapter mAdapter;
|
||||
private BindDeviceAdapter mAdapter;
|
||||
|
||||
@Override
|
||||
public void initData(Bundle state) {
|
||||
String jsonContent = getString(R.string.plan_water_entity_json);
|
||||
// WaterPlanWeekEntity entity = new Gson().fromJson(jsonContent, WaterPlanWeekEntity.class);
|
||||
// weekList.add(entity);
|
||||
// mAdapter = new BindDeviceAdapter(mContext,R.layout.plan_bind_device_item,weekList.get(0).getDeviceList());
|
||||
// viewBinding.rvDevices.setAdapter(mAdapter);
|
||||
// mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
// @Override
|
||||
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
// mAdapter.toggleSelection(position);
|
||||
// syncSelectedDevices();
|
||||
// }
|
||||
// });
|
||||
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).getStatusX().equals("0")){
|
||||
mDeviceList.get(position).setStatusX("1");
|
||||
}else{
|
||||
mDeviceList.get(position).setStatusX("0");
|
||||
}
|
||||
// syncSelectedDevices();
|
||||
}
|
||||
});
|
||||
// 接收来自AddWaterPlanActivity的WaterPlanWeekEntity对象,并使用传参。
|
||||
|
||||
}
|
||||
@@ -71,7 +75,20 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
}
|
||||
}
|
||||
|
||||
private void syncSelectedDevices() {
|
||||
/**
|
||||
* 查询到了可绑定的设备
|
||||
* @param bean
|
||||
*/
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
hideDialogLoading();
|
||||
if(mAdapter != null){
|
||||
mDeviceList = bean.getDeviceList();
|
||||
mAdapter.setNewData(mDeviceList);
|
||||
}
|
||||
}
|
||||
|
||||
// private void syncSelectedDevices() {
|
||||
// Set<Integer> selectedPositions = mAdapter.getSelectedPositions();
|
||||
// List<WaterPlanWeekEntity.DeviceEntity> selected = new ArrayList<>();
|
||||
// for (int pos : selectedPositions) {
|
||||
@@ -82,7 +99,7 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
// if (getActivity() instanceof AddWaterPlanActivity) {
|
||||
// ((AddWaterPlanActivity) getActivity()).setSelectedDevices(selected);
|
||||
// }
|
||||
}
|
||||
// }
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
@@ -123,4 +140,6 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.ckkj.water.plan;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.databinding.WaterPlanDetailLayoutBinding;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
//import com.ckkj.water.plan.adapter.PlanDetailDeviceAdapter;
|
||||
//import com.ckkj.water.plan.adapter.PlanDetailTimeAdapter;
|
||||
@@ -113,6 +113,11 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanWeekAdapter;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
@@ -21,9 +22,7 @@ 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 com.ckkj.water.utils.text.TextUtil;
|
||||
import com.ckkj.water.utils.time.ZYTimeUtils;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -82,13 +81,9 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
viewBinding.etPlanName.setText(entity.getName());
|
||||
mPlanName = entity.getName();
|
||||
|
||||
// 更新周配置列表的显示
|
||||
if (entity.getDetails() != null) {
|
||||
for(WaterPlanWeekEntity.DetailsBean bean : entity.getDetails()){
|
||||
bean.setWeekName(ZYTimeUtils.getWeekName(bean.getWeekday() - 1));
|
||||
bean.setStartTime(ZYTimeUtils.formatHHmm(bean.getStartTime()));
|
||||
}
|
||||
mWeekAdapter.setNewData(entity.getDetails());
|
||||
// 更新周配置列表的显示,使用 mConfigEntity.getDetails() 保证数据一致
|
||||
if (mConfigEntity.getDetails() != null) {
|
||||
mWeekAdapter.setNewData(mConfigEntity.getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -367,6 +362,11 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
|
||||
import com.ckkj.water.main.activity.MainActivity;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
//import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
|
||||
@@ -121,4 +121,9 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,55 +1,56 @@
|
||||
//package com.ckkj.water.plan.adapter;
|
||||
//
|
||||
//import android.content.Context;
|
||||
//import android.widget.CheckBox;
|
||||
//
|
||||
//import androidx.annotation.Nullable;
|
||||
//
|
||||
//import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
//import com.chad.library.adapter.base.BaseViewHolder;
|
||||
//import com.ckkj.water.R;
|
||||
//import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
//
|
||||
//import java.util.HashSet;
|
||||
//import java.util.List;
|
||||
//import java.util.Set;
|
||||
//
|
||||
//public class BindDeviceAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.DeviceEntity, BaseViewHolder> {
|
||||
// private Context mContext;
|
||||
// private Set<Integer> mSelectedPositions = new HashSet<>();
|
||||
//
|
||||
// public BindDeviceAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity.DeviceEntity> data) {
|
||||
// super(layoutResId, data);
|
||||
// this.mContext = context;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DeviceEntity item) {
|
||||
// CheckBox checkBox = helper.getView(R.id.radio);
|
||||
// helper.setText(R.id.tv_device_name, item.getDeviceName());
|
||||
// helper.setText(R.id.tv_device_serial, item.getDeviceCode());
|
||||
// checkBox.setChecked(mSelectedPositions.contains(helper.getLayoutPosition()));
|
||||
// }
|
||||
//
|
||||
// public void toggleSelection(int position) {
|
||||
// if (mSelectedPositions.contains(position)) {
|
||||
// mSelectedPositions.remove(position);
|
||||
// } else {
|
||||
// mSelectedPositions.add(position);
|
||||
// }
|
||||
// notifyDataSetChanged();
|
||||
// }
|
||||
//
|
||||
// public void clearSelection() {
|
||||
// mSelectedPositions.clear();
|
||||
// notifyDataSetChanged();
|
||||
// }
|
||||
//
|
||||
// public Set<Integer> getSelectedPositions() {
|
||||
// return new HashSet<>(mSelectedPositions);
|
||||
// }
|
||||
//
|
||||
// public int getSelectedCount() {
|
||||
// return mSelectedPositions.size();
|
||||
// }
|
||||
//}
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class BindDeviceAdapter extends BaseQuickAdapter<WaterDeviceEntity.DeviceListBean, BaseViewHolder> {
|
||||
private Context mContext;
|
||||
private Set<Integer> mSelectedPositions = new HashSet<>();
|
||||
|
||||
public BindDeviceAdapter(Context context, int layoutResId, @Nullable List<WaterDeviceEntity.DeviceListBean> data) {
|
||||
super(layoutResId, data);
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterDeviceEntity.DeviceListBean item) {
|
||||
CheckBox checkBox = helper.getView(R.id.radio);
|
||||
helper.setText(R.id.tv_device_name, item.getDeviceNameX());
|
||||
helper.setText(R.id.tv_device_serial, item.getDeviceSnX());
|
||||
checkBox.setChecked(mSelectedPositions.contains(helper.getLayoutPosition()));
|
||||
}
|
||||
|
||||
public void toggleSelection(int position) {
|
||||
if (mSelectedPositions.contains(position)) {
|
||||
mSelectedPositions.remove(position);
|
||||
} else {
|
||||
mSelectedPositions.add(position);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void clearSelection() {
|
||||
mSelectedPositions.clear();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Set<Integer> getSelectedPositions() {
|
||||
return new HashSet<>(mSelectedPositions);
|
||||
}
|
||||
|
||||
public int getSelectedCount() {
|
||||
return mSelectedPositions.size();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class WaterPlanWeekEntity implements Serializable {
|
||||
private String scheduleId;
|
||||
private int weekday = 1;
|
||||
private String weekName;
|
||||
private String startTime;
|
||||
private String startTime = "";
|
||||
private int durationMin = 0;
|
||||
private Object zones;
|
||||
private String triggerType = "0";
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ckkj.water.plan.mvp;
|
||||
|
||||
import com.ckkj.water.base.IView;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
import org.json.JSONObject;
|
||||
@@ -35,5 +36,7 @@ public class WaterPlanContract {
|
||||
void updateConfigSuccess(WaterPlanWeekEntity entity);
|
||||
//获取排程详情
|
||||
void getPlanDetailInfo(WaterPlanWeekEntity entity);
|
||||
//查询到可绑定设备列表
|
||||
void getPlanBindDeviceList(WaterDeviceEntity bean);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.ckkj.water.plan.mvp;
|
||||
|
||||
import com.ckkj.water.device.mvp.DeviceContract;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.network.LoginStateManager;
|
||||
import com.ckkj.water.network.NetWorkManager;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
@@ -146,13 +144,13 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseBean>() {
|
||||
.subscribe(new Observer<BaseBean<WaterDeviceEntity.DeviceListBean>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean bean) {
|
||||
public void onNext(@NonNull BaseBean<WaterDeviceEntity.DeviceListBean> bean) {
|
||||
if (bean.getCode() == 200) {
|
||||
callBack.success(bean.getData(),0);
|
||||
}
|
||||
|
||||
@@ -1,17 +1,7 @@
|
||||
package com.ckkj.water.plan.mvp;
|
||||
|
||||
import com.ckkj.water.AppConfig;
|
||||
import com.ckkj.water.base.BasePresenter;
|
||||
import com.ckkj.water.base.entity.MineUserInfoBean;
|
||||
import com.ckkj.water.device.mvp.DeviceContract;
|
||||
import com.ckkj.water.device.mvp.DeviceImpl;
|
||||
import com.ckkj.water.device.mvp.DevicePresenter;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.index.mvp.IndexContract;
|
||||
import com.ckkj.water.login.mvp.LoginContract;
|
||||
import com.ckkj.water.login.mvp.LoginPresenter;
|
||||
import com.ckkj.water.mine.mvp.MineContract;
|
||||
import com.ckkj.water.mine.mvp.MinePresenter;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
@@ -147,11 +137,11 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
||||
public void getPlanBindDevices(WaterPlanWeekEntity entity) {
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("id",entity.getId());
|
||||
impl.getPlanBindDeviceList(map, new WaterPlanContract.CallBack<BaseBean>() {
|
||||
impl.getPlanBindDeviceList(map, new WaterPlanContract.CallBack<WaterDeviceEntity>() {
|
||||
@Override
|
||||
public void success(BaseBean bean, int total) {
|
||||
public void success(WaterDeviceEntity bean, int total) {
|
||||
if(WaterPlanPresenter.this.getView() != null){
|
||||
// WaterPlanPresenter.this.getView().getDeviceDetailInfo(bean);
|
||||
WaterPlanPresenter.this.getView().getPlanBindDeviceList(bean);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user