doum
19 小时以前 6c12dd77bc481aeabec568bfed3dd68e81b80f8b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.doumee.keyCabinet.ui.keyCabinet;
 
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
 
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
 
import com.doumee.keyCabinet.R;
import com.doumee.keyCabinet.base.MyBaseActivity;
import com.doumee.keyCabinet.bean.CabinetDetailBean;
import com.doumee.keyCabinet.bean.ManageKeyCabinetBean;
import com.doumee.keyCabinet.databinding.ManageCabinetActivityBinding;
import com.doumee.keyCabinet.ui.keyCabinet.adapter.ManageCabinetRcvAdapter;
import com.doumee.lib_coremodel.bean.event.ActionEventData;
 
import java.util.ArrayList;
import java.util.List;
 
import dagger.hilt.android.AndroidEntryPoint;
 
@AndroidEntryPoint
public class ManageCabinetActivity extends MyBaseActivity<ManageCabinetVM, ManageCabinetActivityBinding> {
    private ManageCabinetRcvAdapter adapter;
    //1待全开,2待批量开
    private int status;
 
    @Override
    public int getLayoutId() {
        return R.layout.manage_cabinet_activity;
    }
 
    @Override
    public void initView(@Nullable Bundle savedInstanceState) {
        isAddCountTimer = false;
        normalConfig();
        getDB().setModel(getVM());
 
    }
 
    @Override
    public void initData(@Nullable Bundle savedInstanceState) {
        getVM().getDatasLD().observe(this, new Observer<List<ManageKeyCabinetBean>>() {
            @Override
            public void onChanged(List<ManageKeyCabinetBean> gridInfoBeans) {
 
            }
        });
        getVM().getCabinetDetail();
    }
 
    private List<Integer> bjIds = new ArrayList<>();
    private boolean isGz = true;
    @Override
    protected void doRegister(int type, ActionEventData data) {
        switch (type){
            case 1:
                //todo wmf 校验柜子是否都已关闭
                finish();
                break;
            case 2:
                //全开
                status = 1;
                //todo 全开
                break;
            case 3: {
                //批量开门,校验是否可打开
                List<Integer> ids = new ArrayList<>();
                List<ManageKeyCabinetBean> datas = adapter.getListData();
                for (ManageKeyCabinetBean bean : datas) {
                    if (bean.getIsSelected().get()) {
                        ids.add(bean.getId());
                    }
                }
                if (ids.size() == 0) {
                    Toast.makeText(mContext, "请选择柜格", Toast.LENGTH_SHORT).show();
                    return;
                }
                getVM().batchOpenGridAdmin(ids);
                }break;
            case 8:
                status = 2;
                //todo 批量开
                break;
            case 4: {
                //标记
                bjIds.clear();
                isGz = true;
                List<ManageKeyCabinetBean> datas = adapter.getListData();
                for (ManageKeyCabinetBean bean : datas) {
                    if (bean.getIsSelected().get()) {
                        bjIds.add(bean.getId());
                        if(bean.getWorkingStatus()==0){
                            isGz = false;
                        }
                    }
                }
                if (bjIds.size() == 0) {
                    Toast.makeText(mContext, "请选择柜格", Toast.LENGTH_SHORT).show();
                    return;
                }
                if(isGz){
                    //全为故障
                    getDB().tvBjgz.setText("标记为正常");
                    getDB().tvBjgz.setTextColor(0xff279BAA);
                    getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_2_bg);
                }else {
                    //标记故障
                    getDB().tvBjgz.setText("标记为故障");
                    getDB().tvBjgz.setTextColor(0xffFF3600);
                    getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_1_bg);
                }
                getDB().clCz.setVisibility(View.VISIBLE);
                }break;
            case 5:
                getDB().clCz.setVisibility(View.GONE);
                break;
            case 6:
                //维修
                getVM().markRepair(bjIds);
                break;
            case 7:
                if(isGz) {
                    //正常
                    getVM().cancelFault(bjIds);
                }else {
                    //故障
                    getVM().markFault(bjIds);
                }
                break;
            default:
                break;
        }
    }
}