Commit 6be2c413380b2a93baf5ec1b170b4b5c4b174030

Authored by 潘钊
Committed by zb
1 parent ee5cd56f

update...

src/main/java/com/bsth/controller/excep/SpeedingController.java
1 1 package com.bsth.controller.excep;
2 2  
3 3 import java.text.ParseException;
4   -import java.util.ArrayList;
5 4 import java.util.HashMap;
6 5 import java.util.List;
7 6 import java.util.Map;
... ... @@ -10,17 +9,13 @@ import org.springframework.beans.factory.annotation.Autowired;
10 9 import org.springframework.web.bind.annotation.RequestMapping;
11 10 import org.springframework.web.bind.annotation.RequestMethod;
12 11 import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.ResponseBody;
14 12 import org.springframework.web.bind.annotation.RestController;
15 13  
16 14 import com.bsth.controller.BaseController;
17 15 import com.bsth.data.BasicData;
18   -import com.bsth.entity.excep.Offline;
19 16 import com.bsth.entity.excep.Speeding;
20 17 import com.bsth.entity.sys.SysUser;
21   -import com.bsth.service.excep.OfflineService;
22 18 import com.bsth.service.excep.SpeedingService;
23   -import com.bsth.service.gps.entity.GpsSpeed;
24 19 import com.bsth.util.PageObject;
25 20  
26 21 @RestController
... ... @@ -38,6 +33,15 @@ public class SpeedingController extends BaseController<SysUser, Integer>{
38 33 return pageObject;
39 34 }
40 35  
  36 + @RequestMapping(value = "/mhpagequery",method = RequestMethod.GET)
  37 + public PageObject<Speeding> mhpagequery(@RequestParam Map<String, Object> map){
  38 + PageObject<Speeding> pageObject = null;
  39 + map.put("curPage", map.get("page").toString());
  40 + map.put("pageData","10");
  41 + pageObject=speedingService.mhpagequery(map);
  42 + return pageObject;
  43 + }
  44 +
41 45 @RequestMapping(value = "/getReport", method = RequestMethod.POST)
42 46 public Map<String, Object> getReport(@RequestParam Map<String, Object> map) {
43 47 Map<String, Object> modelMap = new HashMap<String, Object>();
... ...
src/main/java/com/bsth/data/gpsdata/arrival/handlers/CorrectSignalHandle.java
... ... @@ -53,15 +53,15 @@ public class CorrectSignalHandle extends SignalHandle {
53 53  
54 54 //(转发的数据不管)
55 55 if(gps.getSource() != 0){
56   - //gps=非营运 && 班次=非空驶 ;切换到营运状态
57   - if(!gps.isService() &&
  56 + //gps=非营运 或走向不对 && 班次=非空驶 ;切换到营运状态
  57 + if((!gps.isService() || gps.getUpDown() != updown) &&
58 58 !dayOfSchedule.emptyService(task)){
59   - gpsStatusManager.changeServiceState(gps.getNbbm(), updown, 0, null);
  59 + gpsStatusManager.changeServiceState(gps.getNbbm(), updown, 0, "系统@同步");
60 60 }
61 61  
62 62 //需要切换线路
63 63 if(!task.getXlBm().equals(gps.getLineId())){
64   - gpsStatusManager.changeLine(gps.getNbbm(), task.getXlBm(), null);
  64 + gpsStatusManager.changeLine(gps.getNbbm(), task.getXlBm(), "系统@同步");
65 65 }
66 66 }
67 67  
... ...
src/main/java/com/bsth/service/excep/SpeedingService.java
... ... @@ -11,4 +11,5 @@ public interface SpeedingService {
11 11 Map<String, Object> getReport( Map<String, Object> map);
12 12 List<Speeding> findPosition(String deviceid, String startdate,
13 13 String enddate);
  14 + PageObject<Speeding> mhpagequery(Map<String, Object> map);
14 15 }
... ...
src/main/java/com/bsth/service/excep/impl/SpeedingServiceImpl.java
... ... @@ -351,6 +351,162 @@ public class SpeedingServiceImpl implements SpeedingService {
351 351 return listResult;
352 352  
353 353 }
354   -
355 354  
  355 + @Override
  356 + public PageObject<Speeding> mhpagequery(Map<String, Object> map) {
  357 + String sql="select count(*) record from bsth_c_speedingmh where 1=1 ";
  358 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  359 + Object line=map.get("line");
  360 + Object updown=map.get("updown");
  361 + Object startDate=map.get("startDate");
  362 + Object endDate=map.get("endDate");
  363 + Object times=map.get("times");
  364 +
  365 + if(line!=null){
  366 + sql +=" and line like'%"+line.toString().trim()+"%'";
  367 + }
  368 + if(updown!=null){
  369 + sql +="and up_down like '%"+updown.toString()+"%'";
  370 + }
  371 + if(startDate!=null){
  372 + if (startDate.toString().length()>0) {
  373 + try {
  374 + Long t1 = sdf.parse(startDate.toString()+" 00:00:00").getTime();
  375 + sql += " and startTimestamp >="+t1;
  376 + } catch (ParseException e) {
  377 + e.printStackTrace();
  378 + }
  379 + }
  380 + }
  381 + if(endDate!=null){
  382 + if (endDate.toString().length()>0) {
  383 + try {
  384 + Long t2=sdf.parse(endDate.toString()+" 23:59:59").getTime();
  385 + sql += " and endTimestamp <="+t2;
  386 + } catch (ParseException e) {
  387 + e.printStackTrace();
  388 + }
  389 + }
  390 + }
  391 +
  392 + if(times!=null && times.toString().length()>0){
  393 + sql +=" and (endTimestamp-startTimestamp) >="+Integer.valueOf(times.toString())*1000;
  394 + }
  395 +
  396 + Connection conn = null;
  397 + PreparedStatement ps = null;
  398 + ResultSet rs = null;
  399 + int totalData = 0;
  400 + try {
  401 + conn = DBUtils_MS.getConnection();
  402 + ps = conn.prepareStatement(sql);
  403 + rs = ps.executeQuery();
  404 + if(rs.next()){
  405 + totalData=rs.getInt("record");
  406 + }
  407 + } catch (SQLException e) {
  408 + e.printStackTrace();
  409 + }finally {
  410 + DBUtils_MS.close(rs, ps, conn);
  411 + }
  412 + PageHelper pageHelper = new PageHelper(totalData, map);
  413 + List<Speeding> list=findList(pageHelper.getMap());
  414 + PageObject<Speeding> pageObject = pageHelper.getPageObject();
  415 + pageObject.setDataList(list);
  416 + return pageObject;
  417 + }
  418 +
  419 + static List<Speeding> findList(Map<String, Object> map) {
  420 + Connection conn = null;
  421 + PreparedStatement ps = null;
  422 + ResultSet rs = null;
  423 + int page=Integer.parseInt(map.get("page").toString());
  424 + List<Speeding> list=new ArrayList<Speeding>();
  425 + String sql="select * from bsth_c_speedingmh where 1=1 ";
  426 + Object line=map.get("line");
  427 + Object updown=map.get("updown");
  428 + Object startDate=map.get("startDate");
  429 + Object endDate=map.get("endDate");
  430 + Object times=map.get("times");
  431 +
  432 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  433 + if(line!=null){
  434 + sql +=" and line like'%"+line.toString().trim()+"%'";
  435 + }
  436 + if(updown!=null){
  437 + sql +="and up_down like '%"+updown.toString()+"%'";
  438 + }
  439 + if(startDate!=null){
  440 + if (startDate.toString().length()>0) {
  441 + try {
  442 + Long t1=sdf.parse(startDate.toString()+" 00:00:00").getTime();
  443 + sql += " and startTimestamp >="+t1;
  444 + } catch (ParseException e) {
  445 + e.printStackTrace();
  446 + }
  447 + }
  448 + }
  449 + if(endDate!=null){
  450 + if (endDate.toString().length()>0) {
  451 + try {
  452 + Long t2=sdf.parse(endDate.toString()+" 23:59:59").getTime();
  453 + sql += " and endTimestamp <="+t2;
  454 + } catch (ParseException e) {
  455 + e.printStackTrace();
  456 + }
  457 + }
  458 +
  459 + }
  460 +
  461 + if(times!=null && times.toString().length()>0){
  462 + sql +=" and (endTimestamp-startTimestamp) >="+Integer.valueOf(times.toString())*1000;
  463 + }
  464 +
  465 + sql +=" order by startTimestamp limit ?,?";
  466 +
  467 + try {
  468 + conn = DBUtils_MS.getConnection();
  469 + ps = conn.prepareStatement(sql);
  470 + ps.setInt(1, page*10); // O-最大条数 -- M-起始条数
  471 + ps.setInt(2, 10); // O-最小条数 -- M-显示条数
  472 + rs = ps.executeQuery();
  473 + list = resultToList(rs);
  474 + } catch (SQLException e) {
  475 + e.printStackTrace();
  476 + }finally {
  477 + DBUtils_MS.close(rs, ps, conn);
  478 + }
  479 + return list;
  480 + }
  481 +
  482 + static List<Speeding> resultToList(ResultSet rs) throws SQLException{
  483 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  484 + List<Speeding> list=new ArrayList<Speeding>();
  485 + Speeding speeding;
  486 + Location location;
  487 + while(rs.next()){
  488 + speeding=new Speeding();
  489 + speeding.setId(rs.getInt("id"));
  490 + speeding.setVehicle(BasicData.deviceId2NbbmMap.get(rs.getObject("vehicle").toString()));
  491 + speeding.setLine(rs.getInt("line"));
  492 + //run 时注解
  493 + speeding.setLineName(BasicData.lineCode2NameMap.get(speeding.getLine().toString()));
  494 + speeding.setLineId(BasicData.lineId2CodeMap.inverse().get(speeding.getLine().toString()));
  495 + speeding.setUpDown(rs.getInt("up_down"));
  496 + //将gps的经纬度转成百度的经纬度
  497 + location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(TransGPS.LocationMake(rs.getFloat("startLon"), rs.getFloat("startLat"))));
  498 + speeding.setLon((float)location.getLng());
  499 + speeding.setLat((float)location.getLat());
  500 + location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(TransGPS.LocationMake(rs.getFloat("endLon"), rs.getFloat("endLat"))));
  501 + speeding.setEndlon((float)location.getLng());
  502 + speeding.setEndlat((float)location.getLat());
  503 + speeding.setTimestamp((Long.valueOf(rs.getObject("startTimestamp").toString())));
  504 + speeding.setTimestampDate(sdf.format(new Date(speeding.getTimestamp())));
  505 + speeding.setEndtimestamp((Long.valueOf(rs.getObject("endTimestamp").toString())));
  506 + speeding.setEndtimestampDate(sdf.format(new Date(speeding.getEndtimestamp())));
  507 + list.add(speeding);
  508 + }
  509 + return list;
  510 + }
  511 +
356 512 }
... ...
src/main/resources/static/pages/excep/MHspeedingList.html 0 → 100644
  1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>超速异常</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li><a href="/pages/home.html" data-pjax>主页</a> <i class="fa fa-circle"></i></li>
  9 + <li><span class="active">异常查看</span> <i class="fa fa-circle"></i></li>
  10 + <li><span class="active">超速异常</span></li>
  11 +</ul>
  12 +
  13 +<div class="row">
  14 + <div class="col-md-12">
  15 + <!-- Begin: life time stats -->
  16 + <div class="portlet light portlet-fit portlet-datatable bordered">
  17 + <div class="portlet-title">
  18 + <div class="caption">
  19 + <i class="fa fa-times-circle"></i> <span
  20 + class="caption-subject font-dark sbold uppercase">超速异常数据表</span>
  21 + </div>
  22 + <div class="actions">
  23 + </div>
  24 + </div>
  25 + <div class="portlet-body">
  26 + <div class="table-container" style="margin-top: 10px">
  27 + <table
  28 + class="table table-striped table-bordered table-hover table-checkable"
  29 + id="datatable_speeding">
  30 + <thead>
  31 + <tr role="row" class="heading">
  32 + <th width="3%">#</th>
  33 + <th width="4%">线路</th>
  34 + <th width="6%">车辆自编号</th>
  35 + <th width="8%">上下行</th>
  36 + <th width="10%">开始时间</th>
  37 + <th width="10%">结束时间</th>
  38 + <th width="8%">持续时间</th>
  39 + <th width="8%">查看轨迹</th>
  40 + <th width="6%">操作</th>
  41 + </tr>
  42 + <tr role="row" class="filter">
  43 + <td></td>
  44 + <td>
  45 + <select class="form-control" name="line" id="line" style="width: 100px;"></select>
  46 + </td>
  47 + <td>
  48 + <select class="form-control" name="nbbm" id="nbbm" style="width: 100px;"></select>
  49 + </td>
  50 + <!-- <td>
  51 +
  52 + </td>
  53 + <td>
  54 + </td> -->
  55 + <td>
  56 + <select class="form-control form-filter " name="updown" style="width: 90px;">
  57 + <option value="">请选择...</option>
  58 + <option value="0">上行</option>
  59 + <option value="1">下行</option>
  60 + <option value="-1">无效</option>
  61 + </select>
  62 + </td>
  63 + <td>
  64 + <input class="form-control" type="date" name="startDate" />
  65 + </td>
  66 + <td>
  67 + <input class="form-control" type="date" name="endDate" />
  68 + </td>
  69 + <td>
  70 + >=<input class="form-control" type="text" name="times" style="width:50px;display:inline!important"
  71 + onkeyup="(this.v=function(){this.value=this.value.replace(/[^0-9-]+/,'');}).call(this)" onblur="this.v();"/>
  72 + </td>
  73 + <td>
  74 + </td>
  75 + <td>
  76 + <button class="btn btn-sm green btn-outline filter-submit margin-bottom" >
  77 + <i class="fa fa-search"></i> 搜索</button>
  78 +
  79 + <button class="btn btn-sm red btn-outline filter-cancel">
  80 + <i class="fa fa-times"></i> 重置</button>
  81 + </td>
  82 + </tr>
  83 + </thead>
  84 + <tbody></tbody>
  85 + </table>
  86 + <div style="text-align: right;">
  87 + <ul id="pagination" class="pagination"></ul>
  88 + </div>
  89 + </div>
  90 + </div>
  91 + </div>
  92 + </div>
  93 +</div>
  94 +
  95 +<script id="speeding_list_temp" type="text/html">
  96 +{{each list as obj i}}
  97 +<tr>
  98 + <td style="vertical-align: middle;">
  99 + <input type="checkbox" class="group-checkable icheck" data-id="{{obj.id}}">
  100 + </td>
  101 + <td>
  102 + {{obj.lineName}}
  103 + </td>
  104 + <td>
  105 + {{obj.vehicle}}
  106 + </td>
  107 + <td>
  108 + {{if obj.upDown==0}}
  109 + 上行
  110 + {{else if obj.upDown==1}}
  111 + 下行
  112 + {{else}}
  113 + 无效
  114 + {{/if}}
  115 + </td>
  116 + <td>
  117 + {{obj.timestampDate}}
  118 + </td>
  119 + <td>
  120 + {{obj.endtimestampDate}}
  121 + </td>
  122 + <td>
  123 + {{(obj.endtimestamp-obj.timestamp)/1000}}秒
  124 + </td>
  125 + <td>
  126 + <a class="btn default blue-stripe btn-sm lookTrajectory" data-vehicle ="{{obj.vehicle}}"
  127 + data-startdate="{{obj.timestampDate}}" data-enddate="{{obj.endtimestampDate}}"
  128 + data-lon="{{obj.lon}}" data-lat="{{obj.lat}}" data-endlon="{{obj.endlon}}"
  129 + data-endlat="{{obj.endlat}}" data-lineid="{{obj.lineId}}" data-updown="{{obj.upDown}}">
  130 + 查看轨迹
  131 + </a>
  132 + </td>
  133 + <td>
  134 +
  135 + </td>
  136 +</tr>
  137 +{{/each}}
  138 +{{if list.length == 0}}
  139 +<tr>
  140 + <td colspan=8><h6 class="muted">没有找到相关数据</h6></td>
  141 +</tr>
  142 +{{/if}}
  143 +</script>
  144 +
  145 +<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>
  146 +
  147 +<script>
  148 +$(function(){
  149 + var page = 0, initPagination;
  150 + var icheckOptions = {
  151 + checkboxClass: 'icheckbox_flat-blue',
  152 + increaseArea: '20%'
  153 + }
  154 +
  155 + var date = new Date();
  156 + var week = date.getDay();//表明今天是周几。0-6表示周日到周六
  157 + var dateTime = date.getTime();//当前时间的时间戳,单位秒。
  158 +
  159 + var endTime = dateTime-week*24*3600*1000;//上周末、格式为时间戳。
  160 + var startTime = endTime-6*24*3600*1000;//上周一、格式为时间戳。
  161 + var endDate = timeToData(endTime);
  162 + var startDate = timeToData(startTime);
  163 + //表单默认选择上周一到上周日的超速信息。
  164 + $("input[name='endDate']")[0].value = endDate;
  165 + $("input[name='startDate']")[0].value = startDate;
  166 + var parameter = new Object();
  167 + parameter.endDate = $("input[name='endDate']")[0].value;
  168 + parameter.startDate = $("input[name='startDate']")[0].value;
  169 + jsDoQuery(parameter, true);
  170 + //搜索线路
  171 + $.get('/basic/lineCode2Name',function(result){
  172 + var data=[];
  173 + data.push({id: " ", text: "全部线路"});
  174 + for(var code in result){
  175 + data.push({id: code, text: result[code]});
  176 + }
  177 + initPinYinSelect2('#line',data,'');
  178 + });
  179 +
  180 + //时间戳转换为年月日
  181 + function timeToData(time){
  182 + var date = new Date(time);
  183 + var year = date.getFullYear();
  184 + var Month = date.getMonth()+1>10?date.getMonth()+1:"0"+(date.getMonth()+1);
  185 + var Day = date.getDate()>9?date.getDate():"0"+date.getDate();
  186 + return year+"-"+Month+"-"+Day;
  187 + }
  188 +
  189 + //重置
  190 + $('tr.filter .filter-cancel').on('click', function(){
  191 + $('tr.filter input, select').val('').change();
  192 + jsDoQuery(null, true);
  193 + });
  194 +
  195 + //提交
  196 + $('tr.filter .filter-submit').on('click', function(){
  197 + var cells = $('tr.filter')[0].cells
  198 + ,params = {}
  199 + ,name;
  200 + $.each(cells, function(i, cell){
  201 + var items = $('input,select', cell);
  202 + for(var j = 0, item; item = items[j++];){
  203 + name = $(item).attr('name');
  204 + if(name){
  205 + params[name] = $(item).val();
  206 + }
  207 + }
  208 + });
  209 + page = 0;
  210 + jsDoQuery(params, true);
  211 + });
  212 +
  213 + /*
  214 + * 获取数据 p: 要提交的参数, pagination: 是否重新分页
  215 + */
  216 + function jsDoQuery(p, pagination){
  217 + var params = {};
  218 + if(p)
  219 + params = p;
  220 + //更新时间排序
  221 + params['order'] = 'lastLoginDate';
  222 + params['page'] = page;
  223 + var i = layer.load(2);
  224 + $get('/speeding/mhpagequery' ,params, function(data){
  225 + var bodyHtm = template('speeding_list_temp', {list: data.dataList});
  226 + $('#datatable_speeding tbody').html(bodyHtm)
  227 + .find('.icheck').iCheck(icheckOptions)
  228 + .on('ifChanged', iCheckChange);
  229 + if(pagination && data.dataList.length > 0){
  230 + //重新分页
  231 + initPagination = true;
  232 + showPagination(data);
  233 + }
  234 + layer.close(i);
  235 + $(".lookTrajectory").click(function(){
  236 + var vehicle = $(this).data('vehicle');
  237 + var startDate = $(this).data('startdate');
  238 + var endDate = $(this).data('enddate');
  239 + var lon = $(this).data('lon');
  240 + var lat = $(this).data('lat');
  241 + var endLon = $(this).data('endlon');
  242 + var endLat = $(this).data('endlat');
  243 + var lineid = $(this).data('lineid');
  244 + var upDown = $(this).data('updown');
  245 + var storage = window.localStorage;
  246 + storage.setItem("zbhAndDate",vehicle+","+startDate+","+endDate+","+lon+","+lat+","+endLon+","+endLat+","+lineid+","+upDown);
  247 + $.get('/pages/excep/speedingMap.html?',function (result) {
  248 + layer.open({
  249 + type: 1,
  250 + title:'<i class="uk-icon-play-circle"></i>轨迹回放',
  251 + shadeClose: true,
  252 + shade: true,
  253 + scrollbar: false,
  254 + maxmin: false, //开启最大化最小化按钮
  255 + area: ['100%', '100%'],
  256 + content:result,//内容
  257 + });
  258 + });
  259 + })
  260 + });
  261 + }
  262 +
  263 + function iCheckChange(){
  264 + var tr = $(this).parents('tr');
  265 + if(this.checked)
  266 + tr.addClass('row-active');
  267 + else
  268 + tr.removeClass('row-active');
  269 +
  270 + if($('#datatable_resource input.icheck:checked').length == 1)
  271 + $('#removeButton').removeAttr('disabled');
  272 + else
  273 + $('#removeButton').attr('disabled', 'disabled');
  274 + }
  275 +
  276 + function showPagination(data){
  277 + //分页
  278 + $('#pagination').jqPaginator({
  279 + totalPages: data.totalPage,//总页数
  280 + visiblePages: 6,// 中间显示页数
  281 + currentPage: page + 1,
  282 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  283 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  284 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  285 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  286 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  287 + onPageChange: function (num, type) {
  288 + if(initPagination){
  289 + initPagination = false;
  290 + return;
  291 + }
  292 + var cells = $('tr.filter')[0].cells
  293 + ,params = {}
  294 + ,name;
  295 + $.each(cells, function(i, cell){
  296 + var items = $('input,select', cell);
  297 + for(var j = 0, item; item = items[j++];){
  298 + name = $(item).attr('name');
  299 + if(name){
  300 + params[name] = $(item).val();
  301 + }
  302 + }
  303 + });
  304 + page = num - 1;
  305 + jsDoQuery(params, false);
  306 + }
  307 + });
  308 + }
  309 +
  310 + //删除
  311 + $('#removeButton').on('click', function(){
  312 + if($(this).attr('disabled'))
  313 + return;
  314 +
  315 + var id = $('#datatable_resource input.icheck:checked').data('id');
  316 +
  317 + removeConfirm('确定要删除选中的数据?', '/resource/' + id ,function(){
  318 + $('tr.filter .filter-submit').click();
  319 + });
  320 + });
  321 +
  322 +$("#line").on("change",initXl);
  323 +function initXl(){
  324 +$('#nbbm').select2({
  325 + placeholder: '搜索车辆...',
  326 + ajax: {
  327 + url: '/report/carList',
  328 + dataType: 'json',
  329 + delay: 150,
  330 + data: function (params) {
  331 + return {nbbm: params.term,
  332 + gsbm:"",
  333 + fgsbm:"",
  334 + xlbm:$('#line').val()};
  335 + },
  336 + processResults: function (data) {
  337 + return {
  338 + results: data
  339 + };
  340 + },
  341 + cache: true
  342 + },
  343 + templateResult: function (repo) {
  344 + if (repo.loading) return repo.text;
  345 + var h = '<span>' + repo.text + '</span>';
  346 + h += (repo.lineName ? '&nbsp;<span class="select2-desc">' + repo.lineName + '</span>' : '');
  347 + return h;
  348 + },
  349 + escapeMarkup: function (markup) {
  350 + return markup;
  351 + },
  352 + minimumInputLength: 1,
  353 + templateSelection: function (repo) {
  354 + return repo.text;
  355 + },
  356 + language: {
  357 + noResults: function () {
  358 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  359 + },
  360 + inputTooShort: function (e) {
  361 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  362 + },
  363 + searching: function () {
  364 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  365 + }
  366 + }
  367 +});
  368 +}
  369 +
  370 +
  371 +//改变状态
  372 +function changeEnabled(id,enabled){
  373 + $get('/user/changeEnabled',{id:id,enabled:enabled},function(result){
  374 + jsDoQuery(null, true);
  375 + })
  376 +}
  377 +});
  378 +</script>
0 379 \ No newline at end of file
... ...
src/main/resources/static/pages/excep/boundList.html
... ... @@ -161,7 +161,7 @@ $(function(){
161 161 var toDay = new Date();
162 162 var year = toDay.getFullYear();
163 163 var Month = toDay.getMonth()+1>10?toDay.getMonth()+1:"0"+(toDay.getMonth()+1);
164   - var Day = toDay.getDate()>10?toDay.getDate():"0"+toDay.getDate();
  164 + var Day = toDay.getDate()>9?toDay.getDate():"0"+toDay.getDate();
165 165 var date = year+"-"+Month+"-"+Day;
166 166 //时间表单默认选择当日时间。
167 167 $("input[name='date']")[0].value = date;
... ...
src/main/resources/static/pages/excep/offlineList.html
... ... @@ -165,7 +165,7 @@ $(function(){
165 165 var toDay = new Date();
166 166 var year = toDay.getFullYear();
167 167 var Month = toDay.getMonth()+1>10?toDay.getMonth()+1:"0"+(toDay.getMonth()+1);
168   - var Day = toDay.getDate()>10?toDay.getDate():"0"+toDay.getDate();
  168 + var Day = toDay.getDate()>9?toDay.getDate():"0"+toDay.getDate();
169 169 var date = year+"-"+Month+"-"+Day;
170 170 //时间表单默认选择当日时间。
171 171 $("input[name='date']")[0].value = date;
... ...
src/main/resources/static/pages/excep/speedingList.html
... ... @@ -59,15 +59,16 @@
59 59 <option value="1">下行</option>
60 60 <option value="-1">无效</option>
61 61 </select>
62   - </td>
  62 + </td>
63 63 <td>
64 64 <input class="form-control" type="date" name="startDate" />
65   - -
66   - <input class="form-control" type="date" name="endDate" />
67 65 </td>
68 66 <td>
  67 + <input class="form-control" type="date" name="endDate" />
69 68 </td>
70 69 <td>
  70 + >=<input class="form-control" type="text" name="times" style="width:50px;display:inline!important"
  71 + onkeyup="(this.v=function(){this.value=this.value.replace(/[^0-9-]+/,'');}).call(this)" onblur="this.v();"/>
71 72 </td>
72 73 <td>
73 74 </td>
... ... @@ -104,9 +105,9 @@
104 105 {{obj.vehicle}}
105 106 </td>
106 107 <td>
107   - {{if obj.up_down==0}}
  108 + {{if obj.upDown==0}}
108 109 上行
109   - {{else if obj.up_down==1}}
  110 + {{else if obj.upDown==1}}
110 111 下行
111 112 {{else}}
112 113 无效
... ... @@ -124,9 +125,9 @@
124 125 <td>
125 126 <a class="btn default blue-stripe btn-sm lookTrajectory" data-vehicle ="{{obj.vehicle}}"
126 127 data-startdate="{{obj.timestampDate}}" data-enddate="{{obj.endtimestampDate}}"
127   - data-lon="{{obj.lon}}" data-lat="{{obj.lat}}"
128   - data-endlon="{{obj.endlon}}" data-endlat="{{obj.endlat}}" >
129   - 查看轨迹
  128 + data-lon="{{obj.lon}}" data-lat="{{obj.lat}}" data-endlon="{{obj.endlon}}"
  129 + data-endlat="{{obj.endlat}}" data-lineid="{{obj.lineId}}" data-updown="{{obj.upDown}}">
  130 + 查看轨迹
130 131 </a>
131 132 </td>
132 133 <td>
... ... @@ -165,7 +166,7 @@ $(function(){
165 166 var parameter = new Object();
166 167 parameter.endDate = $("input[name='endDate']")[0].value;
167 168 parameter.startDate = $("input[name='startDate']")[0].value;
168   -
  169 + jsDoQuery(parameter, true);
169 170 //搜索线路
170 171 $.get('/basic/lineCode2Name',function(result){
171 172 var data=[];
... ... @@ -173,11 +174,7 @@ $(function(){
173 174 for(var code in result){
174 175 data.push({id: code, text: result[code]});
175 176 }
176   - initPinYinSelect2($('#line'),data,function(ldmcSelector) {
177   - ldmcSelector.select2("val",data[1].id);//因为数据量太大,所以默认一条线路作为查询参数
178   - });
179   - parameter.line = data[1].id;
180   - jsDoQuery(parameter,true);
  177 + initPinYinSelect2('#line',data,'');
181 178 });
182 179  
183 180 //时间戳转换为年月日
... ... @@ -224,12 +221,12 @@ $(function(){
224 221 params['order'] = 'lastLoginDate';
225 222 params['page'] = page;
226 223 var i = layer.load(2);
227   - $.get('/gps/pagequery' ,params, function(data){
228   - var bodyHtm = template('speeding_list_temp', {list: data.list});
  224 + $get('/speeding/pagequery' ,params, function(data){
  225 + var bodyHtm = template('speeding_list_temp', {list: data.dataList});
229 226 $('#datatable_speeding tbody').html(bodyHtm)
230 227 .find('.icheck').iCheck(icheckOptions)
231 228 .on('ifChanged', iCheckChange);
232   - if(pagination){
  229 + if(pagination && data.dataList.length > 0){
233 230 //重新分页
234 231 initPagination = true;
235 232 showPagination(data);
... ... @@ -243,8 +240,10 @@ $(function(){
243 240 var lat = $(this).data('lat');
244 241 var endLon = $(this).data('endlon');
245 242 var endLat = $(this).data('endlat');
  243 + var lineid = $(this).data('lineid');
  244 + var upDown = $(this).data('updown');
246 245 var storage = window.localStorage;
247   - storage.setItem("zbhAndDate",vehicle+","+startDate+","+endDate+","+lon+","+lat+","+endLon+","+endLat);
  246 + storage.setItem("zbhAndDate",vehicle+","+startDate+","+endDate+","+lon+","+lat+","+endLon+","+endLat+","+lineid+","+upDown);
248 247 $.get('/pages/excep/speedingMap.html?',function (result) {
249 248 layer.open({
250 249 type: 1,
... ... @@ -290,25 +289,24 @@ $(function(){
290 289 initPagination = false;
291 290 return;
292 291 }
293   - page = num - 1;
294 292 var cells = $('tr.filter')[0].cells
295 293 ,params = {}
296 294 ,name;
297   - $.each(cells, function(i, cell){
298   - var items = $('input,select', cell);
299   - for(var j = 0, item; item = items[j++];){
300   - name = $(item).attr('name');
301   - if(name){
302   - params[name] = $(item).val();
303   - }
  295 + $.each(cells, function(i, cell){
  296 + var items = $('input,select', cell);
  297 + for(var j = 0, item; item = items[j++];){
  298 + name = $(item).attr('name');
  299 + if(name){
  300 + params[name] = $(item).val();
304 301 }
305   - });
306   - jsDoQuery(params, false);
  302 + }
  303 + });
  304 + page = num - 1;
  305 + jsDoQuery(params, false);
307 306 }
308 307 });
309 308 }
310 309  
311   -
312 310 //删除
313 311 $('#removeButton').on('click', function(){
314 312 if($(this).attr('disabled'))
... ... @@ -336,7 +334,6 @@ $(&#39;#nbbm&#39;).select2({
336 334 xlbm:$('#line').val()};
337 335 },
338 336 processResults: function (data) {
339   - console.log(data);
340 337 return {
341 338 results: data
342 339 };
... ...