|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|