| | |
| | | import com.doumee.keyCabinet.event.KeyResultEvent; |
| | | import com.doumee.keyCabinet.event.GetKeyStatusEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridListEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridOneResultEvent; |
| | | import com.doumee.keyCabinet.ui.keyCabinet.adapter.CabinetRcvAdapter; |
| | | import com.doumee.keyCabinet.utils.i485.SportUtils; |
| | | import com.doumee.lib_coremodel.bean.event.ActionEventData; |
| | | import com.doumee.lib_coremodel.util.RecyclerHelp; |
| | | import com.doumee.lib_coremodel.util.StringUtil; |
| | | import com.doumee.lib_coremodel.view.ToastView; |
| | | import com.example.datalibrary.utils.ToastUtils; |
| | | |
| | | import org.greenrobot.eventbus.EventBus; |
| | | import org.greenrobot.eventbus.Subscribe; |
| | |
| | | private int status; |
| | | |
| | | private int ysDownCount = 10; |
| | | private Handler handler = new Handler(){ |
| | | @Override |
| | | public void handleMessage(@NonNull Message msg) { |
| | | switch (msg.what){ |
| | | case 0: |
| | | /*if (ysDownCount==4) { |
| | | //领取钥匙倒计时 |
| | | doRegister(7,null); |
| | | ysDownCount--; |
| | | handler.sendEmptyMessageDelayed(0,1000); |
| | | }else if (ysDownCount==0) { |
| | | //领取钥匙倒计时 |
| | | //doRegister(MApplication.nextBoolean()?5:6,null); |
| | | }else { |
| | | ysDownCount--; |
| | | handler.sendEmptyMessageDelayed(0,1000); |
| | | }*/ |
| | | break; |
| | | case 1: |
| | | |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | @Override |
| | | public int getLayoutId() { |
| | |
| | | for(CabinetGridDo d:gridDos){ |
| | | oldMap.put(d.getGridKey(),d); |
| | | } |
| | | List<CabinetGridDo> addList = new ArrayList<>(); |
| | | List<CabinetGridDo> updateList = new ArrayList<>(); |
| | | for(KeyCabinetBean bean:beans){ |
| | | String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode()))+SportUtils.intToHex(Integer.parseInt(bean.getChannelCode())); |
| | |
| | | gridDo.setKeyStatus(bean.getKeyStatus()); |
| | | gridDo.setWorkingStatus(bean.getWorkingStatus()); |
| | | updateList.add(gridDo); |
| | | }else { |
| | | //新增 |
| | | CabinetGridDo gridDo = new CabinetGridDo(); |
| | | gridDo.setGridId(bean.getId()); |
| | | gridDo.setCabinetName(bean.getCode()); |
| | | gridDo.setGridKey(key); |
| | | gridDo.setKeyCode(bean.getKeyCode()); |
| | | gridDo.setBindStatus(bean.getBindStatus()); |
| | | gridDo.setGridStatus(bean.getStatus()); |
| | | gridDo.setKeyStatus(bean.getKeyStatus()); |
| | | gridDo.setWorkingStatus(bean.getWorkingStatus()); |
| | | gridDo.setUpdateTime(StringUtil.DateToStr(new Date())); |
| | | addList.add(gridDo); |
| | | } |
| | | } |
| | | if(addList.size()>0){ |
| | | DaoManager.getCabinetGridDao().insert(addList); |
| | | } |
| | | if(updateList.size()>0){ |
| | | CabinetGridDo[] upList = new CabinetGridDo[updateList.size()]; |
| | |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | if(status==0) { |
| | | //重新开门 |
| | | openTime = StringUtil.DateToStr(new Date()); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | downTime = 60; |
| | |
| | | getDB().clTip2.setVisibility(View.VISIBLE); |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | ysDownCount = 8; |
| | | handler.sendEmptyMessageDelayed(0,1000); |
| | | break; |
| | | case 7: |
| | | //提醒关柜门 |
| | |
| | | } |
| | | |
| | | private SpannableString getErrPhoneText(){ |
| | | String phone = "15899098765"; |
| | | String phone = MApplication.getConfigBean().getLinkPhone(); |
| | | String text = "如有问题请联系管理员"+phone; |
| | | SpannableString styledText = new SpannableString(text); |
| | | styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip2), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); |
| | |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void KeyResultEvent(KeyResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //钥匙变更了 |
| | | if(selectBean!=null) { |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | + SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | | //查询柜格 |
| | | CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key); |
| | | if (gridDo != null) { |
| | | if(flag==0){ |
| | | //取 |
| | | if(TextUtils.isEmpty(gridDo.getKeyCode())){ |
| | | //空了 |
| | | doRegister(7,null); |
| | | } |
| | | }else { |
| | | //还 |
| | | if(!TextUtils.isEmpty(gridDo.getKeyCode())){ |
| | | //有钥匙了 |
| | | doRegister(7,null); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | handler.removeCallbacksAndMessages(null); |
| | | handler = null; |
| | | } |
| | | |
| | | private String openTime = ""; |
| | |
| | | return; |
| | | } |
| | | isOpened = true; |
| | | openTime = StringUtil.DateToStr(new Date()); |
| | | Toast.makeText(mContext, "操作4", Toast.LENGTH_LONG).show(); |
| | | doRegister(4, null); |
| | | } else { |
| | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //获取卡号 |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | if(selectBean!=null){ |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //钥匙不匹配 |
| | | Toast.makeText(mContext, "操作10", Toast.LENGTH_LONG).show(); |
| | | //Toast.makeText(mContext, "操作10", Toast.LENGTH_LONG).show(); |
| | | doRegister(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | |
| | | doRegister(5, null); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | if (handler.hasMessages(0)) { |
| | | handler.removeMessages(0); |
| | | } |
| | | }else { |
| | | Toast.makeText(mContext, "未查询到", Toast.LENGTH_LONG).show(); |
| | | ToastView.show(MApplication.mContext, "未查询到规格信息"); |
| | | } |
| | | } else { |
| | | //关门失败 |
| | |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | | Toast.makeText(mContext, "未查询到", Toast.LENGTH_LONG).show(); |
| | | ToastView.show(MApplication.mContext, "未查询到规格信息"); |
| | | } |
| | | } else { |
| | | //关门失败 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void KeyResultEvent(KeyResultEvent e){ |
| | | if(!isFinishing()){ |
| | | if(selectBean!=null){ |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | | if(flag==0) { |
| | | //领取 |
| | | //查询钥匙号 |
| | | CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key); |
| | | if (gridDo != null) { |
| | | if (gridDo.getIsOpen() == 0) { |
| | | //关门成功 |
| | | if (!TextUtils.isEmpty(gridDo.getCurKeyCode())) { |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //领取失败 |
| | | isOpened = false; |
| | | doRegister(6, null); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //钥匙不匹配 |
| | | //Toast.makeText(mContext, "操作10", Toast.LENGTH_LONG).show(); |
| | | doRegister(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //钥匙拿走了 |
| | | isOpened = false; |
| | | doRegister(5, null); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | | //没关门 |
| | | if(TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | | //空了 |
| | | doRegister(7,null); |
| | | } |
| | | } |
| | | }else { |
| | | ToastView.show(MApplication.mContext, "未查询到规格信息"); |
| | | } |
| | | }else { |
| | | //归还 |
| | | CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key); |
| | | if (gridDo != null) { |
| | | if (gridDo.getIsOpen() == 0) { |
| | | //关门成功 |
| | | if (!TextUtils.isEmpty(gridDo.getCurKeyCode())) { |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //相同归还成功 |
| | | isOpened = false; |
| | | doRegister(8, null); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //钥匙不匹配 |
| | | doRegister(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //钥匙未归还 |
| | | isOpened = false; |
| | | doRegister(9, null); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | | //没关门 |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | | //有钥匙了 |
| | | doRegister(7,null); |
| | | } |
| | | } |
| | | } else { |
| | | ToastView.show(MApplication.mContext, "未查询到规格信息"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |