doum
5 天以前 6c12dd77bc481aeabec568bfed3dd68e81b80f8b
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
@@ -2,19 +2,30 @@
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() {
@@ -31,6 +42,96 @@
    @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;
        }
    }
}