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