From 5dc9dbf26b6221aba187ce08126a47d0b1ad0030 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 31 十月 2025 10:30:36 +0800
Subject: [PATCH] 最新版本541200007
---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java |  299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 299 insertions(+), 0 deletions(-)
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
index 63968cc..94a9439 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
@@ -1,14 +1,41 @@
 package com.doumee.keyCabinet.ui.keyCabinet;
 
 import android.app.Application;
+import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
+import androidx.databinding.ObservableField;
 import androidx.hilt.lifecycle.ViewModelInject;
+import androidx.lifecycle.MutableLiveData;
 
+import com.doumee.keyCabinet.MApplication;
+import com.doumee.keyCabinet.bean.CabinetDetailBean;
+import com.doumee.keyCabinet.bean.LoginBean;
+import com.doumee.keyCabinet.bean.ManageKeyCabinetBean;
+import com.doumee.keyCabinet.dao.CabinetGridDo;
+import com.doumee.keyCabinet.event.HttpEvent;
+import com.doumee.keyCabinet.http.Apis;
+import com.doumee.keyCabinet.http.param.BaseResponse;
+import com.doumee.keyCabinet.http.param.BatchOpenGridAdminParam;
+import com.doumee.keyCabinet.http.param.CancelFaultParam;
+import com.doumee.keyCabinet.http.param.CloseGridParam;
+import com.doumee.keyCabinet.http.param.MarkFaultParam;
+import com.doumee.keyCabinet.http.param.MarkRepairParam;
+import com.doumee.keyCabinet.utils.ParamsUtil;
 import com.doumee.lib_coremodel.base.BaseModel;
 import com.doumee.lib_coremodel.base.DataViewModel;
+import com.doumee.lib_coremodel.http.rxJava.SimpleObserver;
+import com.doumee.lib_coremodel.http.utils.RxUtils;
+
+import org.greenrobot.eventbus.EventBus;
+
+import java.util.ArrayList;
+import java.util.List;
 
 public class ManageCabinetVM extends DataViewModel {
+    public ObservableField<CabinetDetailBean> dataOb = new ObservableField<>();
+    private MutableLiveData<List<ManageKeyCabinetBean>> datasLD = new MutableLiveData<>();
+
     @ViewModelInject
     public ManageCabinetVM(@NonNull Application application, BaseModel model) {
         super(application, model);
@@ -18,4 +45,276 @@
     protected void clickByTypeCommand(int type) {
         doAction(type);
     }
+
+    public void getCabinetDetail(){
+        /*CabinetDetailBean bean = new CabinetDetailBean();
+        bean.setGridNum(24);
+        bean.setOnlineKeyNum(1);
+        bean.setOutKeyNum(2);
+        bean.setErrGridNum(3);
+        bean.setServiceKeyNum(4);
+        bean.setUnBindGridNum(5);
+        dataOb.set(bean);
+        List<ManageKeyCabinetBean> datas = new ArrayList<>();
+        for(int i=1;i<=16;i++){
+            ManageKeyCabinetBean b = new ManageKeyCabinetBean();
+            b.setBindStatus(0);
+            b.setBoardCode("1");
+            b.setCarCode("杞︾墝"+i);
+            b.setChannelCode(i+"");
+            b.setCode("A鏌�"+i);
+            b.setId(i);
+            b.setKeyStatus(0);
+            b.setKeyCode(null);
+            b.setStatus(0);
+            b.setWorkingStatus(0);
+            datas.add(b);
+        }
+        for(int i=17;i<=24;i++){
+            ManageKeyCabinetBean b = new ManageKeyCabinetBean();
+            b.setBindStatus(0);
+            b.setBoardCode("2");
+            b.setCarCode("杞︾墝"+i);
+            b.setChannelCode((i-16)+"");
+            b.setCode("B鏌�"+i);
+            b.setId(i);
+            b.setKeyStatus(0);
+            b.setKeyCode(null);
+            b.setStatus(0);
+            b.setWorkingStatus(0);
+            datas.add(b);
+        }
+        ManageKeyCabinetBean b1 = datas.get(0);
+        b1.setKeyCode("C97B092F");
+        b1.setKeyStatus(1);
+        b1.setBindStatus(1);
+
+        ManageKeyCabinetBean b2 = datas.get(1);
+        b2.setKeyStatus(2);
+        b2.setBindStatus(1);
+
+        ManageKeyCabinetBean b3 = datas.get(2);
+        b3.setKeyStatus(3);
+        b3.setBindStatus(1);
+
+        ManageKeyCabinetBean b4 = datas.get(3);
+        b4.setKeyStatus(1);
+        b4.setWorkingStatus(1);
+        b4.setBindStatus(1);
+
+        datasLD.setValue(datas);*/
+
+        showLoading(true);
+        getRetrofitService(Apis.class).getCabinetDetail(MApplication.getLoginBean().getToken(),
+                        MApplication.getConfigBean().getId())
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse<CabinetDetailBean>>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse<CabinetDetailBean> response) {
+                        if(200==response.getCode()){
+                            dataOb.set(response.getData());
+                            if(response.getData()!=null){
+                                MApplication.getLoginBean().setMemberId(response.getData().getMemberId());
+                                if(response.getData().getCabinetGridInfoVOList()!=null){
+                                    datasLD.setValue(response.getData().getCabinetGridInfoVOList());
+                                }else {
+                                    datasLD.setValue(new ArrayList<>());
+                                }
+                            }else {
+                                datasLD.setValue(new ArrayList<>());
+                            }
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    public void batchOpenGridAdmin(List<Integer> gridIdList,boolean isAll){
+        /*if(isAll) {
+            doAction(8);
+        }else {
+            doAction(10);
+        }
+        if(true){
+            return;
+        }*/
+        showLoading(true);
+        BatchOpenGridAdminParam param = new BatchOpenGridAdminParam();
+        param.setCabinetId(MApplication.getConfigBean().getId());
+        param.setGridIdList(gridIdList);
+        getRetrofitService(Apis.class).batchOpenGridAdmin(MApplication.getLoginBean().getToken(),
+                        ParamsUtil.encodeRequestBody(param))
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse response) {
+                        if(200==response.getCode()){
+                            EventBus.getDefault().post(new HttpEvent("鎵归噺寮�闂� - 绠$悊鍛樻帴鍙f垚鍔�"));
+                            if(isAll) {
+                                doAction(8);
+                            }else {
+                                doAction(10);
+                            }
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    public void cancelFault(List<Integer> gridIdList){
+
+        showLoading(true);
+        CancelFaultParam param = new CancelFaultParam();
+        param.setCabinetId(MApplication.getConfigBean().getId());
+        param.setGridIdList(gridIdList);
+        getRetrofitService(Apis.class).cancelFault(MApplication.getLoginBean().getToken(),
+                        ParamsUtil.encodeRequestBody(param))
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse response) {
+                        EventBus.getDefault().post(new HttpEvent("鏍囪鏌滄牸姝e父鎺ュ彛鎴愬姛"));
+                        if(200==response.getCode()){
+                            getCabinetDetail();
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    public void markFault(List<Integer> gridIdList){
+        showLoading(true);
+        MarkFaultParam param = new MarkFaultParam();
+        param.setCabinetId(MApplication.getConfigBean().getId());
+        param.setGridIdList(gridIdList);
+        getRetrofitService(Apis.class).markFault(MApplication.getLoginBean().getToken(),
+                        ParamsUtil.encodeRequestBody(param))
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse response) {
+                        if(200==response.getCode()){
+                            EventBus.getDefault().post(new HttpEvent("鏍囪鏌滄牸鏁呴殰鎺ュ彛鎴愬姛"));
+                            getCabinetDetail();
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    public void markRepair(List<Integer> gridIdList){
+        showLoading(true);
+        MarkRepairParam param = new MarkRepairParam();
+        param.setCabinetId(MApplication.getConfigBean().getId());
+        param.setGridIdList(gridIdList);
+        getRetrofitService(Apis.class).markRepair(MApplication.getLoginBean().getToken(),
+                        ParamsUtil.encodeRequestBody(param))
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse response) {
+                        if(200==response.getCode()){
+                            EventBus.getDefault().post(new HttpEvent("鏍囪缁翠慨淇濆吇鎺ュ彛鎴愬姛"));
+                            getCabinetDetail();
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    /**
+     * 鍏抽棬
+     * @param gridDo
+     */
+    public void closeGrid(CabinetGridDo gridDo){
+        CloseGridParam param = new CloseGridParam();
+        LoginBean loginBean = MApplication.getLoginBean();
+        param.setCabinetId(MApplication.getConfigBean().getId());
+        param.setAuthType(loginBean.getAuthType());
+        param.setMemberId(loginBean.getMemberId());
+        param.setGridId(gridDo.getGridId());
+        param.setKeyStatus(!TextUtils.isEmpty(gridDo.getCurKeyCode())?1:2);
+        toast(gridDo.getGridKey()+"鍏抽棴锛屽綋鍓嶉挜鍖欏彿锛�"+gridDo.getCurKeyCode());
+        getRetrofitService(Apis.class).closeGrid(ParamsUtil.encodeRequestBody(param))
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+                    @Override
+                    public void onNext(@NonNull BaseResponse response) {
+                        if(response.getCode()==200){
+                            EventBus.getDefault().post(new HttpEvent("鍏抽棴鏌滄牸鎺ュ彛鎴愬姛"));
+                            getCabinetDetail();
+                            doAction(11);
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+
+    public MutableLiveData<List<ManageKeyCabinetBean>> getDatasLD() {
+        return datasLD;
+    }
 }
--
Gitblit v1.9.3