From 9859fc6b5e4f873400fb1e7ae143f79fe32010b8 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期六, 21 三月 2020 13:09:47 +0800
Subject: [PATCH] 提交路考地图增加触发线
---
app/src/main/java/safeluck/drive/evaluation/Constant.java | 1
app/src/main/java/safeluck/drive/evaluation/app.java | 24 +++++++++---
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 12 ++++++
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java | 2
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java | 3 +
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java | 13 ++++++
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java | 2 +
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt | 11 ++---
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java | 10 ++++
app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java | 30 +++++++++++++++
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java | 3 +
11 files changed, 96 insertions(+), 15 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index e6bc036..adf6c25 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -88,6 +88,7 @@
public static final String BIND_RTK_SPEED_TOPIC = "BIND_RTK_SPEED_TOPIC";
public static final int EXIT_CURRENT_ITEM = 0;//閫�鍑烘煇鍦哄湴
public static final String RTK_INFO_SAT_QF = "RTK_INFO_SAT_QF";//浠嶳TK info涓幏鍙栫殑鍗槦棰楁暟鍜宷f 缁勬垚鐨刯son
+ public static final int SUBJECT_III = 3;//璺��
public static String exam_enter_exitdata="exam_enter_exitdata";
public static int Chang_di = 2;
public static int DaoLu_night = 3;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java
index d211da3..b1d275e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java
@@ -11,7 +11,7 @@
* 閭锛�632393724@qq.com
* All Rights Saved! Chongqing AnYun Tech co. LTD
*
- * 绉戠洰浜� II绫昏�冨満璇勫垽鏍囧噯琛�
+ * 璺�冪被鑰冨満璇勫垽鏍囧噯琛�
*/
@Entity(tableName = "criteria_three")
public class CriteriaForIII {
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 485910a..e1a173c 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
@@ -28,32 +28,29 @@
val TAG:String = "ExamStatusOutWorker"
private var signalConfiglist: MutableList<SignalConfigRemote> = ArrayList()
private val gson = Gson()
- lateinit var simulateNightBean:SimulateNightBean
+ var simulateNightBean:SimulateNightBean=SimulateNightBean()
private var singalConfigs :List<SingalConfig> = ArrayList()
private val tempQs: MutableList<QuestionBean> = java.util.ArrayList()
override fun doWork(): Result {
val examType =WorkRoomDataBase.getWorkRoomDataBase(applicationContext).examStatusDao.startExamInt;
- simulateNightBean = SimulateNightBean()
simulateNightBean.setExam(0)
val list = ExamPlatformData.getInstance().simulate_light_tips
- simulateNightBean.setQuestion(list.subList(list.size - 2, list.size - 1))
-
-
-
+ tempQs.add(list[list.size-2])//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯
tempQs.add(list[0])
val a = Utils.getRandomInts(4, 12)
for (i in a.indices) {
tempQs.add(list[a[i]])
}
-
+ tempQs.add(list[list.size-1])//鎻愮ず鐏厜鑰冭瘯缁撴潫
simulateNightBean.setQuestion(tempQs)
AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean))
MyLog.i(TAG,"鏌ュ埌鐨勮�冭瘯type="+examType)
+ ExamPlatformData.getInstance().examType = examType
val data = Data.Builder().putInt(Constant.EXAM_STATUS_TYPE,examType).build()
if (examType != safeluck.drive.evaluation.Constant.NONE_BEEN_START_EXAM) {
try {
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
index fd52cf7..3473fd7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
@@ -8,6 +8,8 @@
import java.util.List;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
+
public class ExamStatusViewModel extends AndroidViewModel {
ExamStatusWorkRepo examStatusWorkRepo;
LiveData<List<ExamStatus>> examStatus;
@@ -32,6 +34,7 @@
}
public void updateStartExam(int statExam) {
+
examStatusWorkRepo.updateStartExam(statExam);
}
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 39fe12a..87fad35 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
@@ -4,6 +4,7 @@
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import java.util.List;
@@ -17,7 +18,7 @@
@Dao
public interface FailProjDao {
- @Insert
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(FailedProj proj);
/**
@@ -34,6 +35,13 @@
*/
@Query("SELECT emp_id,stu_id,utc,sn,deducting_reason,score_deducting,item_content from criteria_two INNER JOIN fail_projects ON criteria_two.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=2")
LiveData<List<FailedProj_select>> getFailedProjectsForII(long stu_id);
+ /**
+ * 鏌ヨ 绉戠洰涓� 璺�冭�冨満鐨勫け璐ラ」鐩� 锛堝琛ㄦ煡璇級
+ * 濡傛灉瑕佹坊鍔� 绉戠洰浜孖I III绫昏�冨満澶辫触椤圭洰锛岄渶瑕佸缓绔嬬浉搴旂殑璇勫垽鏍囧噯琛ㄦ暟鎹〃
+ * @return
+ */
+ @Query("SELECT emp_id,stu_id,utc,sn,deducting_reason,score_deducting,item_content from criteria_three INNER JOIN fail_projects ON criteria_three.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=3")
+ LiveData<List<FailedProj_select>> getFailedProjectsForIII(long stu_id);
/**
* 鑾峰彇澶辫触椤圭洰鏉℃暟
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java
index 5c4fa41..f6f50dd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java
@@ -8,6 +8,7 @@
import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
import safeluck.drive.evaluation.DB.criterias.CriteriaForII;
+import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
import static androidx.room.ForeignKey.CASCADE;
@@ -20,6 +21,7 @@
*/
@Entity(tableName = "fail_projects",foreignKeys = {@ForeignKey(entity = CriteriaForI.class,
parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE),@ForeignKey(entity = CriteriaForII.class,
+ parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE),@ForeignKey(entity = CriteriaForIII.class,
parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE)},indices = @Index(value = {"emp_id"}))
public class FailedProj {
@PrimaryKey(autoGenerate = true)
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 838dac3..47b6daf 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
@@ -4,8 +4,11 @@
import androidx.lifecycle.LiveData;
+import com.anyun.exam.lib.MyLog;
+
import java.util.List;
+import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.WorkRoomDataBase;
/**
@@ -65,5 +68,15 @@
*/
public LiveData<List<FailedProj_select>> getFailedProjectsForII(long stu_id) {
return failProjDao.getFailedProjectsForII(stu_id);
+ } /**
+ * 鑾峰緱绉戠洰涓� 璺�冭�冨満澶辫触椤圭洰鎵e垎椤�
+ *
+ * @param stu_id
+ * @return
+ */
+ public LiveData<List<FailedProj_select>> getFailedProjectsForIII(long stu_id) {
+ return failProjDao.getFailedProjectsForIII(stu_id);
}
+
+
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java
index a2874c9..098cc70 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java
@@ -29,6 +29,9 @@
public LiveData<List<FailedProj_select>> getFailedProjectsForII(long stu_id){
return failedProjRepository.getFailedProjectsForII(stu_id);
}
+ public LiveData<List<FailedProj_select>> getFailedProjectsForIII(long stu_id){
+ return failedProjRepository.getFailedProjectsForIII(stu_id);
+ }
public void insert(FailedProj proj){
failedProjRepository.insert(proj);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 1ce605c..a1a51b2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -196,13 +196,25 @@
utc = utc.substring(2,utc.length()-3);
MyLog.i("璇勫垽娑堟伅瑙f瀽涔嬪悗鐨剈tc="+utc);
int sn = jsonObject.get("sn").getAsInt();
- if (emp_id>31|| emp_id<0){
- MyLog.i(TAG,"emp_id瓒呭嚭鑼冨洿涓嶈兘鎻掑叆鏁版嵁搴擄紙I绫昏�冨満锛�");
- return;
+ if (ExamPlatformData.getInstance().getExamType()==2){//鍦哄湴璇勫垽娑堟伅
+ if (emp_id>31|| emp_id<0){
+ MyLog.i(TAG,"emp_id瓒呭嚭鑼冨洿涓嶈兘鎻掑叆鏁版嵁搴擄紙I绫昏�冨満锛�");
+ return;
+ }
+ FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID,utc,sn);
+ MyLog.i("鎻掑叆fail_projects琛�="+failedProj.toString());
+ failedProjRepository.insert(failedProj);
}
- FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID,utc,sn);
- MyLog.i("鎻掑叆fail_projects琛�="+failedProj.toString());
- failedProjRepository.insert(failedProj);
+ if (ExamPlatformData.getInstance().getExamType()>2){//閬撹矾 璇勫垽娑堟伅
+ if (emp_id>66|| emp_id<1){
+ MyLog.i(TAG,"emp_id瓒呭嚭鑼冨洿涓嶈兘鎻掑叆鏁版嵁搴擄紙璺�冪被鑰冨満锛�");
+ return;
+ }
+ FailedProj failedProj = new FailedProj(Constant.SUBJECT_III, emp_id, Constant.TEST_STU_ID,utc,sn);
+ MyLog.i("鎻掑叆璺�僨ail_projects琛�="+failedProj.toString());
+// failedProjRepository.insert(failedProj);
+ }
+
}
}
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 3d3434a..728e6c3 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -34,6 +34,10 @@
private String mPhone = "";//鑰冭瘯骞冲彴娑堟伅鐢ㄥ埌鐨刾hone
+ private int examType = 0;//2 鍦哄湴锛�
+//3 閬撹矾锛屾ā鎷熷鑰冿紱
+// 4 閬撹矾锛屽疄闄呭鑰冿紱
+
public static final int TCP_DISCONNECT = 1;
public static final int TCP_CONNECTED = 2;///2-鏈繛鎺ワ紙tcp杩炴帴涓嶄笂锛�
public static final int DEV_NOT_REGISTERED = 3;
@@ -338,4 +342,12 @@
setQfAndSatNum(0,0);
setExamplatformStatus(0);
}
+
+ public int getExamType() {
+ return examType;
+ }
+
+ public void setExamType(int examType) {
+ this.examType = examType;
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
index 8b719c1..9ae9d92 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
@@ -280,15 +280,33 @@
if (maps != null&& maps.size()>0){
for (int i = 0; i < maps.size(); i++) {
RoadExamMap.MapsBean mapItem = maps.get(i);
+
if (mapItem.getItem() == ALL_MAP){
List<List<Integer>> redLines= mapItem.getRed_line();
List<List<Integer>> greenLines = mapItem.getGreen_line();
+ List<List<Integer>> allTringgerLines = mapItem.getAll_trigger_line();
+
+
+ for (List<Integer> allTriggerLine: allTringgerLines
+ ) {
+ for (int kk = 1; kk < allTriggerLine.size(); kk++) {
+ int pos = allTriggerLine.get(kk);
+ if (kk ==1){
+ path.moveTo((float) (base_x + (map[pos][0] - min_x) * scale_x), (float) (base_y + (map[pos][1] - min_y) * scale_y));
+ }
+ path.lineTo((float) (base_x + (map[pos][0] - min_x) * scale_x), (float) (base_y + (map[pos][1] - min_y) * scale_y));
+ Log.i(TAG,String.format("trigerline map[%d][0]=%f,map[%d][1]=%f,line to (%f,%f)",pos,map[pos][0],pos,map[pos][1],
+ (float) (base_x + (map[pos][0] - min_x) * scale_x),(float) (base_y + (map[pos][1] - min_y) * scale_y)));
+ }
+ }
+
paint.reset();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1.5f);
paint.setAntiAlias(true);
paint.setColor(Color.RED);
paint.setPathEffect(null);
+
Log.i(TAG,"redLinesSize"+redLines.size());
for (List<Integer> redline: redLines
) {
@@ -326,6 +344,18 @@
}
canvas2.drawPath(path,paint);
+ }else{
+ List<Integer> area = mapItem.getArea();
+ for (int jj = 0; jj < area.size(); jj++) {
+ int pos = area.get(jj);
+ if (jj==0){
+ path.moveTo((float) (base_x + (map[pos][0] - min_x) * scale_x), (float) (base_y + (map[pos][1] - min_y) * scale_y));
+ }else{
+ path.lineTo((float) (base_x + (map[pos][0] - min_x) * scale_x), (float) (base_y + (map[pos][1] - min_y) * scale_y));
+ }
+ }
+ path.close();
+ canvas2.drawPath(path,paint);
}
}
--
Gitblit v1.8.0