From 077c184f685b887f037ad0b83662cda88343531d Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 09 三月 2020 13:44:37 +0800
Subject: [PATCH] 加入场考评判标准;修改Exam_status 表

---
 app/src/main/java/safeluck/drive/evaluation/app.java                               |   22 +
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                      |    3 
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java             |   21 +
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java       |   79 ++++++
 app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java               |   14 +
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java |   59 ++++
 app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaIIIDao.java       |   28 ++
 app/src/main/java/safeluck/drive/evaluation/DB/Constant.java                       |    1 
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java     |    4 
 app/src/main/assets/criteria_III.json                                              |  465 ++++++++++++++++++++++++++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java         |   16 +
 11 files changed, 708 insertions(+), 4 deletions(-)

diff --git a/app/src/main/assets/criteria_III.json b/app/src/main/assets/criteria_III.json
new file mode 100644
index 0000000..2057db3
--- /dev/null
+++ b/app/src/main/assets/criteria_III.json
@@ -0,0 +1,465 @@
+[
+  {
+    "item_id":1,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "涓嶆寜瑙勫畾浣跨敤瀹夊叏甯�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":2,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "閬尅銆佸叧闂溅鍐呴煶瑙嗛鐩戞帶璁惧",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":3,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "涓嶆寜鑰冭瘯鍛樻寚浠ら┚椹�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":4,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "鍚姩鍙戝姩鏈烘椂妗d綅鏈疆浜庣┖鎸�(椹昏溅妗�)",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":5,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "璧锋鏃惰溅杈嗗悗婧滆窛绂诲ぇ浜�30cm",
+    "score_deducting":100,
+    "required_precision":"璺濈妫�娴嬭宸細0mm~50mm"
+  },
+  {
+    "item_id":6,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "浣跨敤鎸′綅涓庤溅閫熼暱鏃堕棿涓嶅尮閰�,閫犳垚杞﹁締鍙戝姩鏈鸿浆閫熻繃楂樻垨杩囦綆",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":7,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "杞﹁締鍦ㄨ椹朵腑杩炵画2娆℃寕鎸′笉杩�",
+    "score_deducting":100,
+    "required_precision":"5s鍐呬袱娆℃寕鍚屼竴鎸′綅鏈垚鍔�"
+  },
+  {
+    "item_id":8,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "琛岄┒涓┖鎸℃粦琛�",
+    "score_deducting":100,
+    "required_precision":"鏃堕棿澶т簬5s"
+  },
+  {
+    "item_id":9,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "涓嶆寜浜ら�氫俊鍙风伅銆佹爣蹇椼�佹爣绾夸俊鍙疯椹�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":10,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "涓嶆寜瑙勫畾閫熷害琛岄┒",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":11,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "杞﹁締琛岄┒涓獞杞ц溅閬撲腑蹇冨疄绾挎垨鑰呰溅閬撹竟缂樺疄绾�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":12,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "闀挎椂闂撮獞杞ц溅閬撳垎鐣岀嚎琛岄┒",
+    "score_deducting":100,
+    "required_precision":"鏃堕棿澶т簬10s"
+  },
+  {
+    "item_id":13,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "璧锋銆佽浆鍚戙�佸彉鏇磋溅閬撱�佽秴杞︺�侀潬杈瑰仠杞﹀墠涓嶄娇鐢ㄦ垨閿欒浣跨敤杞悜鐏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":14,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "璧锋銆佽浆鍚戙�佸彉鏇磋溅閬撱�佽秴杞︺�侀潬杈瑰仠杞﹀墠,寮�杞� 鍚戠伅灏戜簬3 s鍗宠浆鍚�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":15,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "杩炵画鍙樻洿涓ゆ潯鎴栦袱鏉′互涓婅溅閬�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":16,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "灏嗚溅杈嗗仠鍦ㄤ汉琛屾í閬撱�佺綉鐘剁嚎鍐呯瓑绂佹鍋滆溅鍖哄煙",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":17,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "鍥犺瀵熴�佸垽鏂垨鑰呮搷浣滀笉褰撳嚭鐜板嵄闄╂儏鍐�",
+    "score_deducting":100,
+    "required_precision":"鍓埗鍔ㄨ笍鏉胯俯涓嬪悗"
+  },
+  {
+    "item_id":18,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "璧锋鏃惰溅杈嗗悗婧�,浣嗗悗婧滆窛绂诲皬浜�30cm",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":19,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "璧锋鎴栬椹朵腑鎸傞敊鎸�",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":20,
+    "item_content": "閫氱敤瑕佹眰",
+    "deducting_reason": "鍥犳搷浣滀笉褰撻�犳垚鍙戝姩鏈虹唲鐏竴娆�",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":21,
+    "item_content": "涓婅溅鍑嗗",
+    "deducting_reason": "鏈�嗘椂閽堢粫杞︿竴鍛ㄦ鏌ヨ溅杈嗗瑙傚強鍛ㄥ洿鐜",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":22,
+    "item_content": "璧锋",
+    "deducting_reason": "鍒跺姩姘斿帇涓嶈冻璧锋",
+    "score_deducting":100,
+    "required_precision":"浠呴�傜敤浜庨噰鐢ㄦ皵鍔ㄥ埗鍔ㄥ櫒鐨勮溅鍨�"
+  },
+  {
+    "item_id":23,
+    "item_content": "璧锋",
+    "deducting_reason": "杞﹂棬鏈畬鍏ㄥ叧闂捣姝�",
+    "score_deducting":100,
+    "required_precision":"琛岄┒璺濈澶т簬 1m 鏃�,杞﹂棬鏈畬 鍏ㄥ叧闂�"
+  },
+  {
+    "item_id":24,
+    "item_content": "璧锋",
+    "deducting_reason": "鍚姩鍙戝姩鏈烘椂,鎸′綅鏈疆浜庣┖鎸�(椹昏溅鎸�)",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":25,
+    "item_content": "璧锋",
+    "deducting_reason": "涓嶆澗椹昏溅鍒跺姩鍣ㄨ捣姝�,鏈強鏃剁籂姝�",
+    "score_deducting":100,
+    "required_precision":"琛岄┒璺濈澶т簬 10 m"
+  },
+
+  {
+    "item_id":26,
+    "item_content": "璧锋",
+    "deducting_reason": "涓嶆澗椹昏溅鍒跺姩鍣ㄨ捣姝�,浣嗚兘鍙婃椂绾犳",
+    "score_deducting":10,
+    "required_precision":"琛岄┒璺濈涓� 1 m~10 m"
+  },
+  {
+    "item_id":27,
+    "item_content": "璧锋",
+    "deducting_reason": "鍙戝姩鏈哄惎鍔ㄥ悗,涓嶅強鏃舵澗寮�鍚姩寮�鍏�",
+    "score_deducting":10,
+    "required_precision":"璺濈妫�娴嬭宸�:0mm~+50mn"
+  },
+  {
+    "item_id":28,
+    "item_content": "璧锋",
+    "deducting_reason": "璧锋鏃惰溅杈嗗彂鐢熼棷鍔�",
+    "score_deducting":5,
+    "required_precision":""
+  },
+  {
+    "item_id":29,
+    "item_content": "璧锋",
+    "deducting_reason": "璧锋鏃�,鍔犻�熻笍鏉挎帶鍒朵笉褰�,鑷翠娇鍙戝姩鏈鸿浆閫熻繃楂�",
+    "score_deducting":5,
+    "required_precision":"鏍规嵁鑰冭瘯杞﹀瀷璁惧畾(澶т簬 2500rpm)"
+  } ,
+  {
+    "item_id":30,
+    "item_content": "鐩寸嚎琛岄┒",
+    "deducting_reason": "鏂瑰悜鎺у埗涓嶇ǔ,涓嶈兘淇濇寔杞﹁締鐩寸嚎杩愯",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":31,
+    "item_content": "鍔犲噺鎸′綅鎿嶄綔",
+    "deducting_reason": "鏈寜鎸囦护骞崇ǔ鍔犮�佸噺鎸�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":32,
+    "item_content": "鍔犲噺鎸′綅鎿嶄綔",
+    "deducting_reason": "杞﹁締杩愯閫熷害鍜屾尅浣嶄笉鍖归厤",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":33,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鑰冭瘯鍛樺彂鍑洪潬杈瑰仠杞︽寚浠ゅ悗,鏈兘鍦ㄨ瀹氱殑璺濈鍐呭仠杞�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":34,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鍋滆溅鍚�,杞﹁韩瓒呰繃閬撹矾鍙充晶杈圭紭绾挎垨鑰呬汉琛岄亾杈圭紭",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":35,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "涓嬭溅鍚庝笉鍏抽棴杞﹂棬",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":36,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鍋滆溅鍚�,杞﹁韩璺濈閬撹矾鍙充晶杈圭紭绾挎垨鑰呬汉琛岄亾杈圭紭瓒呭嚭50cm",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":37,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鍋滆溅鍚�,杞﹁韩璺濈閬撹矾鍙充晶杈圭紭绾挎垨鑰呬汉琛岄亾杈圭紭瓒呭嚭30cm锛屾湭瓒呭嚭50cm",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":38,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鍋滆溅鍚�,鏈媺绱ч┗杞﹀埗鍔ㄥ櫒",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":39,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "鎷夌揣椹昏溅鍒跺姩鍣ㄥ墠鏀炬澗琛岃溅鍒跺姩韪忔澘",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":40,
+    "item_content": "闈犺竟鍋滆溅",
+    "deducting_reason": "涓嬭溅鍓嶄笉灏嗗彂鍔ㄦ満鐔勭伀",
+    "score_deducting":5,
+    "required_precision":""
+  },
+  {
+    "item_id":41,
+    "item_content": "鐩磋閫氳繃璺彛",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛��",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":42,
+    "item_content": "鐩磋閫氳繃璺彛",
+    "deducting_reason": "涓嶆寜瑙勫畾鍋滆溅鐬湜",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":43,
+    "item_content": "璺彛宸﹁浆寮�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛��",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":44,
+    "item_content": "璺彛宸﹁浆寮�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍋滆溅鐬湜",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":45,
+    "item_content": "璺彛宸﹁浆寮�",
+    "deducting_reason": "宸﹁浆閫氳繃璺彛鏃�,鏈潬璺彛涓績鐐瑰乏渚ц浆寮�",
+    "score_deducting":10,
+    "required_precision":""
+  },
+  {
+    "item_id":46,
+    "item_content": "璺彛鍙宠浆寮�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛��",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":47,
+    "item_content": "璺彛鍙宠浆寮�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍋滆溅鐬湜",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":48,
+    "item_content": "閫氳繃浜鸿閬撴í绾�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛�熸參琛�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":49,
+    "item_content": "閫氳繃瀛︽牎鍖哄煙",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛�熸參琛�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":50,
+    "item_content": "閫氳繃鍏叡姹借溅绔�",
+    "deducting_reason": "涓嶆寜瑙勫畾鍑忛�熸參琛�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":51,
+    "item_content": "鎺夊ご",
+    "deducting_reason": "鎺夊ご鍓嶆湭寮�鍚乏杞悜鐏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":52,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "涓嶈兘姝g‘寮�鍚伅鍏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":53,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "閫氳繃鎬ュ集銆佸潯璺�佹嫳妗ャ�佷汉琛屾í閬撴垨鑰呮病鏈変氦閫氫俊鍙风伅鎺у埗鐨勮矾鍙f椂锛屼笉浜ゆ浛浣跨敤杩溿�佽繎鍏夌伅绀烘剰",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":54,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "閫氳繃璺彛鏃朵娇鐢ㄨ繙鍏夌伅",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":55,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "鍦ㄦ湁璺伅銆佺収鏄庤壇濂界殑閬撹矾涓婅椹舵椂,浣跨敤杩滃厜鐏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":56,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "鍦ㄨ矾杈逛复鏃跺仠杞︿笉鍏抽棴鍓嶇収鐏垨涓嶅紑鍚ず寤撶伅",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":57,
+    "item_content": "澶滈棿琛岄┒",
+    "deducting_reason": "杩涘叆鏃犵収鏄庨亾璺椹舵椂涓嶄娇鐢ㄨ繙鍏夌伅",
+    "score_deducting":5,
+    "required_precision":""
+  },
+  {
+    "item_id":58,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "涓嶈兘姝g‘寮�鍚伅鍏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":59,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "鍚屾柟鍚戣繎璺濈璺熻溅琛岄┒鏃�,浣跨敤杩滃厜鐏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":60,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "閫氳繃鎬ュ集銆佸潯璺�佹嫳妗ャ�佷汉琛屾í閬撴垨鑰呮病鏈変氦閫氫俊鍙风伅鎺у埗鐨勮矾鍙f椂锛屼笉浜ゆ浛浣跨敤杩溿�佽繎鍏夌伅绀烘剰",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":61,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "浼氳溅鏃朵笉鎸夎瀹氫娇鐢ㄨ繎鍏夌伅",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":62,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "閫氳繃璺彛鏃朵娇鐢ㄨ繙鍏夌伅",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":63,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "瓒呰溅鏃舵湭浜ゆ浛浣跨敤杩滆繎鍏夌伅鎻愰啋琚秴瓒婅溅杈�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":64,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "鍦ㄦ湁璺伅銆佺収鏄庤壇濂界殑閬撹矾涓婅椹舵椂,浣跨敤杩滃厜鐏�",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":65,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "鍦ㄨ矾杈逛复鏃跺仠杞︿笉鍏抽棴鍓嶇収鐏垨涓嶅紑鍚ず寤撶伅",
+    "score_deducting":100,
+    "required_precision":""
+  },
+  {
+    "item_id":66,
+    "item_content": "妯℃嫙澶滈棿鐏厜浣跨敤(璇煶妯℃嫙)",
+    "deducting_reason": "杩涘叆鏃犵収鏄庛�佺収鏄庝笉鑹殑閬撹矾琛岄┒鏃朵笉浣跨敤杩滃厜鐏�",
+    "score_deducting":5,
+    "required_precision":""
+  }
+]
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
index 711a645..8a21f43 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
@@ -9,6 +9,7 @@
 public class Constant {
     public static final String CRITERIAFOR_I_JSON = "criteria_I.json";
     public static final String CRITERIAFOR_II_JSON = "criteria_II.json";
+    public static final String CRITERIAFOR_III_JSON = "criteria_III.json";
     public static final String RTK_CONFIG_UPDATE_JSON = "RTK_CONFIG_UPDATE_JSON";
     public static final String RTK_CONFIG_PHONE = "RTK_CONFIG_PHONE";
     public static final String RTK_CONFIG_IMEI = "RTK_CONFIG_IMEI";
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
index 82e3040..8f9c085 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
@@ -20,10 +20,13 @@
 import safeluck.drive.evaluation.DB.appstatusdb.AppStatusInitWork;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForII;
+import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
+import safeluck.drive.evaluation.DB.criterias.CriteriaForIIIWorker;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForIIWorker;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForIWorker;
 import safeluck.drive.evaluation.DB.criterias.CriteriaIDao;
 import safeluck.drive.evaluation.DB.criterias.CriteriaIIDao;
+import safeluck.drive.evaluation.DB.criterias.CriteriaIIIDao;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatusDao;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
@@ -46,7 +49,7 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-@Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class, RTKConfig.class, GPSInfo.class, AppStatus.class, ExamStatus.class, SingalConfig.class},version = 1,exportSchema = false)
+@Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class, CriteriaForIII.class,RTKConfig.class, GPSInfo.class, AppStatus.class, ExamStatus.class, SingalConfig.class},version = 1,exportSchema = false)
 public abstract class WorkRoomDataBase extends RoomDatabase {
     private static final String TAG = "WorkRoomDataBase";
     public abstract StudentDao getstudentDao();
@@ -85,6 +88,7 @@
                                     OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(SeedDatabaseWorker.class);
                                     OneTimeWorkRequest oneTimeWorkRequest1 = OneTimeWorkRequest.from(CriteriaForIWorker.class);
                                     OneTimeWorkRequest oneTimeWorkRequest3 = OneTimeWorkRequest.from(CriteriaForIIWorker.class);
+                                    OneTimeWorkRequest  mCriteriaForIIIWorker= OneTimeWorkRequest.from(CriteriaForIIIWorker.class);
                                     OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class);
                                     OneTimeWorkRequest RTKConfigWorkRequest = OneTimeWorkRequest.from(RTKConfigWork.class);
                                     OneTimeWorkRequest appStatusInitWork = OneTimeWorkRequest.from(AppStatusInitWork.class);
@@ -95,6 +99,7 @@
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1);
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest2);
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest3);
+                                    WorkManager.getInstance(mContext).enqueue(mCriteriaForIIIWorker);
                                     WorkManager.getInstance(mContext).enqueue(RTKConfigWorkRequest);
                                     WorkManager.getInstance(mContext).enqueue(appStatusInitWork);
                                     WorkManager.getInstance(mContext).enqueue(examStatusInitWorker);
@@ -124,4 +129,11 @@
     public abstract ExamStatusDao getExamStatusDao();
 
     public abstract SignalConfigDao getSignalConfigDao();
+
+    /**
+     * 鑾峰彇绉戠洰涓夎瘎鍒よ〃鐨� Dao
+     *
+     * @return
+     */
+    public abstract CriteriaIIIDao getCriteriaIIIDao();
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java
new file mode 100644
index 0000000..d211da3
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIII.java
@@ -0,0 +1,79 @@
+package safeluck.drive.evaluation.DB.criterias;
+
+import androidx.annotation.NonNull;
+import androidx.room.ColumnInfo;
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+/**
+ * MyApplication2
+ * Created by lzw on 2019/11/26. 10:15:55
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ *
+ * 绉戠洰浜� II绫昏�冨満璇勫垽鏍囧噯琛�
+ */
+@Entity(tableName = "criteria_three")
+public class CriteriaForIII {
+/**************
+ *    item_id   item_content                    deducting_reason                     score_deducting                    required _precision
+        23                  璧锋                             杞﹂棬鏈畬鍏ㄥ叧闂捣姝�                    涓嶅悎鏍�                        琛岄┒璺濈澶т簬1m 鏃�
+ **************/
+    @PrimaryKey
+    @ColumnInfo(name = "item_id")
+    @NonNull
+    private int item_id;
+
+    @ColumnInfo(name = "item_content")
+    private String item_content;
+
+    @ColumnInfo(name = "deducting_reason")
+    private String deducting_reason;
+
+
+    @NonNull @ColumnInfo(name = "score_deducting")
+    private int score_deducting;
+
+    @ColumnInfo(name = "required_precision")
+    private String required_precision;
+
+    public int getItem_id() {
+        return item_id;
+    }
+
+    public void setItem_id(int item_id) {
+        this.item_id = item_id;
+    }
+
+    public String getItem_content() {
+        return item_content;
+    }
+
+    public void setItem_content(String item_content) {
+        this.item_content = item_content;
+    }
+
+    public String getDeducting_reason() {
+        return deducting_reason;
+    }
+
+    public void setDeducting_reason(String deducting_reason) {
+        this.deducting_reason = deducting_reason;
+    }
+
+    public int getScore_deducting() {
+        return score_deducting;
+    }
+
+    public void setScore_deducting(int score_deducting) {
+        this.score_deducting = score_deducting;
+    }
+
+    public String getRequired_precision() {
+        return required_precision;
+    }
+
+    public void setRequired_precision(String required_precision) {
+        this.required_precision = required_precision;
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java
new file mode 100644
index 0000000..1ab54c9
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForIIIWorker.java
@@ -0,0 +1,59 @@
+package safeluck.drive.evaluation.DB.criterias;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.work.Worker;
+import androidx.work.WorkerParameters;
+
+import com.anyun.exam.lib.MyLog;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.Type;
+import java.util.List;
+
+import safeluck.drive.evaluation.DB.Constant;
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
+
+/**
+ * MyApplication2
+ * Created by lzw on 2019/11/26. 11:59:25
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ */
+public class CriteriaForIIIWorker extends Worker {
+
+    private static final String TAG = "CriteriaForIWorker";
+
+    public CriteriaForIIIWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
+        super(context, workerParams);
+    }
+
+    @NonNull
+    @Override
+    public Result doWork() {
+        InputStream inputStream = null;
+        try {
+            inputStream = getApplicationContext().getAssets()
+                    .open(Constant.CRITERIAFOR_III_JSON);
+            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
+            JsonReader jsonReader = new JsonReader(inputStreamReader);
+            Gson gson = new Gson();
+            Type type = new TypeToken<List<CriteriaForIII>>(){}.getType();
+
+            List<CriteriaForIII> criteriaForIIS = gson.fromJson(jsonReader,type);
+            MyLog.i(TAG,"鎻掑叆绉戠洰涓夎�冨満璇勫垽琛�");
+            WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getCriteriaIIIDao().insertAllCriteriaIII(criteriaForIIS);
+            return Result.success();
+        } catch (IOException e) {
+            e.printStackTrace();
+            return Result.failure();
+        }
+
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaIIIDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaIIIDao.java
new file mode 100644
index 0000000..8d2dd32
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaIIIDao.java
@@ -0,0 +1,28 @@
+package safeluck.drive.evaluation.DB.criterias;
+
+import androidx.lifecycle.LiveData;
+import androidx.room.Dao;
+import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
+import androidx.room.Query;
+
+import java.util.List;
+
+
+/**
+ * MyApplication2
+ * Created by lzw on 2019/11/26. 11:12:18
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ */
+@Dao
+public interface CriteriaIIIDao {
+    @Insert(onConflict = OnConflictStrategy.IGNORE)
+    void insertCriteriaIII(CriteriaForIII criteriaForIII);
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    void insertAllCriteriaIII(List<CriteriaForIII> criteriaForIII);
+
+    @Query( "SELECT * FROM criteria_three WHERE item_id =:item_id")
+    LiveData<CriteriaForIII > queryItemForCriteriaIII(int item_id);
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
index 40de2af..7da0bb2 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
@@ -13,10 +13,14 @@
 //5 - 鐩磋杞集
 @PrimaryKey
     private int map_id;
+/**渚ф柟浣嶅仠杞� type = 3
+ 鎶�鏈儴 鍙舵��  15:51:49
+ 鍊掕溅鍏ュ簱 type = 1
+ 涓婂潯璧锋  type = 2
+ zhijiao  type = 5*/
 
 
-
-
+    private int map_item;
 
     //0 閫�鍑猴紙鑰冭瘯瀹屾瘯锛�
     //1 杩涘叆锛堟鍦ㄨ繘琛岃�冭瘯锛�  2-寰呰��
@@ -31,6 +35,14 @@
         this.enter = enter;
     }
 
+    public int getMap_item() {
+        return map_item;
+    }
+
+    public void setMap_item(int map_item) {
+        this.map_item = map_item;
+    }
+
     public ExamStatus() {
     }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 049ab64..06d7c64 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -36,6 +36,7 @@
 import com.anyun.exam.lib.AYSdk;
 import com.anyun.exam.lib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
+import com.anyun.exam.lib.util.Speaker;
 import com.anyun.im_lib.listener.IMSConnectStatusCallback;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
@@ -161,6 +162,8 @@
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
         setContentView(R.layout.activity_main);
+        //鍒濆鍖杢ts
+        ExamPlatformData.getInstance().initTTS(this);
         // TODO
         //  杩涜tcp杩炴帴
         final String userId = "100002";
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 99b4a3e..d33a73a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -59,6 +59,7 @@
 import safeluck.drive.evaluation.platformMessage.JKMessage0101;
 import safeluck.drive.evaluation.platformMessage.JKMessage0203;
 import safeluck.drive.evaluation.platformMessage.JKMessage0206;
+import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
 import safeluck.drive.evaluation.util.SPUtils;
 import safeluck.drive.evaluation.util.SystemUtil;
@@ -369,7 +370,7 @@
         new Thread(new Runnable() {
             @Override
             public void run() {
-                String mapPath = ExamPlatformData.getInstance().getMapPath();
+                final String mapPath = ExamPlatformData.getInstance().getMapPath();
                 if (!TextUtils.isEmpty(mapPath)){
                     MyLog.i("璋冪敤鏇存柊Map璺緞鍚庣殑鍦板浘"+mapPath);
                     byte[] fileContent = FileUtil.readFile(mapPath);
@@ -379,15 +380,34 @@
                         AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str);
                     }else{
                         MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",mapPath));
+
+                        CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                Toast.makeText(getAppContext(), "鏂囦欢锛�"+mapPath+"涓嶅瓨鍦�", Toast.LENGTH_SHORT).show();
+                            }
+                        });
                     }
                 }else{
                     MyLog.i("璇诲彇Assert鐩綍涓嬪垵濮嬪寲鐨勫湴鍥�");
+                    CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            Toast.makeText(getAppContext(), "璇诲彇Assert鐩綍涓嬪垵濮嬪寲鐨勫湴鍥�", Toast.LENGTH_SHORT).show();
+                        }
+                    });
                     StringBuffer buffer =FileUtil.readAssetTxtFile(getApplicationContext(),Constant.MAP);
                     if (buffer != null){
 
                         AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString());
                     }else{
                         MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()));
+                        CThreadPoolExecutor.runOnMainThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show();
+                            }
+                        });
 
                     }
                 }
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 ad36189..06d342a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -10,6 +10,7 @@
 import androidx.work.WorkManager;
 
 import com.anyun.exam.lib.MyLog;
+import com.anyun.exam.lib.util.Speaker;
 
 import java.util.HashMap;
 import java.util.Random;
@@ -47,6 +48,8 @@
     private int examplatformStatus =1;//1-鏈繛鎺ワ紙tcp杩炴帴涓嶄笂锛�   3-鏈敞鍐岋紙璁惧娌℃湁娉ㄥ唽锛�   5-鏈櫥褰曪紙閴存潈鏈�氳繃锛�
 
     private String id;//韬唤璇�
+
+    private Speaker speaker = null;
 
     private String ip;
     private int port;
@@ -162,4 +165,22 @@
 
         return examPlatformStrs.get(work_platform);
     }
+
+    public Speaker getTTS(){
+        if (speaker == null){
+            throw new RuntimeException("璇峰厛鍒濆鍖朤TS,鍏堣皟鐢╥nitTTS");
+        }else
+        return speaker;
+    }
+
+    /**
+     * 鍒濆鍖杢ts
+     * @param context
+     */
+    public void initTTS(Context context){
+        if (speaker == null){
+
+            speaker = new Speaker(context);
+        }
+    }
 }
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 1003371..62ed2bd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -162,6 +162,7 @@
                     currTotalScore -=item_id;
                     if (currTotalScore < Constant.PASSING_SCORE){
                         MyLog.i(TAG,"浣庝簬80锛屼笉鍚堟牸");
+                        ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�");
                         stopExam();
                     }
                     MyLog.i(TAG,"鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
@@ -400,10 +401,12 @@
                 jkMessage0202.ID = ExamPlatformData.getInstance().getID();
                 jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                 MessageProcessor.getInstance().sendMessage(jkMessage0202);
+                ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭�冭瘯");
                 break;
             case R.id.tv_stop:
                 Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show();
                 stopExam();
+
                 break;
             case R.id.view_map:
                 MapFragment mapFragment = findFragment(MapFragment.class);
@@ -445,6 +448,7 @@
         iv_head.getDrawable().setLevel(0);
         OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
         WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
+        ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯");
         sendExamJson(0);
         //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
         JKMessage0204 jkMessage0204 = new JKMessage0204();

--
Gitblit v1.8.0