Commit c7ff3d12a656739878e7d12229fd0edc5aa57970
Merge branch 'minhang' of
http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
8 changed files
with
111 additions
and
35 deletions
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| ... | ... | @@ -114,15 +114,15 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 114 | 114 | long fcsj = Long.valueOf(split1[0]) * 60 + Long.valueOf(split1[1]); |
| 115 | 115 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); |
| 116 | 116 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ |
| 117 | - fcsj += 1440l; | |
| 118 | - zdsj += 1440l; | |
| 117 | + if(fcsj<23*60) fcsj += 1440l; | |
| 118 | + if(zdsj<23*60) zdsj += 1440l; | |
| 119 | 119 | } |
| 120 | 120 | if(zdsj < fcsj) |
| 121 | 121 | zdsj += 1440l; |
| 122 | 122 | if(schedule.getDfsj() != null){ |
| 123 | 123 | String[] split0 = schedule.getDfsj().split(":"); |
| 124 | 124 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); |
| 125 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 125 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&dfsj<23*60) | |
| 126 | 126 | dfsj += 1440l; |
| 127 | 127 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); |
| 128 | 128 | schedule.setDfsjT(dfsj); |
| ... | ... | @@ -130,7 +130,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 130 | 130 | if(schedule.getFcsjActual() != null){ |
| 131 | 131 | String[] split2 = schedule.getFcsjActual().split(":"); |
| 132 | 132 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); |
| 133 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 133 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&fcsjA<23*60) | |
| 134 | 134 | fcsjA += 1440l; |
| 135 | 135 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); |
| 136 | 136 | schedule.setFcsjActualTime(fcsjA); |
| ... | ... | @@ -138,7 +138,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 138 | 138 | if(schedule.getZdsjActual() != null){ |
| 139 | 139 | String[] split4 = schedule.getZdsjActual().split(":"); |
| 140 | 140 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); |
| 141 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 141 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&zdsjA<23*60) | |
| 142 | 142 | zdsjA += 1440l; |
| 143 | 143 | if(schedule.getFcsjActualTime() != null && zdsjA < schedule.getFcsjActualTime()) |
| 144 | 144 | zdsjA += 1440l; |
| ... | ... | @@ -648,7 +648,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 648 | 648 | if(schedule.getDfsj() != null){ |
| 649 | 649 | String[] split0 = schedule.getDfsj().split(":"); |
| 650 | 650 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); |
| 651 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 651 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&dfsj<23*60) | |
| 652 | 652 | dfsj += 1440l; |
| 653 | 653 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); |
| 654 | 654 | schedule.setDfsjT(dfsj); |
| ... | ... | @@ -656,7 +656,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 656 | 656 | if(schedule.getFcsjActual() != null){ |
| 657 | 657 | String[] split2 = schedule.getFcsjActual().split(":"); |
| 658 | 658 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); |
| 659 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 659 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&fcsjA<23*60) | |
| 660 | 660 | fcsjA += 1440l; |
| 661 | 661 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); |
| 662 | 662 | schedule.setFcsjActualTime(fcsjA); |
| ... | ... | @@ -664,7 +664,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 664 | 664 | if(schedule.getZdsjActual() != null){ |
| 665 | 665 | String[] split4 = schedule.getZdsjActual().split(":"); |
| 666 | 666 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); |
| 667 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | |
| 667 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&zdsjA<23*60) | |
| 668 | 668 | zdsjA += 1440l; |
| 669 | 669 | schedule.setZdsjActual(zdsjA/60 + ":" + zdsjA%60); |
| 670 | 670 | schedule.setZdsjActualTime(zdsjA); |
| ... | ... | @@ -675,8 +675,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 675 | 675 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); |
| 676 | 676 | |
| 677 | 677 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ |
| 678 | - fcsj += 1440l; | |
| 679 | - zdsj += 1440l; | |
| 678 | + if(fcsj<23*60) fcsj += 1440l; | |
| 679 | + if(zdsj<23*60) zdsj += 1440l; | |
| 680 | 680 | } |
| 681 | 681 | schedule.setFcsj(fcsj/60 + ":" + fcsj%60); |
| 682 | 682 | schedule.setZdsj(zdsj/60 + ":" + zdsj%60); |
| ... | ... | @@ -773,6 +773,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 773 | 773 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); |
| 774 | 774 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); |
| 775 | 775 | List<Long> keyList = new ArrayList<Long>(); |
| 776 | + List<Long> keyList2 = new ArrayList<Long>(); | |
| 776 | 777 | List<ScheduleRealInfo> list2 = keyMap.get(key); |
| 777 | 778 | long jhyysj = 0, sjyysj = 0; |
| 778 | 779 | long jhyssj = 0, sjyssj = 0; |
| ... | ... | @@ -794,6 +795,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 794 | 795 | keyList.add(fcsj); |
| 795 | 796 | } |
| 796 | 797 | sortMap.put(fcsj, schedule); |
| 798 | + | |
| 797 | 799 | } |
| 798 | 800 | Collections.sort(keyList); |
| 799 | 801 | |
| ... | ... | @@ -884,12 +886,20 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 884 | 886 | mapList.add(m); |
| 885 | 887 | } |
| 886 | 888 | } |
| 887 | - for(int i = 1; i < mapList.size(); i++){ | |
| 888 | - Map<String, Object> m1 = mapList.get(i - 1); | |
| 889 | - Map<String, Object> m2 = mapList.get(i); | |
| 890 | - if(m1.get("fcsj") != null && m2.get("fcsj") != null){ | |
| 891 | - long fcsj2 = Long.valueOf(m2.get("fcsj").toString()); | |
| 892 | - long fcsj1 = Long.valueOf(m1.get("fcsj").toString()); | |
| 889 | + | |
| 890 | + for(Map<String, Object> m : mapList){ | |
| 891 | + if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){ | |
| 892 | + keyList2.add(Long.valueOf(m.get("fcsj").toString())); | |
| 893 | + } | |
| 894 | + } | |
| 895 | + Collections.sort(keyList2); | |
| 896 | + for(long l : keyList2){ | |
| 897 | + System.out.println(l); | |
| 898 | + } | |
| 899 | + for(int i = 1; i < keyList2.size(); i++){ | |
| 900 | + long fcsj1 = keyList2.get(i - 1); | |
| 901 | + long fcsj2 = keyList2.get(i); | |
| 902 | + if(fcsj2 - fcsj1 < 90){ | |
| 893 | 903 | if(sfqr == 1 && time1 > fcsj1){ |
| 894 | 904 | sjyysj += fcsj2 - time1; |
| 895 | 905 | }else if(sfqr == 1 && time2 < fcsj2){ |
| ... | ... | @@ -898,7 +908,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 898 | 908 | sjyysj += fcsj2 - fcsj1; |
| 899 | 909 | } |
| 900 | 910 | sjyysj1 += fcsj2 - fcsj1; |
| 911 | + System.out.println("---"+(fcsj2-fcsj1)+"---"+sjyysj+"---"+sjyysj1); | |
| 901 | 912 | } |
| 913 | + } | |
| 914 | + | |
| 915 | + for(int i = 1; i < mapList.size(); i++){ | |
| 916 | + Map<String, Object> m1 = mapList.get(i - 1); | |
| 917 | + Map<String, Object> m2 = mapList.get(i); | |
| 918 | +// if(m1.get("fcsj") != null && m2.get("fcsj") != null){ | |
| 919 | +// long fcsj2 = Long.valueOf(m2.get("fcsj").toString()); | |
| 920 | +// long fcsj1 = Long.valueOf(m1.get("fcsj").toString()); | |
| 921 | +// if(sfqr == 1 && time1 > fcsj1){ | |
| 922 | +// sjyysj += fcsj2 - time1; | |
| 923 | +// }else if(sfqr == 1 && time2 < fcsj2){ | |
| 924 | +// sjyysj += time2 - fcsj1; | |
| 925 | +// }else{ | |
| 926 | +// sjyysj += fcsj2 - fcsj1; | |
| 927 | +// } | |
| 928 | +// sjyysj1 += fcsj2 - fcsj1; | |
| 929 | +// } | |
| 902 | 930 | if(m2.get("fcsj") != null && m2.get("zdsj") != null){ |
| 903 | 931 | long zdsj = Long.valueOf(m2.get("zdsj").toString()); |
| 904 | 932 | long fcsj = Long.valueOf(m2.get("fcsj").toString()); | ... | ... |
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
| ... | ... | @@ -311,7 +311,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ |
| 311 | 311 | Cars car = carsRepository.findOne(new CustomerSpecs<Cars>(map)); |
| 312 | 312 | // 获取线路是否使用标识,如果未使用,则不查该线路数据 |
| 313 | 313 | line = lineRepository.findByLineCode(schRealInfo.get("xlBm")+""); |
| 314 | - if(line.getInUse() == null || line.getInUse() == 0){ | |
| 314 | + if(line == null || line.getInUse() == null || line.getInUse() == 0){ | |
| 315 | 315 | continue; |
| 316 | 316 | } |
| 317 | 317 | sf.append("<DLD>"); | ... | ... |
src/main/java/com/bsth/util/ReportUtils.java
| ... | ... | @@ -194,7 +194,7 @@ public class ReportUtils { |
| 194 | 194 | // 创建新行 |
| 195 | 195 | newRow = sheet.createRow(index + k++); |
| 196 | 196 | // 把新行的内容换成和模板行一样 |
| 197 | - copyRow(wb, orgRow, newRow, true); | |
| 197 | + copyRow(wb, orgRow, newRow, true, wb.createCellStyle()); | |
| 198 | 198 | tmpCellNum = newRow.getLastCellNum(); |
| 199 | 199 | for (int l = 0; l < tmpCellNum; l++) { |
| 200 | 200 | cell = newRow.getCell(l); |
| ... | ... | @@ -357,11 +357,11 @@ public class ReportUtils { |
| 357 | 357 | * @param toRow |
| 358 | 358 | */ |
| 359 | 359 | private void copyRow(HSSFWorkbook wb, HSSFRow fromRow, HSSFRow toRow, |
| 360 | - boolean copyValueFlag) { | |
| 360 | + boolean copyValueFlag, HSSFCellStyle style) { | |
| 361 | 361 | for (Iterator<Cell> cellIt = fromRow.cellIterator(); cellIt.hasNext();) { |
| 362 | 362 | HSSFCell tmpCell = (HSSFCell) cellIt.next(); |
| 363 | 363 | HSSFCell newCell = toRow.createCell(tmpCell.getColumnIndex(), 0); |
| 364 | - copyCell(wb, tmpCell, newCell, copyValueFlag); | |
| 364 | + copyCell(wb, tmpCell, newCell, copyValueFlag, style); | |
| 365 | 365 | } |
| 366 | 366 | } |
| 367 | 367 | |
| ... | ... | @@ -374,8 +374,8 @@ public class ReportUtils { |
| 374 | 374 | * true则连同cell的内容一起复制 |
| 375 | 375 | */ |
| 376 | 376 | public void copyCell(HSSFWorkbook wb, HSSFCell srcCell, HSSFCell distCell, |
| 377 | - boolean copyValueFlag) { | |
| 378 | - HSSFCellStyle newstyle = wb.createCellStyle(); | |
| 377 | + boolean copyValueFlag, HSSFCellStyle newstyle) { | |
| 378 | +// HSSFCellStyle newstyle = wb.createCellStyle(); | |
| 379 | 379 | copyCellStyle(wb, srcCell.getCellStyle(), newstyle); |
| 380 | 380 | // 样式 |
| 381 | 381 | distCell.setCellStyle(newstyle); | ... | ... |
src/main/resources/static/pages/report/inoutstation.html
| ... | ... | @@ -49,24 +49,24 @@ |
| 49 | 49 | </div> |
| 50 | 50 | <br/> |
| 51 | 51 | <div> |
| 52 | - <div id="bczxDiv" style="display: inline-block;margin-left: 15px;"> | |
| 53 | - <div style="display: inline-block;margin-left: 15px;"> | |
| 52 | + <div id="bczxDiv" style="display: inline-block;margin-left: 10px;"> | |
| 53 | + <div style="display: inline-block;margin-left: 5px;"> | |
| 54 | 54 | <span class="item-label" style="width: 80px;">时间: </span> |
| 55 | 55 | <input class="form-control" type="text" id="date" style="width: 180px;"/> |
| 56 | 56 | </div> |
| 57 | - <div style="display: inline-block;margin-left: 15px;"> | |
| 57 | + <div style="display: inline-block;margin-left: 5px;"> | |
| 58 | 58 | <span class="item-label" style="width: 80px;">车辆: </span> |
| 59 | 59 | <select class="form-control" id="nbbm" style="width: 180px;"></select> |
| 60 | 60 | </div> |
| 61 | 61 | </div> |
| 62 | - <div id="clzdDiv" style="display:none ;margin-left: 15px;" > | |
| 63 | - <div style="display: inline-block;margin-left: 15px;"> | |
| 62 | + <div id="clzdDiv" style="display:none ;margin-left: 10px;" > | |
| 63 | + <div style="display: inline-block;margin-left: 5px;"> | |
| 64 | 64 | <span class="item-label" style="width: 80px;">时间: </span> |
| 65 | 65 | <input class="form-control" type="text" id="date1" style="width: 180px;"/> |
| 66 | - <span class="item-label" style="width: 60px;">至: </span> | |
| 66 | + <span class="item-label" style="width: 60px;margin-left: 19px;">至: </span> | |
| 67 | 67 | <input class="form-control" type="text" id="date2" style="width: 180px;"/> |
| 68 | 68 | <span class="item-label" style="width: 80px;">站点: </span> |
| 69 | - <select id="zdlx" class="sreach-zd" > | |
| 69 | + <select class="form-control" id="zdlx" class="sreach-zd" > | |
| 70 | 70 | <option value="">请选择</option> |
| 71 | 71 | <option value="0">上行</option> |
| 72 | 72 | <option value="1">下行</option> | ... | ... |
src/main/resources/static/pages/report/oil/oilListMonth.html
| ... | ... | @@ -37,7 +37,7 @@ |
| 37 | 37 | </div> |
| 38 | 38 | <div class="form-group"> |
| 39 | 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 40 | - <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 40 | +<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> | |
| 41 | 41 | </div> |
| 42 | 42 | </form> |
| 43 | 43 | </div> |
| ... | ... | @@ -97,6 +97,8 @@ |
| 97 | 97 | var year = d.getFullYear(); |
| 98 | 98 | var month = d.getMonth() + 1; |
| 99 | 99 | var day = d.getDate(); |
| 100 | + if(day < 10) | |
| 101 | + day = "0"+day; | |
| 100 | 102 | if(month > 9){ |
| 101 | 103 | $("#date").val(year + "-" + month + "-" + day); |
| 102 | 104 | } else { | ... | ... |
src/main/resources/static/real_control_v2/css/north.css
| ... | ... | @@ -335,3 +335,21 @@ |
| 335 | 335 | margin: 0 5px; |
| 336 | 336 | width: 110px; |
| 337 | 337 | } |
| 338 | + | |
| 339 | + | |
| 340 | +#navbar_user_detail_link:hover{ | |
| 341 | + background-color: transparent; | |
| 342 | + color: #444; | |
| 343 | + outline: 0; | |
| 344 | + position: relative; | |
| 345 | + z-index: 1; | |
| 346 | + border-left-color: rgba(0,0,0,.1); | |
| 347 | + border-right-color: rgba(0,0,0,.1); | |
| 348 | + border-top-color: rgba(0,0,0,.1); | |
| 349 | + box-shadow: inset 0 2px 4px rgba(0,0,0,.1); | |
| 350 | +} | |
| 351 | + | |
| 352 | +.user_detail_tip .qtip-content{ | |
| 353 | + width: 300px; | |
| 354 | + height: 220px; | |
| 355 | +} | |
| 338 | 356 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/js/north/toolbar.js
| ... | ... | @@ -46,10 +46,39 @@ var gb_northToolbar = (function () { |
| 46 | 46 | window.location.href = '/pages/control/lineallot/allot.html'; |
| 47 | 47 | }); |
| 48 | 48 | |
| 49 | - //点击用户名 | |
| 50 | - $('#navbar_user_detail_link').on('click', function () { | |
| 51 | - //alert('1111'); | |
| 52 | - }); | |
| 49 | + //鼠标悬停用户名 | |
| 50 | +/* $(document).on('mouseenter', '#navbar_user_detail_link', function() { | |
| 51 | + $(this).qtip({ | |
| 52 | + show: { | |
| 53 | + ready: true, | |
| 54 | + delay: 300 | |
| 55 | + }, | |
| 56 | + content: { | |
| 57 | + text: function() { | |
| 58 | + | |
| 59 | + return '';//temps['sch-table-task-tootip-temp']({tasks: array}); | |
| 60 | + } | |
| 61 | + }, | |
| 62 | + position: { | |
| 63 | + viewport: $(window), | |
| 64 | + my: 'top center', | |
| 65 | + at: 'bottom center' | |
| 66 | + }, | |
| 67 | + style: { | |
| 68 | + classes: 'qtip-light qtip-shadow user_detail_tip' | |
| 69 | + }, | |
| 70 | + hide: { | |
| 71 | + fixed: true, | |
| 72 | + delay: 300 | |
| 73 | + }, | |
| 74 | + events: { | |
| 75 | + hidden: function(event, api) { | |
| 76 | + //destroy dom | |
| 77 | + $(this).qtip('destroy', true); | |
| 78 | + } | |
| 79 | + } | |
| 80 | + }); | |
| 81 | + });*/ | |
| 53 | 82 | }); |
| 54 | 83 | |
| 55 | 84 | $(document).on('click', '#north_toolbar_panel li.event a', function () { | ... | ... |
src/main/resources/static/real_control_v2/js/websocket/sch_websocket.js