From 4c0c45a61498fbdbb6405cd683c1c37a7e0c335d Mon Sep 17 00:00:00 2001
From: Admin <Dana_Lee1016@126.com>
Date: 星期四, 25 二月 2021 11:26:08 +0800
Subject: [PATCH] 连续五次结束项目;就发送结束训练命令给平台(训练模式下,目前没有区分路口场考)

---
 app/src/main/java/safeluck/drive/evaluation/app.java                    |   33 +++++++++++
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java  |    9 +++
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java |   97 +++----------------------------
 3 files changed, 53 insertions(+), 86 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 1fb0a33..f8ae137 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -52,7 +52,9 @@
 import safeluck.drive.evaluation.im.MessageProcessor;
 import safeluck.drive.evaluation.platformMessage.AttachInfo;
 import safeluck.drive.evaluation.platformMessage.AttachInfo2;
+import safeluck.drive.evaluation.platformMessage.JKMessage0202;
 import safeluck.drive.evaluation.platformMessage.JKMessage0203;
+import safeluck.drive.evaluation.platformMessage.JKMessage0204;
 import safeluck.drive.evaluation.platformMessage.JKMessage0206;
 import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
@@ -452,7 +454,13 @@
                         if (EXIT_EXAM_COUNT==5){
                             Log.i(TAG,"鍏ㄥ眬璁剧疆閫�鍑�---");
                             ExamPlatformData.getInstance().setExitExam(Constant.EXIT_EXAM);
+
                             EXIT_EXAM_COUNT = 0;
+
+                            if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){
+                                sendStopExam();
+                                sendstartExam();
+                            }
                         }
                     }
                     String itemstr=ExamPlatformData.getInstance().getItemStatusStr(type);
@@ -696,6 +704,31 @@
         return false;
     }
 
+private void sendStopExam(){
+    JKMessage0204 jkMessage0204 = new JKMessage0204();
+    jkMessage0204.timeBCD = new Date();
+    jkMessage0204.score = ExamPlatformData.getInstance().getCurTotalScore();
+    jkMessage0204.stop = JKMessage0204.SUCC_STOP;
+    jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
+    MessageProcessor.getInstance().sendMessage(jkMessage0204);
+}
 
+private void sendstartExam(){
+    final JKMessage0202 jkMessage0202 = new JKMessage0202();
+    Date date = new Date();
+    jkMessage0202.timeBCD = date;
+    ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
+    jkMessage0202.stu_id = ExamPlatformData.getInstance().getID();
+    jkMessage0202.coach_id = ExamPlatformData.getInstance().getCoachID();
+    jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
+
+
+        jkMessage0202.curr_exam = 1;//  璺熺Щ鍔ㄧ珯鏈嶅姟瀹氫箟鐨勫満鑰冩槸2  锛屽钩鍙版槸0 锛�  绉诲姩绔欒矾鑰冩槸3 锛屽钩鍙版槸1
+
+        jkMessage0202.curr_exam = 0;//  璺熺Щ鍔ㄧ珯鏈嶅姟瀹氫箟鐨勫満鑰冩槸2  锛屽钩鍙版槸0 锛�  绉诲姩绔欒矾鑰冩槸3 锛屽钩鍙版槸1
+
+    jkMessage0202.mode = ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE?1:0;
+    MessageProcessor.getInstance().sendMessage(jkMessage0202);
+}
 
 }
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 7146503..025763a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -637,4 +637,13 @@
     public int getExitExamFlag(){
         return exit_Exam_flag;
     }
+
+    //杩炵画璁粌浜斾釜椤圭洰 缁欏钩鍙板彂閫佺粨鏉熻缁冿紝浣跨敤鐨勫垎鏁�
+    private int totalScore=0;
+    public void setCurTotalScore(int currTotalScore) {
+        this.totalScore = currTotalScore;
+    }
+    public int getCurTotalScore(){
+        return totalScore;
+    }
 }
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 6c46b1b..3e6ef06 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -47,6 +47,9 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
@@ -93,6 +96,7 @@
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.Utils;
+import safeluck.drive.evaluation.viewmodels.ExitExamViewModel;
 import safeluck.drive.evaluation.widget.StatusDialog;
 
 /**鍗曟満璁粌UI
@@ -401,6 +405,8 @@
        view = inflater.inflate(R.layout.layout_train_fragment, container, false);
         initView(view);
 
+
+
         failedProjViewModel = ViewModelProviders.of(this).get(FailedProjViewModel.class);
         routeLineViewModel = ViewModelProviders.of(this).get(RouteLineViewModel.class);
         routeLineViewModel.getRouteBeans().observe(this, new Observer<List<RouteBean>>() {
@@ -426,92 +432,6 @@
             }
         });
 
-//        failedProjViewModel.getFailedProjectsForIII(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;
-//                        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(),f.getUtc()));
-//                            item_conents.add(f.getItem_content());
-//                            Collections.sort(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);
-//                        }
-//                        MyLog.i("璺�冪洃娴嬪埌鏈夊け璐ラ」鐩姞鍏ワ紝閫氱煡UI鏇存柊棰滆壊");
-//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
-//                    }else{
-//                        MyLog.i(TAG,"璺�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I");
-//                        item_id = 0;
-//                        mArrayList.clear();
-//                        item_conents.clear();
-//                        Collections.sort(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){
-//                    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(),f.getUtc()));
-//                            item_conents.add(f.getItem_content());
-//                            Collections.sort(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);
-//                        }
-//                        MyLog.i("鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
-//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
-//                    }else{
-//                        MyLog.i(TAG,"澶辫触椤圭洰鏁版嵁琛ㄨ娓呯┖鏇存柊UI");
-//                        item_id = 0;
-//                        mArrayList.clear();
-//                        item_conents.clear();
-//                        Collections.sort(mArrayList);
-//                        mScoreAdapter.addDatas(mArrayList);
-//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
-//                    }
-//                }
-//
-//            }
-//        });
 
 
 
@@ -545,6 +465,11 @@
                         if (currTotalScore < Constant.PASSING_SCORE){
                             MyLog.i("浣庝簬80锛屼笉鍚堟牸"+currTotalScore);
                         }
+                        if (currTotalScore<0){
+                            ExamPlatformData.getInstance().setCurTotalScore(0);
+                        }else{
+                            ExamPlatformData.getInstance().setCurTotalScore(currTotalScore);
+                        }
                         MyLog.i("鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
                         mHandler.obtainMessage(ADD_DATA).sendToTarget();
                     }else{

--
Gitblit v1.8.0