From 40e5354d874c416661681cb2715d5adf8f1b128e Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 30 三月 2020 12:17:37 +0800
Subject: [PATCH] 增加正则判断一个字符串是否全为数字;不再TTSWorker里面执行插入数据库操作和语音播报工作;训练模式和考试模式评判信息按时间排序;收到评判消息在线程里面进行语音播报和数据库操作

---
 app/src/main/java/safeluck/drive/evaluation/app.java |   91 +++++++++++++++++++++++++++++++--------------
 1 files changed, 62 insertions(+), 29 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index c1e15a9..8f11cf7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -193,24 +193,57 @@
 
                 if(!TextUtils.isEmpty(json)){
                     Data judgeData = new Data.Builder().putString(Constant.TTS,json).build();
-                    JsonArray jsonArray = (JsonArray) JsonParser.parseString(json);
-                    for (int i = 0; i < jsonArray.size(); i++) {
-                        JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
-                        int emp_id = jsonObject.get("wrong_id").getAsInt();
-                        if (emp_id>1000){
-                            CriteriaForIII ttsStr=WorkRoomDataBase.getWorkRoomDataBase(this).getCriteriaIIIDao().queryItemForCriteriaIIINoLive(emp_id-1000);
-                            ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "涓嶅悎鏍�" : "鎵�" +
-                                    ttsStr.getScore_deducting() + "鍒�"));
-                        }else{
-                            CriteriaForI ttsStr = WorkRoomDataBase.getWorkRoomDataBase(this).getCriteriaIDao().queryItemForCriteriaINoLive(emp_id);
-                            ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "涓嶅悎鏍�" : "鎵�" +
-                            ttsStr.getScore_deducting() + "鍒�"));
-                        }
-
-                    }
+                    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
+                        public void run() {
+                            for (int i = 0; i < jsonArray.size(); i++) {
+                                JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
+                                int emp_id = jsonObject.get("wrong_id").getAsInt();
+                                String utc = jsonObject.get("utc").getAsString();
+                                int sn = jsonObject.get("sn").getAsInt();
+                                if (emp_id>1000){
+                                    CriteriaForIII ttsStr=WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIIIDao().queryItemForCriteriaIIINoLive(emp_id-1000);
+                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "涓嶅悎鏍�" : "鎵�" +
+                                            ttsStr.getScore_deducting() + "鍒�"));
+                                }else{
+                                    CriteriaForI ttsStr = WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIDao().queryItemForCriteriaINoLive(emp_id);
+                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "涓嶅悎鏍�" : "鎵�" +
+                                            ttsStr.getScore_deducting() + "鍒�"));
+                                }
+
+                                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);
+                                    }
+
+                                }
+                                if (emp_id>1000) { //閬撹矾 璇勫垽娑堟伅
+
+                                    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);
+                                    }
+
+                                }
+
+                            }
+                        }
+                    });
+
+
 
                 }
 
@@ -477,20 +510,20 @@
                         }
                     });
                     StringBuffer buffer;
-//                        buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.ROAD_MAP);
-//                        if (buffer != null){
-//
-//                            AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,buffer.toString());
-//                        }else{
-//                            MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
-//                            CThreadPoolExecutor.runOnMainThread(new Runnable() {
-//                                @Override
-//                                public void run() {
-//                                    Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show();
-//                                }
-//                            });
-//
-//                        }
+                        buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.ROAD_MAP);
+                        if (buffer != null){
+
+                            AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,buffer.toString());
+                        }else{
+                            MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                            CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show();
+                                }
+                            });
+
+                        }
                         buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP);
                         if (buffer != null){
 

--
Gitblit v1.8.0