From 33ebb2eff576bde3de532d4be470737e8d1cc671 Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期日, 22 三月 2020 12:00:37 +0800 Subject: [PATCH] 考试状态下 失败项目小于20分 不报语音 --- app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 1 app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt | 103 ++++++++++++++++++++++++++++++---- app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java | 7 ++ app/src/main/java/safeluck/drive/evaluation/DB/failitems/LuKaoFailProjDao.java | 12 ++++ 4 files changed, 110 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java index 87fad35..4e9d7e2 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java @@ -53,4 +53,11 @@ @Query("delete from fail_projects") void deleteAll(); + + /** + * 鏌ヨ 绉戠洰浜� I绫昏�冨満鐨勬墍鏈夊け璐ラ」鐩� 锛堝琛ㄦ煡璇級 + * @return + */ + @Query("SELECT emp_id,stu_id, utc ,sn ,deducting_reason,score_deducting,item_content from criteria_one INNER JOIN fail_projects ON criteria_one.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=1") + List<FailedProj_select> getAllFailProjI(long stu_id); } 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 8d5e92e..6d0d443 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 @@ -6,6 +6,8 @@ import androidx.room.OnConflictStrategy; import androidx.room.Query; +import org.jetbrains.annotations.NotNull; + import java.util.List; /** @@ -38,4 +40,14 @@ @Query("delete from lukao_fail_projects") void deleteAll(); + + + + /** + * 鏌ヨ 绉戠洰涓� 璺�冭�冨満鐨勫け璐ラ」鐩� 锛堝琛ㄦ煡璇級 + * 濡傛灉瑕佹坊鍔� 绉戠洰浜孖I III绫昏�冨満澶辫触椤圭洰锛岄渶瑕佸缓绔嬬浉搴旂殑璇勫垽鏍囧噯琛ㄦ暟鎹〃 + * @return + */ + @Query("SELECT emp_id,stu_id,utc,sn,deducting_reason,score_deducting,item_content from criteria_three INNER JOIN lukao_fail_projects ON criteria_three.item_id= lukao_fail_projects.emp_id where lukao_fail_projects.stu_id=:stu_id and lukao_fail_projects.subject=3") + List<FailedProj_select> getAllFailProjIII(long stu_id); } 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 d935629..14d9593 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java @@ -127,6 +127,7 @@ private StringBuffer stringBuffer; private int rtkPort = 12125; private String rtkIP = "47.93.80.84"; + public final int MAX_SCORE_DUCT = 20; public static ExamPlatformData getInstance() { return ourInstance; 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 84e7230..935c91c 100644 --- a/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt +++ b/app/src/main/java/safeluck/drive/evaluation/worker/TTSWorker.kt @@ -10,6 +10,7 @@ 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 @@ -44,23 +45,99 @@ MyLog.i("璇勫垽娑堟伅瑙f瀽涔嬪悗鐨剈tc=$utc") val sn = jsonObject["sn"].asInt - 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 "鎵�" + - ttsStr.getScore_deducting() + "鍒�") - jkMessage0203.fail_item_id = ttsStr.item_id - jkMessage0203.fail_score = ttsStr.score_deducting - jkMessage0203.fail_reason = ttsStr.deducting_reason + + 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{ - 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() + "鍒�") - jkMessage0203.fail_item_id =ttsStr.item_id - jkMessage0203.fail_score = ttsStr.score_deducting - jkMessage0203.fail_reason = ttsStr.deducting_reason + //璁粌妯″紡鍏ㄩ儴鎶� 璇煶 + 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 "鎵�" + + ttsStr.getScore_deducting() + "鍒�") + jkMessage0203.fail_item_id = ttsStr.item_id + jkMessage0203.fail_score = ttsStr.score_deducting + jkMessage0203.fail_reason = ttsStr.deducting_reason + }else{ + 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() + "鍒�") + jkMessage0203.fail_item_id =ttsStr.item_id + jkMessage0203.fail_score = ttsStr.score_deducting + jkMessage0203.fail_reason = ttsStr.deducting_reason + } } + + if (!TextUtils.isEmpty(utc) && utc.length > 12) { utc = utc.substring(0, 12) } -- Gitblit v1.8.0