endian11
2021-01-13 b213c3e542fc71b31b6ad1e9da6958eaec6d5b41
修改评判表数据库,只能rtkconfig sn变化的时候发送一次initdata
12个文件已修改
7个文件已添加
4808 ■■■■■ 已修改文件
app/src/main/assets/criteria.json 2154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/criteria_id.json 2154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/keer2.mmpk 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/road.mmpk 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/Constant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/Constant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/criterias/Criteria.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaDao.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForI.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaInitWorker.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/criteria.json
New file
@@ -0,0 +1,2154 @@
[
  {
    "item_id":10101,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按规定使用安全带或者戴安全头盔",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10102,
    "item_content": "科目二通用评判",
    "deducting_reason": "遮挡、关闭车内音视频监控设备",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10103,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按考试员指令驾驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10104,
    "item_content": "科目二通用评判",
    "deducting_reason": "不能正确使用灯光、雨刮器等车辆常用操纵件",
    "score_deducting":100,
    "required_precision":"时间大于2s,时间检测误差:0s~0.5s"
  },
  {
    "item_id":10105,
    "item_content": "科目二通用评判",
    "deducting_reason": "启动发动机时挡位未置于空档(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10106,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步时车辆后溜距离大于30cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10107,
    "item_content": "科目二通用评判",
    "deducting_reason": "不松驻车制动器起步,未及时纠正",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10108,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶汽车双手同时离开转向盘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10109,
    "item_content": "科目二通用评判",
    "deducting_reason": "使用挡位与车速长时间不匹配,造成车辆发动机转速过高或过低",
    "score_deducting":100,
    "required_precision": ""
  },
  {
    "item_id":10110,
    "item_content": "科目二通用评判",
    "deducting_reason": "车辆在行驶中低头看挡或2次挂挡不进",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10111,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中空档滑行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10112,
    "item_content": "科目二通用评判",
    "deducting_reason": "视线离开行驶方向超过2s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10113,
    "item_content": "科目二通用评判",
    "deducting_reason": "违反交通安全法律、法规,影响交通安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10114,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按交通信息灯、标志、标线或者民警指挥信号行驶",
    "score_deducting":100,
    "required_precision":""
  } ,
  {
    "item_id":10115,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按规定速度行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10116,
    "item_content": "科目二通用评判",
    "deducting_reason": "车辆行驶中骑轧车道中心实线或者车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10117,
    "item_content": "科目二通用评判",
    "deducting_reason": "长时间骑轧车道分界线行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10118,
    "item_content": "科目二通用评判",
    "deducting_reason": "对可能出现危险的情形未采取减速,鸣喇叭等安全措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10119,
    "item_content": "科目二通用评判",
    "deducting_reason": "因观察、判断或者操作不当出现危险情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10120,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中不能保持安全距离和安全车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10121,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中身体任何部位伸出车外",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10122,
    "item_content": "科目二通用评判",
    "deducting_reason": "制动、加速踏板使用错误",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10123,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶摩托车时手离开转向把",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10124,
    "item_content": "科目二通用评判",
    "deducting_reason": "二轮摩托车在行驶中左右摇摆或者脚触地",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10125,
    "item_content": "科目二通用评判",
    "deducting_reason": "摩托车制动时不同时使用前、后制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10126,
    "item_content": "科目二通用评判",
    "deducting_reason": "考生未按照预约考试时间参加考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":10201,
    "item_content": "科目二通用评判",
    "deducting_reason": "发动机启动后,不及时松开启动开关",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10202,
    "item_content": "科目二通用评判",
    "deducting_reason": "不松制动器起步,但能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10203,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶姿势不正确",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10204,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步时车辆后溜距离10cm-30cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10205,
    "item_content": "科目二通用评判",
    "deducting_reason": "操纵转向盘手法不合理",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10206,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步或行驶中挂错挡,不能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10207,
    "item_content": "科目二通用评判",
    "deducting_reason": "转弯时,转回方向过早、过晚,或转向角度过大、过小",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id":33,
    "item_id":10208,
    "item_content": "科目二通用评判",
    "deducting_reason": "换挡时发生齿轮撞击",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10209,
    "item_content": "科目二通用评判",
    "deducting_reason": "遇情况时不会合理使用离合器半联动控制车速",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10210,
    "item_content": "科目二通用评判",
    "deducting_reason": "因操作不当造成发动机熄火1次",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":10211,
    "item_content": "科目二通用评判",
    "deducting_reason": "制动不平顺",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20101,
    "item_content": "倒车入库",
    "deducting_reason": "不按规定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20102,
    "item_content": "倒车入库",
    "deducting_reason": "车身出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20103,
    "item_content": "倒车入库",
    "deducting_reason": "倒库不入",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20104,
    "item_content": "倒车入库",
    "deducting_reason": "在倒车前,未将两个前轮触地点均驶过控制线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20105,
    "item_content": "倒车入库",
    "deducting_reason": "项目完成时间超过210s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20106,
    "item_content": "倒车入库",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20301,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,汽车前保险杠或者摩托车前轴未定于桩杆线上,且前后超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20302,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,车身距离路边缘线超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20303,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,起步时间超过30s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20304,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,汽车前保险杠或者摩托车前轴未定于桩杆线上,且前后不超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20305,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,车身距离路边缘线超出30cm,未超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20306,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "停车后,未拉紧驻车制动器",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20401,
    "item_content": "侧方停车",
    "deducting_reason": "车辆入库停止后,车身出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20402,
    "item_content": "侧方停车",
    "deducting_reason": "项目完成时间超过90s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20403,
    "item_content": "侧方停车",
    "deducting_reason": "行驶中轮胎触轧车道边线",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20404,
    "item_content": "侧方停车",
    "deducting_reason": "行驶中车身触碰库位边线",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20405,
    "item_content": "侧方停车",
    "deducting_reason": "出库时不使用或错误使用转向灯",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20406,
    "item_content": "侧方停车",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20601,
    "item_content": "曲线行驶",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20602,
    "item_content": "曲线行驶",
    "deducting_reason": "中途停车时间超过2秒",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20603,
    "item_content": "曲线行驶",
    "deducting_reason": "行驶时挡位未挂在二挡(含)以上(小车不需要)",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20701,
    "item_content": "直角转弯",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20702,
    "item_content": "直角转弯",
    "deducting_reason": "转弯时不使用或错误使用转向灯,转弯后不关闭转向灯",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20703,
    "item_content": "直角转弯",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20201,
    "item_content": "桩考",
    "deducting_reason": "不按规定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id":62,
    "item_id":20202,
    "item_content": "桩考",
    "deducting_reason": "碰擦桩杆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20203,
    "item_content": "桩考",
    "deducting_reason": "车身出线,两轮摩托车轮出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id":64,
    "item_id":20204,
    "item_content": "桩考",
    "deducting_reason": "倒库或移库不入",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20205,
    "item_content": "桩考",
    "deducting_reason": "项目完成时间超过480s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20206,
    "item_content": "桩考",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20501,
    "item_content": "通过单边桥",
    "deducting_reason": "车轮已驶过桥面起始位置,有一轮未上桥",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20502,
    "item_content": "通过单边桥",
    "deducting_reason": "已骑上桥面,在行驶中出线一个车轮掉下桥面",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20503,
    "item_content": "通过单边桥",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20801,
    "item_content": "通过限宽门",
    "deducting_reason": "不按固定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20802,
    "item_content": "通过限宽门",
    "deducting_reason": "碰擦一次限宽门标杆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20803,
    "item_content": "通过限宽门",
    "deducting_reason": "车辆行驶速度低于10km/h",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":20901,
    "item_content": "通过连续障碍",
    "deducting_reason": "不按固定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20902,
    "item_content": "通过连续障碍",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":20903,
    "item_content": "通过连续障碍",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20904,
    "item_content": "通过连续障碍",
    "deducting_reason": "轧、碰、擦一个圆饼",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":20905,
    "item_content": "通过连续障碍",
    "deducting_reason": "行驶时挡位未挂在二挡(含)以上",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":21001,
    "item_content": "起伏路",
    "deducting_reason": "车辆以大于12km/h的速度通过起伏路面",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21002,
    "item_content": "起伏路",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":21003,
    "item_content": "起伏路",
    "deducting_reason": "通过起伏路面前2m时,车辆未减速到12km/h",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21101,
    "item_content": "窄路掉头",
    "deducting_reason": "三进二退未完成掉头",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21102,
    "item_content": "窄路掉头",
    "deducting_reason": "车轮轧路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21103,
    "item_content": "窄路掉头",
    "deducting_reason": "项目完成时间超过300s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21201,
    "item_content": "模拟高速",
    "deducting_reason": "行驶中占用两条车道、应急车道或大型车辆前后100m均无其它车辆仍不靠右侧车道行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21202,
    "item_content": "模拟高速",
    "deducting_reason": "变道未开启转向灯或未观察后面情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21203,
    "item_content": "模拟高速",
    "deducting_reason": "驶入高速公路时,未提速至规定车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21204,
    "item_content": "模拟高速",
    "deducting_reason": "驶出高速公路时,未按照出口预告标志提前调整车速和车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21301,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "进入弯道前未减速至通过弯道所需的速度",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21302,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "弯道内占用对方车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21303,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "转弯过程中方向控制不稳,车轮轧弯道中心线或道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21304,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "进入弯前未鸣喇叭",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":21401,
    "item_content": "模拟隧道",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21402,
    "item_content": "模拟隧道",
    "deducting_reason": "驶入隧道后不按规定车道行驶、变道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21403,
    "item_content": "模拟隧道",
    "deducting_reason": "驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":21404,
    "item_content": "模拟隧道",
    "deducting_reason": "驶出隧道后未关闭前照灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":21501,
    "item_content": "模拟雨(雾)",
    "deducting_reason": "雨天未开启或正确使用雨刮器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21502,
    "item_content": "模拟雨(雾)",
    "deducting_reason": "雾天未开启雾灯、示廓灯、前照灯、危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21601,
    "item_content": "模拟湿滑路",
    "deducting_reason": "未能使用低速档(一挡或二挡)平稳通过",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21602,
    "item_content": "模拟湿滑路",
    "deducting_reason": "进入湿滑路前,未减速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21603,
    "item_content": "模拟湿滑路",
    "deducting_reason": "通过时急加速、急刹车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21701,
    "item_content": "模拟紧急情况处置(前方突然出线障碍物)",
    "deducting_reason": "未及时制动",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21702,
    "item_content": "模拟紧急情况处置(前方突然出线障碍物)",
    "deducting_reason": "停车后未开启危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21801,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未及时平稳靠边停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21802,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "停车后未开启危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21803,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未及时提示乘员疏散",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21804,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未正确摆放警告标志未报警",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":21805,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "本人未撤离至护栏外侧",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22001,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未按规定考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22002,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22003,
    "item_content": "科目二特殊地区",
    "deducting_reason": "中途停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22201,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,超过停车线停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22202,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,且向后超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22203,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆通过铁路道口,未停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":22204,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,且向后不超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":23001,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23002,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶过停车取卡位置未停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23003,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后倒车校正位置",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23004,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后,一侧车门距离路边缘线超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23005,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后,未放置空档或未拉紧驻车制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23101,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23102,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆行驶中骑轧车道中心实线、车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23103,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23104,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶出隧道后未关闭前照灯/驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23105,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23106,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶出隧道后未关闭前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":23201,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未开启雨刮器/未及时制动",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23202,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后未开启危险报警闪光灯/雾天未开启雾灯、示廓灯、前照灯、危险报警闪光灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23203,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未能使用低速档(一挡或二挡)平稳通过",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23204,
    "item_content": "科目二特殊地区",
    "deducting_reason": "进入湿滑路前,未减速",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23205,
    "item_content": "科目二特殊地区",
    "deducting_reason": "通过时急加速、急刹车",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23206,
    "item_content": "科目二特殊地区",
    "deducting_reason": "中途停车/通过时速低于10km/h",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23207,
    "item_content": "科目二特殊地区",
    "deducting_reason": "行驶中轮胎触轧车道边线或车道中心实线",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23301,
    "item_content": "科目二特殊地区",
    "deducting_reason": "三进二退未完成掉头",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23302,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧路边缘线",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":23304,
    "item_content": "科目二特殊地区",
    "deducting_reason": "项目完成时间超过300s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":30101,
    "item_content": "科目三通用",
    "deducting_reason": "不按规定使用安全带或者戴安全头盔",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":30102,
    "item_content": "科目三通用",
    "deducting_reason": "遮挡、关闭车内音视频监控设备",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30103,
    "item_content": "科目三通用",
    "deducting_reason": "不按考试员指令驾驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30104,
    "item_content": "科目三通用",
    "deducting_reason": "不能正确使用灯光、雨刮器等车辆常用操纵件",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30105,
    "item_content": "科目三通用",
    "deducting_reason": "启动发动机时挡位未置于空档(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30106,
    "item_content": "科目三通用",
    "deducting_reason": "绿灯亮起后,前方无其他车辆、行人等影响通行时,10秒内未完成起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30107,
    "item_content": "科目三通用",
    "deducting_reason": "起步时车辆后溜距离大于30cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30108,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶汽车双手同时离开转向盘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30109,
    "item_content": "科目三通用",
    "deducting_reason": "单手控制转向盘时,不能有效、平稳控制行驶方向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30110,
    "item_content": "科目三通用",
    "deducting_reason": "车辆行驶方向控制不准确、不能有效、平稳控制行驶方向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30111,
    "item_content": "科目三通用",
    "deducting_reason": "不能根据交通情况合理选择行驶车道、速度",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30112,
    "item_content": "科目三通用",
    "deducting_reason": "使用挡位于车速长时间不匹配,造成车辆发动机转速过高或过低",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30113,
    "item_content": "科目三通用",
    "deducting_reason": "车辆在行驶中低头看挡或连续2次挂挡不进",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30114,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中空挡滑行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30115,
    "item_content": "科目三通用",
    "deducting_reason": "视线离开行驶方向超过2s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30116,
    "item_content": "科目三通用",
    "deducting_reason": "违反交通安全法律、法规,影响交通安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30117,
    "item_content": "科目三通用",
    "deducting_reason": "不按交通信息灯、标志、标线或者民警指挥信号行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30118,
    "item_content": "科目三通用",
    "deducting_reason": "不按规定速度行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30119,
    "item_content": "科目三通用",
    "deducting_reason": "车辆行驶中骑轧车道中心实线或者车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30120,
    "item_content": "科目三通用",
    "deducting_reason": "长时间骑轧车道分界线行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30121,
    "item_content": "科目三通用",
    "deducting_reason": "起步、转向、变更车道、超车、停车前不使用或错误使用转向灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30122,
    "item_content": "科目三通用",
    "deducting_reason": "起步、转向、变更车道、超车、停车前,开转向灯少于3s即转向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30123,
    "item_content": "科目三通用",
    "deducting_reason": "争道抢行,妨碍其它车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30124,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中不能保持安全距离和安全车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30125,
    "item_content": "科目三通用",
    "deducting_reason": "连续变更两条或两条以上车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30126,
    "item_content": "科目三通用",
    "deducting_reason": "通过积水路面遇行人、非机动车时,有不减速等不文明驾驶行为",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30127,
    "item_content": "科目三通用",
    "deducting_reason": "于行人通过人行横道不停车让行、不主动避让优先通行的车辆、行人、非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30128,
    "item_content": "科目三通用",
    "deducting_reason": "将车辆停在人行横道、网状线内等禁止停车区域",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30129,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中身体任何部位伸出车外",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30130,
    "item_content": "科目三通用",
    "deducting_reason": "制动、加速踏板使用错误",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30131,
    "item_content": "科目三通用",
    "deducting_reason": "对可能出现危险的情形未采取减速,鸣喇叭等安全措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30132,
    "item_content": "科目三通用",
    "deducting_reason": "因观察、判断或者操作不当出现危险情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30133,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶摩托车时手离开转向把",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30134,
    "item_content": "科目三通用",
    "deducting_reason": "二轮摩托车在行驶中左右摇摆或者脚触地",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30135,
    "item_content": "科目三通用",
    "deducting_reason": "摩托车制动时不同时使用前、后制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30136,
    "item_content": "科目三通用",
    "deducting_reason": "考生未按照预约考试时间参加考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":30201,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶姿势不正确",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30202,
    "item_content": "科目三通用",
    "deducting_reason": "起步时车辆后溜距离10cm-30cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30203,
    "item_content": "科目三通用",
    "deducting_reason": "操纵转向盘手法不合理",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30204,
    "item_content": "科目三通用",
    "deducting_reason": "起步或行驶中挂错挡,不能即使纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30205,
    "item_content": "科目三通用",
    "deducting_reason": "转弯时,转回方向过早、过晚,或转向角度过大、过小",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30206,
    "item_content": "科目三通用",
    "deducting_reason": "换挡时发生齿轮撞击",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30207,
    "item_content": "科目三通用",
    "deducting_reason": "遇情况时不会合理使用离合器半联动控制车速",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30208,
    "item_content": "科目三通用",
    "deducting_reason": "因操作不当造成发动机熄火1次",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30209,
    "item_content": "科目三通用",
    "deducting_reason": "不能根据交通情况合理使用喇叭",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30210,
    "item_content": "科目三通用",
    "deducting_reason": "制动不平顺",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":30211,
    "item_content": "科目三通用",
    "deducting_reason": "遇车后发出超车信号,不按规定让行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40101,
    "item_content": "上车准备",
    "deducting_reason": "不绕车一周检查车辆外观及周围环境",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40102,
    "item_content": "上车准备",
    "deducting_reason": "打开车门前不观察后方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40201,
    "item_content": "起步",
    "deducting_reason": "制动气压不足起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40202,
    "item_content": "起步",
    "deducting_reason": "车门未完全关闭起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40103,
    "item_content": "起步",
    "deducting_reason": "起步前,未观察内、外后视镜,未侧头观察后方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40104,
    "item_content": "起步",
    "deducting_reason": "启动发动机时,变速器操纵杆未置于空挡(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40105,
    "item_content": "起步",
    "deducting_reason": "不松驻车制动器起步,未及时纠正",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40106,
    "item_content": "起步",
    "deducting_reason": "不松驻车制动器起步,但能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40107,
    "item_content": "起步",
    "deducting_reason": "发动机启动后,不及时松开启动开关",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40108,
    "item_content": "起步",
    "deducting_reason": "道路交通情况复杂时起步不能合理使用喇叭\t",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":40109,
    "item_content": "起步",
    "deducting_reason": "起步时车辆发生闯动",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":40110,
    "item_content": "起步",
    "deducting_reason": "起步时,加速踏板控制不当,致使发动机转速过高",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":40111,
    "item_content": "起步",
    "deducting_reason": "启动发送机前,不检查调整驾驶座椅、后视镜、检查仪表",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":40301,
    "item_content": "直线行驶",
    "deducting_reason": "方向控制不稳,不能保持车辆直线运行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40302,
    "item_content": "直线行驶",
    "deducting_reason": "遇前车制动时不及时采取减速措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40303,
    "item_content": "直线行驶",
    "deducting_reason": "不适时通过内、外后视镜观察后方交通情况",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40304,
    "item_content": "直线行驶",
    "deducting_reason": "未及时发现路面障碍物或发现路面障碍物未及时采取减速措施",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40401,
    "item_content": "加减挡",
    "deducting_reason": "未按指令平稳加、减挡",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40402,
    "item_content": "加减挡",
    "deducting_reason": "车辆运行速度和挡位不匹配",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40501,
    "item_content": "变道",
    "deducting_reason": "变更车道前,未通过内、外后视镜观察后方道路交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40502,
    "item_content": "变道",
    "deducting_reason": "变更车道时,判断车辆安全距离不合理,妨碍其他车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40503,
    "item_content": "变道",
    "deducting_reason": "变更车道时,控制行驶速度不合理,妨碍其他车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40601,
    "item_content": "靠边停车",
    "deducting_reason": "停车前,不通过内、外后视镜观察后方和右侧交通情况,并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40602,
    "item_content": "靠边停车",
    "deducting_reason": "考试员发出靠边停车指令后,未能在规定的距离内停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40603,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身超过道路右侧边缘线或者人行道边缘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40604,
    "item_content": "靠边停车",
    "deducting_reason": "需要下车的,在打开车门前不回头观察左后方交通情况,并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40605,
    "item_content": "靠边停车",
    "deducting_reason": "下车后不关闭车门",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40606,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身距离道路右侧边缘线或者人行道边缘超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40607,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身距离道路右侧边缘线或者人行道边缘超出30cm,未超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40608,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,未拉紧驻车制动器",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40609,
    "item_content": "靠边停车",
    "deducting_reason": "拉紧驻车制动器前放松行车制动踏板",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":40610,
    "item_content": "靠边停车",
    "deducting_reason": "下车前不将发动机熄火",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":40701,
    "item_content": "直行通过路口",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40702,
    "item_content": "直行通过路口",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40703,
    "item_content": "直行通过路口",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40704,
    "item_content": "直行通过路口",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40801,
    "item_content": "路口左转",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40802,
    "item_content": "路口左转",
    "deducting_reason": "不观察左、右方交通情况,转弯通过路口时,未观察侧前方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40803,
    "item_content": "路口左转",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40804,
    "item_content": "路口左转",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40805,
    "item_content": "路口左转",
    "deducting_reason": "左转通过路口时,未靠路口中心点左侧转弯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40901,
    "item_content": "路口右转",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40902,
    "item_content": "路口右转",
    "deducting_reason": "不观察左、右方交通情况,转弯通过路口时,未观察侧前方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40903,
    "item_content": "路口右转",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":40904,
    "item_content": "路口右转",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41001,
    "item_content": "通过人行道",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41002,
    "item_content": "通过人行道",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41003,
    "item_content": "通过人行道",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41101,
    "item_content": "通过学校区域",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41102,
    "item_content": "通过学校区域",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41103,
    "item_content": "通过学校区域",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41201,
    "item_content": "通过公交站",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41202,
    "item_content": "通过公交站",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41203,
    "item_content": "通过公交站",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41301,
    "item_content": "会车",
    "deducting_reason": "在没有中心隔离设施或者中心线的道路上会车时,或未与其他车辆、行人、非机动车保持安全距离",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41302,
    "item_content": "会车",
    "deducting_reason": "会车困难时不让行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41303,
    "item_content": "会车",
    "deducting_reason": "横向安全间距判断差,紧急转向避让对方来车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41401,
    "item_content": "超车",
    "deducting_reason": "超车前,不通过内、外后视镜观察后方和左侧交通情况并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41402,
    "item_content": "超车",
    "deducting_reason": "超车时机选择不合理,影响其他车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41403,
    "item_content": "超车",
    "deducting_reason": "超车时,未回头观察被超越车辆动态",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41404,
    "item_content": "超车",
    "deducting_reason": "超车时未与被超越车辆侧寺安全距离",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41405,
    "item_content": "超车",
    "deducting_reason": "超车后急转向驶回原车道,妨碍被超车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41406,
    "item_content": "超车",
    "deducting_reason": "在没有中心线或同方向只有一条行车道的道路上从右侧超车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41407,
    "item_content": "超车",
    "deducting_reason": "当后车发出超车信号时,具备让车条件不减速靠右让行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":41501,
    "item_content": "掉头",
    "deducting_reason": "不能正确观察交通情况选择掉头时机",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41502,
    "item_content": "掉头",
    "deducting_reason": "掉头地点选择不当",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41503,
    "item_content": "掉头",
    "deducting_reason": "掉头前未发出掉头信号",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41504,
    "item_content": "掉头",
    "deducting_reason": "掉头时,妨碍正常行驶的其他车辆和行人通行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "item_id":41601,
    "item_content": "夜间行驶",
    "deducting_reason": "不能正确开启灯光",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41602,
    "item_content": "夜间行驶",
    "deducting_reason": "同方向近距离跟车行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41603,
    "item_content": "夜间行驶",
    "deducting_reason": "通过急弯、坡路、拱桥、人行横道或者没有交通信号灯控制的路口时,不交替使用远近灯示意",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41604,
    "item_content": "夜间行驶",
    "deducting_reason": "会车时不按规定使用近光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41605,
    "item_content": "夜间行驶",
    "deducting_reason": "通过路口时使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41606,
    "item_content": "夜间行驶",
    "deducting_reason": "超车时未交替使用远近光灯提醒被超越车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41607,
    "item_content": "夜间行驶",
    "deducting_reason": "在有路灯、照明良好的道路上行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41608,
    "item_content": "夜间行驶",
    "deducting_reason": "在路边临时停车不关闭前照灯或不开启示廓灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41609,
    "item_content": "夜间行驶",
    "deducting_reason": "进入无照明、照明不良的道路行驶时不使用远光灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "item_id":41701,
    "item_content": "模拟夜考",
    "deducting_reason": "不能正确开启灯光",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41702,
    "item_content": "模拟夜考",
    "deducting_reason": "同方向近距离跟车行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41703,
    "item_content": "模拟夜考",
    "deducting_reason": "通过急弯、坡路、拱桥、人行横道或者没有交通信号灯控制的路口时,不交替使用远近灯示意",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41704,
    "item_content": "模拟夜考",
    "deducting_reason": "会车时不按规定使用近光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41705,
    "item_content": "模拟夜考",
    "deducting_reason": "通过路口时使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41706,
    "item_content": "模拟夜考",
    "deducting_reason": "超车时未交替使用远近光灯提醒被超越车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41707,
    "item_content": "模拟夜考",
    "deducting_reason": "在有路灯、照明良好的道路上行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41708,
    "item_content": "模拟夜考",
    "deducting_reason": "在路边临时停车不关闭前照灯或不开启示廓灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "item_id":41709,
    "item_content": "模拟夜考",
    "deducting_reason": "进入无照明、照明不良的道路行驶时不使用远光灯",
    "score_deducting":5,
    "required_precision":""
  }
]
app/src/main/assets/criteria_id.json
New file
@@ -0,0 +1,2154 @@
[
  {
    "id": 0,
    "item_id":10101,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按规定使用安全带或者戴安全头盔",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 1,
    "item_id":10102,
    "item_content": "科目二通用评判",
    "deducting_reason": "遮挡、关闭车内音视频监控设备",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 2,
    "item_id":10103,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按考试员指令驾驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 3,
    "item_id":10104,
    "item_content": "科目二通用评判",
    "deducting_reason": "不能正确使用灯光、雨刮器等车辆常用操纵件",
    "score_deducting":100,
    "required_precision":"时间大于2s,时间检测误差:0s~0.5s"
  },
  {
    "id": 4,
    "item_id":10105,
    "item_content": "科目二通用评判",
    "deducting_reason": "启动发动机时挡位未置于空档(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 5,
    "item_id":10106,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步时车辆后溜距离大于30cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 6,
    "item_id":10107,
    "item_content": "科目二通用评判",
    "deducting_reason": "不松驻车制动器起步,未及时纠正",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 7,
    "item_id":10108,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶汽车双手同时离开转向盘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 8,
    "item_id":10109,
    "item_content": "科目二通用评判",
    "deducting_reason": "使用挡位与车速长时间不匹配,造成车辆发动机转速过高或过低",
    "score_deducting":100,
    "required_precision": ""
  },
  {
    "id": 9,
    "item_id":10110,
    "item_content": "科目二通用评判",
    "deducting_reason": "车辆在行驶中低头看挡或2次挂挡不进",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 10,
    "item_id":10111,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中空档滑行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 11,
    "item_id":10112,
    "item_content": "科目二通用评判",
    "deducting_reason": "视线离开行驶方向超过2s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 12,
    "item_id":10113,
    "item_content": "科目二通用评判",
    "deducting_reason": "违反交通安全法律、法规,影响交通安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 13,
    "item_id":10114,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按交通信息灯、标志、标线或者民警指挥信号行驶",
    "score_deducting":100,
    "required_precision":""
  } ,
  {
    "id": 14,
    "item_id":10115,
    "item_content": "科目二通用评判",
    "deducting_reason": "不按规定速度行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 15,
    "item_id":10116,
    "item_content": "科目二通用评判",
    "deducting_reason": "车辆行驶中骑轧车道中心实线或者车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 16,
    "item_id":10117,
    "item_content": "科目二通用评判",
    "deducting_reason": "长时间骑轧车道分界线行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 17,
    "item_id":10118,
    "item_content": "科目二通用评判",
    "deducting_reason": "对可能出现危险的情形未采取减速,鸣喇叭等安全措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 18,
    "item_id":10119,
    "item_content": "科目二通用评判",
    "deducting_reason": "因观察、判断或者操作不当出现危险情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 19,
    "item_id":10120,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中不能保持安全距离和安全车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 20,
    "item_id":10121,
    "item_content": "科目二通用评判",
    "deducting_reason": "行驶中身体任何部位伸出车外",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 21,
    "item_id":10122,
    "item_content": "科目二通用评判",
    "deducting_reason": "制动、加速踏板使用错误",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 22,
    "item_id":10123,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶摩托车时手离开转向把",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 23,
    "item_id":10124,
    "item_content": "科目二通用评判",
    "deducting_reason": "二轮摩托车在行驶中左右摇摆或者脚触地",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 24,
    "item_id":10125,
    "item_content": "科目二通用评判",
    "deducting_reason": "摩托车制动时不同时使用前、后制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 25,
    "item_id":10126,
    "item_content": "科目二通用评判",
    "deducting_reason": "考生未按照预约考试时间参加考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 26,
    "item_id":10201,
    "item_content": "科目二通用评判",
    "deducting_reason": "发动机启动后,不及时松开启动开关",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 27,
    "item_id":10202,
    "item_content": "科目二通用评判",
    "deducting_reason": "不松制动器起步,但能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 28,
    "item_id":10203,
    "item_content": "科目二通用评判",
    "deducting_reason": "驾驶姿势不正确",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 29,
    "item_id":10204,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步时车辆后溜距离10cm-30cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 30,
    "item_id":10205,
    "item_content": "科目二通用评判",
    "deducting_reason": "操纵转向盘手法不合理",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 31,
    "item_id":10206,
    "item_content": "科目二通用评判",
    "deducting_reason": "起步或行驶中挂错挡,不能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 32,
    "item_id":10207,
    "item_content": "科目二通用评判",
    "deducting_reason": "转弯时,转回方向过早、过晚,或转向角度过大、过小",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id":33,
    "item_id":10208,
    "item_content": "科目二通用评判",
    "deducting_reason": "换挡时发生齿轮撞击",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 34,
    "item_id":10209,
    "item_content": "科目二通用评判",
    "deducting_reason": "遇情况时不会合理使用离合器半联动控制车速",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 35,
    "item_id":10210,
    "item_content": "科目二通用评判",
    "deducting_reason": "因操作不当造成发动机熄火1次",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 36,
    "item_id":10211,
    "item_content": "科目二通用评判",
    "deducting_reason": "制动不平顺",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 37,
    "item_id":20101,
    "item_content": "倒车入库",
    "deducting_reason": "不按规定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 38,
    "item_id":20102,
    "item_content": "倒车入库",
    "deducting_reason": "车身出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 39,
    "item_id":20103,
    "item_content": "倒车入库",
    "deducting_reason": "倒库不入",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 40,
    "item_id":20104,
    "item_content": "倒车入库",
    "deducting_reason": "在倒车前,未将两个前轮触地点均驶过控制线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 41,
    "item_id":20105,
    "item_content": "倒车入库",
    "deducting_reason": "项目完成时间超过210s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 42,
    "item_id":20106,
    "item_content": "倒车入库",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 43,
    "item_id":20301,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,汽车前保险杠或者摩托车前轴未定于桩杆线上,且前后超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 44,
    "item_id":20302,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,车身距离路边缘线超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 45,
    "item_id":20303,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,起步时间超过30s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 46,
    "item_id":20304,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,汽车前保险杠或者摩托车前轴未定于桩杆线上,且前后不超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 47,
    "item_id":20305,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "车辆停止后,车身距离路边缘线超出30cm,未超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 48,
    "item_id":20306,
    "item_content": "坡道定点停车和起步",
    "deducting_reason": "停车后,未拉紧驻车制动器",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 49,
    "item_id":20401,
    "item_content": "侧方停车",
    "deducting_reason": "车辆入库停止后,车身出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 50,
    "item_id":20402,
    "item_content": "侧方停车",
    "deducting_reason": "项目完成时间超过90s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 51,
    "item_id":20403,
    "item_content": "侧方停车",
    "deducting_reason": "行驶中轮胎触轧车道边线",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 52,
    "item_id":20404,
    "item_content": "侧方停车",
    "deducting_reason": "行驶中车身触碰库位边线",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 53,
    "item_id":20405,
    "item_content": "侧方停车",
    "deducting_reason": "出库时不使用或错误使用转向灯",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 54,
    "item_id":20406,
    "item_content": "侧方停车",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 55,
    "item_id":20601,
    "item_content": "曲线行驶",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 56,
    "item_id":20602,
    "item_content": "曲线行驶",
    "deducting_reason": "中途停车时间超过2秒",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 57,
    "item_id":20603,
    "item_content": "曲线行驶",
    "deducting_reason": "行驶时挡位未挂在二挡(含)以上(小车不需要)",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 58,
    "item_id":20701,
    "item_content": "直角转弯",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 59,
    "item_id":20702,
    "item_content": "直角转弯",
    "deducting_reason": "转弯时不使用或错误使用转向灯,转弯后不关闭转向灯",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 60,
    "item_id":20703,
    "item_content": "直角转弯",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 61,
    "item_id":20201,
    "item_content": "桩考",
    "deducting_reason": "不按规定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id":62,
    "item_id":20202,
    "item_content": "桩考",
    "deducting_reason": "碰擦桩杆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 63,
    "item_id":20203,
    "item_content": "桩考",
    "deducting_reason": "车身出线,两轮摩托车轮出线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id":64,
    "item_id":20204,
    "item_content": "桩考",
    "deducting_reason": "倒库或移库不入",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 65,
    "item_id":20205,
    "item_content": "桩考",
    "deducting_reason": "项目完成时间超过480s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 66,
    "item_id":20206,
    "item_content": "桩考",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 67,
    "item_id":20501,
    "item_content": "通过单边桥",
    "deducting_reason": "车轮已驶过桥面起始位置,有一轮未上桥",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 68,
    "item_id":20502,
    "item_content": "通过单边桥",
    "deducting_reason": "已骑上桥面,在行驶中出线一个车轮掉下桥面",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 69,
    "item_id":20503,
    "item_content": "通过单边桥",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 70,
    "item_id":20801,
    "item_content": "通过限宽门",
    "deducting_reason": "不按固定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 71,
    "item_id":20802,
    "item_content": "通过限宽门",
    "deducting_reason": "碰擦一次限宽门标杆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 72,
    "item_id":20803,
    "item_content": "通过限宽门",
    "deducting_reason": "车辆行驶速度低于10km/h",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 73,
    "item_id":20901,
    "item_content": "通过连续障碍",
    "deducting_reason": "不按固定路线、顺序行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 74,
    "item_id":20902,
    "item_content": "通过连续障碍",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 75,
    "item_id":20903,
    "item_content": "通过连续障碍",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 76,
    "item_id":20904,
    "item_content": "通过连续障碍",
    "deducting_reason": "轧、碰、擦一个圆饼",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 77,
    "item_id":20905,
    "item_content": "通过连续障碍",
    "deducting_reason": "行驶时挡位未挂在二挡(含)以上",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 78,
    "item_id":21001,
    "item_content": "起伏路",
    "deducting_reason": "车辆以大于12km/h的速度通过起伏路面",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 79,
    "item_id":21002,
    "item_content": "起伏路",
    "deducting_reason": "中途停车时间超过2s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 80,
    "item_id":21003,
    "item_content": "起伏路",
    "deducting_reason": "通过起伏路面前2m时,车辆未减速到12km/h",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 81,
    "item_id":21101,
    "item_content": "窄路掉头",
    "deducting_reason": "三进二退未完成掉头",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 82,
    "item_id":21102,
    "item_content": "窄路掉头",
    "deducting_reason": "车轮轧路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 83,
    "item_id":21103,
    "item_content": "窄路掉头",
    "deducting_reason": "项目完成时间超过300s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 84,
    "item_id":21201,
    "item_content": "模拟高速",
    "deducting_reason": "行驶中占用两条车道、应急车道或大型车辆前后100m均无其它车辆仍不靠右侧车道行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 85,
    "item_id":21202,
    "item_content": "模拟高速",
    "deducting_reason": "变道未开启转向灯或未观察后面情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 86,
    "item_id":21203,
    "item_content": "模拟高速",
    "deducting_reason": "驶入高速公路时,未提速至规定车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 87,
    "item_id":21204,
    "item_content": "模拟高速",
    "deducting_reason": "驶出高速公路时,未按照出口预告标志提前调整车速和车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 88,
    "item_id":21301,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "进入弯道前未减速至通过弯道所需的速度",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 89,
    "item_id":21302,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "弯道内占用对方车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 90,
    "item_id":21303,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "转弯过程中方向控制不稳,车轮轧弯道中心线或道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 91,
    "item_id":21304,
    "item_content": "模拟连续急弯山区路",
    "deducting_reason": "进入弯前未鸣喇叭",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 92,
    "item_id":21401,
    "item_content": "模拟隧道",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 93,
    "item_id":21402,
    "item_content": "模拟隧道",
    "deducting_reason": "驶入隧道后不按规定车道行驶、变道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 94,
    "item_id":21403,
    "item_content": "模拟隧道",
    "deducting_reason": "驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 95,
    "item_id":21404,
    "item_content": "模拟隧道",
    "deducting_reason": "驶出隧道后未关闭前照灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 96,
    "item_id":21501,
    "item_content": "模拟雨(雾)",
    "deducting_reason": "雨天未开启或正确使用雨刮器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 97,
    "item_id":21502,
    "item_content": "模拟雨(雾)",
    "deducting_reason": "雾天未开启雾灯、示廓灯、前照灯、危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 98,
    "item_id":21601,
    "item_content": "模拟湿滑路",
    "deducting_reason": "未能使用低速档(一挡或二挡)平稳通过",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 99,
    "item_id":21602,
    "item_content": "模拟湿滑路",
    "deducting_reason": "进入湿滑路前,未减速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 100,
    "item_id":21603,
    "item_content": "模拟湿滑路",
    "deducting_reason": "通过时急加速、急刹车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 101,
    "item_id":21701,
    "item_content": "模拟紧急情况处置(前方突然出线障碍物)",
    "deducting_reason": "未及时制动",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 102,
    "item_id":21702,
    "item_content": "模拟紧急情况处置(前方突然出线障碍物)",
    "deducting_reason": "停车后未开启危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 103,
    "item_id":21801,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未及时平稳靠边停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 104,
    "item_id":21802,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "停车后未开启危险报警闪光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 105,
    "item_id":21803,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未及时提示乘员疏散",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 106,
    "item_id":21804,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "未正确摆放警告标志未报警",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 107,
    "item_id":21805,
    "item_content": "模拟紧急情况处置(高速公里车辆故障)",
    "deducting_reason": "本人未撤离至护栏外侧",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 108,
    "item_id":22001,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未按规定考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 109,
    "item_id":22002,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 110,
    "item_id":22003,
    "item_content": "科目二特殊地区",
    "deducting_reason": "中途停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 111,
    "item_id":22201,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,超过停车线停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 112,
    "item_id":22202,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,且向后超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 113,
    "item_id":22203,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆通过铁路道口,未停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 114,
    "item_id":22204,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆停止后,汽车前保险杠未定于停车线前,且向后不超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 115,
    "item_id":23001,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧道路边缘线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 116,
    "item_id":23002,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶过停车取卡位置未停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 117,
    "item_id":23003,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后倒车校正位置",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 118,
    "item_id":23004,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后,一侧车门距离路边缘线超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 119,
    "item_id":23005,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后,未放置空档或未拉紧驻车制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 120,
    "item_id":23101,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 121,
    "item_id":23102,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车辆行驶中骑轧车道中心实线、车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 122,
    "item_id":23103,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 123,
    "item_id":23104,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶出隧道后未关闭前照灯/驶抵隧道入(出)口时未鸣喇叭",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 124,
    "item_id":23105,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶抵隧道时未减速或未开启前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 125,
    "item_id":23106,
    "item_content": "科目二特殊地区",
    "deducting_reason": "驶出隧道后未关闭前照灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 126,
    "item_id":23201,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未开启雨刮器/未及时制动",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 127,
    "item_id":23202,
    "item_content": "科目二特殊地区",
    "deducting_reason": "停车后未开启危险报警闪光灯/雾天未开启雾灯、示廓灯、前照灯、危险报警闪光灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 128,
    "item_id":23203,
    "item_content": "科目二特殊地区",
    "deducting_reason": "未能使用低速档(一挡或二挡)平稳通过",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 129,
    "item_id":23204,
    "item_content": "科目二特殊地区",
    "deducting_reason": "进入湿滑路前,未减速",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 130,
    "item_id":23205,
    "item_content": "科目二特殊地区",
    "deducting_reason": "通过时急加速、急刹车",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 131,
    "item_id":23206,
    "item_content": "科目二特殊地区",
    "deducting_reason": "中途停车/通过时速低于10km/h",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 132,
    "item_id":23207,
    "item_content": "科目二特殊地区",
    "deducting_reason": "行驶中轮胎触轧车道边线或车道中心实线",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 133,
    "item_id":23301,
    "item_content": "科目二特殊地区",
    "deducting_reason": "三进二退未完成掉头",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 134,
    "item_id":23302,
    "item_content": "科目二特殊地区",
    "deducting_reason": "车轮轧路边缘线",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 135,
    "item_id":23304,
    "item_content": "科目二特殊地区",
    "deducting_reason": "项目完成时间超过300s",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 136,
    "item_id":30101,
    "item_content": "科目三通用",
    "deducting_reason": "不按规定使用安全带或者戴安全头盔",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 137,
    "item_id":30102,
    "item_content": "科目三通用",
    "deducting_reason": "遮挡、关闭车内音视频监控设备",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 138,
    "item_id":30103,
    "item_content": "科目三通用",
    "deducting_reason": "不按考试员指令驾驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 139,
    "item_id":30104,
    "item_content": "科目三通用",
    "deducting_reason": "不能正确使用灯光、雨刮器等车辆常用操纵件",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 140,
    "item_id":30105,
    "item_content": "科目三通用",
    "deducting_reason": "启动发动机时挡位未置于空档(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 141,
    "item_id":30106,
    "item_content": "科目三通用",
    "deducting_reason": "绿灯亮起后,前方无其他车辆、行人等影响通行时,10秒内未完成起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 142,
    "item_id":30107,
    "item_content": "科目三通用",
    "deducting_reason": "起步时车辆后溜距离大于30cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 143,
    "item_id":30108,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶汽车双手同时离开转向盘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 144,
    "item_id":30109,
    "item_content": "科目三通用",
    "deducting_reason": "单手控制转向盘时,不能有效、平稳控制行驶方向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 145,
    "item_id":30110,
    "item_content": "科目三通用",
    "deducting_reason": "车辆行驶方向控制不准确、不能有效、平稳控制行驶方向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 146,
    "item_id":30111,
    "item_content": "科目三通用",
    "deducting_reason": "不能根据交通情况合理选择行驶车道、速度",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 147,
    "item_id":30112,
    "item_content": "科目三通用",
    "deducting_reason": "使用挡位于车速长时间不匹配,造成车辆发动机转速过高或过低",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 148,
    "item_id":30113,
    "item_content": "科目三通用",
    "deducting_reason": "车辆在行驶中低头看挡或连续2次挂挡不进",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 149,
    "item_id":30114,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中空挡滑行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 150,
    "item_id":30115,
    "item_content": "科目三通用",
    "deducting_reason": "视线离开行驶方向超过2s",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 151,
    "item_id":30116,
    "item_content": "科目三通用",
    "deducting_reason": "违反交通安全法律、法规,影响交通安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 152,
    "item_id":30117,
    "item_content": "科目三通用",
    "deducting_reason": "不按交通信息灯、标志、标线或者民警指挥信号行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 153,
    "item_id":30118,
    "item_content": "科目三通用",
    "deducting_reason": "不按规定速度行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 154,
    "item_id":30119,
    "item_content": "科目三通用",
    "deducting_reason": "车辆行驶中骑轧车道中心实线或者车道边缘实线",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 155,
    "item_id":30120,
    "item_content": "科目三通用",
    "deducting_reason": "长时间骑轧车道分界线行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 156,
    "item_id":30121,
    "item_content": "科目三通用",
    "deducting_reason": "起步、转向、变更车道、超车、停车前不使用或错误使用转向灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 157,
    "item_id":30122,
    "item_content": "科目三通用",
    "deducting_reason": "起步、转向、变更车道、超车、停车前,开转向灯少于3s即转向",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 158,
    "item_id":30123,
    "item_content": "科目三通用",
    "deducting_reason": "争道抢行,妨碍其它车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 159,
    "item_id":30124,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中不能保持安全距离和安全车速",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 160,
    "item_id":30125,
    "item_content": "科目三通用",
    "deducting_reason": "连续变更两条或两条以上车道",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 161,
    "item_id":30126,
    "item_content": "科目三通用",
    "deducting_reason": "通过积水路面遇行人、非机动车时,有不减速等不文明驾驶行为",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 162,
    "item_id":30127,
    "item_content": "科目三通用",
    "deducting_reason": "于行人通过人行横道不停车让行、不主动避让优先通行的车辆、行人、非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 163,
    "item_id":30128,
    "item_content": "科目三通用",
    "deducting_reason": "将车辆停在人行横道、网状线内等禁止停车区域",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 164,
    "item_id":30129,
    "item_content": "科目三通用",
    "deducting_reason": "行驶中身体任何部位伸出车外",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 165,
    "item_id":30130,
    "item_content": "科目三通用",
    "deducting_reason": "制动、加速踏板使用错误",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 166,
    "item_id":30131,
    "item_content": "科目三通用",
    "deducting_reason": "对可能出现危险的情形未采取减速,鸣喇叭等安全措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 167,
    "item_id":30132,
    "item_content": "科目三通用",
    "deducting_reason": "因观察、判断或者操作不当出现危险情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 168,
    "item_id":30133,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶摩托车时手离开转向把",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 169,
    "item_id":30134,
    "item_content": "科目三通用",
    "deducting_reason": "二轮摩托车在行驶中左右摇摆或者脚触地",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 170,
    "item_id":30135,
    "item_content": "科目三通用",
    "deducting_reason": "摩托车制动时不同时使用前、后制动器",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 171,
    "item_id":30136,
    "item_content": "科目三通用",
    "deducting_reason": "考生未按照预约考试时间参加考试",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 172,
    "item_id":30201,
    "item_content": "科目三通用",
    "deducting_reason": "驾驶姿势不正确",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 173,
    "item_id":30202,
    "item_content": "科目三通用",
    "deducting_reason": "起步时车辆后溜距离10cm-30cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 174,
    "item_id":30203,
    "item_content": "科目三通用",
    "deducting_reason": "操纵转向盘手法不合理",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 175,
    "item_id":30204,
    "item_content": "科目三通用",
    "deducting_reason": "起步或行驶中挂错挡,不能即使纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 176,
    "item_id":30205,
    "item_content": "科目三通用",
    "deducting_reason": "转弯时,转回方向过早、过晚,或转向角度过大、过小",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 177,
    "item_id":30206,
    "item_content": "科目三通用",
    "deducting_reason": "换挡时发生齿轮撞击",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 178,
    "item_id":30207,
    "item_content": "科目三通用",
    "deducting_reason": "遇情况时不会合理使用离合器半联动控制车速",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 179,
    "item_id":30208,
    "item_content": "科目三通用",
    "deducting_reason": "因操作不当造成发动机熄火1次",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 180,
    "item_id":30209,
    "item_content": "科目三通用",
    "deducting_reason": "不能根据交通情况合理使用喇叭",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 181,
    "item_id":30210,
    "item_content": "科目三通用",
    "deducting_reason": "制动不平顺",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 182,
    "item_id":30211,
    "item_content": "科目三通用",
    "deducting_reason": "遇车后发出超车信号,不按规定让行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 183,
    "item_id":40101,
    "item_content": "上车准备",
    "deducting_reason": "不绕车一周检查车辆外观及周围环境",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 184,
    "item_id":40102,
    "item_content": "上车准备",
    "deducting_reason": "打开车门前不观察后方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 185,
    "item_id":40201,
    "item_content": "起步",
    "deducting_reason": "制动气压不足起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 186,
    "item_id":40202,
    "item_content": "起步",
    "deducting_reason": "车门未完全关闭起步",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 187,
    "item_id":40103,
    "item_content": "起步",
    "deducting_reason": "起步前,未观察内、外后视镜,未侧头观察后方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 188,
    "item_id":40104,
    "item_content": "起步",
    "deducting_reason": "启动发动机时,变速器操纵杆未置于空挡(驻车挡)",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 189,
    "item_id":40105,
    "item_content": "起步",
    "deducting_reason": "不松驻车制动器起步,未及时纠正",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 190,
    "item_id":40106,
    "item_content": "起步",
    "deducting_reason": "不松驻车制动器起步,但能及时纠正",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 191,
    "item_id":40107,
    "item_content": "起步",
    "deducting_reason": "发动机启动后,不及时松开启动开关",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 192,
    "item_id":40108,
    "item_content": "起步",
    "deducting_reason": "道路交通情况复杂时起步不能合理使用喇叭\t",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 193,
    "item_id":40109,
    "item_content": "起步",
    "deducting_reason": "起步时车辆发生闯动",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 194,
    "item_id":40110,
    "item_content": "起步",
    "deducting_reason": "起步时,加速踏板控制不当,致使发动机转速过高",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 195,
    "item_id":40111,
    "item_content": "起步",
    "deducting_reason": "启动发送机前,不检查调整驾驶座椅、后视镜、检查仪表",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 196,
    "item_id":40301,
    "item_content": "直线行驶",
    "deducting_reason": "方向控制不稳,不能保持车辆直线运行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 197,
    "item_id":40302,
    "item_content": "直线行驶",
    "deducting_reason": "遇前车制动时不及时采取减速措施",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 198,
    "item_id":40303,
    "item_content": "直线行驶",
    "deducting_reason": "不适时通过内、外后视镜观察后方交通情况",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 199,
    "item_id":40304,
    "item_content": "直线行驶",
    "deducting_reason": "未及时发现路面障碍物或发现路面障碍物未及时采取减速措施",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 200,
    "item_id":40401,
    "item_content": "加减挡",
    "deducting_reason": "未按指令平稳加、减挡",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 201,
    "item_id":40402,
    "item_content": "加减挡",
    "deducting_reason": "车辆运行速度和挡位不匹配",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 202,
    "item_id":40501,
    "item_content": "变道",
    "deducting_reason": "变更车道前,未通过内、外后视镜观察后方道路交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 203,
    "item_id":40502,
    "item_content": "变道",
    "deducting_reason": "变更车道时,判断车辆安全距离不合理,妨碍其他车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 204,
    "item_id":40503,
    "item_content": "变道",
    "deducting_reason": "变更车道时,控制行驶速度不合理,妨碍其他车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 205,
    "item_id":40601,
    "item_content": "靠边停车",
    "deducting_reason": "停车前,不通过内、外后视镜观察后方和右侧交通情况,并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 206,
    "item_id":40602,
    "item_content": "靠边停车",
    "deducting_reason": "考试员发出靠边停车指令后,未能在规定的距离内停车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 207,
    "item_id":40603,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身超过道路右侧边缘线或者人行道边缘",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 208,
    "item_id":40604,
    "item_content": "靠边停车",
    "deducting_reason": "需要下车的,在打开车门前不回头观察左后方交通情况,并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 209,
    "item_id":40605,
    "item_content": "靠边停车",
    "deducting_reason": "下车后不关闭车门",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 210,
    "item_id":40606,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身距离道路右侧边缘线或者人行道边缘超出50cm",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 211,
    "item_id":40607,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,车身距离道路右侧边缘线或者人行道边缘超出30cm,未超出50cm",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 212,
    "item_id":40608,
    "item_content": "靠边停车",
    "deducting_reason": "停车后,未拉紧驻车制动器",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 213,
    "item_id":40609,
    "item_content": "靠边停车",
    "deducting_reason": "拉紧驻车制动器前放松行车制动踏板",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 214,
    "item_id":40610,
    "item_content": "靠边停车",
    "deducting_reason": "下车前不将发动机熄火",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 215,
    "item_id":40701,
    "item_content": "直行通过路口",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 216,
    "item_id":40702,
    "item_content": "直行通过路口",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 217,
    "item_id":40703,
    "item_content": "直行通过路口",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 218,
    "item_id":40704,
    "item_content": "直行通过路口",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 219,
    "item_id":40801,
    "item_content": "路口左转",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 220,
    "item_id":40802,
    "item_content": "路口左转",
    "deducting_reason": "不观察左、右方交通情况,转弯通过路口时,未观察侧前方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 221,
    "item_id":40803,
    "item_content": "路口左转",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 222,
    "item_id":40804,
    "item_content": "路口左转",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 223,
    "item_id":40805,
    "item_content": "路口左转",
    "deducting_reason": "左转通过路口时,未靠路口中心点左侧转弯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 224,
    "item_id":40901,
    "item_content": "路口右转",
    "deducting_reason": "不按规定减速或停车瞭望",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 225,
    "item_id":40902,
    "item_content": "路口右转",
    "deducting_reason": "不观察左、右方交通情况,转弯通过路口时,未观察侧前方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 226,
    "item_id":40903,
    "item_content": "路口右转",
    "deducting_reason": "不主动避让优先通行的车辆、行人,非机动车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 227,
    "item_id":40904,
    "item_content": "路口右转",
    "deducting_reason": "遇有路口交通阻塞时进入路口,将车辆停在路口内等候",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 228,
    "item_id":41001,
    "item_content": "通过人行道",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 229,
    "item_id":41002,
    "item_content": "通过人行道",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 230,
    "item_id":41003,
    "item_content": "通过人行道",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 231,
    "item_id":41101,
    "item_content": "通过学校区域",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 232,
    "item_id":41102,
    "item_content": "通过学校区域",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 233,
    "item_id":41103,
    "item_content": "通过学校区域",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 234,
    "item_id":41201,
    "item_content": "通过公交站",
    "deducting_reason": "不按规定减速慢行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 235,
    "item_id":41202,
    "item_content": "通过公交站",
    "deducting_reason": "不观察左、右方交通情况",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 236,
    "item_id":41203,
    "item_content": "通过公交站",
    "deducting_reason": "未停车礼让行人",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 237,
    "item_id":41301,
    "item_content": "会车",
    "deducting_reason": "在没有中心隔离设施或者中心线的道路上会车时,或未与其他车辆、行人、非机动车保持安全距离",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 238,
    "item_id":41302,
    "item_content": "会车",
    "deducting_reason": "会车困难时不让行",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 239,
    "item_id":41303,
    "item_content": "会车",
    "deducting_reason": "横向安全间距判断差,紧急转向避让对方来车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 240,
    "item_id":41401,
    "item_content": "超车",
    "deducting_reason": "超车前,不通过内、外后视镜观察后方和左侧交通情况并回头观察确认安全",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 241,
    "item_id":41402,
    "item_content": "超车",
    "deducting_reason": "超车时机选择不合理,影响其他车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 242,
    "item_id":41403,
    "item_content": "超车",
    "deducting_reason": "超车时,未回头观察被超越车辆动态",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 243,
    "item_id":41404,
    "item_content": "超车",
    "deducting_reason": "超车时未与被超越车辆侧寺安全距离",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 244,
    "item_id":41405,
    "item_content": "超车",
    "deducting_reason": "超车后急转向驶回原车道,妨碍被超车辆正常行驶",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 245,
    "item_id":41406,
    "item_content": "超车",
    "deducting_reason": "在没有中心线或同方向只有一条行车道的道路上从右侧超车",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 246,
    "item_id":41407,
    "item_content": "超车",
    "deducting_reason": "当后车发出超车信号时,具备让车条件不减速靠右让行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 247,
    "item_id":41501,
    "item_content": "掉头",
    "deducting_reason": "不能正确观察交通情况选择掉头时机",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 248,
    "item_id":41502,
    "item_content": "掉头",
    "deducting_reason": "掉头地点选择不当",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 249,
    "item_id":41503,
    "item_content": "掉头",
    "deducting_reason": "掉头前未发出掉头信号",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 250,
    "item_id":41504,
    "item_content": "掉头",
    "deducting_reason": "掉头时,妨碍正常行驶的其他车辆和行人通行",
    "score_deducting":10,
    "required_precision":""
  },
  {
    "id": 251,
    "item_id":41601,
    "item_content": "夜间行驶",
    "deducting_reason": "不能正确开启灯光",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 252,
    "item_id":41602,
    "item_content": "夜间行驶",
    "deducting_reason": "同方向近距离跟车行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 253,
    "item_id":41603,
    "item_content": "夜间行驶",
    "deducting_reason": "通过急弯、坡路、拱桥、人行横道或者没有交通信号灯控制的路口时,不交替使用远近灯示意",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 254,
    "item_id":41604,
    "item_content": "夜间行驶",
    "deducting_reason": "会车时不按规定使用近光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 255,
    "item_id":41605,
    "item_content": "夜间行驶",
    "deducting_reason": "通过路口时使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 256,
    "item_id":41606,
    "item_content": "夜间行驶",
    "deducting_reason": "超车时未交替使用远近光灯提醒被超越车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 257,
    "item_id":41607,
    "item_content": "夜间行驶",
    "deducting_reason": "在有路灯、照明良好的道路上行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 258,
    "item_id":41608,
    "item_content": "夜间行驶",
    "deducting_reason": "在路边临时停车不关闭前照灯或不开启示廓灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 259,
    "item_id":41609,
    "item_content": "夜间行驶",
    "deducting_reason": "进入无照明、照明不良的道路行驶时不使用远光灯",
    "score_deducting":5,
    "required_precision":""
  },
  {
    "id": 260,
    "item_id":41701,
    "item_content": "模拟夜考",
    "deducting_reason": "不能正确开启灯光",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 261,
    "item_id":41702,
    "item_content": "模拟夜考",
    "deducting_reason": "同方向近距离跟车行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 262,
    "item_id":41703,
    "item_content": "模拟夜考",
    "deducting_reason": "通过急弯、坡路、拱桥、人行横道或者没有交通信号灯控制的路口时,不交替使用远近灯示意",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 263,
    "item_id":41704,
    "item_content": "模拟夜考",
    "deducting_reason": "会车时不按规定使用近光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 264,
    "item_id":41705,
    "item_content": "模拟夜考",
    "deducting_reason": "通过路口时使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 265,
    "item_id":41706,
    "item_content": "模拟夜考",
    "deducting_reason": "超车时未交替使用远近光灯提醒被超越车辆",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 266,
    "item_id":41707,
    "item_content": "模拟夜考",
    "deducting_reason": "在有路灯、照明良好的道路上行驶时,使用远光灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 267,
    "item_id":41708,
    "item_content": "模拟夜考",
    "deducting_reason": "在路边临时停车不关闭前照灯或不开启示廓灯",
    "score_deducting":100,
    "required_precision":""
  },
  {
    "id": 268,
    "item_id":41709,
    "item_content": "模拟夜考",
    "deducting_reason": "进入无照明、照明不良的道路行驶时不使用远光灯",
    "score_deducting":5,
    "required_precision":""
  }
]
app/src/main/assets/keer2.mmpk
Binary files differ
app/src/main/assets/road.mmpk
Binary files differ
app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -60,6 +60,7 @@
    //I类评判表
    public static final int SUBJECT_I = 1;
    public static final int SUBJECT_ALL= 999;
    public static final String MAP = "map.json";
    public static final String ROAD_MAP = "roadmap.json";
    public static final String VEHICLE = "vehiclemodel.json";
app/src/main/java/safeluck/drive/evaluation/DB/Constant.java
@@ -26,4 +26,5 @@
    public static final int FINISH_ITEM = 0;//该项场地考试结束(出场地)
    public static final int BEGIN_ITEM = 1;//该项考试开始进入场地
    public static final int EXAM_STATUS_MAP_ID = -1;
    public static final String CRITERIA_JSON = "criteria.json";
}
app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
@@ -21,6 +21,8 @@
import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusDao;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusInitWork;
import safeluck.drive.evaluation.DB.criterias.Criteria;
import safeluck.drive.evaluation.DB.criterias.CriteriaDao;
import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
import safeluck.drive.evaluation.DB.criterias.CriteriaForII;
import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
@@ -30,6 +32,7 @@
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.criterias.CriteriaInitWorker;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
import safeluck.drive.evaluation.DB.exam_status.ExamStatusDao;
import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
@@ -62,7 +65,7 @@
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
@Database(entities = {Student.class, CriteriaForI.class, FailedProj.class,LuKaoFailedProj.class, CriteriaForII.class, CriteriaForIII.class,RTKConfig.class, GPSInfo.class, AppStatus.class, ExamStatus.class, SingalConfig.class
        ,RouteBean.class, RouteCross.class, RouteTriggerLine.class},version = 1,exportSchema = false)
        , Criteria.class,RouteBean.class, RouteCross.class, RouteTriggerLine.class},version = 1,exportSchema = false)
public abstract class WorkRoomDataBase extends RoomDatabase {
    private static final String TAG = "WorkRoomDataBase";
    public abstract StudentDao getstudentDao();
@@ -72,6 +75,8 @@
    //科目二 I类考场评判表
    public abstract CriteriaIDao getCriteriaIDao();
    //考场评判表
    public abstract CriteriaDao getCriteriaDao();
    //科目二 II类考场评判表
    public abstract CriteriaIIDao getCriteriaIIDao();
    public abstract FailProjDao getFailProjDao();
@@ -103,7 +108,8 @@
                                    super.onCreate(db);
                                    OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(SeedDatabaseWorker.class);
                                    OneTimeWorkRequest oneTimeWorkRequest1 = OneTimeWorkRequest.from(CriteriaForIWorker.class);
                                    OneTimeWorkRequest oneTimeWorkRequest3 = OneTimeWorkRequest.from(CriteriaForIIWorker.class);
                                    OneTimeWorkRequest criteriaInitWorkRequest = OneTimeWorkRequest.from(CriteriaInitWorker.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);
@@ -123,8 +129,8 @@
//                                    WorkManager.getInstance(mContext).enqueue(signalConigInitWorker);
//单路径执行,可以实现更加复杂的多路径执行方式
                                    WorkContinuation chain1= WorkManager.getInstance(mContext).beginWith(Arrays.asList(oneTimeWorkRequest,oneTimeWorkRequest1))
                                            .then(mCriteriaForIIIWorker).then(oneTimeWorkRequest3);
                                    WorkContinuation chain1= WorkManager.getInstance(mContext).beginWith(Arrays.asList(oneTimeWorkRequest,oneTimeWorkRequest1,criteriaInitWorkRequest))
                                            .then(mCriteriaForIIIWorker);
                                    WorkContinuation chain2 = WorkManager.getInstance(mContext).beginWith(Arrays.asList(RTKConfigWorkRequest,appStatusInitWork,signalConigInitWorker,routeInitWorker))
                                            .then(oneTimeWorkRequest2).then(examStatusInitWorker);
app/src/main/java/safeluck/drive/evaluation/DB/criterias/Criteria.java
New file
@@ -0,0 +1,94 @@
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
 *
 * 科目二 I类考场评判标准表
 */
@Entity(tableName = "criteria")
public class Criteria {
/**************
 *    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;
    }
    @Override
    public String toString() {
        return "Criteria{" +
                ", item_id=" + item_id +
                ", item_content='" + item_content + '\'' +
                ", deducting_reason='" + deducting_reason + '\'' +
                ", score_deducting=" + score_deducting +
                ", required_precision='" + required_precision + '\'' +
                '}';
    }
}
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaDao.java
New file
@@ -0,0 +1,30 @@
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 CriteriaDao {
    @Insert(onConflict = OnConflictStrategy.IGNORE)
    void insertCriteriaI(Criteria criteriaForI);
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    void insertAllCriteria(List<Criteria> criteriaForI);
    @Query( "SELECT * FROM criteria WHERE item_id =:item_id")
    LiveData<Criteria> queryItemForCriteria(int item_id);
    @Query( "SELECT * FROM criteria WHERE item_id =:item_id")
    Criteria queryItemForCriteriaNoLive(int item_id);
}
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaForI.java
@@ -17,13 +17,14 @@
public class CriteriaForI {
/**************
 *    item_id   item_content                    deducting_reason                     score_deducting                    required _precision
        23                  起步                             车门未完全关闭起步                    不合格                        行驶距离大于1m 时
        23                  起步                              车门未完全关闭起步                    不合格                        行驶距离大于1m 时
 **************/
    @PrimaryKey
    @ColumnInfo(name = "item_id")
    @NonNull
    private int item_id;
    @ColumnInfo(name = "item_content")
    private String item_content;
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriaInitWorker.java
New file
@@ -0,0 +1,57 @@
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.basecommonlib.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 CriteriaInitWorker extends Worker {
    private static final String TAG = "CriteriaForIWorker";
    public CriteriaInitWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
        super(context, workerParams);
    }
    @NonNull
    @Override
    public Result doWork() {
        InputStream inputStream = null;
        try {
            inputStream = getApplicationContext().getAssets()
                    .open(Constant.CRITERIA_JSON);
        } catch (IOException e) {
            e.printStackTrace();
        }
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        JsonReader jsonReader = new JsonReader(inputStreamReader);
        Gson gson = new Gson();
        Type type = new TypeToken<List<Criteria>>(){}.getType();
        List<Criteria> criteriaForIS = gson.fromJson(jsonReader,type);
        MyLog.i(TAG,"插入考场评判表");
        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getCriteriaDao().insertAllCriteria(criteriaForIS);
        return Result.success();
    }
}
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusOutWorker.kt
@@ -80,7 +80,8 @@
        }else{
        }
        sendRtkConfigInfo(rtk)
        //2021.1.12 不再此处发送sn 等rtk信息
//        sendRtkConfigInfo(rtk)
        MyLog.i(TAG,"开始发送灯光,考试项共有"+simulateNightBean.question.size)
        AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean))
        singalConfigs = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).signalConfigDao._getSignalConfigs()
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailProjDao.java
@@ -29,6 +29,12 @@
    @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);
    /**
     * 查询 suoyou 失败项目 (多表查询)
     * @return
     */
    @Query("SELECT emp_id,stu_id, utc ,sn ,deducting_reason,score_deducting,item_content from criteria INNER JOIN fail_projects ON  criteria.item_id= fail_projects.emp_id where fail_projects.stu_id=:stu_id and fail_projects.subject=999")
    LiveData<List<FailedProj_select>> getFailedProjects(long stu_id);
    /**
     * 查询 科目二 II类考场的失败项目 (多表查询)
     * 如果要添加 科目二II   III类考场失败项目,需要建立相应的评判标准表数据表
     * @return
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProj.java
@@ -6,6 +6,7 @@
import androidx.room.Index;
import androidx.room.PrimaryKey;
import safeluck.drive.evaluation.DB.criterias.Criteria;
import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
import safeluck.drive.evaluation.DB.criterias.CriteriaForII;
import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
@@ -20,7 +21,7 @@
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
@Entity(tableName = "fail_projects",foreignKeys = {@ForeignKey(entity = CriteriaForI.class,
parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE),@ForeignKey(entity = CriteriaForII.class,
parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE),@ForeignKey(entity = Criteria.class,
        parentColumns = "item_id",childColumns = "emp_id",onDelete = CASCADE)},indices = @Index(value = {"emp_id"}))
public class FailedProj {
    @PrimaryKey(autoGenerate = true)
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjRepository.java
@@ -72,6 +72,16 @@
    }
    /**
     * 获得suoyou 失败项目扣分项
     *20210112
     * @param stu_id
     * @return
     */
    public LiveData<List<FailedProj_select>> getFailedProjects(long stu_id) {
        return failProjDao.getFailedProjects(stu_id);
    }
    /**
     * 获得科目二 II类考场失败项目扣分项
     *
     * @param stu_id
app/src/main/java/safeluck/drive/evaluation/DB/failitems/FailedProjViewModel.java
@@ -23,6 +23,9 @@
        failedProjRepository = new FailedProjRepository(application);
    }
    public  LiveData<List<FailedProj_select>> getFailedProjects(long stu_id){
           return failedProjRepository.getFailedProjects(stu_id);
    }
    public  LiveData<List<FailedProj_select>> getFailedProjectsForI(long stu_id){
           return failedProjRepository.getFailedProjectsForI(stu_id);
    }
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -42,6 +42,7 @@
import safeluck.drive.evaluation.bean.SignalConfigRemote;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
import safeluck.drive.evaluation.customview.MyDialog;
import safeluck.drive.evaluation.fragment.HomeFragment;
import com.anyun.exam.lib.AYSdk;
@@ -161,6 +162,7 @@
        }
    };
    private boolean hasSendInitData;
    private List<SignalConfigRemote> signalConfiglist = new ArrayList<>();
    private int permissionCount = 0;
    @Override
@@ -204,7 +206,7 @@
                            ExamPlatformData.getInstance().getExamplatformStatus()
                    )));
                    tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
                    tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
                    tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()<5?appStatus.getQf():0]);
                }
            }
        });
@@ -219,6 +221,8 @@
        authMapViewmodel = ViewModelProviders.of(this).get(AuthMapViewmodel.class);
        authMapViewmodel.getAuthValue().observe(this, new Observer<Integer>() {
            @Override
            public void onChanged(Integer integer) {
                Log.i(TAG,"AuthMapViewmodel auth="+integer.intValue());
@@ -227,10 +231,12 @@
                    String sn = ExamPlatformData.getInstance().getMcuSN();
                    if (!TextUtils.isEmpty(sn)){
                    MyLog.i(TAG,"权限允许,蓝牙已连接,获得到的sn="+sn);
                    MyLog.i("权限允许,蓝牙已连接,获得到的sn="+sn+" sendInitData");
                    hasSendInitData = true;
                    AbsInitialData.getInstance().sendInitialData();
                    }else{
                        MyLog.i(TAG,"权限允许,蓝牙已连接,获得到的sn=null,不能发送初始数据");
                        hasSendInitData= false;
                    }
                }
@@ -279,6 +285,11 @@
                    mRTKConfig = rtkConfig;
                synchronized (MainActivity.this){
                        if (ExamPlatformData.getInstance().isCanWriteSD()){
                            AbsInitialData.getInstance().resethasSendInitData();
                            AbsInitialData.getInstance().sendInitialData();
                            MyLog.i("rtkConfig 更新sn后发送初始数据");
                        }
//                    if (onlySendOnceRTKConfig){
//                        MyLog.i(TAG,"进入 synchronized (MainActivity.this)");
//                        onlySendOnceRTKConfig = false;
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -39,6 +39,7 @@
import safeluck.drive.evaluation.DB.WorkRoomDataBase;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker;
import safeluck.drive.evaluation.DB.criterias.Criteria;
import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
import safeluck.drive.evaluation.DB.criterias.CriteriaForIII;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
@@ -48,6 +49,7 @@
import safeluck.drive.evaluation.DB.gps.GpsInfoWorker;
import safeluck.drive.evaluation.DB.route.RouteCross;
import safeluck.drive.evaluation.DB.route.RouteTriggerLine;
import safeluck.drive.evaluation.DB.rtktb.RTKConfigUpdateWorker;
import safeluck.drive.evaluation.bean.AbsInitialData;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.RemoteRouteCollect;
@@ -158,7 +160,8 @@
            sendRouteExam();
            DataInitKt.sendRtkConfig(getApplicationContext());
            //2021 1. 12
//            DataInitKt.sendRtkConfig(getApplicationContext());
//            DataInitKt.MCUUpgrade(getApplicationContext());
          //改在蓝牙已经连接,发送initialdata
@@ -319,21 +322,51 @@
                                int emp_id = jsonObject.get("wrong_id").getAsInt();
                                String utc = jsonObject.get("utc").getAsString();
                                int sn = jsonObject.get("sn").getAsInt();
                                if (emp_id>1000){
                                    CriteriaForIII ttsStr=WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIIIDao().queryItemForCriteriaIIINoLive(emp_id-1000);
//                                if (emp_id>1000){
//                                    CriteriaForIII ttsStr=WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIIIDao().queryItemForCriteriaIIINoLive(emp_id-1000);
//                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格  " : "扣" +
//                                            ttsStr.getScore_deducting() + "分  "));
//                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
//                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
//                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
//                                }else{
//                                    CriteriaForI ttsStr = WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIDao().queryItemForCriteriaINoLive(emp_id);
//                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格  " : "扣" +
//                                            ttsStr.getScore_deducting() + "分  "));
//                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
//                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
//                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
//                                }
                                    Criteria  ttsStr=WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaDao().queryItemForCriteriaNoLive(emp_id);
                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格  " : "扣" +
                                            ttsStr.getScore_deducting() + "分  "));
                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
                                }else{
                                    CriteriaForI ttsStr = WorkRoomDataBase.getWorkRoomDataBase(getAppContext()).getCriteriaIDao().queryItemForCriteriaINoLive(emp_id);
                                    ExamPlatformData.getInstance().getTTS().speak(ttsStr.getDeducting_reason() + (ttsStr.getScore_deducting() == 100? "不合格  " : "扣" +
                                            ttsStr.getScore_deducting() + "分  "));
                                    jkMessage0203.fail_item_id =ttsStr.getItem_id();
                                    jkMessage0203.fail_score = ttsStr.getScore_deducting();
                                    jkMessage0203.fail_reason = ttsStr.getDeducting_reason();
                                }
                                if (!TextUtils.isEmpty(utc) && utc.length() > 14) {
                                    utc = utc.substring(0, 14);
                                }
@@ -343,30 +376,46 @@
                                MyLog.i(String.format("收到远程服务给的评判消息 timeBCD=%s",Utils.formatTimeYYMMDDHHmmSS(jkMessage0203.timeBCD.getTime())));
                                MessageProcessor.getInstance().sendMessage(jkMessage0203);
                                if (emp_id<1000) { //场地评判消息
                                    if (emp_id > 31 || emp_id < 0) {
                                        MyLog.i("emp_id超出范围不能插入数据库(I类考场)");
//                                if (emp_id<1000) { //场地评判消息
//                                    if (emp_id > 31 || emp_id < 0) {
//                                        MyLog.i("emp_id超出范围不能插入数据库(I类考场)");
//
//                                    }else{
//
//                                        FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID, utc, sn);
//                                        MyLog.i("插入fail_projects表=$failedProj");
//                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getFailProjDao().insert(failedProj);
//                                    }
//
//                                }
//                                if (emp_id>1000) { //道路 评判消息
//
//                                    if (emp_id >1066 || emp_id < 1000) {
//                                        MyLog.i("emp_id超出范围不能插入数据库(路考类考场)");
//                                    }else{
//
//                                        LuKaoFailedProj failedProj = new LuKaoFailedProj(Constant.SUBJECT_III, (emp_id-1000), Constant.TEST_STU_ID, utc, sn);
//                                        MyLog.i("插入路考fail_projects表=$failedProj");
//                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLuKaoFailProjDao().insert(failedProj);
//                                    }
//
//                                }
                                    }else{
                                        FailedProj failedProj = new FailedProj(Constant.SUBJECT_I, emp_id, Constant.TEST_STU_ID, utc, sn);
                                FailedProj failedProj = new FailedProj(Constant.SUBJECT_ALL, emp_id, Constant.TEST_STU_ID, utc, sn);
                                        MyLog.i("插入fail_projects表=$failedProj");
                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getFailProjDao().insert(failedProj);
                                    }
                                WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getFailProjDao().insert(failedProj);
                                }
                                if (emp_id>1000) { //道路 评判消息
                                    if (emp_id >1066 || emp_id < 1000) {
                                        MyLog.i("emp_id超出范围不能插入数据库(路考类考场)");
                                    }else{
                                        LuKaoFailedProj failedProj = new LuKaoFailedProj(Constant.SUBJECT_III, (emp_id-1000), Constant.TEST_STU_ID, utc, sn);
                                        MyLog.i("插入路考fail_projects表=$failedProj");
                                        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLuKaoFailProjDao().insert(failedProj);
                                    }
                                }
                            }
                        }
@@ -524,7 +573,7 @@
                try {
                    JSONObject rtkConfigUpdtea = new JSONObject(json);
                    sn = rtkConfigUpdtea.getString("sn");
                    sn = rtkConfigUpdtea.put(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_SN,sn).toString();
//                    sn = rtkConfigUpdtea.put(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_SN,sn).toString();
                } catch (JSONException e) {
                    e.printStackTrace();
                }
@@ -537,9 +586,9 @@
                    }
                    lastSn = sn;
                    ExamPlatformData.getInstance().setMcuSN(sn);
//                    Data data = new Data.Builder().putString(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_UPDATE_JSON,sn).build();
//                    OneTimeWorkRequest rtkConfigUpdateWorker= new OneTimeWorkRequest.Builder(RTKConfigUpdateWorker.class).setInputData(data).build();
//                    WorkManager.getInstance(getAppContext()).enqueue(rtkConfigUpdateWorker);
                    Data data = new Data.Builder().putString(safeluck.drive.evaluation.DB.Constant.RTK_CONFIG_UPDATE_JSON,sn).build();
                    OneTimeWorkRequest rtkConfigUpdateWorker= new OneTimeWorkRequest.Builder(RTKConfigUpdateWorker.class).build();
                    WorkManager.getInstance(getAppContext()).enqueue(rtkConfigUpdateWorker);
                }
                CEventCenter.dispatchEvent(Constant.BIND_MCUINFO_TOPIC,cmd,0,json);
                break;
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -426,55 +426,103 @@
            }
        });
        failedProjViewModel.getFailedProjectsForIII(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
//        failedProjViewModel.getFailedProjectsForIII(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
//            @Override
//            public void onChanged(List<FailedProj_select> failedProj_selects) {
//                if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){
//                    MyLog.i("现在是路考状态,监视路考数据失败项目");
//                    if (failedProj_selects != null && failedProj_selects.size()>0){
//
//                        item_id = 0;
//                        currTotalScore = 100;
//                        mArrayList.clear();
//                        item_conents.clear();
//                        for (FailedProj_select f :
//                                failedProj_selects) {
//                            item_id += f.getScore_deducting();
//                            Log.i(TAG, "onChanged: " + f.toString());
//                            mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason(),f.getUtc()));
//                            item_conents.add(f.getItem_content());
//                            Collections.sort(mArrayList);
//                            mScoreAdapter.addDatas(mArrayList);
//                            MyLog.i("item_score="+item_id);
//                        }
//                        MyLog.i("没扣分之前得分:"+currTotalScore);
//                        currTotalScore -=item_id;
//                        MyLog.i("路考当前得分:"+currTotalScore);
//                        if (currTotalScore < Constant.PASSING_SCORE){
//                            MyLog.i("路考低于80,不合格"+currTotalScore);
//                        }
//                        MyLog.i("路考监测到有失败项目加入,通知UI更新颜色");
//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                    }else{
//                        MyLog.i(TAG,"路考失败项目数据表被清空更新UI");
//                        item_id = 0;
//                        mArrayList.clear();
//                        item_conents.clear();
//                        Collections.sort(mArrayList);
//                        mScoreAdapter.addDatas(mArrayList);
//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                    }
//                }
//
//            }
//        });
//
//
//
//        failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
//            @Override
//            public void onChanged(List<FailedProj_select> failedProj_selects) {
//                if (ExamPlatformData.getInstance().getExamType()<=ExamPlatformData.EXAM_TYPE_ChangKAO){
//                    if (failedProj_selects != null && failedProj_selects.size()>0){
//
//                        item_id = 0;
//                        currTotalScore = 100;
//                        mArrayList.clear();
//                        item_conents.clear();
//                        for (FailedProj_select f :
//                                failedProj_selects) {
//                            item_id += f.getScore_deducting();
//                            Log.i(TAG, "onChanged: " + f.toString());
//                            mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason(),f.getUtc()));
//                            item_conents.add(f.getItem_content());
//                            Collections.sort(mArrayList);
//                            mScoreAdapter.addDatas(mArrayList);
//                            MyLog.i("item_score="+item_id);
//                        }
//                        MyLog.i("没扣分之前得分:"+currTotalScore);
//                        currTotalScore -=item_id;
//                        MyLog.i("当前得分:"+currTotalScore);
//                        if (currTotalScore < Constant.PASSING_SCORE){
//                            MyLog.i("低于80,不合格"+currTotalScore);
//                        }
//                        MyLog.i("监测到有失败项目加入,通知UI更新颜色");
//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                    }else{
//                        MyLog.i(TAG,"失败项目数据表被清空更新UI");
//                        item_id = 0;
//                        mArrayList.clear();
//                        item_conents.clear();
//                        Collections.sort(mArrayList);
//                        mScoreAdapter.addDatas(mArrayList);
//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                    }
//                }
//
//            }
//        });
                failedProjViewModel.getFailedProjects(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
            @Override
            public void onChanged(List<FailedProj_select> failedProj_selects) {
                if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){
                    MyLog.i("现在是路考状态,监视路考数据失败项目");
                    if (failedProj_selects != null && failedProj_selects.size()>0){
                        item_id = 0;
                        currTotalScore = 100;
                        mArrayList.clear();
                        item_conents.clear();
                        for (FailedProj_select f :
                                failedProj_selects) {
                            item_id += f.getScore_deducting();
                            Log.i(TAG, "onChanged: " + f.toString());
                            mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason(),f.getUtc()));
                            item_conents.add(f.getItem_content());
                            Collections.sort(mArrayList);
                            mScoreAdapter.addDatas(mArrayList);
                            MyLog.i("item_score="+item_id);
                        }
                        MyLog.i("没扣分之前得分:"+currTotalScore);
                        currTotalScore -=item_id;
                        MyLog.i("路考当前得分:"+currTotalScore);
                        if (currTotalScore < Constant.PASSING_SCORE){
                            MyLog.i("路考低于80,不合格"+currTotalScore);
                        }
                        MyLog.i("路考监测到有失败项目加入,通知UI更新颜色");
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
                    }else{
                        MyLog.i(TAG,"路考失败项目数据表被清空更新UI");
                        item_id = 0;
                        mArrayList.clear();
                        item_conents.clear();
                        Collections.sort(mArrayList);
                        mScoreAdapter.addDatas(mArrayList);
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
                    }
                }
            }
        });
        failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
            @Override
            public void onChanged(List<FailedProj_select> failedProj_selects) {
                if (ExamPlatformData.getInstance().getExamType()<=ExamPlatformData.EXAM_TYPE_ChangKAO){
                    if (failedProj_selects != null && failedProj_selects.size()>0){
                        item_id = 0;
@@ -508,12 +556,15 @@
                        mScoreAdapter.addDatas(mArrayList);
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
                    }
                }
            }
        });
        examStatusViewModel = ViewModelProviders.of(this).get(ExamStatusViewModel.class);
        examStatusViewModel.getExamStatus().observe(this, new Observer<List<ExamStatus>>() {
            @Override