From c9fc43ded908425af405f61a1df3474dd3105e92 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期三, 26 二月 2020 14:36:30 +0800
Subject: [PATCH] 完成所有协议
---
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 49 ++++++
app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SPEED.java | 19 ++
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java | 33 ++++
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj_select.java | 18 ++
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java | 4
app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SpeedCoder.java | 29 ++++
app/src/main/java/safeluck/drive/evaluation/app.java | 67 ++++++++-
app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 27 +++
app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java | 31 ++++
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | 14 +
app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java | 9 +
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 59 +++++++
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 2
app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java | 5
14 files changed, 329 insertions(+), 37 deletions(-)
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 0e641f0..39fe12a 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
@@ -25,14 +25,14 @@
* 濡傛灉瑕佹坊鍔� 绉戠洰浜孖I III绫昏�冨満澶辫触椤圭洰锛岄渶瑕佸缓绔嬬浉搴旂殑璇勫垽鏍囧噯琛ㄦ暟鎹〃
* @return
*/
- @Query("SELECT emp_id,stu_id,deducting_reason,score_deducting,item_content from criteria_one INNER JOIN fail_projects ON criteria_one.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=1")
+ @Query("SELECT emp_id,stu_id, utc ,sn ,deducting_reason,score_deducting,item_content from criteria_one INNER JOIN fail_projects ON criteria_one.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=1")
LiveData<List<FailedProj_select>> getFailedProjectsForI(long stu_id);
/**
* 鏌ヨ 绉戠洰浜� II绫昏�冨満鐨勫け璐ラ」鐩� 锛堝琛ㄦ煡璇級
* 濡傛灉瑕佹坊鍔� 绉戠洰浜孖I III绫昏�冨満澶辫触椤圭洰锛岄渶瑕佸缓绔嬬浉搴旂殑璇勫垽鏍囧噯琛ㄦ暟鎹〃
* @return
*/
- @Query("SELECT emp_id,stu_id,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")
+ @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);
/**
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 0794aee..5c4fa41 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
@@ -37,13 +37,30 @@
//浣滀负澶栭敭锛屽搴擨绫昏�冨満鐨刬tem_id
@ColumnInfo(name = "emp_id")
private int emp_id;
-
- public FailedProj(int subject, int emp_id,long stu_id) {
+ private int sn;
+ private String utc;
+ public FailedProj(int subject, int emp_id,long stu_id,String utc,int sn) {
this.subject = subject;
this.emp_id = emp_id;
this.stu_id = stu_id;
+ this.sn = sn;
+ this.utc = utc;
+ }
+ public int getSn() {
+ return sn;
}
+ public void setSn(int sn) {
+ this.sn = sn;
+ }
+
+ public String getUtc() {
+ return utc;
+ }
+
+ public void setUtc(String utc) {
+ this.utc = utc;
+ }
public int getId() {
return id;
}
@@ -75,4 +92,16 @@
public void setEmp_id(int emp_id) {
this.emp_id = emp_id;
}
+
+ @Override
+ public String toString() {
+ return "FailedProj{" +
+ "id=" + id +
+ ", stu_id=" + stu_id +
+ ", subject=" + subject +
+ ", emp_id=" + emp_id +
+ ", sn=" + sn +
+ ", utc='" + utc + '\'' +
+ '}';
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj_select.java b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj_select.java
index f0f3634..c62956c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj_select.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj_select.java
@@ -16,6 +16,8 @@
private long stu_id;
private String item_content;
private String deducting_reason;
+ private int sn;
+ private String utc;
private int score_deducting;
public int getEmp_id() {
@@ -42,6 +44,22 @@
this.deducting_reason = deducting_reason;
}
+ public int getSn() {
+ return sn;
+ }
+
+ public void setSn(int sn) {
+ this.sn = sn;
+ }
+
+ public String getUtc() {
+ return utc;
+ }
+
+ public void setUtc(String utc) {
+ this.utc = utc;
+ }
+
public long getStu_id() {
return stu_id;
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index dda96f5..1795cdf 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -25,6 +25,7 @@
import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel;
import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.SignalConfigRemote;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
@@ -54,6 +55,7 @@
import safeluck.drive.evaluation.util.FileUtil;
import safeluck.drive.evaluation.util.PermissionManager;
import safeluck.drive.evaluation.util.SPUtils;
+import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
import safeluck.drive.evaluation.viewmodels.MainViewModel;
import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin;
import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel;
@@ -158,10 +160,27 @@
setContentView(R.layout.activity_main);
// TODO
// 杩涜tcp杩炴帴
- String userId = "100002";
- String token = "token_" + userId;
- String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
- IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this);
+ final String userId = "100002";
+ final String token = "token_" + userId;
+ ExamPlatformModel examPlatformModel = ViewModelProviders.of(this).get(ExamPlatformModel.class);
+ examPlatformModel.getDataChange().observe(this, new Observer<Integer>() {
+ @Override
+ public void onChanged(Integer integer) {
+ Log.i(TAG, "ExamPlatformModel onChanged: integer=="+integer);
+ if (integer == 1){
+ MyLog.i("閲嶆柊杩炴帴鑰冭瘯骞冲彴");
+ }else{
+
+ }
+
+
+ String str = ExamPlatformData.getInstance().getPlatformIP();
+ String hosts = "[{\"host\":"+str+","+ "\"port\":"+ExamPlatformData.getInstance().getPlatformPort()+"}]";
+ MyLog.i("hosts="+hosts);
+ IMSClientBootstrap.getInstance().init(userId,token,hosts,1,MainActivity.this);
+ }
+ });
+
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 540476d..81a393d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -43,6 +43,7 @@
import safeluck.drive.evaluation.DB.exam_status.ExamStatusWoker;
import safeluck.drive.evaluation.DB.failitems.FailedProj;
import safeluck.drive.evaluation.DB.failitems.FailedProjRepository;
+import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.DB.gps.GpsInfoWorker;
import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
import safeluck.drive.evaluation.DB.rtktb.RTKWorkRepository;
@@ -51,9 +52,11 @@
import safeluck.drive.evaluation.im.IMSClientBootstrap;
import safeluck.drive.evaluation.im.IMSConnectStatusListener;
import safeluck.drive.evaluation.im.MessageProcessor;
+import safeluck.drive.evaluation.platformMessage.AttachInfo;
import safeluck.drive.evaluation.platformMessage.JKMessage0100;
import safeluck.drive.evaluation.platformMessage.JKMessage0101;
import safeluck.drive.evaluation.platformMessage.JKMessage0203;
+import safeluck.drive.evaluation.platformMessage.JKMessage0206;
import safeluck.drive.evaluation.util.FileUtil;
import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.util.SystemUtil;
@@ -175,24 +178,23 @@
case Constant.JUDGE_INFO:
if(!TextUtils.isEmpty(json)){
- JKMessage0203 jkMessage0203 = new JKMessage0203();
- jkMessage0203.phone = "0314200100000004";
- jkMessage0203.timeBCD = new Date();
- jkMessage0203.fail_item_id = 4;
- jkMessage0203.fail_score = 10;
- jkMessage0203.fail_reason = "鍙戝姩鏈哄惎鍔ㄥ悗锛屼笉鍙婃椂鏉惧紑鍚姩寮�鍏�";
- jkMessage0203.ID = "123456789";
- jkMessage0203.exam_id = 123456;
- MessageProcessor.getInstance().sendMessage(jkMessage0203);
+
JsonArray jsonArray = JsonParser.parseString(json).getAsJsonArray();
for (int i = 0; i < jsonArray.size(); i++) {
JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
int emp_id = jsonObject.get("wrong_id").getAsInt();
+ String utc = jsonObject.get("utc").getAsString();
+ MyLog.i("璇勫垽娑堟伅瑙f瀽涔嬪墠鐨剈tc="+utc);
+ 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;
}
- failedProjRepository.insert(new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID));
+ FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID,utc,sn);
+ MyLog.i("鎻掑叆fail_projects琛�="+failedProj.toString());
+ failedProjRepository.insert(failedProj);
}
}
@@ -266,6 +268,51 @@
CEventCenter.dispatchEvent(Constant.BIND_SPEED_TOPIC,cmd,0,json);
break;
+ case Constant.RTK_INFO:
+ try {
+ JSONObject jsSpeed = new JSONObject(json);
+ double latitude = jsSpeed.getDouble("latitude");
+ double longitude = jsSpeed.getDouble("longitude");
+ double altitude = jsSpeed.getDouble("altitude");
+ double speed = jsSpeed.getDouble("speed");
+ int qf = jsSpeed.getInt("qf");
+ double track_ture = jsSpeed.getDouble("track_ture");
+ String utc = jsSpeed.getString("utc");
+ utc = utc.replace(".","");
+ MyLog.i("RTK info 淇敼鍚庣殑utc"+utc);
+ JKMessage0206 jkMessage0206 = new JKMessage0206();
+ jkMessage0206.alert = 0;
+ jkMessage0206.status = 0;
+ jkMessage0206.jd = longitude;
+ jkMessage0206.wd = latitude;
+ jkMessage0206.gaoCheng = (int)altitude;
+ jkMessage0206.speed = speed;
+ jkMessage0206.fangXiang = (int)track_ture;
+ jkMessage0206.rf = qf;
+ jkMessage0206.timeBCD = utc;
+ jkMessage0206.json =json;
+ jkMessage0206.length = jkMessage0206.json.length();
+ AttachInfo attachInfo = new AttachInfo();
+ attachInfo.attach_message_id = Integer.parseInt(String.valueOf(0x40));
+ attachInfo.attach_message_length = 4;
+ Log.i(TAG, "attachInfo.attach_message_id ="+attachInfo.attach_message_id );
+ if (attachInfo.attach_message_id == 0x41){
+ Log.i(TAG, "onClick: 41");
+ attachInfo.attach_data="00000000";
+ }else{
+
+ //18涓瓧鑺� ascii
+ attachInfo.attach_data="303030303030303030303030303030303030";
+ }
+
+ jkMessage0206.attachInfo = attachInfo;
+ Log.i(TAG, "浣嶇疆涓婃姤="+jkMessage0206.toString());
+ MessageProcessor.getInstance().sendMessage(jkMessage0206);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ break;
}
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 f790567..dde1e74 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -1,31 +1,46 @@
package safeluck.drive.evaluation.bean;
import android.content.Context;
+import android.util.Log;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.ViewModelProviders;
+
+import com.anyun.exam.lib.MyLog;
import java.util.Random;
import safeluck.drive.evaluation.app;
import safeluck.drive.evaluation.util.SPUtils;
+import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
+import safeluck.drive.evaluation.viewmodels.MainViewModel;
public class ExamPlatformData {
private static final ExamPlatformData ourInstance = new ExamPlatformData();
private int exam_id =12345;//鑰冭瘯鍞竴ID
+ private String id;//韬唤璇�
+
+ private String ip;
+ private int port;
+
public static ExamPlatformData getInstance() {
return ourInstance;
}
- private ExamPlatformData() {
+ private ExamPlatformData() {
}
public String getPlatformIP(){
- return (String) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_IP,"");
+ ip = (String) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_IP,"47.93.157.103");
+ return ip;
}
public int getPlatformPort(){
- return (int) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_PORT,0);
+ port = (int) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_PORT,2020);
+ return port;
}
/**
@@ -33,8 +48,24 @@
* @param ip
*/
public void insertPlatformIp(String ip){
+
SPUtils.put(app.getAppContext(),SPUtils.PLATFORM_IP,ip);
+ }
+
+ /**
+ * 姣旇緝ip鍦板潃鍜岀鍙e彿锛�
+ * @param ip
+ * @param port
+ * @return ip鍜岀鍙e叾涓湁鍙樺寲锛岃繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
+ */
+ public boolean compareIPandPort(String ip,int port){
+ MyLog.i( "compareIPandPort: "+ip+" "+port);
+ if(!getPlatformIP().equalsIgnoreCase(ip) || getPlatformPort()!=port){
+ MyLog.i("ip鍜岀鍙f湁鍙樺寲");
+ return true;
+ }
+ return false;
}
/**
@@ -45,11 +76,17 @@
SPUtils.put(app.getAppContext(),SPUtils.PLATFORM_PORT,port);
}
- public int getExamUniqueID(){
-
- return exam_id;
+ public String getID() {
+ return id;
}
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public int getExam_id() {
+ return exam_id;
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
index c718b37..808b110 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -3,6 +3,7 @@
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.lifecycle.ViewModelProviders;
import android.util.Log;
import android.view.LayoutInflater;
@@ -25,6 +26,7 @@
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.util.FileUtil;
+import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
/**
* 鍩虹鏁版嵁璁剧疆
@@ -41,7 +43,7 @@
private Button btn_config_signal;
private Button btn_mcu_upgrade;
private EditText et_ip,et_port;
-
+ private ExamPlatformModel examPlatformModel;
public static SupportFragment newInstance() {
return new BaseDatasFragment();
}
@@ -53,11 +55,12 @@
View view = inflater.inflate(R.layout.layout_base_datas, container, false);
initView(view);
+ examPlatformModel = ViewModelProviders.of(this).get(ExamPlatformModel.class);
return view;
}
private void initView(View view) {
- view.findViewById(R.id.btn_save_platform);
+ view.findViewById(R.id.btn_save_platform).setOnClickListener(this);
et_ip = view.findViewById(R.id.et_platform_ip);
et_port = view.findViewById(R.id.et_platform_port);
btn_inspect_signal = view.findViewById(R.id.btn_inpsect_signal);
@@ -97,8 +100,11 @@
}
break;
case R.id.btn_save_platform:
- ExamPlatformData.getInstance().insertPlatformIp(et_ip.getText().toString().trim());
- ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim()));
+ if(ExamPlatformData.getInstance().compareIPandPort(et_ip.getText().toString().trim(),Integer.parseInt(et_port.getText().toString().trim()))){
+ examPlatformModel.changeDataValue(1);
+ ExamPlatformData.getInstance().insertPlatformIp(et_ip.getText().toString().trim());
+ ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim()));
+ }
break;
default:
break;
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 a325f73..d518075 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -49,6 +49,7 @@
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.ScoreBean;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
@@ -57,6 +58,7 @@
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.platformMessage.JKMessage0201;
import safeluck.drive.evaluation.platformMessage.JKMessage0202;
+import safeluck.drive.evaluation.platformMessage.JKMessage0203;
import safeluck.drive.evaluation.platformMessage.JKMessage0204;
/**
@@ -156,6 +158,7 @@
mScoreAdapter.addDatas(mArrayList);
}
//TODO 鍙戦�丣KMessage0203 缁欏钩鍙帮紝杩欏効鏈夌偣澶嶆潅锛岀湅鎬庝箞澶勭悊
+ sendJKMessage0203(failedProj_selects);
currTotalScore -=item_id;
if (currTotalScore < Constant.PASSING_SCORE){
MyLog.i(TAG,"浣庝簬80锛屼笉鍚堟牸");
@@ -213,6 +216,7 @@
tv_name.setText(getString(R.string.name)+student.getName());
tv_id.setText(getString(R.string.user_id)+student.getID());
+ ExamPlatformData.getInstance().setId(student.getID());
}
}
}
@@ -231,6 +235,53 @@
});
return view;
+ }
+ private List<Integer> sns =new ArrayList<>();
+ private void sendJKMessage0203(List<FailedProj_select> failedProj_selects) {
+ JKMessage0203 jkMessage0203 = new JKMessage0203();
+ jkMessage0203.phone = "0314200100000004";
+ jkMessage0203.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0203.exam_id = ExamPlatformData.getInstance().getExam_id();
+
+ for (int i = 0; i < failedProj_selects.size(); i++) {
+ if (hasSnEqulas(failedProj_selects)){
+
+ }else{
+ MyLog.i("娌℃湁鐩稿悓鐨剆n锛屽彂閫�");
+ sns.add(failedProj_selects.get(i).getSn());
+ jkMessage0203.timeBCD = failedProj_selects.get(i).getUtc();
+ jkMessage0203.fail_item_id = failedProj_selects.get(i).getEmp_id();
+ jkMessage0203.fail_score = failedProj_selects.get(i).getScore_deducting();
+ jkMessage0203.fail_reason = failedProj_selects.get(i).getDeducting_reason();
+ }
+
+ }
+
+
+
+
+
+
+
+ MessageProcessor.getInstance().sendMessage(jkMessage0203);
+ }
+
+ private boolean hasSnEqulas(List<FailedProj_select> failedProj_selects){
+ if (sns.size() > 0){
+ for (int i = 0; i < failedProj_selects.size(); i++) {
+ for (int j = 0; j < sns.size(); j++) {
+ if (sns.get(j) == failedProj_selects.get(i).getSn()){
+ MyLog.i("sn鐩稿悓锛屼笉鍙�");
+ return true;
+ }else{
+ continue;
+ }
+ }
+ }
+
+ }
+ return false;
+
}
private int whatPaintColor(ExamStatus examStat) {
@@ -344,8 +395,8 @@
jkMessage0202.phone = "0314200100000004";
jkMessage0202.timeBCD = new Date();
jkMessage0202.curr_exam = 0;
- jkMessage0202.ID = "123456789";
- jkMessage0202.exam_id = 123456;
+ jkMessage0202.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
MessageProcessor.getInstance().sendMessage(jkMessage0202);
break;
case R.id.tv_stop:
@@ -399,8 +450,8 @@
jkMessage0204.timeBCD = new Date();
jkMessage0204.score = 10;
jkMessage0204.stop = JKMessage0204.SUCC_STOP;
- jkMessage0204.ID = "123456789";
- jkMessage0204.exam_id = 123456;
+ jkMessage0204.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
MessageProcessor.getInstance().sendMessage(jkMessage0204);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
index b636ff8..5ed9ac4 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -236,7 +236,7 @@
case R.id.btn_fail:
JKMessage0203 jkMessage0203 = new JKMessage0203();
jkMessage0203.phone = "0314200100000004";
- jkMessage0203.timeBCD = new Date();
+ jkMessage0203.timeBCD = "200226135444";
jkMessage0203.fail_item_id = 4;
jkMessage0203.fail_score = 10;
jkMessage0203.fail_reason = "鍙戝姩鏈哄惎鍔ㄥ悗锛屼笉鍙婃椂鏉惧紑鍚姩寮�鍏�";
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
index c5c6217..aff895c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java
@@ -2,6 +2,7 @@
import com.safeluck.aykj.annotation.Ascii;
import com.safeluck.aykj.annotation.BcdDateTime;
+import com.safeluck.aykj.annotation.Hex;
import com.safeluck.aykj.annotation.Int32;
import com.safeluck.aykj.annotation.Int8;
import com.safeluck.aykj.annotation.Length;
@@ -15,8 +16,12 @@
@Ascii
public String ID;
@Order(2)
- @BcdDateTime
- public Date timeBCD;
+ @Length(6)
+ @Hex
+ public String timeBCD;
+// @Order(2)
+// @BcdDateTime
+// public Date timeBCD;
@Order(3)
@Int32
public int exam_id;
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
index a56e6ef..0f23386 100644
--- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java
@@ -3,6 +3,7 @@
import com.safeluck.aykj.annotation.*;
import safeluck.drive.evaluation.platformMessage.decoder.JWD;
+import safeluck.drive.evaluation.platformMessage.decoder.SPEED;
public class JKMessage0206 extends JK2019MessageBase {
@Order(1)
@@ -22,8 +23,8 @@
@Int16
public int gaoCheng;
@Order(6)
- @Int16
- public int speed;
+ @SPEED
+ public double speed;
@Order(7)
@Int16
public int fangXiang;
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SPEED.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SPEED.java
new file mode 100644
index 0000000..f265772
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SPEED.java
@@ -0,0 +1,19 @@
+package safeluck.drive.evaluation.platformMessage.decoder;
+
+import com.safeluck.aykj.annotation.Length;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by zw on 2017/6/15.
+ */
+
+@Length(2)
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD})
+public @interface SPEED {
+// Class<? extends IMessageCoder<?>>[] coder() default Int32Coder.class;
+}
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SpeedCoder.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SpeedCoder.java
new file mode 100644
index 0000000..f1e565c
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/decoder/SpeedCoder.java
@@ -0,0 +1,29 @@
+package safeluck.drive.evaluation.platformMessage.decoder;
+
+import com.safeluck.aykj.decoder.BaseDecoder;
+import com.safeluck.aykj.decoder.Int16Coder;
+import com.safeluck.aykj.decoder.Int32Coder;
+
+import java.math.BigDecimal;
+
+/**
+ * Created by zw on 2017/6/15.
+ */
+
+public class SpeedCoder extends BaseDecoder<Double> {
+ Int16Coder coder = new Int16Coder();
+ @Override
+ public Double decode(String str) {
+ double ret = coder.decode(str);
+ double x = ret / 10;
+ BigDecimal bg = new BigDecimal(x);
+ double f1 = bg.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+ return f1;
+ }
+
+ @Override
+ public String encode(Double str) {
+ int speed = (int)(str * 10);
+ return coder.encode(speed);
+ }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java
new file mode 100644
index 0000000..914671a
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/ExamPlatformModel.java
@@ -0,0 +1,31 @@
+package safeluck.drive.evaluation.viewmodels;
+
+
+import android.util.Log;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+import com.anyun.exam.lib.MyLog;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class ExamPlatformModel extends ViewModel {
+ private static final String TAG = "ExamPlatformModel";
+ private MutableLiveData<Integer> dataChange = new MutableLiveData<>(0);
+ public LiveData<Integer> getDataChange(){
+
+ return dataChange;
+ }
+ public void changeDataValue(final int value){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ dataChange.postValue(value);
+ }
+ }).start();
+ }
+
+
+}
--
Gitblit v1.8.0