Commit 58c1cc4cbfe1aedadd0ddb38969140b3a9cdbf4f

Authored by 娄高锋
1 parent 5449a8cd

油车日报表,电车日报表,统一表头,删除车辆查询项,线路查询改成多选

src/main/java/com/bsth/repository/RefuelRepository.java
... ... @@ -38,7 +38,7 @@ public interface RefuelRepository extends BaseRepository<Refuel, Long> {
38 38 List<ScheduleRealInfo> scheduleByDateAndLine(String date, String clZbh, String xlBm);
39 39  
40 40 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
41   - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.scheduleDateStr = ?1 and s.clZbh = ?2")
  41 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.scheduleDateStr = ?1 and s.clZbh like ?2 order by s.xlBm asc, s.clZbh asc")
42 42 List<ScheduleRealInfo> scheduleByDateAndCar(String date, String clZbh);
43 43  
44 44 @Transactional
... ... @@ -61,7 +61,7 @@ public interface RefuelRepository extends BaseRepository&lt;Refuel, Long&gt; {
61 61 @Query(value="select s from Cars s where s.insideCode=?1")
62 62 List<Cars> findCarsByCode(String insideCode);
63 63  
64   - @Query(value="select s from Cars s where s.sfdc=?1 and insideCode like ?2 order by s.insideCode asc")
65   - List<Cars> findCarsBySfdc(Boolean sfdc, String insideCode);
  64 + @Query(value="select s from Cars s where s.sfdc=?1")
  65 + List<Cars> findCarsBySfdc(Boolean sfdc);
66 66  
67 67 }
... ...
src/main/java/com/bsth/service/impl/RefuelServiceImpl.java
... ... @@ -23,6 +23,7 @@ import java.text.SimpleDateFormat;
23 23 import java.util.ArrayList;
24 24 import java.util.Date;
25 25 import java.util.HashMap;
  26 +import java.util.HashSet;
26 27 import java.util.Iterator;
27 28 import java.util.List;
28 29 import java.util.Map;
... ... @@ -263,22 +264,39 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
263 264 Map<String, Object> lastMap = new HashMap<String, Object>();
264 265 String outOil_z = "0", inOil_z = "0", inStation0_z = "0", inStation5_z = "0",
265 266 oilCard0_z = "0", oilCard10_z = "0", eastStation0_z = "0", eastStation10_z = "0",
266   - outStation0_z = "0", outStation10_z = "0", oil_z = "0", ty_z = "0", yw_z = "0", cj_z = "0",
  267 + outStation0_z = "0", outStation10_z = "0", oil_z = "0", addOil_z = "0",
  268 + ty_z = "0", yw_z = "0", cj_z = "0",
267 269 realMileage_z = "0", ksMileage_z = "0", ssMileage_z = "0", consume_z = "",
268 270 jhbc_z = "0", sjbc_z = "0", bc_z = "0", cr_z = "0";
269 271  
270 272 List<String> sKeyList = new ArrayList<String>();
271 273 Map<String, List<ScheduleRealInfo>> sMap = new HashMap<String, List<ScheduleRealInfo>>();
272   - List<ScheduleRealInfo> scheList = repository.scheduleByDateAndLine(date, car, xlbm);
  274 + List<ScheduleRealInfo> scheList = new ArrayList<ScheduleRealInfo>();
  275 + if(xlbm.length() > 0){
  276 + String[] split = xlbm.split(",");
  277 + for(String s : split){
  278 + scheList.addAll(repository.scheduleByDateAndLine(date, car, s));
  279 + }
  280 + } else {
  281 + scheList = repository.scheduleByDateAndCar(date, car);
  282 + }
  283 + List<Cars> findCarsBySfdc = repository.findCarsBySfdc(false);
  284 +
  285 + Set<String> nbbms = new HashSet<String>();
  286 + for(Cars c : findCarsBySfdc){ //所有油车
  287 + nbbms.add(c.getInsideCode());
  288 + }
273 289  
274 290 for(ScheduleRealInfo s : scheList){
275   - if(s.getClZbh() != null && s.getClZbh().length() > 0 && s.getjGh() != null){
276   - String key = s.getClZbh() + "/" + s.getjGh();
277   - if(!(sMap.containsKey(key))){
278   - sMap.put(key, new ArrayList<ScheduleRealInfo>());
279   - sKeyList.add(key);
  291 + if(s.getClZbh() != null && nbbms.contains(s.getClZbh())){
  292 + if(s.getClZbh().length() > 0 && s.getjGh() != null){
  293 + String key = s.getClZbh() + "/" + s.getjGh();
  294 + if(!(sMap.containsKey(key))){
  295 + sMap.put(key, new ArrayList<ScheduleRealInfo>());
  296 + sKeyList.add(key);
  297 + }
  298 + sMap.get(key).add(s);
280 299 }
281   - sMap.get(key).add(s);
282 300 }
283 301 }
284 302  
... ... @@ -287,7 +305,7 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
287 305 List<ScheduleRealInfo> list2 = sMap.get(key);
288 306 String[] split = key.split("/");
289 307  
290   - String realMileage = "", oil = "0", consume = "", cr = "";
  308 + String realMileage = "", oil = "0", addOil = "0", consume = "", cr = "";
291 309 String ksMileage = "", ssMileage = "", bc = "", jhbc = "", sjbc = "";
292 310  
293 311 Double sjgl = culateMileageService.culateSjgl(list2);
... ... @@ -399,39 +417,47 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
399 417 }
400 418 if(r.getInStation0() != null && r.getInStation0().length() > 0){
401 419 oil = add(oil, r.getInStation0());
  420 + addOil = add(addOil, r.getInStation0());
402 421 }
403 422 if(r.getInStation5() != null && r.getInStation5().length() > 0){
404 423 oil = add(oil, r.getInStation5());
  424 + addOil = add(addOil, r.getInStation5());
405 425 }
406 426 if(r.getOilCard0() != null && r.getOilCard0().length() > 0){
407 427 oil = add(oil, r.getOilCard0());
  428 + addOil = add(addOil, r.getOilCard0());
408 429 }
409 430 if(r.getOilCard10() != null && r.getOilCard10().length() > 0){
410 431 oil = add(oil, r.getOilCard10());
  432 + addOil = add(addOil, r.getOilCard10());
411 433 }
412 434 if(r.getEastStation0() != null && r.getEastStation0().length() > 0){
413 435 oil = add(oil, r.getEastStation0());
  436 + addOil = add(addOil, r.getEastStation0());
414 437 }
415 438 if(r.getEastStation10() != null && r.getEastStation10().length() > 0){
416 439 oil = add(oil, r.getEastStation10());
  440 + addOil = add(addOil, r.getEastStation10());
417 441 }
418 442 if(r.getOutStation0() != null && r.getOutStation0().length() > 0){
419 443 oil = add(oil, r.getOutStation0());
  444 + addOil = add(addOil, r.getOutStation0());
420 445 }
421 446 if(r.getOutStation10() != null && r.getOutStation10().length() > 0){
422 447 oil = add(oil, r.getOutStation10());
  448 + addOil = add(addOil, r.getOutStation10());
423 449 }
424 450  
425 451 if(realMileage.length() > 0 && oil.length() > 0 && new BigDecimal(realMileage).doubleValue() > 0d){
426 452 consume = df.format(new BigDecimal(oil).divide(new BigDecimal(realMileage), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
427 453 }
428 454  
429   - m.put("date", scheList.get(0).getScheduleDateStr());
430   - m.put("line", scheList.get(0).getXlName());
  455 + m.put("date", list2.get(0).getScheduleDateStr());
  456 + m.put("line", list2.get(0).getXlName());
431 457 m.put("car", split[0]);
432 458 m.put("driver", split[1]);
433   - m.put("outOil", r.getOutOil());
434   - m.put("inOil", r.getInOil());
  459 + m.put("outOil", r.getOutOil()!=null?r.getOutOil():"");
  460 + m.put("inOil", r.getInOil()!=null?r.getInOil():"");
435 461 m.put("inStation0", r.getInStation0());
436 462 m.put("inStation5", r.getInStation5());
437 463 m.put("oilCard0", r.getOilCard0());
... ... @@ -440,6 +466,7 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
440 466 m.put("eastStation10", r.getEastStation10());
441 467 m.put("outStation0", r.getOutStation0());
442 468 m.put("outStation10", r.getOutStation10());
  469 + m.put("addOil", addOil);
443 470 m.put("oil", oil);
444 471 m.put("realMileage", realMileage);
445 472 m.put("ksMileage", ksMileage);
... ... @@ -487,9 +514,14 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
487 514 outStation10_z = new BigDecimal(outStation10_z).add(new BigDecimal(r.getOutStation10())).toString();
488 515 }
489 516 oil_z = new BigDecimal(oil_z).add(new BigDecimal(oil)).toString();
  517 + addOil_z = new BigDecimal(addOil_z).add(new BigDecimal(addOil)).toString();
490 518  
491 519 }
492 520  
  521 + if(realMileage_z.length() > 0 && oil_z.length() > 0 && !("0".equals(realMileage_z))){
  522 + consume_z = df.format(new BigDecimal(oil_z).divide(new BigDecimal(realMileage_z), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
  523 + }
  524 +
493 525 lastMap.put("date", "合计");
494 526 lastMap.put("line", "");
495 527 lastMap.put("car", "");
... ... @@ -504,6 +536,7 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
504 536 lastMap.put("eastStation10", eastStation10_z);
505 537 lastMap.put("outStation0", outStation0_z);
506 538 lastMap.put("outStation10", outStation10_z);
  539 + lastMap.put("addOil", addOil_z);
507 540 lastMap.put("oil", oil_z);
508 541 lastMap.put("realMileage", realMileage_z);
509 542 lastMap.put("ksMileage", ksMileage_z);
... ... @@ -568,16 +601,33 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
568 601  
569 602 List<String> sKeyList = new ArrayList<String>();
570 603 Map<String, List<ScheduleRealInfo>> sMap = new HashMap<String, List<ScheduleRealInfo>>();
571   - List<ScheduleRealInfo> scheList = repository.scheduleByDateAndLine(date, car, xlbm);
  604 + List<ScheduleRealInfo> scheList = new ArrayList<ScheduleRealInfo>();
  605 + if(xlbm.length() > 0){
  606 + String[] split = xlbm.split(",");
  607 + System.out.println(split);
  608 + for(String s : split){
  609 + scheList.addAll(repository.scheduleByDateAndLine(date, car, s));
  610 + }
  611 + } else {
  612 + scheList = repository.scheduleByDateAndCar(date, car);
  613 + }
  614 + List<Cars> findCarsBySfdc = repository.findCarsBySfdc(true);
  615 +
  616 + Set<String> nbbms = new HashSet<String>();
  617 + for(Cars c : findCarsBySfdc){ //所有电车
  618 + nbbms.add(c.getInsideCode());
  619 + }
572 620  
573 621 for(ScheduleRealInfo s : scheList){
574   - if(s.getClZbh() != null && s.getClZbh().length() > 0 && s.getjGh() != null){
575   - String key = s.getClZbh() + "/" + s.getjGh();
576   - if(!(sMap.containsKey(key))){
577   - sMap.put(key, new ArrayList<ScheduleRealInfo>());
578   - sKeyList.add(key);
  622 + if(s.getClZbh() != null && nbbms.contains(s.getClZbh())){
  623 + if(s.getClZbh().length() > 0 && s.getjGh() != null){
  624 + String key = s.getClZbh() + "/" + s.getjGh();
  625 + if(!(sMap.containsKey(key))){
  626 + sMap.put(key, new ArrayList<ScheduleRealInfo>());
  627 + sKeyList.add(key);
  628 + }
  629 + sMap.get(key).add(s);
579 630 }
580   - sMap.get(key).add(s);
581 631 }
582 632 }
583 633  
... ... @@ -613,9 +663,11 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
613 663 cr_z = new BigDecimal(cr_z).add(new BigDecimal(cr)).toString();
614 664  
615 665 m.put("date", scheList.get(0).getScheduleDateStr());
616   - m.put("line", scheList.get(0).getXlName());
  666 + m.put("line", list2.get(0).getXlName());
617 667 m.put("car", split[0]);
618 668 m.put("driver", split[1]);
  669 + m.put("out", "");
  670 + m.put("in", "");
619 671 m.put("jdl", "");
620 672 m.put("hdl", "");
621 673 m.put("realMileage", realMileage);
... ... @@ -635,6 +687,8 @@ public class RefuelServiceImpl extends BaseServiceImpl&lt;Refuel, Long&gt; implements
635 687 lastMap.put("line", "");
636 688 lastMap.put("car", "");
637 689 lastMap.put("driver", "");
  690 + lastMap.put("out", "");
  691 + lastMap.put("in", "");
638 692 lastMap.put("jdl", "");
639 693 lastMap.put("hdl", "");
640 694 lastMap.put("realMileage", realMileage_z);
... ...
src/main/resources/static/pages/forms/mould/refuelDc.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/refuelYc.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/refuelDc.html
1   -<style type="text/css">
2   - .table-bordered {
3   - border: 1px solid; }
4   - .table-bordered > thead > tr > th,
5   - .table-bordered > thead > tr > td,
6   - .table-bordered > tbody > tr > th,
7   - .table-bordered > tbody > tr > td,
8   - .table-bordered > tfoot > tr > th,
9   - .table-bordered > tfoot > tr > td {
10   - border: 1px solid; }
11   - .table-bordered > thead > tr > th,
12   - .table-bordered > thead > tr > td {
13   - border-bottom-width: 2px; }
14   -
15   - .table > tbody + tbody {
16   - border-top: 1px solid; }
17   - .btn-default{
18   - margin-left: 5px;
19   - }
20   -</style>
21   -
22   -<div class="page-head">
23   - <div class="page-title">
24   - <h1>纯电车日报表</h1>
25   - </div>
26   -</div>
27   -
28   -<div class="row">
29   - <div class="col-md-12">
30   - <div class="portlet light porttlet-fit bordered">
31   - <div class="portlet-title">
32   - <form class="form-inline" action="">
33   - <div style="display: inline-block;">
34   - <span class="item-label" style="width: 80px;">线路: </span>
35   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
36   - </div>
37   - <div style="display: inline-block;margin-left: 15px">
38   - <span class="item-label" style="width: 140px;">内部编码: </span>
39   - <select class="form-control" name="code" id="code" style="width: 180px;"></select>
40   - <input class="btn btn-default" type="button" id="czcl" value="X"/>
41   - </div>
42   - <div style="display: inline-block;margin-left: 24px;">
43   - <span class="item-label" style="width: 80px;">&nbsp;日期: </span>
44   - <input class="form-control" type="text" id="date" style="width: 180px;"/>
45   - </div>
46   - <div class="form-group">
47   - <input class="btn btn-default" type="button" id="query" value="筛选"/>
48   - <input class="btn btn-default" type="button" id="export" value="导出"/>
49   - </div>
50   - </form>
51   - </div>
52   - <div class="portlet-body">
53   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
54   - <table class="table table-bordered table-hover table-checkable" id="forms">
55   - <thead>
56   - <tr>
57   - <td>序号</td>
58   - <td>日期</td>
59   - <td>路别</td>
60   - <td>车号</td>
61   - <td>驾驶员</td>
62   - <td>充电量</td>
63   - <td>电量消耗</td>
64   - <td>路单公里</td>
65   - <td>空驶公里</td>
66   - <td>损失公里</td>
67   - <td>班次</td>
68   - <td>车日</td>
69   - <td>备注</td>
70   - </tr>
71   - </thead>
72   - <tbody id="tbody">
73   -
74   - </tbody>
75   - </table>
76   - </div>
77   - </div>
78   - </div>
79   - </div>
80   -</div>
81   -
82   -<script>
83   - $(function(){
84   -
85   - // 关闭左侧栏
86   - if (!$('body').hasClass('page-sidebar-closed'))
87   - $('.menu-toggler.sidebar-toggler').click();
88   -
89   - $("#date").datetimepicker({
90   - format : 'YYYY-MM-DD',
91   - locale : 'zh-cn'
92   - });
93   -
94   - $.get('/report/lineList',function(xlList){
95   - var data = [];
96   -// data.push({id: " ", text: "全部线路"});
97   - $.get('/user/companyData', function(result){
98   - for(var i = 0; i < result.length; i++){
99   - var companyCode = result[i].companyCode;
100   - var children = result[i].children;
101   - for(var j = 0; j < children.length; j++){
102   - var code = children[j].code;
103   - for(var k=0;k < xlList.length;k++ ){
104   - if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
105   - data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
106   -// tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
107   - }
108   - }
109   - }
110   - }
111   - initPinYinSelect2('#line',data,'');
112   - initCl();
113   - });
114   - });
115   - //重置
116   - $('#czcl').on('click', function () {
117   - $('#code').val('').change();
118   - });
119   - $("#line").on("change",initCl);
120   - function initCl(){
121   - $('#code').select2({
122   - ajax: {
123   - url: '/report/carList',
124   - dataType: 'json',
125   - delay: 150,
126   - data: function(params){
127   - return{nbbm: params.term,xlbm:$('#line').val()};
128   - },
129   - processResults: function (data) {
130   - return {
131   - results: data
132   - };
133   - },
134   - cache: true
135   - },
136   - templateResult: function(repo){
137   - if (repo.loading) return repo.text;
138   - var h = '<span>'+repo.text+'</span>';
139   - h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
140   - return h;
141   - },
142   - escapeMarkup: function (markup) { return markup; },
143   - minimumInputLength: 1,
144   - templateSelection: function(repo){
145   - return repo.text;
146   - },
147   - language: {
148   - noResults: function(){
149   - return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
150   - },
151   - inputTooShort : function(e) {
152   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
153   - },
154   - searching : function() {
155   - return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
156   - }
157   - }
158   - });
159   - }
160   -
161   -
162   - var d = new Date();
163   - var year = d.getFullYear();
164   - var mon = (d.getMonth()+1)>9?(d.getMonth()+1):("0"+(d.getMonth()+1));
165   - var day = d.getDate()>9?d.getDate():("0"+d.getDate());
166   - $("#date").val(year + "-" + mon + "-" + day);
167   -
168   -
169   - var line = "", date = "", car = "";
170   - $("#query").on("click",function(){
171   - if($("#date").val() == null || $("#date").val().trim().length == 0){
172   - layer.msg("请选择日期");
173   - return;
174   - }
175   - line = $("#line").val();
176   - date = $("#date").val();
177   - car = $("#code").val();
178   - var i = layer.load(2);
179   - $get('/refuel/queryDc',{line:line,date:date,car:car,type:'query'},function(result){
180   - // 把数据填充到模版中
181   - var tbodyHtml = template('refuel_daily',{list:result});
182   - // 把渲染好的模版html文本追加到表格中
183   - $('#tbody').html(tbodyHtml);
184   - layer.close(i);
185   - });
186   - });
187   -
188   - $("#export").on("click",function(){
189   - if(date && date != ""){
190   - var i = layer.load(2);
191   - var params = {};
192   - params['line'] = line;
193   - params['date'] = date;
194   - params['car'] = car;
195   - $get('/refuel/exportQueryDc', params, function(result){
196   - layer.close(i);
197   - window.open("/downloadFile/download?fileName="
198   - +date+"-纯电车日报表");
199   - layer.close(i);
200   - });
201   - }
202   - });
203   -
204   -});
205   -</script>
206   -<script type="text/html" id="refuel_daily">
207   - {{each list as obj i}}
208   - <tr>
209   - <td>{{i + 1}}</td>
210   - <td>{{obj.date}}</td>
211   - <td>{{obj.line}}</td>
212   - <td>{{obj.car}}</td>
213   - <td>{{obj.driver}}</td>
214   - <td>{{obj.jdl}}</td>
215   - <td>{{obj.hdl}}</td>
216   - <td>{{obj.realMileage}}</td>
217   - <td>{{obj.ksMileage}}</td>
218   - <td>{{obj.ssMileage}}</td>
219   - <td>{{obj.bc}}</td>
220   - <td>{{obj.cr}}</td>
221   - <td>{{obj.remark}}</td>
222   - </tr>
223   - {{/each}}
224   - {{if list.length == 0}}
225   - <tr>
226   - <td colspan="13"><h6 class="muted">没有找到相关数据</h6></td>
227   - </tr>
228   - {{/if}}
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 + .btn-default{
  18 + margin-left: 5px;
  19 + }
  20 +</style>
  21 +
  22 +<div class="page-head">
  23 + <div class="page-title">
  24 + <h1>纯电车日报表</h1>
  25 + </div>
  26 +</div>
  27 +
  28 +<div class="row">
  29 + <div class="col-md-12">
  30 + <div class="portlet light porttlet-fit bordered">
  31 + <div class="portlet-title">
  32 + <form class="form-inline" action="">
  33 + <div style="display: inline-block;margin-left: 24px;">
  34 + <span class="item-label" style="width: 80px;">&nbsp;日期: </span>
  35 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  36 + </div>
  37 + <div style="display: inline-block;">
  38 + <span class="item-label" style="width: 80px;">线路: </span>
  39 + <select class="form-control" name="line" id="line" style="width: 180px;" multiple="multiple"></select>
  40 + </div>
  41 + <div class="form-group">
  42 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  43 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  44 + </div>
  45 + </form>
  46 + </div>
  47 + <div class="portlet-body">
  48 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  49 + <table class="table table-bordered table-hover table-checkable" id="forms">
  50 + <thead>
  51 + <tr>
  52 + <td>序号</td>
  53 + <td>日期</td>
  54 + <td>路别</td>
  55 + <td>车号</td>
  56 + <td>驾驶员</td>
  57 + <td>出场电容</td>
  58 + <td>进场电容</td>
  59 + <td>当日充电量</td>
  60 + <td>电量消耗</td>
  61 + <td>百公里电耗</td>
  62 + <td>路单公里</td>
  63 + <td>空驶公里</td>
  64 + <td>损失公里</td>
  65 + <td>班次</td>
  66 + <td>车日</td>
  67 + <td>备注</td>
  68 + </tr>
  69 + </thead>
  70 + <tbody id="tbody">
  71 +
  72 + </tbody>
  73 + </table>
  74 + </div>
  75 + </div>
  76 + </div>
  77 + </div>
  78 +</div>
  79 +
  80 +<script>
  81 + $(function(){
  82 +
  83 + // 关闭左侧栏
  84 + if (!$('body').hasClass('page-sidebar-closed'))
  85 + $('.menu-toggler.sidebar-toggler').click();
  86 +
  87 + var d = new Date();
  88 + d.setTime(d.getTime() - 1*1000*60*60*24);
  89 + var year = d.getFullYear();
  90 + var month = d.getMonth() + 1;
  91 + var day = d.getDate();
  92 + if(month < 10)
  93 + month = "0" + month;
  94 + if(day < 10)
  95 + day = "0" + day;
  96 + var dateTime = year + "-" + month + "-" + day;
  97 + $("#date").datetimepicker({
  98 + format : 'YYYY-MM-DD',
  99 + locale : 'zh-cn'
  100 + });
  101 + $("#date").val(dateTime);
  102 +
  103 + $.get('/report/lineList',function(xlList){
  104 + var data = [];
  105 +// data.push({id: " ", text: "全部线路"});
  106 + $.get('/user/companyData', function(result){
  107 + for(var i = 0; i < result.length; i++){
  108 + var companyCode = result[i].companyCode;
  109 + var children = result[i].children;
  110 + for(var j = 0; j < children.length; j++){
  111 + var code = children[j].code;
  112 + for(var k=0;k < xlList.length;k++ ){
  113 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  114 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  115 +// tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  116 + }
  117 + }
  118 + }
  119 + }
  120 + initPinYinSelect2('#line',data,'');
  121 + initCl();
  122 + });
  123 + });
  124 + //重置
  125 + $('#czcl').on('click', function () {
  126 + $('#code').val('').change();
  127 + });
  128 + $("#line").on("change",initCl);
  129 + function initCl(){
  130 + $('#code').select2({
  131 + ajax: {
  132 + url: '/report/carList',
  133 + dataType: 'json',
  134 + delay: 150,
  135 + data: function(params){
  136 + return{nbbm: params.term,xlbm:$('#line').val()};
  137 + },
  138 + processResults: function (data) {
  139 + return {
  140 + results: data
  141 + };
  142 + },
  143 + cache: true
  144 + },
  145 + templateResult: function(repo){
  146 + if (repo.loading) return repo.text;
  147 + var h = '<span>'+repo.text+'</span>';
  148 + h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
  149 + return h;
  150 + },
  151 + escapeMarkup: function (markup) { return markup; },
  152 + minimumInputLength: 1,
  153 + templateSelection: function(repo){
  154 + return repo.text;
  155 + },
  156 + language: {
  157 + noResults: function(){
  158 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  159 + },
  160 + inputTooShort : function(e) {
  161 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  162 + },
  163 + searching : function() {
  164 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  165 + }
  166 + }
  167 + });
  168 + }
  169 +
  170 +
  171 + var line = "", date = "", car = "";
  172 + $("#query").on("click",function(){
  173 + if($("#date").val() == null || $("#date").val().trim().length == 0){
  174 + layer.msg("请选择日期");
  175 + return;
  176 + }
  177 + line = "";
  178 + $($("#line").val()).each(function(i, e){
  179 + line += e + ",";
  180 + });
  181 + if(line.length > 0){
  182 + line = line.substring(0, line.length - 1);
  183 + }
  184 + date = $("#date").val();
  185 + car = $("#code").val();
  186 + var i = layer.load(2);
  187 + $get('/refuel/queryDc',{line:line,date:date,car:car,type:'query'},function(result){
  188 + // 把数据填充到模版中
  189 + var tbodyHtml = template('refuel_dc',{list:result});
  190 + // 把渲染好的模版html文本追加到表格中
  191 + $('#tbody').html(tbodyHtml);
  192 + layer.close(i);
  193 + });
  194 + });
  195 +
  196 + $("#export").on("click",function(){
  197 + if(date && date != ""){
  198 + var i = layer.load(2);
  199 + var params = {};
  200 + params['line'] = line;
  201 + params['date'] = date;
  202 + params['car'] = car;
  203 + $get('/refuel/exportQueryDc', params, function(result){
  204 + layer.close(i);
  205 + window.open("/downloadFile/download?fileName="
  206 + +date+"-纯电车日报表");
  207 + layer.close(i);
  208 + });
  209 + }
  210 + });
  211 +
  212 +});
  213 +</script>
  214 +<script type="text/html" id="refuel_dc">
  215 + {{each list as obj i}}
  216 + <tr>
  217 + <td>{{i + 1}}</td>
  218 + <td>{{obj.date}}</td>
  219 + <td>{{obj.line}}</td>
  220 + <td>{{obj.car}}</td>
  221 + <td>{{obj.driver}}</td>
  222 + <td></td>
  223 + <td></td>
  224 + <td>{{obj.jdl}}</td>
  225 + <td>{{obj.hdl}}</td>
  226 + <td></td>
  227 + <td>{{obj.realMileage}}</td>
  228 + <td>{{obj.ksMileage}}</td>
  229 + <td>{{obj.ssMileage}}</td>
  230 + <td>{{obj.bc}}</td>
  231 + <td>{{obj.cr}}</td>
  232 + <td>{{obj.remark}}</td>
  233 + </tr>
  234 + {{/each}}
  235 + {{if list.length == 0}}
  236 + <tr>
  237 + <td colspan="16"><h6 class="muted">没有找到相关数据</h6></td>
  238 + </tr>
  239 + {{/if}}
229 240 </script>
230 241 \ No newline at end of file
... ...
src/main/resources/static/pages/forms/statement/refuelYc.html
1   -<style type="text/css">
2   - .table-bordered {
3   - border: 1px solid; }
4   - .table-bordered > thead > tr > th,
5   - .table-bordered > thead > tr > td,
6   - .table-bordered > tbody > tr > th,
7   - .table-bordered > tbody > tr > td,
8   - .table-bordered > tfoot > tr > th,
9   - .table-bordered > tfoot > tr > td {
10   - border: 1px solid; }
11   - .table-bordered > thead > tr > th,
12   - .table-bordered > thead > tr > td {
13   - border-bottom-width: 2px; }
14   -
15   - .table > tbody + tbody {
16   - border-top: 1px solid; }
17   - .btn-default{
18   - margin-left: 5px;
19   - }
20   -</style>
21   -
22   -<div class="page-head">
23   - <div class="page-title">
24   - <h1>燃油车日报表</h1>
25   - </div>
26   -</div>
27   -
28   -<div class="row">
29   - <div class="col-md-12">
30   - <div class="portlet light porttlet-fit bordered">
31   - <div class="portlet-title">
32   - <form class="form-inline" action="">
33   - <div style="display: inline-block;">
34   - <span class="item-label" style="width: 80px;">线路: </span>
35   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
36   - </div>
37   - <div style="display: inline-block;margin-left: 15px">
38   - <span class="item-label" style="width: 140px;">内部编码: </span>
39   - <select class="form-control" name="code" id="code" style="width: 180px;"></select>
40   - <input class="btn btn-default" type="button" id="czcl" value="X"/>
41   - </div>
42   - <div style="display: inline-block;margin-left: 24px;">
43   - <span class="item-label" style="width: 80px;">&nbsp;日期: </span>
44   - <input class="form-control" type="text" id="date" style="width: 180px;"/>
45   - </div>
46   - <div class="form-group">
47   - <input class="btn btn-default" type="button" id="query" value="筛选"/>
48   - <input class="btn btn-default" type="button" id="export" value="导出"/>
49   - </div>
50   - </form>
51   - </div>
52   - <div class="portlet-body">
53   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
54   - <table class="table table-bordered table-hover table-checkable" id="forms">
55   - <thead>
56   - <tr>
57   - <td>序号</td>
58   - <td>日期</td>
59   - <td>路别</td>
60   - <td>车号</td>
61   - <td>驾驶员</td>
62   - <td>出场</td>
63   - <td>进场</td>
64   - <td>场内0号</td>
65   - <td>场内B5#</td>
66   - <td>油卡0号</td>
67   - <td>油卡-10#</td>
68   - <td>东站0#</td>
69   - <td>东站-10#</td>
70   - <td>场外0#</td>
71   - <td>场外-10#</td>
72   - <td>实绩油耗</td>
73   - <td>特约</td>
74   - <td>业务</td>
75   - <td>车间</td>
76   - <td>总公里</td>
77   - <td>其中空驶</td>
78   - <td>损失公里</td>
79   - <td>班次</td>
80   - <td>车日</td>
81   - <td>备注</td>
82   - </tr>
83   - </thead>
84   - <tbody id="tbody">
85   -
86   - </tbody>
87   - </table>
88   - </div>
89   - </div>
90   - </div>
91   - </div>
92   -</div>
93   -
94   -<script>
95   - $(function(){
96   -
97   - // 关闭左侧栏
98   - if (!$('body').hasClass('page-sidebar-closed'))
99   - $('.menu-toggler.sidebar-toggler').click();
100   -
101   - $("#date").datetimepicker({
102   - format : 'YYYY-MM-DD',
103   - locale : 'zh-cn'
104   - });
105   -
106   - $.get('/report/lineList',function(xlList){
107   - var data = [];
108   -// data.push({id: " ", text: "全部线路"});
109   - $.get('/user/companyData', function(result){
110   - for(var i = 0; i < result.length; i++){
111   - var companyCode = result[i].companyCode;
112   - var children = result[i].children;
113   - for(var j = 0; j < children.length; j++){
114   - var code = children[j].code;
115   - for(var k=0;k < xlList.length;k++ ){
116   - if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
117   - data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
118   -// tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
119   - }
120   - }
121   - }
122   - }
123   - initPinYinSelect2('#line',data,'');
124   - initCl();
125   - });
126   - });
127   - //重置
128   - $('#czcl').on('click', function () {
129   - $('#code').val('').change();
130   - });
131   - $("#line").on("change",initCl);
132   - function initCl(){
133   - $('#code').select2({
134   - ajax: {
135   - url: '/report/carList',
136   - dataType: 'json',
137   - delay: 150,
138   - data: function(params){
139   - return{nbbm: params.term,xlbm:$('#line').val()};
140   - },
141   - processResults: function (data) {
142   - return {
143   - results: data
144   - };
145   - },
146   - cache: true
147   - },
148   - templateResult: function(repo){
149   - if (repo.loading) return repo.text;
150   - var h = '<span>'+repo.text+'</span>';
151   - h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
152   - return h;
153   - },
154   - escapeMarkup: function (markup) { return markup; },
155   - minimumInputLength: 1,
156   - templateSelection: function(repo){
157   - return repo.text;
158   - },
159   - language: {
160   - noResults: function(){
161   - return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
162   - },
163   - inputTooShort : function(e) {
164   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
165   - },
166   - searching : function() {
167   - return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
168   - }
169   - }
170   - });
171   - }
172   -
173   -
174   - var d = new Date();
175   - var year = d.getFullYear();
176   - var mon = (d.getMonth()+1)>9?(d.getMonth()+1):("0"+(d.getMonth()+1));
177   - var day = d.getDate()>9?d.getDate():("0"+d.getDate());
178   - $("#date").val(year + "-" + mon + "-" + day);
179   -
180   -
181   - var line = "", date = "", car = "";
182   - $("#query").on("click",function(){
183   - if($("#date").val() == null || $("#date").val().trim().length == 0){
184   - layer.msg("请选择日期");
185   - return;
186   - }
187   - line = $("#line").val();
188   - date = $("#date").val();
189   - car = $("#code").val();
190   - var i = layer.load(2);
191   - $get('/refuel/queryYc',{line:line,date:date,car:car,type:'query'},function(result){
192   - // 把数据填充到模版中
193   - var tbodyHtml = template('refuel_daily',{list:result});
194   - // 把渲染好的模版html文本追加到表格中
195   - $('#tbody').html(tbodyHtml);
196   - layer.close(i);
197   - });
198   - });
199   -
200   - $("#export").on("click",function(){
201   - if(date && date != ""){
202   - var i = layer.load(2);
203   - var params = {};
204   - params['line'] = line;
205   - params['date'] = date;
206   - params['car'] = car;
207   - $get('/refuel/exportQueryYc', params, function(result){
208   - layer.close(i);
209   - window.open("/downloadFile/download?fileName="
210   - +date+"-燃油车日报表");
211   - layer.close(i);
212   - });
213   - }
214   - });
215   -
216   -});
217   -</script>
218   -<script type="text/html" id="refuel_daily">
219   - {{each list as obj i}}
220   - <tr>
221   - <td>{{i + 1}}</td>
222   - <td>{{obj.date}}</td>
223   - <td>{{obj.line}}</td>
224   - <td>{{obj.car}}</td>
225   - <td>{{obj.driver}}</td>
226   - <td>{{obj.outOil}}</td>
227   - <td>{{obj.inOil}}</td>
228   - <td>{{obj.inStation0}}</td>
229   - <td>{{obj.inStation5}}</td>
230   - <td>{{obj.oilCard0}}</td>
231   - <td>{{obj.oilCard10}}</td>
232   - <td>{{obj.eastStation0}}</td>
233   - <td>{{obj.eastStation10}}</td>
234   - <td>{{obj.outStation0}}</td>
235   - <td>{{obj.outStation10}}</td>
236   - <td>{{obj.oil}}</td>
237   - <td>{{obj.ty}}</td>
238   - <td>{{obj.yw}}</td>
239   - <td>{{obj.cj}}</td>
240   - <td>{{obj.realMileage}}</td>
241   - <td>{{obj.ksMileage}}</td>
242   - <td>{{obj.ssMileage}}</td>
243   - <td>{{obj.bc}}</td>
244   - <td>{{obj.cr}}</td>
245   - <td>{{obj.remark}}</td>
246   - </tr>
247   - {{/each}}
248   - {{if list.length == 0}}
249   - <tr>
250   - <td colspan="25"><h6 class="muted">没有找到相关数据</h6></td>
251   - </tr>
252   - {{/if}}
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 + .btn-default{
  18 + margin-left: 5px;
  19 + }
  20 +</style>
  21 +
  22 +<div class="page-head">
  23 + <div class="page-title">
  24 + <h1>燃油车日报表</h1>
  25 + </div>
  26 +</div>
  27 +
  28 +<div class="row">
  29 + <div class="col-md-12">
  30 + <div class="portlet light porttlet-fit bordered">
  31 + <div class="portlet-title">
  32 + <form class="form-inline" action="">
  33 + <div style="display: inline-block;margin-left: 24px;">
  34 + <span class="item-label" style="width: 80px;">&nbsp;日期: </span>
  35 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  36 + </div>
  37 + <div style="display: inline-block;">
  38 + <span class="item-label" style="width: 80px;">线路: </span>
  39 + <select class="form-control" name="line" id="line" style="width: 180px;" multiple="multiple"></select>
  40 + </div>
  41 + <div class="form-group">
  42 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  43 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  44 + </div>
  45 + </form>
  46 + </div>
  47 + <div class="portlet-body">
  48 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  49 + <table class="table table-bordered table-hover table-checkable" id="forms">
  50 + <thead>
  51 + <tr>
  52 + <td>序号</td>
  53 + <td>日期</td>
  54 + <td>路别</td>
  55 + <td>车号</td>
  56 + <td>驾驶员</td>
  57 + <td>出场油量</td>
  58 + <td>进场油量</td>
  59 + <td>当日加油量</td>
  60 + <td>油量消耗</td>
  61 + <td>百公里油耗</td>
  62 + <td>特约</td>
  63 + <td>业务</td>
  64 + <td>车间</td>
  65 + <td>路单公路</td>
  66 + <td>空驶公里</td>
  67 + <td>损失公里</td>
  68 + <td>班次</td>
  69 + <td>车日</td>
  70 + <td>备注</td>
  71 + </tr>
  72 + </thead>
  73 + <tbody id="tbody">
  74 +
  75 + </tbody>
  76 + </table>
  77 + </div>
  78 + </div>
  79 + </div>
  80 + </div>
  81 +</div>
  82 +
  83 +<script>
  84 + $(function(){
  85 +
  86 + // 关闭左侧栏
  87 + if (!$('body').hasClass('page-sidebar-closed'))
  88 + $('.menu-toggler.sidebar-toggler').click();
  89 +
  90 + var d = new Date();
  91 + d.setTime(d.getTime() - 1*1000*60*60*24);
  92 + var year = d.getFullYear();
  93 + var month = d.getMonth() + 1;
  94 + var day = d.getDate();
  95 + if(month < 10)
  96 + month = "0" + month;
  97 + if(day < 10)
  98 + day = "0" + day;
  99 + var dateTime = year + "-" + month + "-" + day;
  100 + $("#date").datetimepicker({
  101 + format : 'YYYY-MM-DD',
  102 + locale : 'zh-cn'
  103 + });
  104 + $("#date").val(dateTime);
  105 +
  106 +
  107 + $.get('/report/lineList',function(xlList){
  108 + var data = [];
  109 +// data.push({id: " ", text: "全部线路"});
  110 + $.get('/user/companyData', function(result){
  111 + for(var i = 0; i < result.length; i++){
  112 + var companyCode = result[i].companyCode;
  113 + var children = result[i].children;
  114 + for(var j = 0; j < children.length; j++){
  115 + var code = children[j].code;
  116 + for(var k=0;k < xlList.length;k++ ){
  117 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  118 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  119 +// tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  120 + }
  121 + }
  122 + }
  123 + }
  124 + initPinYinSelect2('#line',data,'');
  125 + initCl();
  126 + });
  127 + });
  128 + //重置
  129 + $('#czcl').on('click', function () {
  130 + $('#code').val('').change();
  131 + });
  132 + $("#line").on("change",initCl);
  133 + function initCl(){
  134 + $('#code').select2({
  135 + ajax: {
  136 + url: '/report/carList',
  137 + dataType: 'json',
  138 + delay: 150,
  139 + data: function(params){
  140 + return{nbbm: params.term,xlbm:$('#line').val()};
  141 + },
  142 + processResults: function (data) {
  143 + return {
  144 + results: data
  145 + };
  146 + },
  147 + cache: true
  148 + },
  149 + templateResult: function(repo){
  150 + if (repo.loading) return repo.text;
  151 + var h = '<span>'+repo.text+'</span>';
  152 + h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
  153 + return h;
  154 + },
  155 + escapeMarkup: function (markup) { return markup; },
  156 + minimumInputLength: 1,
  157 + templateSelection: function(repo){
  158 + return repo.text;
  159 + },
  160 + language: {
  161 + noResults: function(){
  162 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  163 + },
  164 + inputTooShort : function(e) {
  165 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  166 + },
  167 + searching : function() {
  168 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  169 + }
  170 + }
  171 + });
  172 + }
  173 +
  174 +
  175 + var line = "", date = "", car = "";
  176 + $("#query").on("click",function(){
  177 + if($("#date").val() == null || $("#date").val().trim().length == 0){
  178 + layer.msg("请选择日期");
  179 + return;
  180 + }
  181 + line = "";
  182 + $($("#line").val()).each(function(i, e){
  183 + line += e + ",";
  184 + });
  185 + if(line.length > 0){
  186 + line = line.substring(0, line.length - 1);
  187 + }
  188 + date = $("#date").val();
  189 + car = $("#code").val();
  190 + var i = layer.load(2);
  191 + $get('/refuel/queryYc',{line:line,date:date,car:car,type:'query'},function(result){
  192 + // 把数据填充到模版中
  193 + var tbodyHtml = template('refuel_yc',{list:result});
  194 + // 把渲染好的模版html文本追加到表格中
  195 + $('#tbody').html(tbodyHtml);
  196 + layer.close(i);
  197 + });
  198 + });
  199 +
  200 + $("#export").on("click",function(){
  201 + if(date && date != ""){
  202 + var i = layer.load(2);
  203 + var params = {};
  204 + params['line'] = line;
  205 + params['date'] = date;
  206 + params['car'] = car;
  207 + $get('/refuel/exportQueryYc', params, function(result){
  208 + layer.close(i);
  209 + window.open("/downloadFile/download?fileName="
  210 + +date+"-燃油车日报表");
  211 + layer.close(i);
  212 + });
  213 + }
  214 + });
  215 +
  216 +});
  217 +</script>
  218 +<script type="text/html" id="refuel_yc">
  219 + {{each list as obj i}}
  220 + <tr>
  221 + <td>{{i + 1}}</td>
  222 + <td>{{obj.date}}</td>
  223 + <td>{{obj.line}}</td>
  224 + <td>{{obj.car}}</td>
  225 + <td>{{obj.driver}}</td>
  226 + <td>{{obj.outOil}}</td>
  227 + <td>{{obj.inOil}}</td>
  228 + <td>{{obj.addOil}}</td>
  229 + <td>{{obj.oil}}</td>
  230 + <td>{{obj.consume}}</td>
  231 + <td>{{obj.ty}}</td>
  232 + <td>{{obj.yw}}</td>
  233 + <td>{{obj.cj}}</td>
  234 + <td>{{obj.realMileage}}</td>
  235 + <td>{{obj.ksMileage}}</td>
  236 + <td>{{obj.ssMileage}}</td>
  237 + <td>{{obj.bc}}</td>
  238 + <td>{{obj.cr}}</td>
  239 + <td>{{obj.remark}}</td>
  240 + </tr>
  241 + {{/each}}
  242 + {{if list.length == 0}}
  243 + <tr>
  244 + <td colspan="25"><h6 class="muted">没有找到相关数据</h6></td>
  245 + </tr>
  246 + {{/if}}
253 247 </script>
254 248 \ No newline at end of file
... ...