Commit 911b7a219c2506d6717fec22325114bf2e631d33
1 parent
037e3cd9
安全驾驶图像信息(当日) 加入异常类型 未带口罩,抽烟打电话
Showing
4 changed files
with
158 additions
and
104 deletions
src/main/java/com/bsth/data/safe_driv/SafeDrivCenter.java
| @@ -45,8 +45,10 @@ public class SafeDrivCenter implements ApplicationContextAware { | @@ -45,8 +45,10 @@ public class SafeDrivCenter implements ApplicationContextAware { | ||
| 45 | private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); | 45 | private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); |
| 46 | public static void put(SafeDriv sd){ | 46 | public static void put(SafeDriv sd){ |
| 47 | sd.setTs(fmt.parseMillis(sd.getStartime())); | 47 | sd.setTs(fmt.parseMillis(sd.getStartime())); |
| 48 | - | ||
| 49 | - if(sd.getYczltype().indexOf("A") == -1) | 48 | + if(Integer.parseInt(sd.getYczltype()) == 5 && Integer.parseInt(sd.getJctype()) == 4 |
| 49 | + || Integer.parseInt(sd.getYczltype()) == 6 && Integer.parseInt(sd.getJctype()) == 4) | ||
| 50 | + sd.setJctype("B" + sd.getJctype()); | ||
| 51 | + else if(sd.getYczltype().indexOf("A") == -1) | ||
| 50 | sd.setYczltype("A" + sd.getYczltype()); | 52 | sd.setYczltype("A" + sd.getYczltype()); |
| 51 | 53 | ||
| 52 | //SafeDriv old = safeMap.get(sd.getClzbh()); | 54 | //SafeDriv old = safeMap.get(sd.getClzbh()); |
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
| @@ -114,10 +114,10 @@ public class GpsServiceImpl implements GpsService { | @@ -114,10 +114,10 @@ public class GpsServiceImpl implements GpsService { | ||
| 114 | 114 | ||
| 115 | @Autowired | 115 | @Autowired |
| 116 | LineRepository lineRepository; | 116 | LineRepository lineRepository; |
| 117 | - | 117 | + |
| 118 | @Autowired | 118 | @Autowired |
| 119 | LsStationRouteRepository lsStationRouteRepository; | 119 | LsStationRouteRepository lsStationRouteRepository; |
| 120 | - | 120 | + |
| 121 | @Autowired | 121 | @Autowired |
| 122 | LsSectionRouteRepository lsSectionRouteRepository; | 122 | LsSectionRouteRepository lsSectionRouteRepository; |
| 123 | 123 | ||
| @@ -275,25 +275,25 @@ public class GpsServiceImpl implements GpsService { | @@ -275,25 +275,25 @@ public class GpsServiceImpl implements GpsService { | ||
| 275 | List<Map<String, Object>> gpsEqualsZeroList=new ArrayList<>(); | 275 | List<Map<String, Object>> gpsEqualsZeroList=new ArrayList<>(); |
| 276 | Map<String, Object> map = null; | 276 | Map<String, Object> map = null; |
| 277 | int oldLineId = -1, oldGpsValid = -1, oldLonlat = -1; | 277 | int oldLineId = -1, oldGpsValid = -1, oldLonlat = -1; |
| 278 | - | 278 | + |
| 279 | // 默认加入一个线路切换信息 | 279 | // 默认加入一个线路切换信息 |
| 280 | Map<String, Object> fls = new HashMap<String, Object>(); | 280 | Map<String, Object> fls = new HashMap<String, Object>(); |
| 281 | fls.put("abnormalType", "normal"); | 281 | fls.put("abnormalType", "normal"); |
| 282 | fls.put("st", "-1"); | 282 | fls.put("st", "-1"); |
| 283 | lineSwitch.add(fls); | 283 | lineSwitch.add(fls); |
| 284 | - | 284 | + |
| 285 | // 默认加入一个GPS无效异常信息 | 285 | // 默认加入一个GPS无效异常信息 |
| 286 | Map<String, Object> fgv = new HashMap<String, Object>(); | 286 | Map<String, Object> fgv = new HashMap<String, Object>(); |
| 287 | fgv.put("abnormalType", "normal"); | 287 | fgv.put("abnormalType", "normal"); |
| 288 | fgv.put("st", "-1"); | 288 | fgv.put("st", "-1"); |
| 289 | gpsNotValidList.add(fgv); | 289 | gpsNotValidList.add(fgv); |
| 290 | - | 290 | + |
| 291 | // 默认加入一个经纬度为零异常信息 | 291 | // 默认加入一个经纬度为零异常信息 |
| 292 | Map<String, Object> fgez = new HashMap<String, Object>(); | 292 | Map<String, Object> fgez = new HashMap<String, Object>(); |
| 293 | fgez.put("abnormalType", "normal"); | 293 | fgez.put("abnormalType", "normal"); |
| 294 | fgez.put("st", "-1"); | 294 | fgez.put("st", "-1"); |
| 295 | gpsEqualsZeroList.add(fgez); | 295 | gpsEqualsZeroList.add(fgez); |
| 296 | - | 296 | + |
| 297 | for(Map<String, Object> rs : dataList) { | 297 | for(Map<String, Object> rs : dataList) { |
| 298 | Object lineId = rs.get("LINE_ID"); | 298 | Object lineId = rs.get("LINE_ID"); |
| 299 | // 线路ID发生变化时补全线路切换信息 并新加入一个 | 299 | // 线路ID发生变化时补全线路切换信息 并新加入一个 |
| @@ -301,12 +301,12 @@ public class GpsServiceImpl implements GpsService { | @@ -301,12 +301,12 @@ public class GpsServiceImpl implements GpsService { | ||
| 301 | String lineName = BasicData.lineCode2NameMap.get(lineId.toString()); | 301 | String lineName = BasicData.lineCode2NameMap.get(lineId.toString()); |
| 302 | lineSwitch.get(lineSwitch.size() - 1).put("line2", lineName); | 302 | lineSwitch.get(lineSwitch.size() - 1).put("line2", lineName); |
| 303 | lineSwitch.get(lineSwitch.size() - 1).put("et", rs.get("TS")); | 303 | lineSwitch.get(lineSwitch.size() - 1).put("et", rs.get("TS")); |
| 304 | - | 304 | + |
| 305 | Map<String, Object> ls = new HashMap<String, Object>(); | 305 | Map<String, Object> ls = new HashMap<String, Object>(); |
| 306 | ls.put("abnormalType", "lineSwitch"); | 306 | ls.put("abnormalType", "lineSwitch"); |
| 307 | ls.put("line1", lineName); | 307 | ls.put("line1", lineName); |
| 308 | lineSwitch.add(ls); | 308 | lineSwitch.add(ls); |
| 309 | - | 309 | + |
| 310 | lineSet.add((Integer)lineId); | 310 | lineSet.add((Integer)lineId); |
| 311 | oldLineId = (Integer)lineId; | 311 | oldLineId = (Integer)lineId; |
| 312 | } | 312 | } |
| @@ -314,12 +314,12 @@ public class GpsServiceImpl implements GpsService { | @@ -314,12 +314,12 @@ public class GpsServiceImpl implements GpsService { | ||
| 314 | // GPS状态发生变化时补全信息 并新加入一个 | 314 | // GPS状态发生变化时补全信息 并新加入一个 |
| 315 | if (getGpsValid(serviceState) != oldGpsValid) { | 315 | if (getGpsValid(serviceState) != oldGpsValid) { |
| 316 | gpsNotValidList.get(gpsNotValidList.size() - 1).put("et", rs.get("TS")); | 316 | gpsNotValidList.get(gpsNotValidList.size() - 1).put("et", rs.get("TS")); |
| 317 | - | 317 | + |
| 318 | Map<String, Object> gv = new HashMap<String, Object>(); | 318 | Map<String, Object> gv = new HashMap<String, Object>(); |
| 319 | gv.put("abnormalType", getGpsValid(serviceState) == 0 ? "normal" : "gpsNotValid"); | 319 | gv.put("abnormalType", getGpsValid(serviceState) == 0 ? "normal" : "gpsNotValid"); |
| 320 | gv.put("st", rs.get("TS")); | 320 | gv.put("st", rs.get("TS")); |
| 321 | gpsNotValidList.add(gv); | 321 | gpsNotValidList.add(gv); |
| 322 | - | 322 | + |
| 323 | oldGpsValid = getGpsValid(serviceState); | 323 | oldGpsValid = getGpsValid(serviceState); |
| 324 | } | 324 | } |
| 325 | 325 | ||
| @@ -329,15 +329,15 @@ public class GpsServiceImpl implements GpsService { | @@ -329,15 +329,15 @@ public class GpsServiceImpl implements GpsService { | ||
| 329 | // 经纬度为零 | 329 | // 经纬度为零 |
| 330 | if ((lon == 0 || lat == 0 ? 1 : 0) != oldLonlat){ | 330 | if ((lon == 0 || lat == 0 ? 1 : 0) != oldLonlat){ |
| 331 | gpsEqualsZeroList.get(gpsEqualsZeroList.size() - 1).put("et", rs.get("TS")); | 331 | gpsEqualsZeroList.get(gpsEqualsZeroList.size() - 1).put("et", rs.get("TS")); |
| 332 | - | 332 | + |
| 333 | Map<String, Object> gez = new HashMap<String, Object>(); | 333 | Map<String, Object> gez = new HashMap<String, Object>(); |
| 334 | gez.put("abnormalType", (lon == 0 || lat == 0 ? 1 : 0) == 0 ? "normal" : "gpsZero"); | 334 | gez.put("abnormalType", (lon == 0 || lat == 0 ? 1 : 0) == 0 ? "normal" : "gpsZero"); |
| 335 | gez.put("st", rs.get("TS")); | 335 | gez.put("st", rs.get("TS")); |
| 336 | gpsEqualsZeroList.add(gez); | 336 | gpsEqualsZeroList.add(gez); |
| 337 | - | 337 | + |
| 338 | oldLonlat = (lon == 0 || lat == 0 ? 1 : 0); | 338 | oldLonlat = (lon == 0 || lat == 0 ? 1 : 0); |
| 339 | } | 339 | } |
| 340 | - | 340 | + |
| 341 | // 高德坐标 | 341 | // 高德坐标 |
| 342 | gdLoc = TransGPS.transformFromWGSToGCJ(TransGPS.LocationMake(lon, lat)); | 342 | gdLoc = TransGPS.transformFromWGSToGCJ(TransGPS.LocationMake(lon, lat)); |
| 343 | map.put("gcj_lon", gdLoc.getLng()); | 343 | map.put("gcj_lon", gdLoc.getLng()); |
| @@ -358,7 +358,7 @@ public class GpsServiceImpl implements GpsService { | @@ -358,7 +358,7 @@ public class GpsServiceImpl implements GpsService { | ||
| 358 | 358 | ||
| 359 | map.put("lineId", map_get_str(rs, "LINE_ID")); | 359 | map.put("lineId", map_get_str(rs, "LINE_ID")); |
| 360 | map.put("speed", map_get_float(rs,"SPEED_GPS")); | 360 | map.put("speed", map_get_float(rs,"SPEED_GPS")); |
| 361 | - | 361 | + |
| 362 | inOutStop = Integer.parseInt(rs.get("INOUT_STOP").toString()); | 362 | inOutStop = Integer.parseInt(rs.get("INOUT_STOP").toString()); |
| 363 | map.put("inout_stop", inOutStop); | 363 | map.put("inout_stop", inOutStop); |
| 364 | 364 | ||
| @@ -381,21 +381,21 @@ public class GpsServiceImpl implements GpsService { | @@ -381,21 +381,21 @@ public class GpsServiceImpl implements GpsService { | ||
| 381 | gpsNotValidList.get(gpsNotValidList.size() - 1).put("et", rs.get("TS")); | 381 | gpsNotValidList.get(gpsNotValidList.size() - 1).put("et", rs.get("TS")); |
| 382 | gpsEqualsZeroList.get(gpsEqualsZeroList.size() - 1).put("et", rs.get("TS")); | 382 | gpsEqualsZeroList.get(gpsEqualsZeroList.size() - 1).put("et", rs.get("TS")); |
| 383 | } | 383 | } |
| 384 | - | 384 | + |
| 385 | for (int i = lineSwitch.size() - 1;i > -1;i--) { | 385 | for (int i = lineSwitch.size() - 1;i > -1;i--) { |
| 386 | Map<String, Object> ls = lineSwitch.get(i); | 386 | Map<String, Object> ls = lineSwitch.get(i); |
| 387 | if ("normal".equals(ls.get("abnormalType")) || ls.get("et") == null) { | 387 | if ("normal".equals(ls.get("abnormalType")) || ls.get("et") == null) { |
| 388 | lineSwitch.remove(i); | 388 | lineSwitch.remove(i); |
| 389 | } | 389 | } |
| 390 | } | 390 | } |
| 391 | - | 391 | + |
| 392 | for (int i = gpsNotValidList.size() - 1;i > -1;i--) { | 392 | for (int i = gpsNotValidList.size() - 1;i > -1;i--) { |
| 393 | Map<String, Object> gnv = gpsNotValidList.get(i); | 393 | Map<String, Object> gnv = gpsNotValidList.get(i); |
| 394 | if ("normal".equals(gnv.get("abnormalType"))) { | 394 | if ("normal".equals(gnv.get("abnormalType"))) { |
| 395 | gpsNotValidList.remove(i); | 395 | gpsNotValidList.remove(i); |
| 396 | } | 396 | } |
| 397 | } | 397 | } |
| 398 | - | 398 | + |
| 399 | for (int i = gpsEqualsZeroList.size() - 1;i > -1;i--) { | 399 | for (int i = gpsEqualsZeroList.size() - 1;i > -1;i--) { |
| 400 | Map<String, Object> gez = gpsEqualsZeroList.get(i); | 400 | Map<String, Object> gez = gpsEqualsZeroList.get(i); |
| 401 | if ("normal".equals(gez.get("abnormalType"))) { | 401 | if ("normal".equals(gez.get("abnormalType"))) { |
| @@ -421,7 +421,7 @@ public class GpsServiceImpl implements GpsService { | @@ -421,7 +421,7 @@ public class GpsServiceImpl implements GpsService { | ||
| 421 | vm.put("endTime", vet); | 421 | vm.put("endTime", vet); |
| 422 | vm.put("stations", stations); | 422 | vm.put("stations", stations); |
| 423 | //vm.put("sections", sections); | 423 | //vm.put("sections", sections); |
| 424 | - | 424 | + |
| 425 | Map<String, String> stationcode2name = new HashMap<String, String>();//sectioncode2name = new HashMap<String, String>(); | 425 | Map<String, String> stationcode2name = new HashMap<String, String>();//sectioncode2name = new HashMap<String, String>(); |
| 426 | for (LsStationRoute lsr : stations) { | 426 | for (LsStationRoute lsr : stations) { |
| 427 | stationcode2name.put(lsr.getStationCode(), lsr.getStationName()); | 427 | stationcode2name.put(lsr.getStationCode(), lsr.getStationName()); |
| @@ -432,14 +432,14 @@ public class GpsServiceImpl implements GpsService { | @@ -432,14 +432,14 @@ public class GpsServiceImpl implements GpsService { | ||
| 432 | lv2station.put(lineId + "_" + lv.getVersions(), stationcode2name); | 432 | lv2station.put(lineId + "_" + lv.getVersions(), stationcode2name); |
| 433 | // 路段因为可能漂到其它线路路段 因此需要使用最新的全量路段 | 433 | // 路段因为可能漂到其它线路路段 因此需要使用最新的全量路段 |
| 434 | //lv2section.put(lineId + "_" + lv.getVersions(), sectioncode2name); | 434 | //lv2section.put(lineId + "_" + lv.getVersions(), sectioncode2name); |
| 435 | - | 435 | + |
| 436 | vlist.add(vm); | 436 | vlist.add(vm); |
| 437 | vmap.put(lineId + "_" + lv.getVersions(), vm); | 437 | vmap.put(lineId + "_" + lv.getVersions(), vm); |
| 438 | } | 438 | } |
| 439 | } | 439 | } |
| 440 | } | 440 | } |
| 441 | rsMap.put("lineVerson",vlist); | 441 | rsMap.put("lineVerson",vlist); |
| 442 | - | 442 | + |
| 443 | for (Map<String, Object> gps : list) { | 443 | for (Map<String, Object> gps : list) { |
| 444 | long ts = (long)gps.get("timestamp"); | 444 | long ts = (long)gps.get("timestamp"); |
| 445 | for (Map<String, Object> vm : vlist) { | 445 | for (Map<String, Object> vm : vlist) { |
| @@ -1174,7 +1174,7 @@ public class GpsServiceImpl implements GpsService { | @@ -1174,7 +1174,7 @@ public class GpsServiceImpl implements GpsService { | ||
| 1174 | } | 1174 | } |
| 1175 | //过滤数据 | 1175 | //过滤数据 |
| 1176 | for (SafeDriv sd : list) { | 1176 | for (SafeDriv sd : list) { |
| 1177 | - if (isSpecialLines(sd, map) && fieldEquals(fs, sd, map)) | 1177 | + if (isSpecialLines(sd, map) && fieldEqualstow(fs, sd, map)) |
| 1178 | rs.add(sd); | 1178 | rs.add(sd); |
| 1179 | } | 1179 | } |
| 1180 | 1180 | ||
| @@ -1295,9 +1295,9 @@ public class GpsServiceImpl implements GpsService { | @@ -1295,9 +1295,9 @@ public class GpsServiceImpl implements GpsService { | ||
| 1295 | } | 1295 | } |
| 1296 | }); | 1296 | }); |
| 1297 | } | 1297 | } |
| 1298 | - | 1298 | + |
| 1299 | /** | 1299 | /** |
| 1300 | - * | 1300 | + * |
| 1301 | * @param sd | 1301 | * @param sd |
| 1302 | * @param map | 1302 | * @param map |
| 1303 | * @return | 1303 | * @return |
| @@ -1305,7 +1305,7 @@ public class GpsServiceImpl implements GpsService { | @@ -1305,7 +1305,7 @@ public class GpsServiceImpl implements GpsService { | ||
| 1305 | public boolean isSpecialLines(SafeDriv sd, Map<String, Object> map) { | 1305 | public boolean isSpecialLines(SafeDriv sd, Map<String, Object> map) { |
| 1306 | String lines = (String)map.get("lines"); | 1306 | String lines = (String)map.get("lines"); |
| 1307 | if (lines == null) lines = ""; | 1307 | if (lines == null) lines = ""; |
| 1308 | - | 1308 | + |
| 1309 | if (Arrays.asList(lines.split(",")).contains(sd.getXlbm())) return true; | 1309 | if (Arrays.asList(lines.split(",")).contains(sd.getXlbm())) return true; |
| 1310 | return false; | 1310 | return false; |
| 1311 | } | 1311 | } |
| @@ -1333,6 +1333,32 @@ public class GpsServiceImpl implements GpsService { | @@ -1333,6 +1333,32 @@ public class GpsServiceImpl implements GpsService { | ||
| 1333 | return true; | 1333 | return true; |
| 1334 | } | 1334 | } |
| 1335 | 1335 | ||
| 1336 | + public boolean fieldEqualstow(List<Field> fs, Object obj, Map<String, Object> map) { | ||
| 1337 | + try { | ||
| 1338 | + String fv, v; | ||
| 1339 | + for (Field f : fs) { | ||
| 1340 | + if (StringUtils.isEmpty(map.get(f.getName()).toString())) | ||
| 1341 | + continue; | ||
| 1342 | + | ||
| 1343 | + if(f.get(obj) == null) | ||
| 1344 | + return false; | ||
| 1345 | + | ||
| 1346 | + fv = f.get(obj).toString(); | ||
| 1347 | + v = map.get(f.getName()).toString(); | ||
| 1348 | + SafeDriv sd = (SafeDriv) obj; | ||
| 1349 | + if(v.equals(sd.getJctype())) | ||
| 1350 | + return true; | ||
| 1351 | + else if(!fv.startsWith(v)/* && !fv.endsWith(v)*/) | ||
| 1352 | + return false; | ||
| 1353 | + } | ||
| 1354 | + } catch (Exception e) { | ||
| 1355 | + logger.error("", e); | ||
| 1356 | + return false; | ||
| 1357 | + } | ||
| 1358 | + return true; | ||
| 1359 | + } | ||
| 1360 | + | ||
| 1361 | + | ||
| 1336 | @Override | 1362 | @Override |
| 1337 | public List<GpsSpeed> findPosition(String deviceid, String startdate, | 1363 | public List<GpsSpeed> findPosition(String deviceid, String startdate, |
| 1338 | String enddate) throws ParseException{ | 1364 | String enddate) throws ParseException{ |
src/main/resources/static/real_control_v2/fragments/north/nav/safeDriving.html
| @@ -4,32 +4,35 @@ | @@ -4,32 +4,35 @@ | ||
| 4 | <div class="uk-modal-header"> | 4 | <div class="uk-modal-header"> |
| 5 | <h2>安全驾驶图像信息(当日)</h2></div> | 5 | <h2>安全驾驶图像信息(当日)</h2></div> |
| 6 | 6 | ||
| 7 | - <div class="uk-panel uk-panel-box uk-panel-box-primary"> | ||
| 8 | - <form class="uk-form search-form"> | ||
| 9 | - <fieldset data-uk-margin> | ||
| 10 | - <legend> | ||
| 11 | - 数据检索 | ||
| 12 | - </legend> | ||
| 13 | - <span class="horizontal-field">车辆</span> | ||
| 14 | - <div class="uk-autocomplete uk-form autocomplete-cars" > | ||
| 15 | - <input type="text" name="clzbh" placeholder="车辆自编号"> | ||
| 16 | - </div> | ||
| 17 | - <span class="horizontal-field">异常类型</span> | ||
| 18 | - <select name="yczltype"> | ||
| 19 | - <option value="">全部</option> | ||
| 20 | - <option value="A1">手部离开方向盘</option> | ||
| 21 | - <option value="A2">摄像头异常</option> | ||
| 22 | - <option value="A3">未戴安全带</option> | ||
| 23 | - <option value="A4">未戴袖章</option> | ||
| 24 | - <option value="A5">眨眼/疲劳驾驶</option> | ||
| 25 | - <option value="A6">打哈欠/打瞌睡</option> | ||
| 26 | - <option value="A7">行驶中与人交谈</option> | ||
| 27 | - </select> | ||
| 28 | - <button class="uk-button">检索</button> | ||
| 29 | - <!--<a id="showSSSpVedioModal" style="color: red;float: right;font-size: 12px;">查看实时视频</a>--> | ||
| 30 | - </fieldset> | ||
| 31 | - </form> | ||
| 32 | - </div> | 7 | + <div class="uk-panel uk-panel-box uk-panel-box-primary"> |
| 8 | + <form class="uk-form search-form"> | ||
| 9 | + <fieldset data-uk-margin> | ||
| 10 | + <legend> | ||
| 11 | + 数据检索 | ||
| 12 | + </legend> | ||
| 13 | + <span class="horizontal-field">车辆</span> | ||
| 14 | + <div class="uk-autocomplete uk-form autocomplete-cars" > | ||
| 15 | + <input type="text" name="clzbh" placeholder="车辆自编号"> | ||
| 16 | + </div> | ||
| 17 | + <span class="horizontal-field">异常类型</span> | ||
| 18 | + <select name="yczltype"> | ||
| 19 | + <option value="">全部</option> | ||
| 20 | + <option value="A1">手部离开方向盘</option> | ||
| 21 | + <option value="A2">摄像头异常</option> | ||
| 22 | + <option value="A3">未戴安全带</option> | ||
| 23 | + <option value="A4">未戴袖章</option> | ||
| 24 | + <option value="A5">眨眼/疲劳驾驶</option> | ||
| 25 | + <option value="A6">打哈欠/打瞌睡</option> | ||
| 26 | + <option value="A7">行驶中与人交谈</option> | ||
| 27 | + <option value="A11">抽烟</option> | ||
| 28 | + <option value="A12">驾驶车辆期间打电话</option> | ||
| 29 | + <option value="B4">疫情期间未带口罩</option> | ||
| 30 | + </select> | ||
| 31 | + <button class="uk-button">检索</button> | ||
| 32 | + <!--<a id="showSSSpVedioModal" style="color: red;float: right;font-size: 12px;">查看实时视频</a>--> | ||
| 33 | + </fieldset> | ||
| 34 | + </form> | ||
| 35 | + </div> | ||
| 33 | <div style="height: 495px;margin:5px 0 -18px;"> | 36 | <div style="height: 495px;margin:5px 0 -18px;"> |
| 34 | <table class="ct-fixed-table uk-table uk-table-hover"> | 37 | <table class="ct-fixed-table uk-table uk-table-hover"> |
| 35 | <thead> | 38 | <thead> |
| @@ -65,12 +68,15 @@ | @@ -65,12 +68,15 @@ | ||
| 65 | <td style="width: 10%;">{{sd.timeStr}}</td> | 68 | <td style="width: 10%;">{{sd.timeStr}}</td> |
| 66 | <td style="width: 10%;"> | 69 | <td style="width: 10%;"> |
| 67 | {{if sd.yczltype=='A1'}} | 70 | {{if sd.yczltype=='A1'}} |
| 68 | - {{if sd.jctype==0}} | ||
| 69 | - 双脱手 | ||
| 70 | - {{else if sd.jctype==1}} | ||
| 71 | - 单脱手 | ||
| 72 | - {{/if}} | 71 | + {{if sd.jctype==0}} |
| 72 | + 双脱手 | ||
| 73 | + {{else if sd.jctype==1}} | ||
| 74 | + 单脱手 | ||
| 75 | + {{/if}} | ||
| 76 | + {{else if sd.jctype == 'B4'}} | ||
| 77 | + 未戴口罩 | ||
| 73 | {{/if}} | 78 | {{/if}} |
| 79 | + | ||
| 74 | </td> | 80 | </td> |
| 75 | <td style="width: 10%;"> | 81 | <td style="width: 10%;"> |
| 76 | <a class="image_link" href="{{sd.url}}.jpg" data-uk-lightbox="{group:'jpg_group1'}" title="{{sd.title}}">JPG</a> | 82 | <a class="image_link" href="{{sd.url}}.jpg" data-uk-lightbox="{group:'jpg_group1'}" title="{{sd.title}}">JPG</a> |
| @@ -117,7 +123,6 @@ | @@ -117,7 +123,6 @@ | ||
| 117 | var query = function() { | 123 | var query = function() { |
| 118 | scanFlag = false; | 124 | scanFlag = false; |
| 119 | var data = form.serializeJSON(); | 125 | var data = form.serializeJSON(); |
| 120 | - debugger; | ||
| 121 | var lines = new Array(); | 126 | var lines = new Array(); |
| 122 | for (var i = 0;i < gb_data_basic.activeLines.length;i++) { | 127 | for (var i = 0;i < gb_data_basic.activeLines.length;i++) { |
| 123 | lines.push(gb_data_basic.activeLines[i].lineCode); | 128 | lines.push(gb_data_basic.activeLines[i].lineCode); |
| @@ -136,17 +141,27 @@ | @@ -136,17 +141,27 @@ | ||
| 136 | this.xlmc=''; | 141 | this.xlmc=''; |
| 137 | stm = moment(this.ts); | 142 | stm = moment(this.ts); |
| 138 | this.timeStr = stm.format('YYYY-MM-DD HH:mm:ss'); | 143 | this.timeStr = stm.format('YYYY-MM-DD HH:mm:ss'); |
| 139 | - this.yczlText= gb_safe_driv.safeCode[this.yczltype]; | 144 | + if(this.jctype == 'B4') |
| 145 | + this.yczlText= gb_safe_driv.safeCode[this.jctype]; | ||
| 146 | + else | ||
| 147 | + this.yczlText= gb_safe_driv.safeCode[this.yczltype]; | ||
| 140 | //拼接图片地址 | 148 | //拼接图片地址 |
| 141 | - p = (this.sbbh+'_'+this.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | 149 | + if(this.jctype == 'B4') |
| 150 | + p = (this.sbbh+'_A'+this.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | ||
| 151 | + else | ||
| 152 | + p = (this.sbbh+'_'+this.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | ||
| 153 | + | ||
| 142 | url = stm.format('YYYYMMDD')+'/'+p+'/'+p; | 154 | url = stm.format('YYYYMMDD')+'/'+p+'/'+p; |
| 143 | this.url = gb_safe_driv.urlPath + url; | 155 | this.url = gb_safe_driv.urlPath + url; |
| 144 | //title | 156 | //title |
| 145 | var call_btn_html = '<button class="uk-button uk-button-mini uk-button-primary" ' + | 157 | var call_btn_html = '<button class="uk-button uk-button-mini uk-button-primary" ' + |
| 146 | - 'id="m_voip_call_btn_001" ' + | ||
| 147 | - 'type="button" ' + | ||
| 148 | - 'data-nbbm="'+this.clzbh+'">打电话</button>'; | ||
| 149 | - this.title = this.clzbh+' '+stm.format('HH时mm分ss秒')+' '+this.yczlText + ' ' + call_btn_html; | 158 | + 'id="m_voip_call_btn_001" ' + |
| 159 | + 'type="button" ' + | ||
| 160 | + 'data-nbbm="'+this.clzbh+'">打电话</button>'; | ||
| 161 | + if(this.jctype == 'B4') | ||
| 162 | + this.title = this.clzbh+' '+stm.format('HH时mm分ss秒')+' '+'A'+this.yczltype + ' ' + call_btn_html; | ||
| 163 | + else | ||
| 164 | + this.title = this.clzbh+' '+stm.format('HH时mm分ss秒')+' '+this.yczltype + ' ' + call_btn_html; | ||
| 150 | }); | 165 | }); |
| 151 | 166 | ||
| 152 | var bodyHtml = template('all-safe_dring-table-temp', { | 167 | var bodyHtml = template('all-safe_dring-table-temp', { |
src/main/resources/static/real_control_v2/js/safe_driv/safeDriv.js
| @@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
| 4 | var gb_safe_driv = (function () { | 4 | var gb_safe_driv = (function () { |
| 5 | 5 | ||
| 6 | var codes = { | 6 | var codes = { |
| 7 | + 'B4': '未带口罩', | ||
| 7 | 'A1': '手部违规', | 8 | 'A1': '手部违规', |
| 8 | 'A2': '摄像头偏离', | 9 | 'A2': '摄像头偏离', |
| 9 | 'A3': '安全带', | 10 | 'A3': '安全带', |
| @@ -11,7 +12,9 @@ var gb_safe_driv = (function () { | @@ -11,7 +12,9 @@ var gb_safe_driv = (function () { | ||
| 11 | 'A5': '眨眼/疲劳驾驶', | 12 | 'A5': '眨眼/疲劳驾驶', |
| 12 | 'A6': '打哈欠/打瞌睡', | 13 | 'A6': '打哈欠/打瞌睡', |
| 13 | 'A7': '与人交谈', | 14 | 'A7': '与人交谈', |
| 14 | - 'A9': '玩手机' | 15 | + 'A9': '玩手机', |
| 16 | + 'A11': '抽烟', | ||
| 17 | + 'A12': '打电话' | ||
| 15 | }; | 18 | }; |
| 16 | 19 | ||
| 17 | var path = 'http://211.95.61.66:9005/CurrentSafeDriving/'; | 20 | var path = 'http://211.95.61.66:9005/CurrentSafeDriving/'; |
| @@ -24,9 +27,17 @@ var gb_safe_driv = (function () { | @@ -24,9 +27,17 @@ var gb_safe_driv = (function () { | ||
| 24 | var stm = moment(sd.ts); | 27 | var stm = moment(sd.ts); |
| 25 | sd.timeStr = stm.format('HH时mm分ss秒'); | 28 | sd.timeStr = stm.format('HH时mm分ss秒'); |
| 26 | //异常状态文本 | 29 | //异常状态文本 |
| 27 | - sd.ycztText = codes[sd.yczltype]; | 30 | + if(sd.jctype == 'B4') |
| 31 | + sd.ycztText = codes[sd.jctype]; | ||
| 32 | + else | ||
| 33 | + sd.ycztText = codes[sd.yczltype]; | ||
| 34 | + var p; | ||
| 28 | //图片地址 | 35 | //图片地址 |
| 29 | - var p = (sd.sbbh+'_'+sd.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | 36 | + if(sd.jctype == 'B4') |
| 37 | + p = (sd.sbbh+'_A'+sd.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | ||
| 38 | + else | ||
| 39 | + p = (sd.sbbh+'_'+sd.yczltype+'_'+stm.format('YYYYMMDDHHmmss')); | ||
| 40 | + | ||
| 30 | var url = stm.format('YYYYMMDD')+'/'+p+'/'+p; | 41 | var url = stm.format('YYYYMMDD')+'/'+p+'/'+p; |
| 31 | sd.url = path + url + '.gif'; | 42 | sd.url = path + url + '.gif'; |
| 32 | 43 | ||
| @@ -68,43 +79,43 @@ var gb_safe_driv = (function () { | @@ -68,43 +79,43 @@ var gb_safe_driv = (function () { | ||
| 68 | 'A6': 2, | 79 | 'A6': 2, |
| 69 | 'A7': 2 | 80 | 'A7': 2 |
| 70 | }; | 81 | }; |
| 71 | -/* var showVedioModal = function (type) { | ||
| 72 | - var channel = channelMap[type]?channelMap[type]:1; | ||
| 73 | - open_modal_dom(vedioModal.replace('^^channel^^', channel) ,{}, {modal: false}); | ||
| 74 | - $('#ssspVedioModal #vedioIframe').on('load', function () { | ||
| 75 | - var that = this; | ||
| 76 | - setTimeout(function () { | ||
| 77 | - $(that).show(); | ||
| 78 | - $('#ssspVedioModal p.loading').remove(); | ||
| 79 | - }, 500); | ||
| 80 | - }); | ||
| 81 | - };*/ | ||
| 82 | - | ||
| 83 | -/* $(document).on('click', '#openVedioModalBtn', function () { | ||
| 84 | - showVedioModal($(this).data('type')); | ||
| 85 | - });*/ | ||
| 86 | - | ||
| 87 | - | ||
| 88 | -/* var showCallPhoneModal = function () { | ||
| 89 | - open_modal_dom(phoneModal ,{}, {modal: false}); | ||
| 90 | - $('#callPhoneModal #phoneIframe').on('load', function () { | ||
| 91 | - var that = this; | ||
| 92 | - var iframe = this.contentWindow.document.body; | ||
| 93 | - setTimeout(function () { | ||
| 94 | - //修改css | ||
| 95 | - $(iframe).find('.CallCenterToolBar').css('height', '200px').css('width', '100%').css('top', '10px').css('left', 'calc(50% - 148px)').css('box-shadow', 'none'); | ||
| 96 | - $(iframe).find('.CallCenterToolBar .top').css('display', 'none'); | ||
| 97 | - | ||
| 98 | - $('.toolBar td[data-action=call]', iframe).trigger('click'); | ||
| 99 | - | ||
| 100 | - //焦点 | ||
| 101 | - $('input#telNumber', iframe).focus(); | ||
| 102 | - | ||
| 103 | - $(that).show(); | ||
| 104 | - $('#callPhoneModal p.loading').remove(); | ||
| 105 | - }, 700); | ||
| 106 | - }); | ||
| 107 | - };*/ | 82 | + /* var showVedioModal = function (type) { |
| 83 | + var channel = channelMap[type]?channelMap[type]:1; | ||
| 84 | + open_modal_dom(vedioModal.replace('^^channel^^', channel) ,{}, {modal: false}); | ||
| 85 | + $('#ssspVedioModal #vedioIframe').on('load', function () { | ||
| 86 | + var that = this; | ||
| 87 | + setTimeout(function () { | ||
| 88 | + $(that).show(); | ||
| 89 | + $('#ssspVedioModal p.loading').remove(); | ||
| 90 | + }, 500); | ||
| 91 | + }); | ||
| 92 | + };*/ | ||
| 93 | + | ||
| 94 | + /* $(document).on('click', '#openVedioModalBtn', function () { | ||
| 95 | + showVedioModal($(this).data('type')); | ||
| 96 | + });*/ | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + /* var showCallPhoneModal = function () { | ||
| 100 | + open_modal_dom(phoneModal ,{}, {modal: false}); | ||
| 101 | + $('#callPhoneModal #phoneIframe').on('load', function () { | ||
| 102 | + var that = this; | ||
| 103 | + var iframe = this.contentWindow.document.body; | ||
| 104 | + setTimeout(function () { | ||
| 105 | + //修改css | ||
| 106 | + $(iframe).find('.CallCenterToolBar').css('height', '200px').css('width', '100%').css('top', '10px').css('left', 'calc(50% - 148px)').css('box-shadow', 'none'); | ||
| 107 | + $(iframe).find('.CallCenterToolBar .top').css('display', 'none'); | ||
| 108 | + | ||
| 109 | + $('.toolBar td[data-action=call]', iframe).trigger('click'); | ||
| 110 | + | ||
| 111 | + //焦点 | ||
| 112 | + $('input#telNumber', iframe).focus(); | ||
| 113 | + | ||
| 114 | + $(that).show(); | ||
| 115 | + $('#callPhoneModal p.loading').remove(); | ||
| 116 | + }, 700); | ||
| 117 | + }); | ||
| 118 | + };*/ | ||
| 108 | 119 | ||
| 109 | $(document).on('click', '#m_voip_call_btn_001', function () { | 120 | $(document).on('click', '#m_voip_call_btn_001', function () { |
| 110 | //debugger | 121 | //debugger |