排程详情
This commit is contained in:
@@ -57,4 +57,9 @@ public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBind
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,10 @@ public interface Request {
|
||||
@GET("app/v1/scheduleDeviceList/{id}")
|
||||
Observable<BaseBean> getPlanBindDeviceList(@HeaderMap Map<String, String> headMap, @Path("id") String id);
|
||||
|
||||
//查询排程详情
|
||||
@GET("app/v1/schedule/{id}")
|
||||
Observable<BaseBean<WaterPlanWeekEntity>> getPlanDetailInfo(@HeaderMap Map<String, String> headMap, @Path("id") String id);
|
||||
|
||||
//解绑信息
|
||||
@DELETE("app/v1/deleteDevice/{ids}")
|
||||
Observable<BaseBean> unBindDevice(@HeaderMap Map<String,String> headMap, @Path("ids") String id);
|
||||
|
||||
@@ -169,5 +169,10 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -118,4 +118,9 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,13 +9,16 @@ import com.ckkj.water.databinding.WaterPlanDetailLayoutBinding;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
//import com.ckkj.water.plan.adapter.PlanDetailDeviceAdapter;
|
||||
//import com.ckkj.water.plan.adapter.PlanDetailTimeAdapter;
|
||||
import com.ckkj.water.plan.adapter.PlanDetailTimeAdapter;
|
||||
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 com.google.gson.Gson;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -23,13 +26,22 @@ import java.util.List;
|
||||
*/
|
||||
public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBinding, WaterPlanPresenter>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
//列表页面传的的,用于获取详情
|
||||
private WaterPlanWeekEntity mPlanEntity;
|
||||
//查询到的排程详情
|
||||
private WaterPlanWeekEntity mDetailEntity;
|
||||
private PlanDetailTimeAdapter mAdapter;
|
||||
private List<WaterPlanWeekEntity.DetailsBean> mList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
if(bundle != null){
|
||||
mPlanEntity = (WaterPlanWeekEntity) bundle.getSerializable("plan_entity");
|
||||
}
|
||||
String jsonContent = getString(R.string.plan_water_entity_json);
|
||||
WaterPlanWeekEntity entity = new Gson().fromJson(jsonContent, WaterPlanWeekEntity.class);
|
||||
|
||||
ImmersionBar.with(this)
|
||||
.statusBarColor(R.color.color_F9F9F9) // 设置状态栏颜色
|
||||
.statusBarDarkFont(true) // 设置状态栏字体为黑色
|
||||
@@ -37,14 +49,18 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
.init();
|
||||
viewBinding.includedTitle.tvTitle.setText(R.string.plan_detail_title);
|
||||
initListener();
|
||||
// PlanDetailTimeAdapter timeAdapter = new PlanDetailTimeAdapter(R.layout.plan_detail_time_item,entity.getWashCycleList());
|
||||
// viewBinding.rvPlanTime.setAdapter(timeAdapter);
|
||||
showLoadingDialog();
|
||||
mPresenter.getPlanDetailInfo(mPlanEntity);
|
||||
mAdapter = new PlanDetailTimeAdapter(R.layout.plan_detail_time_item,mList);
|
||||
viewBinding.rvPlanTime.setAdapter(mAdapter);
|
||||
// PlanDetailDeviceAdapter deviceAdapter = new PlanDetailDeviceAdapter(R.layout.plan_detail_bind_device_item,entity.getDeviceList());
|
||||
// viewBinding.rvBindDevices.setAdapter(deviceAdapter);
|
||||
}
|
||||
|
||||
private void initListener() {
|
||||
setClick(viewBinding.includedTitle.imgBack);
|
||||
setClick(viewBinding.btnEdit);
|
||||
setClick(viewBinding.btnDelete);
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
@@ -57,10 +73,44 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
finish();
|
||||
break;
|
||||
|
||||
case R.id.btn_edit:
|
||||
if(mDetailEntity != null){
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("plan_entity",mPlanEntity);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取配成详情成功
|
||||
* @param entity
|
||||
*/
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
hideDialogLoading();
|
||||
mDetailEntity = entity;
|
||||
viewBinding.tvPlanName.setText(entity.getName());
|
||||
if(entity.getStatus().equals("1")){
|
||||
viewBinding.switchButton.setChecked(true);
|
||||
}else{
|
||||
viewBinding.switchButton.setChecked(false);
|
||||
}
|
||||
//针对周一 --- 周日的日期,只显示勾选的日期
|
||||
List<WaterPlanWeekEntity.DetailsBean> list = new ArrayList<>();
|
||||
for(WaterPlanWeekEntity.DetailsBean bean : entity.getDetails()){
|
||||
if(bean.getStatus().equals("1")){
|
||||
list.add(bean);
|
||||
}
|
||||
}
|
||||
if(mAdapter != null){
|
||||
mAdapter.setNewData(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
return new WaterPlanPresenter(new WaterPlanImpl());
|
||||
@@ -73,7 +123,8 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,message);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,4 +146,6 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -203,16 +203,21 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
}
|
||||
List<WaterPlanWeekEntity.DetailsBean> localDetails = mConfigEntity.getDetails();
|
||||
List<WaterPlanWeekEntity.DetailsBean> remoteDetails = mRemoteConfigEntity.getDetails();
|
||||
if (localDetails == null || localDetails.size() != remoteDetails.size()) {
|
||||
return true;
|
||||
}
|
||||
for (int i = 0; i < localDetails.size(); i++) {
|
||||
WaterPlanWeekEntity.DetailsBean local = localDetails.get(i);
|
||||
WaterPlanWeekEntity.DetailsBean remote = remoteDetails.get(i);
|
||||
if (!equalsString(local.getStatus(), remote.getStatus())
|
||||
|| !equalsString(local.getStartTime(),ZYTimeUtils.timeWithoutMillis(remote.getStartTime()))
|
||||
|| local.getDurationMin() != remote.getDurationMin()) {
|
||||
return true;
|
||||
// 勾选状态下对比状态、时间、时长
|
||||
if ("1".equals(local.getStatus())) {
|
||||
if (!equalsString(local.getStatus(), remote.getStatus())
|
||||
|| !equalsString(local.getStartTime(), ZYTimeUtils.formatHHmm(remote.getStartTime()))
|
||||
|| local.getDurationMin() != remote.getDurationMin()) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
// 未勾选状态下只对比勾选状态,不关心时间/时长
|
||||
if (!equalsString(local.getStatus(), remote.getStatus())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -296,6 +301,11 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
mRemoteConfigEntity = entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
|
||||
@@ -50,7 +50,9 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
goTo(mContext, PlanDetailActivity.class,null);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("plan_entity",mPlanList.get(position));
|
||||
goTo(mContext, PlanDetailActivity.class,bundle);
|
||||
}
|
||||
});
|
||||
showLoadingDialog();
|
||||
@@ -114,4 +116,9 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
//package com.ckkj.water.plan.adapter;
|
||||
//
|
||||
//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.List;
|
||||
//
|
||||
//public class PlanDetailTimeAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.WashCycleEntity, BaseViewHolder> {
|
||||
//
|
||||
// public PlanDetailTimeAdapter(int layoutResId, @Nullable List<WaterPlanWeekEntity.WashCycleEntity> data) {
|
||||
// super(layoutResId, data);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.WashCycleEntity item) {
|
||||
// helper.setText(R.id.tv_week,item.getWeek());
|
||||
// helper.setText(R.id.tv_start_time,item.getTime());
|
||||
// helper.setText(R.id.tv_duration,item.getDuration());
|
||||
// }
|
||||
//}
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
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 com.ckkj.water.utils.time.ZYTimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PlanDetailTimeAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.DetailsBean, BaseViewHolder> {
|
||||
|
||||
public PlanDetailTimeAdapter(int layoutResId, @Nullable List<WaterPlanWeekEntity.DetailsBean> data) {
|
||||
super(layoutResId, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DetailsBean item) {
|
||||
helper.setText(R.id.tv_week, ZYTimeUtils.getWeekName(item.getWeekday()));
|
||||
helper.setText(R.id.tv_start_time,ZYTimeUtils.formatHHmm(item.getStartTime()));
|
||||
helper.setText(R.id.tv_duration,item.getDurationMin() + "min");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ public class WaterPlanContract {
|
||||
void updateConfig(JSONObject json,CallBack callBack);
|
||||
//查询排程可绑定的设备列表
|
||||
void getPlanBindDeviceList(Map<String, String> map,CallBack callBack);
|
||||
//查询排程详情
|
||||
void getPlanDetailInfo(Map<String, String> map,CallBack callBack);
|
||||
}
|
||||
|
||||
public interface WaterPlanView extends IView {
|
||||
@@ -31,5 +33,7 @@ public class WaterPlanContract {
|
||||
void saveConfigSuccess(WaterPlanWeekEntity entity);
|
||||
//排程更新成功
|
||||
void updateConfigSuccess(WaterPlanWeekEntity entity);
|
||||
//获取排程详情
|
||||
void getPlanDetailInfo(WaterPlanWeekEntity entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,4 +168,34 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(Map<String, String> map, WaterPlanContract.CallBack callBack) {
|
||||
String deviceID = map.get("id");
|
||||
NetWorkManager.getRequest().getPlanDetailInfo(NetWorkManager.getToken(), deviceID)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseBean<WaterPlanWeekEntity>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean<WaterPlanWeekEntity> bean) {
|
||||
if (bean.getCode() == 200) {
|
||||
callBack.success(bean.getData(),0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
callBack.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,4 +163,28 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询排程详情
|
||||
* @param mPlanEntity
|
||||
*/
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity mPlanEntity) {
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("id",mPlanEntity.getId());
|
||||
impl.getPlanDetailInfo(map, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
|
||||
@Override
|
||||
public void success(WaterPlanWeekEntity bean, int total) {
|
||||
if(WaterPlanPresenter.this.getView() != null){
|
||||
WaterPlanPresenter.this.getView().getPlanDetailInfo(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if(WaterPlanPresenter.this.getView() != null){
|
||||
WaterPlanPresenter.this.getView().showError( msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,6 +293,34 @@ public class ZYTimeUtils {
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* HH:mm:ss 转 HH:mm
|
||||
* 例如:
|
||||
* 08:00:00 -> 08:00
|
||||
* 18:35:29 -> 18:35
|
||||
*/
|
||||
public static String formatHHmm(String time) {
|
||||
if (TextUtils.isEmpty(time)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
try {
|
||||
SimpleDateFormat sourceFormat =
|
||||
new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
|
||||
|
||||
SimpleDateFormat targetFormat =
|
||||
new SimpleDateFormat("HH:mm", Locale.getDefault());
|
||||
|
||||
Date date = sourceFormat.parse(time);
|
||||
|
||||
return targetFormat.format(date);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return time;
|
||||
}
|
||||
}
|
||||
|
||||
public static String getStrTimeData_H_M(Date date) {
|
||||
String timeString = null;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
|
||||
|
||||
Reference in New Issue
Block a user