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