weimingfei
2 天以前 338e7ed513d21d1468c0908fdca2ea4097ee0621
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
@@ -23,6 +23,7 @@
import com.doumee.keyCabinet.dao.DaoManager;
import com.doumee.keyCabinet.databinding.KeyCabinetActivityBinding;
import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.event.KeyResultEvent;
import com.doumee.keyCabinet.event.GetKeyStatusEvent;
import com.doumee.keyCabinet.event.OpenErrEvent;
@@ -167,9 +168,10 @@
                //开启柜门
                getVM().openGridDriver(selectBean);
                downTime = 60;
                getDB().tvTitle.setVisibility(View.GONE);
                break;
            case 2:
                getDB().clTip1.setVisibility(View.GONE);
                //getDB().clTip1.setVisibility(View.GONE);
                if(status==0) {
                    //重新开门
                    openTime = StringUtil.DateToStr(new Date());
@@ -281,6 +283,12 @@
    private SpannableString getErrPhoneText(){
        String phone = MApplication.getConfigBean().getLinkPhone();
        if(phone==null){
            String text = "如有问题请联系管理员";
            SpannableString styledText = new SpannableString(text);
            styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip3), 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            return styledText;
        }
        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);
@@ -321,8 +329,7 @@
                            return;
                        }
                        isOpened = true;
                        Toast.makeText(mContext, "操作4", Toast.LENGTH_LONG).show();
                        doRegister(4, null);
                        getVM().doAction(4);
                    } else {
                        //失败
                        //如果是钥匙不对继续开门
@@ -335,12 +342,12 @@
                            }
                            if (!gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
                                //钥匙不匹配
                                doRegister(10,null);
                                getVM().doAction(10,null);
                                EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
                                return;
                            }
                        }
                        doRegister(3, null);
                        getVM().doAction(3);
                    }
                }
            }
@@ -357,93 +364,13 @@
                handler.removeMessages(1);
            }
            //获取卡号
            EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>关门,获取钥匙信息"));
            EventBus.getDefault().post(new GetKeyStatusEvent());
            keyTime = new Date().getTime()+500;
            if(handler.hasMessages(0)){
                handler.removeMessages(0);
            }
            handler.sendEmptyMessageDelayed(0,1200);
            /*if(selectBean!=null){
                String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
                        +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
                if(key.equals(e.getKey())) {
                    stopCountTimer();
                    if(flag==0) {
                        //领取
                        if (e.getIsOpen() == 0) {
                            //关门成功
                            //查询钥匙号
                            CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                            if (gridDo != null) {
                                if(gridDo.getUpdateTime().compareTo(openTime)<0){
                                    //开门前数据,不能使用
                                    EventBus.getDefault().post(new GetKeyStatusEvent());
                                    return;
                                }
                                //Toast.makeText(mContext, "1:"+gridDo.getKeyCode()+",2:"+selectBean.getKeyCode(), Toast.LENGTH_LONG).show();
                                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 {
                                ToastView.show(MApplication.mContext, "未查询到规格信息");
                            }
                        } else {
                            //关门失败
                        }
                    }else {
                        //归还
                        if (e.getIsOpen() == 0) {
                            //关门成功
                            //查询钥匙号
                            CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                            if (gridDo != null) {
                                if(gridDo.getUpdateTime().compareTo(openTime)<0){
                                    //开门前数据,不能使用
                                    EventBus.getDefault().post(new GetKeyStatusEvent());
                                    return;
                                }
                                //Toast.makeText(mContext, "1:"+gridDo.getKeyCode()+",2:"+selectBean.getKeyCode(), Toast.LENGTH_LONG).show();
                                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 {
                                ToastView.show(MApplication.mContext, "未查询到规格信息");
                            }
                        } else {
                            //关门失败
                        }
                    }
                }
            }*/
        }
    }
@@ -466,14 +393,29 @@
            if(selectBean!=null){
                //校验时间
                if(keyTime==null){
                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息1"));
                    return;
                }
                if(keyTime!=null&&keyTime>System.currentTimeMillis()){
                    //校验返回时间<命令时间
                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息2"));
                    return;
                }
                if(handler.hasMessages(0)){
                    handler.removeMessages(0);
                }
                if("1".equals(e.getType())){
                    //1号板
                    if(!"1".equals(selectBean.getBoardCode())){
                        EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息3"));
                        return;
                    }
                }else if("2".equals(e.getType())){
                    //2号板
                    if(!"2".equals(selectBean.getBoardCode())){
                        EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息4"));
                        return;
                    }
                }
                String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode()))
                        +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode()));
@@ -488,25 +430,24 @@
                                if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
                                    //领取失败
                                    isOpened = false;
                                    doRegister(6, null);
                                    getVM().doAction(6);
                                    getVM().closeGrid(gridDo);
                                }else {
                                    //钥匙不匹配
                                    //Toast.makeText(mContext, "操作10", Toast.LENGTH_LONG).show();
                                    doRegister(10,null);
                                    getVM().doAction(10);
                                    EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
                                }
                            } else {
                                //钥匙拿走了
                                isOpened = false;
                                doRegister(5, null);
                                getVM().doAction(5);
                                getVM().closeGrid(gridDo);
                            }
                        }else {
                            //没关门
                            if(TextUtils.isEmpty(gridDo.getCurKeyCode())){
                                //空了
                                doRegister(7,null);
                                getVM().doAction(7);
                            }
                        }
                    }else {
@@ -514,6 +455,7 @@
                    }
                }else {
                    //归还
                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息5"));
                    CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                    if (gridDo != null) {
                        if (gridDo.getIsOpen() == 0) {
@@ -522,24 +464,28 @@
                                if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) {
                                    //相同归还成功
                                    isOpened = false;
                                    doRegister(8, null);
                                    getVM().doAction(8);
                                    getVM().closeGrid(gridDo);
                                    EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息-归还成功"));
                                }else {
                                    //钥匙不匹配
                                    doRegister(10,null);
                                    getVM().doAction(10);
                                    EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
                                }
                            } else {
                                //钥匙未归还
                                isOpened = false;
                                doRegister(9, null);
                                getVM().doAction(9);
                                getVM().closeGrid(gridDo);
                                EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息-钥匙未归还"));
                            }
                        }else {
                            EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息-没关门"));
                            //没关门
                            if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
                                //有钥匙了
                                doRegister(7,null);
                                getVM().doAction(7);
                                EventBus.getDefault().post(new HttpEvent("xxxxxxxxxx==>钥匙信息-没关门-有钥匙"));
                            }
                        }
                    } else {