From c7376f8d1091b70597ba4430a281496b585b386e Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 23 十月 2025 21:58:26 +0800
Subject: [PATCH] 钥匙柜

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java |  253 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 253 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..c99ca2e 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
@@ -3,12 +3,32 @@
 import android.app.Application;
 
 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.ManageKeyCabinetBean;
+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.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 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 +38,237 @@
     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);
+
+        if(true){
+            return;
+        }
+        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){
+                                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()){
+                            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) {
+                        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()){
+                            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()){
+                            getCabinetDetail();
+                        }else {
+                            toast(response.getMessage());
+                        }
+                    }
+
+                    @Override
+                    public void onError(@NonNull Throwable e) {
+                        toast(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        hideLoading();
+                    }
+                });
+    }
+
+    public MutableLiveData<List<ManageKeyCabinetBean>> getDatasLD() {
+        return datasLD;
+    }
 }

--
Gitblit v1.9.3