From ccb8c654aecc69c4562f96649d80427a534fff80 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 30 三月 2020 17:34:36 +0800
Subject: [PATCH] 修改评判信息utc时间为北京时间

---
 app/src/main/java/safeluck/drive/evaluation/app.java                           |   26 +++++++++++--
 app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java                |    7 ++-
 app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt                |    8 ++--
 app/src/main/java/safeluck/drive/evaluation/util/Utils.java                    |   24 +++++++++++
 app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java |    8 +---
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java |   13 ++----
 app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java          |    4 +
 7 files changed, 63 insertions(+), 27 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 8f11cf7..c4d2568 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/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("鎻掑叆璺�僨ail_projects琛�=$failedProj");
                                         WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLuKaoFailProjDao().insert(failedProj);
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
index e0b7191..43768a8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ScoreBean.java
+++ b/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);
+
         }
     }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index 2ae1f26..08abc6a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/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 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
                 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 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
         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);
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
index 113e12a..5902847 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/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 = "鍙戝姩鏈哄惎鍔ㄥ悗锛屼笉鍙婃椂鏉惧紑鍚姩寮�鍏�";
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
index aff895c..88cf5d1 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
+++ b/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;
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 04b5ae8..84f91c8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/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;
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt b/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
index d8062eb..4662ce5 100644
--- a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt
+++ b/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)

--
Gitblit v1.8.0