From fad6626d6375cb9a2991e9e9e2cb5fdc0f3b7b74 Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期日, 22 三月 2020 09:09:28 +0800 Subject: [PATCH] 科目三评判消息加入数据库 --- app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 21 +++- app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 19 ++- app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java | 1 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt | 11 + app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt | 2 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 76 +++++++------- app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java | 2 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 116 +++++++++++++--------- 8 files changed, 144 insertions(+), 104 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt index ab9f51b..5e95c1b 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt +++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt @@ -108,17 +108,22 @@ sendSignalConfigsToRemote(indexs) val data = Data.Builder().putInt(Constant.EXAM_STATUS_TYPE,examType).build() - if (examType != safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) { +// if (examType != safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) { try { val jsonObject = JSONObject() - jsonObject.put("exam", 1) + if (examType == safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) { + jsonObject.put("exam", 0) + }else{ + jsonObject.put("exam", 1) + } + jsonObject.put("type", examType) val examJson = jsonObject.toString() AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.EXAM_STATUS, examJson) } catch (e: JSONException) { e.printStackTrace() } - } +// } return Result.success(data) } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java index da614b5..6db9e45 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java @@ -57,6 +57,7 @@ @Override public void run() { failProjDao.deleteAll(); + luKaofailProjDao.deleteAll(); } }); } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java index 5cc6367..8d5e92e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java @@ -36,6 +36,6 @@ @Query("SELECT COUNT(*) from lukao_fail_projects where subject=:subject_id") LiveData<Integer> getSubject(int subject_id); - @Query("delete from fail_projects") + @Query("delete from lukao_fail_projects") void deleteAll(); } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java index 728e6c3..6359ce5 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java @@ -27,6 +27,10 @@ public class ExamPlatformData { + public static final int MODE_NONE = 0; + public static final int EXAM_TYPE_LUKAO_Light = 3; + public static final int EXAM_TYPE_LUKAO = 4; + public static final int EXAM_TYPE_ChangKAO = 2; private static final String TAG = "ExamPlatformData"; private static final ExamPlatformData ourInstance = new ExamPlatformData(); @@ -45,7 +49,10 @@ public static final int DEV_NOT_LOGIN = 5; public static final int DEV_LOGIN = 6; - private boolean isTrainingMode = false;//鏄惁璁粌妯″紡 + private int trainingMode = 0;//鍗充笉鏄缁冩ā寮忎篃鏄�冭瘯妯″紡 + public static final int EXAMING_MODE =1; + public static final int TRAINING_MODE =2; + private static HashMap<Integer,String> examPlatformStrs = new HashMap<>(); private List<Integer> sns =new ArrayList<>();//淇濆瓨鎵�鏈夊け璐ラ」鐩殑sn private static HashMap<Integer,String> enter_exit_item_tts = new HashMap<>(); @@ -264,14 +271,16 @@ } } - public boolean isTrainingMode() { - isTrainingMode = (boolean) SPUtils.get(app.getAppContext(),SPUtils.TRAIN_MODE,false); - return isTrainingMode; + public int getTrainingMode() { + trainingMode = (int) SPUtils.get(app.getAppContext(),SPUtils.TRAIN_MODE,0); + return trainingMode; } - public void setTrainingMode(boolean trainingMode) { + + + public void setTrainingMode(int trainingMode) { SPUtils.put(app.getAppContext(),SPUtils.TRAIN_MODE,trainingMode); - isTrainingMode = trainingMode; + trainingMode = trainingMode; } public void setPhone(String phone) { diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java index 3e845fd..7c09ee9 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java @@ -66,16 +66,21 @@ switch (v.getId()) { case R.id.car_train: //鍗曟満璁粌 - TrainFragment trainFragment = findFragment(TrainFragment.class); - if (trainFragment == null) { - trainFragment = (TrainFragment) TrainFragment.newInstance(); - start(trainFragment); - } else { - start(trainFragment); + if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.EXAMING_MODE){ + Toast.makeText(_mActivity, "褰撳墠姝e浜庤�冭瘯妯″紡锛屾棤娉曡繘鍏ュ崟鍑昏缁冿紝璇峰厛缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show(); + }else{ + TrainFragment trainFragment = findFragment(TrainFragment.class); + if (trainFragment == null) { + trainFragment = (TrainFragment) TrainFragment.newInstance(); + start(trainFragment); + } else { + start(trainFragment); + } } + break; case R.id.network_train: - if (ExamPlatformData.getInstance().isTrainingMode()){ + if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){ Toast.makeText(_mActivity, "褰撳墠姝e浜庤缁冩ā寮忥紝鏃犳硶杩涘叆鑱旂綉鑰冭瘯锛岃鍏堢粨鏉熻缁�", Toast.LENGTH_SHORT).show(); }else{ NetWorkTrainFragment netWorkTrainFragment = findFragment(NetWorkTrainFragment.class); 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 0184737..c47883a 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -270,7 +270,54 @@ failedProjViewModel.getFailedProjectsForIII(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() { @Override public void onChanged(List<FailedProj_select> failedProj_selects) { - MyLog.i("鐜板湪鏄矾鑰冪姸鎬侊紝鐩戣璺�冩暟鎹け璐ラ」鐩�"); + if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){ + MyLog.i("鐜板湪鏄矾鑰冪姸鎬侊紝鐩戣璺�冩暟鎹け璐ラ」鐩�"); + if (failedProj_selects != null && failedProj_selects.size()>0){ + + item_id = 0; + currTotalScore = 100; + mArrayList.clear(); + item_conents.clear(); + for (FailedProj_select f : + failedProj_selects) { + item_id += f.getScore_deducting(); + Log.i(TAG, "onChanged: " + f.toString()); + mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason())); + item_conents.add(f.getItem_content()); + Collections.reverse(mArrayList); + mScoreAdapter.addDatas(mArrayList); + MyLog.i("item_score="+item_id); + } + MyLog.i("娌℃墸鍒嗕箣鍓嶅緱鍒嗭細"+currTotalScore); + currTotalScore -=item_id; + MyLog.i("璺�冨綋鍓嶅緱鍒嗭細"+currTotalScore); + if (currTotalScore < Constant.PASSING_SCORE){ + MyLog.i("璺�冧綆浜�80锛屼笉鍚堟牸"+currTotalScore); +// ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�"); +// stopExam(); + } + MyLog.i("璺�冪洃娴嬪埌鏈夊け璐ラ」鐩姞鍏ワ紝閫氱煡UI鏇存柊棰滆壊"); + mHandler.obtainMessage(ADD_DATA).sendToTarget(); + }else{ + MyLog.i(TAG,"璺�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I"); + item_id = 0; + mArrayList.clear(); + item_conents.clear(); + Collections.reverse(mArrayList); + mScoreAdapter.addDatas(mArrayList); + mHandler.obtainMessage(ADD_DATA).sendToTarget(); + } + } + + } + }); + + + failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() { + @Override + public void onChanged(List<FailedProj_select> failedProj_selects) { + if (ExamPlatformData.getInstance().getExamType()<=ExamPlatformData.EXAM_TYPE_ChangKAO){ + MyLog.i("鐜板湪鏄満鑰冪姸鎬侊紝鐩戣璺�冩暟鎹け璐ラ」鐩�"); if (failedProj_selects != null && failedProj_selects.size()>0){ item_id = 0; @@ -289,16 +336,16 @@ } MyLog.i("娌℃墸鍒嗕箣鍓嶅緱鍒嗭細"+currTotalScore); currTotalScore -=item_id; - MyLog.i("璺�冨綋鍓嶅緱鍒嗭細"+currTotalScore); + MyLog.i("褰撳墠寰楀垎锛�"+currTotalScore); if (currTotalScore < Constant.PASSING_SCORE){ - MyLog.i("璺�冧綆浜�80锛屼笉鍚堟牸"+currTotalScore); - ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�"); - stopExam(); + MyLog.i("鍦鸿�冧綆浜�80锛屼笉鍚堟牸"+currTotalScore); +// ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�"); +// stopExam(); } - MyLog.i("璺�冪洃娴嬪埌鏈夊け璐ラ」鐩姞鍏ワ紝閫氱煡UI鏇存柊棰滆壊"); + MyLog.i("鍦鸿�冪洃娴嬪埌鏈夊け璐ラ」鐩姞鍏ワ紝閫氱煡UI鏇存柊棰滆壊"); mHandler.obtainMessage(ADD_DATA).sendToTarget(); }else{ - MyLog.i(TAG,"璺�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I"); + MyLog.i(TAG,"鍦鸿�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I"); item_id = 0; mArrayList.clear(); item_conents.clear(); @@ -307,48 +354,7 @@ mHandler.obtainMessage(ADD_DATA).sendToTarget(); } } - }); - - failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() { - @Override - public void onChanged(List<FailedProj_select> failedProj_selects) { - MyLog.i("鐜板湪鏄満鑰冪姸鎬侊紝鐩戣璺�冩暟鎹け璐ラ」鐩�"); - if (failedProj_selects != null && failedProj_selects.size()>0){ - - item_id = 0; - currTotalScore = 100; - mArrayList.clear(); - item_conents.clear(); - for (FailedProj_select f : - failedProj_selects) { - item_id += f.getScore_deducting(); - Log.i(TAG, "onChanged: " + f.toString()); - mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason())); - item_conents.add(f.getItem_content()); - Collections.reverse(mArrayList); - mScoreAdapter.addDatas(mArrayList); - MyLog.i("item_score="+item_id); - } - MyLog.i("娌℃墸鍒嗕箣鍓嶅緱鍒嗭細"+currTotalScore); - currTotalScore -=item_id; - MyLog.i("褰撳墠寰楀垎锛�"+currTotalScore); - if (currTotalScore < Constant.PASSING_SCORE){ - MyLog.i("鍦鸿�冧綆浜�80锛屼笉鍚堟牸"+currTotalScore); - ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�"); - stopExam(); - } - MyLog.i("鍦鸿�冪洃娴嬪埌鏈夊け璐ラ」鐩姞鍏ワ紝閫氱煡UI鏇存柊棰滆壊"); - mHandler.obtainMessage(ADD_DATA).sendToTarget(); - }else{ - MyLog.i(TAG,"鍦鸿�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I"); - item_id = 0; - mArrayList.clear(); - item_conents.clear(); - Collections.reverse(mArrayList); - mScoreAdapter.addDatas(mArrayList); - mHandler.obtainMessage(ADD_DATA).sendToTarget(); - } } }); @@ -508,7 +514,7 @@ @Override public void changKao() { exam_type = 2; - + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE); iv_head.getDrawable().setLevel(1); ExamPlatformData.getInstance().setExamType(exam_type); examStatusViewModel.updateStartExam(exam_type); @@ -521,6 +527,7 @@ @Override public void luKao() { + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE); exam_type = 3; ExamPlatformData.getInstance().setExamType(exam_type); examStatusViewModel.updateStartExam(exam_type); @@ -588,9 +595,20 @@ MyLog.i(TAG,"缁撴潫鑰冭瘯"); sns.clear(); + + //璁剧疆妯″紡涓篘ONE 0 + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE); + //鎭㈠鍒濆鏁版嵁 + 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); + ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯"); examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM); sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0 diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java index 6cd2d21..9ef6df9 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java @@ -396,43 +396,43 @@ } // private void sendJKMessage0203(List<FailedProj_select> failedProj_selects) { -// JKMessage0203 jkMessage0203 = new JKMessage0203(); -// jkMessage0203.phone = ExamPlatformData.getInstance().getPhone(); -// jkMessage0203.ID = ExamPlatformData.getInstance().getID(); -// jkMessage0203.exam_id = ExamPlatformData.getInstance().getExam_id(); +//// JKMessage0203 jkMessage0203 = new JKMessage0203(); +//// jkMessage0203.phone = ExamPlatformData.getInstance().getPhone(); +//// jkMessage0203.ID = ExamPlatformData.getInstance().getID(); +//// jkMessage0203.exam_id = ExamPlatformData.getInstance().getExam_id(); +//// +//// for (int i = 0; i < failedProj_selects.size(); i++) { +//// if (hasSnEqulas(failedProj_selects.get(i).getSn())){ +//// MyLog.i("sn鐩稿悓"+failedProj_selects.get(i).getSn()); +//// }else{ +//// ExamPlatformData.getInstance().getTTS().speak(failedProj_selects.get(i).getDeducting_reason()+( +//// failedProj_selects.get(i).getScore_deducting()==100?"涓嶅悎鏍�":"鎵�"+ +//// failedProj_selects.get(i).getScore_deducting()+"鍒�")); +//// MyLog.i("娌℃湁鐩稿悓鐨剆n锛屽彂閫�"+failedProj_selects.get(i).getSn()); +//// ExamPlatformData.getInstance().addSn(failedProj_selects.get(i).getSn()); +//// String utc = failedProj_selects.get(i).getUtc(); +//// if (!TextUtils.isEmpty(utc)&&utc.length()>12){ +//// utc =utc.substring(0,12); +//// } +//// jkMessage0203.timeBCD = utc ; +//// +//// jkMessage0203.fail_item_id = failedProj_selects.get(i).getEmp_id(); +//// jkMessage0203.fail_score = failedProj_selects.get(i).getScore_deducting(); +//// jkMessage0203.fail_reason = failedProj_selects.get(i).getDeducting_reason(); +//// } +//// +//// } // -// for (int i = 0; i < failedProj_selects.size(); i++) { -// if (hasSnEqulas(failedProj_selects.get(i).getSn())){ -// MyLog.i("sn鐩稿悓"+failedProj_selects.get(i).getSn()); -// }else{ -// ExamPlatformData.getInstance().getTTS().speak(failedProj_selects.get(i).getDeducting_reason()+( -// failedProj_selects.get(i).getScore_deducting()==100?"涓嶅悎鏍�":"鎵�"+ -// failedProj_selects.get(i).getScore_deducting()+"鍒�")); -// MyLog.i("娌℃湁鐩稿悓鐨剆n锛屽彂閫�"+failedProj_selects.get(i).getSn()); -// ExamPlatformData.getInstance().addSn(failedProj_selects.get(i).getSn()); -// String utc = failedProj_selects.get(i).getUtc(); -// if (!TextUtils.isEmpty(utc)&&utc.length()>12){ -// utc =utc.substring(0,12); -// } -// jkMessage0203.timeBCD = utc ; +//// MessageProcessor.getInstance().sendMessage(jkMessage0203); +//// } // -// jkMessage0203.fail_item_id = failedProj_selects.get(i).getEmp_id(); -// jkMessage0203.fail_score = failedProj_selects.get(i).getScore_deducting(); -// jkMessage0203.fail_reason = failedProj_selects.get(i).getDeducting_reason(); -// } -// -// } - -// MessageProcessor.getInstance().sendMessage(jkMessage0203); -// } - -// private boolean hasSnEqulas(int failedProjSn){ -// if (ExamPlatformData.getInstance().getSns().size() > 0){ -// for (int j = 0; j < ExamPlatformData.getInstance().getSns().size(); j++) { -// MyLog.i("宸插瓨鍦ㄧ殑sn"+ExamPlatformData.getInstance().getSns().get(j)); -// if (ExamPlatformData.getInstance().getSns().get(j) == failedProjSn){ -// MyLog.i("sn鐩稿悓锛屼笉鍙�"+ExamPlatformData.getInstance().getSns().get(j)); -// return true; +//// private boolean hasSnEqulas(int failedProjSn){ +//// if (ExamPlatformData.getInstance().getSns().size() > 0){ +//// for (int j = 0; j < ExamPlatformData.getInstance().getSns().size(); j++) { +//// MyLog.i("宸插瓨鍦ㄧ殑sn"+ExamPlatformData.getInstance().getSns().get(j)); +//// if (ExamPlatformData.getInstance().getSns().get(j) == failedProjSn){ +//// MyLog.i("sn鐩稿悓锛屼笉鍙�"+ExamPlatformData.getInstance().getSns().get(j)); +//// return true; // }else{ // continue; // } @@ -538,7 +538,7 @@ ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭缁�"); jkMessage0202.curr_exam = 0; - ExamPlatformData.getInstance().setTrainingMode(true);//璁剧疆涓鸿缁冩ā寮� + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE);//璁剧疆涓鸿缁冩ā寮� MessageProcessor.getInstance().sendMessage(jkMessage0202); } @@ -608,8 +608,8 @@ //娓呯┖sns ExamPlatformData.getInstance().clearSns(); - //璁剧疆璁粌妯″紡涓篺alse - ExamPlatformData.getInstance().setTrainingMode(false); + //璁剧疆妯″紡涓篘ONE 0 + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.MODE_NONE); //鎭㈠鍒濆鏁版嵁 OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class); 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 25851fd..84e7230 100644 --- a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt +++ b/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt @@ -36,8 +36,10 @@ for ( i in 0 until jsonArray.size()) { val jsonObject = jsonArray[i].asJsonObject val emp_id = jsonObject["wrong_id"].asInt + var utc = jsonObject["utc"].asString MyLog.i("璇勫垽娑堟伅瑙f瀽涔嬪墠鐨剈tc=$utc") + MyLog.i("wrong_id=$emp_id") utc = utc.substring(2, utc.length - 3) MyLog.i("璇勫垽娑堟伅瑙f瀽涔嬪悗鐨剈tc=$utc") val sn = jsonObject["sn"].asInt -- Gitblit v1.8.0