From 81e258e6aa59dafce998b4f41b1271a9f5c9aff5 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 30 十月 2025 20:07:26 +0800
Subject: [PATCH] 钥匙柜
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 304 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 ff33d5f..780a18c 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,16 +1,320 @@
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);
}
+
+ @Override
+ 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("鍏抽棴鏌滄牸鎺ュ彛鎴愬姛:"+gridDo.getCurKeyCode()));
+ 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