lizhanwei
2020-03-30 ccb8c654aecc69c4562f96649d80427a534fff80
修改评判信息utc时间为北京时间
7个文件已修改
90 ■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/app.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/util/Utils.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -69,6 +69,7 @@
import safeluck.drive.evaluation.util.FileUtil;
import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.util.SystemUtil;
import safeluck.drive.evaluation.util.Utils;
import safeluck.drive.evaluation.worker.MCUUpgradeWorker;
import safeluck.drive.evaluation.worker.TTSWorker;
@@ -192,11 +193,13 @@
            case Constant.JUDGE_INFO:
                if(!TextUtils.isEmpty(json)){
                    Data judgeData = new Data.Builder().putString(Constant.TTS,json).build();
                    final JsonArray jsonArray = (JsonArray) JsonParser.parseString(json);
                    final JKMessage0203 jkMessage0203 = new JKMessage0203();
                    OneTimeWorkRequest ttswoker = new OneTimeWorkRequest.Builder(TTSWorker.class).setInputData(judgeData).build();
                    WorkManager.getInstance(getAppContext()).enqueue(ttswoker);
//                    Data judgeData = new Data.Builder().putString(Constant.TTS,json).build();
                    final JsonArray jsonArray = (JsonArray) JsonParser.parseString(json);
//
//                    OneTimeWorkRequest ttswoker = new OneTimeWorkRequest.Builder(TTSWorker.class).setInputData(judgeData).build();
//                    WorkManager.getInstance(getAppContext()).enqueue(ttswoker);
                    CThreadPoolExecutor.runInBackground(new Runnable() {
                        @Override
@@ -210,17 +213,31 @@
                                    CriteriaForIII ttsStr=WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIIIDao().queryItemForCriteriaIIINoLive(emp_id-1000);
                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格" : "扣" +
                                            ttsStr.getScore_deducting() + "分"));
                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
                                }else{
                                    CriteriaForI ttsStr = WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIDao().queryItemForCriteriaINoLive(emp_id);
                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格" : "扣" +
                                            ttsStr.getScore_deducting() + "分"));
                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
                                }
                                if (!TextUtils.isEmpty(utc) && utc.length() > 14) {
                                    utc = utc.substring(0, 14);
                                }
                                Date date = new Date(Utils.utc2NetWorkTime(utc));
                                jkMessage0203.timeBCD = date;
                                MyLog.i(String.format("收到远程服务给的评判消息 timeBCD=%s",Utils.formatTimeYYMMDDHHmmSS(jkMessage0203.timeBCD.getTime())));
                                MessageProcessor.getInstance().sendMessage(jkMessage0203);
                                if (emp_id<1000) { //场地评判消息
                                    if (emp_id > 31 || emp_id < 0) {
                                        MyLog.i("emp_id超出范围不能插入数据库(I类考场)");
                                    }else{
                                        FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID, utc, sn);
                                        MyLog.i("插入fail_projects表=$failedProj");
                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getFailProjDao().insert(failedProj);
@@ -232,6 +249,7 @@
                                    if (emp_id >1066 || emp_id < 1000) {
                                        MyLog.i("emp_id超出范围不能插入数据库(路考类考场)");
                                    }else{
                                        LuKaoFailedProj failedProj = new LuKaoFailedProj(Constant.SUBJECT_III, (emp_id-1000), Constant.TEST_STU_ID, utc, sn);
                                        MyLog.i("插入路考fail_projects表=$failedProj");
                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLuKaoFailProjDao().insert(failedProj);
app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
@@ -31,11 +31,12 @@
        this.mItem = mItem;
        this.reason = reason;
        if (Utils.isDigital(utc)){
            MyLog.i("utc时间不是纯数字");
        }else{
            mUtc = Utils.dateToLongSec(utc);
        }else{
            MyLog.i("utc时间不是纯数字"+utc);
        }
    }
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -408,8 +408,8 @@
                        MyLog.i("当前得分:"+currTotalScore);
                        if (currTotalScore < Constant.PASSING_SCORE){
                            MyLog.i("场考低于80,不合格"+currTotalScore);
                            ExamPlatformData.getInstance().getTTS().speak("考试不合格");
                            stopExam();
//                            ExamPlatformData.getInstance().getTTS().speak("考试不合格");
//                            stopExam();
                        }
                        MyLog.i("场考监测到有失败项目加入,通知UI更新颜色");
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
@@ -589,10 +589,7 @@
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_start:
                OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
                WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
                item_id = 0;
                currTotalScore = 100;
                //TODO 发送JKMessage0202 给平台,开始考试
                final JKMessage0202 jkMessage0202 = new JKMessage0202();
                Date date = new Date();
@@ -602,7 +599,6 @@
                jkMessage0202.ID = ExamPlatformData.getInstance().getID();
                jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                failedProjViewModel.deleteAll();
                if (myDialogFragment == null){
                    myDialogFragment = new MyDialogFragment();
@@ -694,6 +690,7 @@
    private void stopExam() {
        MyLog.i(TAG,"结束考试");
        //TODO 发送JKMessage0204给平台 结束考试
        JKMessage0204 jkMessage0204 = new JKMessage0204();
        jkMessage0204.timeBCD = new Date();
@@ -707,10 +704,10 @@
        //恢复初始数据
        OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
        item_id = 0;
        currTotalScore = 100;
        failedProjViewModel.deleteAll();
        tv_total_score.setText(String.valueOf(currTotalScore));
        iv_head.getDrawable().setLevel(0);
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -46,6 +46,8 @@
import safeluck.drive.evaluation.platformMessage.JKMessage0206;
import safeluck.drive.evaluation.util.SPUtils;
import static safeluck.drive.evaluation.util.Utils.utc2NetWorkTime;
/**
 * MyApplication2
 * Created by lzw on 2019/10/21. 17:56:51
@@ -234,7 +236,7 @@
                break;
            case R.id.btn_fail:
                JKMessage0203 jkMessage0203 = new JKMessage0203();
                jkMessage0203.timeBCD = "200226135444";
                jkMessage0203.timeBCD = new Date(utc2NetWorkTime("20200330101455"));
                jkMessage0203.fail_item_id = 4;
                jkMessage0203.fail_score = 10;
                jkMessage0203.fail_reason = "发动机启动后,不及时松开启动开关";
app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
@@ -16,12 +16,8 @@
    @Ascii
    public String ID;
    @Order(2)
    @Length(6)
    @Hex
    public String timeBCD;
//    @Order(2)
//    @BcdDateTime
//    public Date timeBCD;
    @BcdDateTime
    public Date timeBCD;
    @Order(3)
    @Int32
    public int exam_id;
app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -356,6 +356,12 @@
        System.out.println( isDigital("2003233d"));
        System.out.println( isDigital("d2003233"));
        System.out.println( dateToLongSec("20200330101455"));
        Date date = new Date(utc2NetWorkTime("20200330142612"));
        System.out.println(date.getTime() );
        System.out.println("date="+formatTimeYYMMDDHHmmSS(date.getTime()) );
        System.out.println(        formatTimeYYMMDDHHmmSS(1585578372000L));
@@ -449,7 +455,7 @@
    }
    public static long dateToLongSec(String utc) {
//        MyLog.i("dateToLongSec:"+utc);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = null;
        try {
@@ -457,6 +463,22 @@
        } catch (ParseException e) {
            e.printStackTrace();
        }
        if (date==null){
//            MyLog.i("dateToLongSec date==null");
            return new Date().getTime();
        }
        return date.getTime()/1000;
    }
    public static long  utc2NetWorkTime(String utc){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = null;
        try {
            date = simpleDateFormat.parse(utc);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long utcTime = date.getTime()+8*60*60*1000;
        return utcTime;
    }
}
app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
@@ -9,12 +9,11 @@
import com.google.gson.JsonParser
import safeluck.drive.evaluation.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
import safeluck.drive.evaluation.DB.failitems.FailedProj
import safeluck.drive.evaluation.DB.failitems.FailedProj_select
import safeluck.drive.evaluation.DB.failitems.LuKaoFailedProj
import safeluck.drive.evaluation.bean.ExamPlatformData
import safeluck.drive.evaluation.im.MessageProcessor
import safeluck.drive.evaluation.platformMessage.JKMessage0203
import safeluck.drive.evaluation.util.Utils
import java.util.*
/**
 * 一收到远程服务给的评判消息
@@ -140,7 +139,8 @@
            if (!TextUtils.isEmpty(utc) && utc.length > 12) {
                utc = utc.substring(0, 12)
            }
            jkMessage0203.timeBCD = utc
            val date = Date(Utils.utc2NetWorkTime(utc))
            jkMessage0203.timeBCD = date
            MessageProcessor.getInstance().sendMessage(jkMessage0203)