From 13c7fc17c0656423832eea705d23867c7ba6697d Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 24 三月 2020 11:18:56 +0800
Subject: [PATCH] 学员表添加对考试开始时间修改的操作;修改考试id根据每次开始考试时间戳来变化

---
 app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java                 |   13 ++++++
 app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java                        |    9 ++++
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java                    |    4 ++
 app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java                            |    3 +
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java                   |   18 ++++++---
 app/src/main/java/safeluck/drive/evaluation/util/Utils.java                               |    7 +++
 app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java |    2 +
 app/src/main/java/safeluck/drive/evaluation/DB/Student.java                               |    3 +
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java            |   15 ++++++-
 app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java                          |    4 ++
 10 files changed, 67 insertions(+), 11 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/Student.java b/app/src/main/java/safeluck/drive/evaluation/DB/Student.java
index 4bb8bc7..5dd1ec2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/Student.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/Student.java
@@ -48,7 +48,7 @@
     public void setBegin_time(long begin_time) {
         this.begin_time = begin_time;
     }
-
+    @ColumnInfo(name = "begin_time")
     private long begin_time;
 
     public Student(long stu_id, @NonNull String name, String ID, int sex) {
@@ -58,6 +58,7 @@
         this.sex = sex;
     }
 
+
     public long getStu_id() {
         return stu_id;
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java
index 0750bf4..f7ffba8 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java
@@ -29,4 +29,7 @@
 
     @Insert(onConflict = OnConflictStrategy.REPLACE)
     void insertAll(List<Student> students);
+
+    @Query("update student_table set begin_time =:beginTime where stu_id=1001")
+    void updateBeginTime(long beginTime);
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
index 3babb18..88ff389 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java
@@ -35,7 +35,18 @@
                 String headUrl = jsonObject.getString("head_url");
                 String  id = jsonObject.getString("ID");
                 String  name = jsonObject.getString("name");
-                Student student =new Student(1001,name,id,2);
+                int sex = 2;//榛樿鏄コ鐢�
+                if (id!=null&&id.length()>=18){
+                    sex = Integer.parseInt(id.substring(id.length()-2,id.length()-1));
+                    Log.i(TAG,"sex="+sex);
+                    if ( sex%2==0){
+                        Log.i(TAG,"鍋舵暟鏄コ鐢�");
+                        sex =2;
+                    }else{
+                        sex = 1;
+                    }
+                }
+                Student student =new Student(1001,name,id,sex);
                 student.setHead_url(headUrl);
                 MyLog.i("鏇存柊绛惧埌浜哄憳淇℃伅锛�"+student.toString());
                 WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getstudentDao().insert(student);
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java
index c80d4c5..090d41d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java
@@ -32,5 +32,9 @@
         workRepository.insert(student);
     }
 
+    public void updateBeginTime(long beginTime){
+        workRepository.updateBeginTime(beginTime);
+    }
+
 
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java
index 56d3637..c1a1c14 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java
@@ -34,4 +34,13 @@
             }
         });
     }
+
+    public void updateBeginTime(final long beginTime) {
+        WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                studentDao.updateBeginTime(beginTime);
+            }
+        });
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
index 7d0b280..6f0e210 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java
@@ -45,6 +45,8 @@
             Gson gson = new Gson();
             Type type = new TypeToken<List<SingalConfig>>(){}.getType();
 
+
+
             List<SingalConfig> mstus=gson.fromJson(jsonReader,   type);
             WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getSignalConfigDao().insertAll(mstus);
         } catch (IOException e) {
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 bd260cf..16bec68 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -209,6 +209,10 @@
         return exam_id;
     }
 
+    public void setExam_id(int exam_id) {
+        this.exam_id = exam_id;
+    }
+
     public void setNewMapPath(String path) {
         this.mapPath = path;
         SPUtils.put(app.getAppContext(),SPUtils.MAP_PATH,mapPath);
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 5baa955..296b540 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -93,7 +93,7 @@
     private ExamStatusViewModel examStatusViewModel;
     private static final int ADD_DATA = 1;
     private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time,
-            tv_qf;
+            tv_qf,tv_start_time,tv_sex;
     private double speed=0.0;
     private ImageView iv_rtk_status,iv_head;
 
@@ -102,6 +102,7 @@
     private static final int SPEED_DATA = 2;
     private FailedProjViewModel failedProjViewModel;
     String icson;//杩斿洖鐨刬c鍗′俊鎭� json
+    WokViewModel wokViewModel;
     private List<SimulateNightBean.QuestionBean> tempQs=  new ArrayList<>();
     private List<Integer> btn_ids = new ArrayList<Integer>();
     public static SupportFragment newInstance() {
@@ -454,7 +455,7 @@
 
             }
         });
-        WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
+        wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
         wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
             @Override
             public void onChanged(List<Student> students) {
@@ -466,10 +467,13 @@
                         tv_name.setText(getString(R.string.name)+student.getName());
                         tv_id.setText(getString(R.string.user_id)+student.getID());
                         ExamPlatformData.getInstance().setId(student.getID());
+                        tv_sex.setText(getString(R.string.sex)+(student.getSex()==2?"濂�":"鐢�"));
+                        tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time()));
                     }
                 }
             }
         });
+
 
         AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
         appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
@@ -519,6 +523,8 @@
         houseView = view.findViewById(R.id.hv);
         tv_name = view.findViewById(R.id.tv_name);
         tv_id = view.findViewById(R.id.tv_ID);
+        tv_start_time = view.findViewById(R.id.tv_start_time);
+        tv_sex = view.findViewById(R.id.tv_sex);
         tv_work_platform = view.findViewById(R.id.platform);
 
         iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
@@ -578,7 +584,10 @@
                 currTotalScore = 100;
                 //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
                 final JKMessage0202 jkMessage0202 = new JKMessage0202();
-                jkMessage0202.timeBCD = new Date();
+                Date date = new Date();
+                wokViewModel.updateBeginTime(date.getTime());
+                jkMessage0202.timeBCD = date;
+                ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                 jkMessage0202.ID = ExamPlatformData.getInstance().getID();
 
                 jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
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 60f2901..0c2074a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -113,9 +113,10 @@
     private ExamStatusViewModel examStatusViewModel;
     private static final int ADD_DATA = 1;
     private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time
-            ,tv_qf;
+            ,tv_qf,tv_start_time,tv_sex;
     private double speed=0.0;
     private ImageView iv_rtk_status,iv_head;
+    WokViewModel wokViewModel;
 
     private int currTotalScore = 100;
     private List<ScoreBean> mArrayList = new ArrayList<>();
@@ -473,7 +474,7 @@
 
             }
         });
-        WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
+        wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
         wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
             @Override
             public void onChanged(List<Student> students) {
@@ -485,6 +486,9 @@
                         tv_name.setText(getString(R.string.name)+student.getName());
                         tv_id.setText(getString(R.string.user_id)+student.getID());
                         ExamPlatformData.getInstance().setId(student.getID());
+                        tv_sex.setText(getString(R.string.sex)+(student.getSex()==2?"濂�":"鐢�"));
+                        tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time()));
+
                     }
                 }
             }
@@ -538,6 +542,8 @@
         houseView = view.findViewById(R.id.hv);
         tv_name = view.findViewById(R.id.tv_name);
         tv_id = view.findViewById(R.id.tv_ID);
+        tv_start_time = view.findViewById(R.id.tv_start_time);
+        tv_sex = view.findViewById(R.id.tv_sex);
         tv_work_platform = view.findViewById(R.id.platform);
 
         iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
@@ -601,11 +607,11 @@
 
                 //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
                 final JKMessage0202 jkMessage0202 = new JKMessage0202();
-                jkMessage0202.timeBCD = new Date();
+                Date date = new Date();
+                wokViewModel.updateBeginTime(date.getTime());
+                jkMessage0202.timeBCD = date;
+                ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                 jkMessage0202.ID = ExamPlatformData.getInstance().getID();
-
-                jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
-
                 if (myDialogFragment == null){
                     myDialogFragment = new MyDialogFragment();
                 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 4641db2..592f817 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -12,6 +12,7 @@
 
 import java.math.BigDecimal;
 import java.security.SecureRandom;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Random;
 
@@ -399,4 +400,10 @@
         BigDecimal b= new BigDecimal(d);
         return b.setScale(reserve, BigDecimal.ROUND_HALF_UP).doubleValue();
     }
+
+    public static String formatTimeYYMMDDHHmmSS(long begin_time) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        return  simpleDateFormat.format(begin_time);
+    }
 }

--
Gitblit v1.8.0