学员表添加对考试开始时间修改的操作;修改考试id根据每次开始考试时间戳来变化
10个文件已修改
78 ■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/DB/Student.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/StudentDao.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/StudentInfoUpdateWork.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/WokViewModel.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/WorkRepository.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/signalConfigdb/SignalConfigInitWorker.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/util/Utils.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
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);
}
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);
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);
    }
}
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);
            }
        });
    }
}
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) {
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);
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;//返回的ic卡信息 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 发送JKMessage0202 给平台,开始考试
                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();
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 发送JKMessage0202 给平台,开始考试
                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();
                }
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);
    }
}