lizhanwei
2020-03-23 7fe6ae94fe801be92927b6dd095d483cba282752
训练模式不发0204结束考试消息;rtk状态图标默认为0未连接
6个文件已修改
197 ■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -285,7 +285,7 @@
        //TODO 判断SPUtils 是否保存有des密码;如果没有则进行注册JKMessage0100,如果有密码则进行鉴权JKMessage0101
        String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,"");
        hexPwd="";
        MessageProcessor.getInstance().addBeatHeart(10);
        MessageProcessor.getInstance().addBeatHeart(20);
        if (TextUtils.isEmpty(hexPwd)){
            MyLog.i(PlatFormConstant.TAG,"密码不存在,进行注册,发送注册消息");
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -247,7 +247,15 @@
                    type = rtkConfigUpdtea.getInt("type");
                    enter_status = rtkConfigUpdtea.getInt("enter");
                    String itemstr=ExamPlatformData.getInstance().getItemStatusStr(type);
                    if (ExamPlatformData.getInstance().getTrainingMode()== ExamPlatformData.TRAINING_MODE){
                    ExamPlatformData.getInstance().getTTS().speak(itemstr+(enter_status==Constant.EXIT_CURRENT_ITEM?"结束":"开始"));
                    }else{
                        if (enter_status!=Constant.EXIT_CURRENT_ITEM){
                            ExamPlatformData.getInstance().getTTS().speak(itemstr+"开始");
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
@@ -317,31 +325,14 @@
                if (ExamPlatformData.getInstance().getExamplatformStatus()==ExamPlatformData.DEV_LOGIN){
                    try {
                        JSONObject jsSpeed = new JSONObject(json);
                        double latitude = jsSpeed.getDouble("latitude");
                        double longitude = jsSpeed.getDouble("longitude");
                        double altitude = jsSpeed.getDouble("altitude");
                        double speed = jsSpeed.getDouble("speed");
                        int  qf = jsSpeed.getInt("qf");
                        double track_ture = jsSpeed.getDouble("track_ture");
                        String utc = jsSpeed.getString("utc");
                        CEventCenter.dispatchEvent(Constant.BIND_RTK_SPEED_TOPIC,cmd,0,speed);
                        utc = utc.replace(".","");
                        JKMessage0206 jkMessage0206 = new JKMessage0206();
                        jkMessage0206.alert = 0;
                        jkMessage0206.status = 0;
                        jkMessage0206.jd = longitude;
                        jkMessage0206.wd = latitude;
                        jkMessage0206.gaoCheng = (int)altitude;
                        jkMessage0206.speed = speed;
                        jkMessage0206.fangXiang = (int)track_ture;
                        jkMessage0206.rf = qf;
                        if (utc.length()>16){
                            utc = utc.substring(0,16);
                        }
                        jkMessage0206.timeBCD = utc;
                        jkMessage0206.json =json;
                        jkMessage0206.length = jkMessage0206.json.length();
//                    MyLog.i("地理坐标长度="+jkMessage0206.length);
                        AttachInfo attachInfo = new AttachInfo();
                        attachInfo.attach_message_id = Integer.parseInt(String.valueOf(0x40));
                        attachInfo.attach_message_length = 4;
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -442,6 +442,7 @@
        tv_work_platform = view.findViewById(R.id.platform);
        iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
        iv_rtk_status.getDrawable().setLevel(0);
        iv_head = view.findViewById(R.id.iv_head);
        tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
        tv_qf = view.findViewById(R.id.tv_qf);
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -463,6 +463,7 @@
        tv_work_platform = view.findViewById(R.id.platform);
        iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
        iv_rtk_status.getDrawable().setLevel(0);
        iv_head = view.findViewById(R.id.iv_head);
        tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
        tv_qf = view.findViewById(R.id.tv_qf);
@@ -621,14 +622,6 @@
    private void stopExam() {
        MyLog.i(TAG,"结束训练");
        //TODO 发送JKMessage0204给平台 结束考试
        JKMessage0204 jkMessage0204 = new JKMessage0204();
        jkMessage0204.timeBCD = new Date();
        jkMessage0204.score = currTotalScore;
        jkMessage0204.stop = JKMessage0204.SUCC_STOP;
        jkMessage0204.ID = ExamPlatformData.getInstance().getID();
        jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
        MessageProcessor.getInstance().sendMessage(jkMessage0204);
        //设置模式为NONE 0
        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE);
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -92,11 +92,16 @@
            JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase;
            String hexMessageId = jkMessage8001.respMessageId;
            if (hexMessageId.equalsIgnoreCase("0101")){
                if (jkMessage8001.result == JKMessage8001.SUCCESS){
                MyLog.i(PlatFormConstant.TAG,"鉴权成功");
                ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_LOGIN);
            }else{
                MyLog.i(PlatFormConstant.TAG,"收到了鉴权消息,但鉴权不成功");
                    MyLog.i(PlatFormConstant.TAG,"鉴权不成功:"+jkMessage8001.result);
                ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_NOT_LOGIN);
                }
            }else{
                MyLog.i(PlatFormConstant.TAG,String.format("收到了对%s消息的应答",jkMessage8001.respMessageId));
            }
        }else if (jk2019MessageBase instanceof JKMessage8201){
            JKMessage8201 jkMessage8201 = (JKMessage8201) jk2019MessageBase;
@@ -164,17 +169,20 @@
    private boolean canSend(String msgId){
        if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){
            //训练模式下 只有几条可以发送
            MyLog.i(PlatFormConstant.TAG,"训练模式,msgid="+msgId);
            switch (msgId){
                case "0206":
                case "0100":
                case "0101":
                    return true;
                    default:
                        return false;
            }
        }else{
            //考试模式下全部都可以发送
            return true;
        }
        return false;
    }
}
app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
@@ -45,78 +45,78 @@
        val sn = jsonObject["sn"].asInt
            if(ExamPlatformData.getInstance().trainingMode == ExamPlatformData.EXAMING_MODE){
                //考试模式 总扣分小于80 才报子失败项目
                var totalDecutSocre:Int = 0;
                if (emp_id>1000){
                    var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(emp_id-1000)
                    totalDecutSocre = ttsStr.score_deducting
                    if (totalDecutSocre > ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                        ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                ttsStr.getScore_deducting() + "分")
                    }
                }else{
                    var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(emp_id)
                    totalDecutSocre = ttsStr.score_deducting
                    if (totalDecutSocre > ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                        ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                ttsStr.getScore_deducting() + "分")
                    }
                }
                if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                }else{
                    if (ExamPlatformData.getInstance().examType > ExamPlatformData.EXAM_TYPE_ChangKAO){
                        //路考
                        var failedProjs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).luKaoFailProjDao.getAllFailProjIII(Constant.TEST_STU_ID)
                        for (i in 0 until failedProjs.size){
                            totalDecutSocre+=failedProjs[i].score_deducting
                            if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                                break;
                            }
                        }
                        if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                            for (i in 0 until failedProjs.size){
                                //所有存在数据库里的失败项
                                var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(failedProjs[i].emp_id)
                                    ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                            ttsStr.getScore_deducting() + "分")
                            }
                            //现在增加的一个项目,还未插入数据库; emp_id>1000 路考的话
                            var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(emp_id-1000)
                            ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                    ttsStr.getScore_deducting() + "分")
                        }
                    }else{
                        //场考
                        var failedProjs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).failProjDao.getAllFailProjI(Constant.TEST_STU_ID)
                        for (i in 0 until failedProjs.size){
                            totalDecutSocre+=failedProjs[i].score_deducting
                            if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                                break;
                            }
                        }
                        if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
                            for (i in 0 until failedProjs.size){
                                //所有存在数据库里的失败项
                                var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(failedProjs[i].emp_id)
                                ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                        ttsStr.getScore_deducting() + "分")
                            }
                            //现在增加的一个项目,还未插入数据库; emp_id>1000 路考的话
                            var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(emp_id)
                            ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
                                    ttsStr.getScore_deducting() + "分")
                        }
                    }
                }
            }else{
                //训练模式全部报 语音
//            if(ExamPlatformData.getInstance().trainingMode == ExamPlatformData.EXAMING_MODE){
//                //考试模式 总扣分小于80 才报子失败项目
//                var totalDecutSocre:Int = 0;
//                if (emp_id>1000){
//                    var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(emp_id-1000)
//                    totalDecutSocre = ttsStr.score_deducting
//                    if (totalDecutSocre > ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//                        ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                ttsStr.getScore_deducting() + "分")
//                    }
//                }else{
//                    var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(emp_id)
//                    totalDecutSocre = ttsStr.score_deducting
//                    if (totalDecutSocre > ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//                        ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                ttsStr.getScore_deducting() + "分")
//                    }
//                }
//                if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//
//                }else{
//                    if (ExamPlatformData.getInstance().examType > ExamPlatformData.EXAM_TYPE_ChangKAO){
//                        //路考
//                        var failedProjs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).luKaoFailProjDao.getAllFailProjIII(Constant.TEST_STU_ID)
//
//                        for (i in 0 until failedProjs.size){
//                            totalDecutSocre+=failedProjs[i].score_deducting
//                            if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//
//                                break;
//                            }
//                        }
//                        if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//                            for (i in 0 until failedProjs.size){
//                                //所有存在数据库里的失败项
//                                var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(failedProjs[i].emp_id)
//                                    ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                            ttsStr.getScore_deducting() + "分")
//                            }
//                            //现在增加的一个项目,还未插入数据库; emp_id>1000 路考的话
//                            var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(emp_id-1000)
//                            ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                    ttsStr.getScore_deducting() + "分")
//                        }
//
//                    }else{
//                        //场考
//                        var failedProjs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).failProjDao.getAllFailProjI(Constant.TEST_STU_ID)
//
//                        for (i in 0 until failedProjs.size){
//                            totalDecutSocre+=failedProjs[i].score_deducting
//                            if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//                                break;
//                            }
//                        }
//                        if (totalDecutSocre>ExamPlatformData.getInstance().MAX_SCORE_DUCT){
//                            for (i in 0 until failedProjs.size){
//                                //所有存在数据库里的失败项
//                                var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(failedProjs[i].emp_id)
//                                ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                        ttsStr.getScore_deducting() + "分")
//                            }
//                            //现在增加的一个项目,还未插入数据库; emp_id>1000 路考的话
//                            var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIDao.queryItemForCriteriaINoLive(emp_id)
//                            ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
//                                    ttsStr.getScore_deducting() + "分")
//                        }
//                    }
//                }
//
//            }else{
                //不管什么模式全部报 语音
                if (emp_id>1000){
                    var ttsStr=WorkRoomDataBase.getWorkRoomDataBase(applicationContext).criteriaIIIDao.queryItemForCriteriaIIINoLive(emp_id-1000)
                    ExamPlatformData.getInstance().tts.speak(ttsStr.getDeducting_reason() + if (ttsStr.getScore_deducting() == 100) "不合格" else "扣" +
@@ -132,7 +132,7 @@
                    jkMessage0203.fail_score = ttsStr.score_deducting
                    jkMessage0203.fail_reason = ttsStr.deducting_reason
                }
            }
//            }