Commit 58c1cc4cbfe1aedadd0ddb38969140b3a9cdbf4f
1 parent
5449a8cd
油车日报表,电车日报表,统一表头,删除车辆查询项,线路查询改成多选
Showing
6 changed files
with
563 additions
and
504 deletions
src/main/java/com/bsth/repository/RefuelRepository.java
| @@ -38,7 +38,7 @@ public interface RefuelRepository extends BaseRepository<Refuel, Long> { | @@ -38,7 +38,7 @@ public interface RefuelRepository extends BaseRepository<Refuel, Long> { | ||
| 38 | List<ScheduleRealInfo> scheduleByDateAndLine(String date, String clZbh, String xlBm); | 38 | List<ScheduleRealInfo> scheduleByDateAndLine(String date, String clZbh, String xlBm); |
| 39 | 39 | ||
| 40 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | 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 | List<ScheduleRealInfo> scheduleByDateAndCar(String date, String clZbh); | 42 | List<ScheduleRealInfo> scheduleByDateAndCar(String date, String clZbh); |
| 43 | 43 | ||
| 44 | @Transactional | 44 | @Transactional |
| @@ -61,7 +61,7 @@ public interface RefuelRepository extends BaseRepository<Refuel, Long> { | @@ -61,7 +61,7 @@ public interface RefuelRepository extends BaseRepository<Refuel, Long> { | ||
| 61 | @Query(value="select s from Cars s where s.insideCode=?1") | 61 | @Query(value="select s from Cars s where s.insideCode=?1") |
| 62 | List<Cars> findCarsByCode(String insideCode); | 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,6 +23,7 @@ import java.text.SimpleDateFormat; | ||
| 23 | import java.util.ArrayList; | 23 | import java.util.ArrayList; |
| 24 | import java.util.Date; | 24 | import java.util.Date; |
| 25 | import java.util.HashMap; | 25 | import java.util.HashMap; |
| 26 | +import java.util.HashSet; | ||
| 26 | import java.util.Iterator; | 27 | import java.util.Iterator; |
| 27 | import java.util.List; | 28 | import java.util.List; |
| 28 | import java.util.Map; | 29 | import java.util.Map; |
| @@ -263,22 +264,39 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -263,22 +264,39 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 263 | Map<String, Object> lastMap = new HashMap<String, Object>(); | 264 | Map<String, Object> lastMap = new HashMap<String, Object>(); |
| 264 | String outOil_z = "0", inOil_z = "0", inStation0_z = "0", inStation5_z = "0", | 265 | String outOil_z = "0", inOil_z = "0", inStation0_z = "0", inStation5_z = "0", |
| 265 | oilCard0_z = "0", oilCard10_z = "0", eastStation0_z = "0", eastStation10_z = "0", | 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 | realMileage_z = "0", ksMileage_z = "0", ssMileage_z = "0", consume_z = "", | 269 | realMileage_z = "0", ksMileage_z = "0", ssMileage_z = "0", consume_z = "", |
| 268 | jhbc_z = "0", sjbc_z = "0", bc_z = "0", cr_z = "0"; | 270 | jhbc_z = "0", sjbc_z = "0", bc_z = "0", cr_z = "0"; |
| 269 | 271 | ||
| 270 | List<String> sKeyList = new ArrayList<String>(); | 272 | List<String> sKeyList = new ArrayList<String>(); |
| 271 | Map<String, List<ScheduleRealInfo>> sMap = new HashMap<String, List<ScheduleRealInfo>>(); | 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 | for(ScheduleRealInfo s : scheList){ | 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<Refuel, Long> implements | @@ -287,7 +305,7 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 287 | List<ScheduleRealInfo> list2 = sMap.get(key); | 305 | List<ScheduleRealInfo> list2 = sMap.get(key); |
| 288 | String[] split = key.split("/"); | 306 | String[] split = key.split("/"); |
| 289 | 307 | ||
| 290 | - String realMileage = "", oil = "0", consume = "", cr = ""; | 308 | + String realMileage = "", oil = "0", addOil = "0", consume = "", cr = ""; |
| 291 | String ksMileage = "", ssMileage = "", bc = "", jhbc = "", sjbc = ""; | 309 | String ksMileage = "", ssMileage = "", bc = "", jhbc = "", sjbc = ""; |
| 292 | 310 | ||
| 293 | Double sjgl = culateMileageService.culateSjgl(list2); | 311 | Double sjgl = culateMileageService.culateSjgl(list2); |
| @@ -399,39 +417,47 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -399,39 +417,47 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 399 | } | 417 | } |
| 400 | if(r.getInStation0() != null && r.getInStation0().length() > 0){ | 418 | if(r.getInStation0() != null && r.getInStation0().length() > 0){ |
| 401 | oil = add(oil, r.getInStation0()); | 419 | oil = add(oil, r.getInStation0()); |
| 420 | + addOil = add(addOil, r.getInStation0()); | ||
| 402 | } | 421 | } |
| 403 | if(r.getInStation5() != null && r.getInStation5().length() > 0){ | 422 | if(r.getInStation5() != null && r.getInStation5().length() > 0){ |
| 404 | oil = add(oil, r.getInStation5()); | 423 | oil = add(oil, r.getInStation5()); |
| 424 | + addOil = add(addOil, r.getInStation5()); | ||
| 405 | } | 425 | } |
| 406 | if(r.getOilCard0() != null && r.getOilCard0().length() > 0){ | 426 | if(r.getOilCard0() != null && r.getOilCard0().length() > 0){ |
| 407 | oil = add(oil, r.getOilCard0()); | 427 | oil = add(oil, r.getOilCard0()); |
| 428 | + addOil = add(addOil, r.getOilCard0()); | ||
| 408 | } | 429 | } |
| 409 | if(r.getOilCard10() != null && r.getOilCard10().length() > 0){ | 430 | if(r.getOilCard10() != null && r.getOilCard10().length() > 0){ |
| 410 | oil = add(oil, r.getOilCard10()); | 431 | oil = add(oil, r.getOilCard10()); |
| 432 | + addOil = add(addOil, r.getOilCard10()); | ||
| 411 | } | 433 | } |
| 412 | if(r.getEastStation0() != null && r.getEastStation0().length() > 0){ | 434 | if(r.getEastStation0() != null && r.getEastStation0().length() > 0){ |
| 413 | oil = add(oil, r.getEastStation0()); | 435 | oil = add(oil, r.getEastStation0()); |
| 436 | + addOil = add(addOil, r.getEastStation0()); | ||
| 414 | } | 437 | } |
| 415 | if(r.getEastStation10() != null && r.getEastStation10().length() > 0){ | 438 | if(r.getEastStation10() != null && r.getEastStation10().length() > 0){ |
| 416 | oil = add(oil, r.getEastStation10()); | 439 | oil = add(oil, r.getEastStation10()); |
| 440 | + addOil = add(addOil, r.getEastStation10()); | ||
| 417 | } | 441 | } |
| 418 | if(r.getOutStation0() != null && r.getOutStation0().length() > 0){ | 442 | if(r.getOutStation0() != null && r.getOutStation0().length() > 0){ |
| 419 | oil = add(oil, r.getOutStation0()); | 443 | oil = add(oil, r.getOutStation0()); |
| 444 | + addOil = add(addOil, r.getOutStation0()); | ||
| 420 | } | 445 | } |
| 421 | if(r.getOutStation10() != null && r.getOutStation10().length() > 0){ | 446 | if(r.getOutStation10() != null && r.getOutStation10().length() > 0){ |
| 422 | oil = add(oil, r.getOutStation10()); | 447 | oil = add(oil, r.getOutStation10()); |
| 448 | + addOil = add(addOil, r.getOutStation10()); | ||
| 423 | } | 449 | } |
| 424 | 450 | ||
| 425 | if(realMileage.length() > 0 && oil.length() > 0 && new BigDecimal(realMileage).doubleValue() > 0d){ | 451 | if(realMileage.length() > 0 && oil.length() > 0 && new BigDecimal(realMileage).doubleValue() > 0d){ |
| 426 | consume = df.format(new BigDecimal(oil).divide(new BigDecimal(realMileage), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); | 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 | m.put("car", split[0]); | 457 | m.put("car", split[0]); |
| 432 | m.put("driver", split[1]); | 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 | m.put("inStation0", r.getInStation0()); | 461 | m.put("inStation0", r.getInStation0()); |
| 436 | m.put("inStation5", r.getInStation5()); | 462 | m.put("inStation5", r.getInStation5()); |
| 437 | m.put("oilCard0", r.getOilCard0()); | 463 | m.put("oilCard0", r.getOilCard0()); |
| @@ -440,6 +466,7 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -440,6 +466,7 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 440 | m.put("eastStation10", r.getEastStation10()); | 466 | m.put("eastStation10", r.getEastStation10()); |
| 441 | m.put("outStation0", r.getOutStation0()); | 467 | m.put("outStation0", r.getOutStation0()); |
| 442 | m.put("outStation10", r.getOutStation10()); | 468 | m.put("outStation10", r.getOutStation10()); |
| 469 | + m.put("addOil", addOil); | ||
| 443 | m.put("oil", oil); | 470 | m.put("oil", oil); |
| 444 | m.put("realMileage", realMileage); | 471 | m.put("realMileage", realMileage); |
| 445 | m.put("ksMileage", ksMileage); | 472 | m.put("ksMileage", ksMileage); |
| @@ -487,9 +514,14 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -487,9 +514,14 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 487 | outStation10_z = new BigDecimal(outStation10_z).add(new BigDecimal(r.getOutStation10())).toString(); | 514 | outStation10_z = new BigDecimal(outStation10_z).add(new BigDecimal(r.getOutStation10())).toString(); |
| 488 | } | 515 | } |
| 489 | oil_z = new BigDecimal(oil_z).add(new BigDecimal(oil)).toString(); | 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 | lastMap.put("date", "合计"); | 525 | lastMap.put("date", "合计"); |
| 494 | lastMap.put("line", ""); | 526 | lastMap.put("line", ""); |
| 495 | lastMap.put("car", ""); | 527 | lastMap.put("car", ""); |
| @@ -504,6 +536,7 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -504,6 +536,7 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 504 | lastMap.put("eastStation10", eastStation10_z); | 536 | lastMap.put("eastStation10", eastStation10_z); |
| 505 | lastMap.put("outStation0", outStation0_z); | 537 | lastMap.put("outStation0", outStation0_z); |
| 506 | lastMap.put("outStation10", outStation10_z); | 538 | lastMap.put("outStation10", outStation10_z); |
| 539 | + lastMap.put("addOil", addOil_z); | ||
| 507 | lastMap.put("oil", oil_z); | 540 | lastMap.put("oil", oil_z); |
| 508 | lastMap.put("realMileage", realMileage_z); | 541 | lastMap.put("realMileage", realMileage_z); |
| 509 | lastMap.put("ksMileage", ksMileage_z); | 542 | lastMap.put("ksMileage", ksMileage_z); |
| @@ -568,16 +601,33 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -568,16 +601,33 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 568 | 601 | ||
| 569 | List<String> sKeyList = new ArrayList<String>(); | 602 | List<String> sKeyList = new ArrayList<String>(); |
| 570 | Map<String, List<ScheduleRealInfo>> sMap = new HashMap<String, List<ScheduleRealInfo>>(); | 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 | for(ScheduleRealInfo s : scheList){ | 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<Refuel, Long> implements | @@ -613,9 +663,11 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 613 | cr_z = new BigDecimal(cr_z).add(new BigDecimal(cr)).toString(); | 663 | cr_z = new BigDecimal(cr_z).add(new BigDecimal(cr)).toString(); |
| 614 | 664 | ||
| 615 | m.put("date", scheList.get(0).getScheduleDateStr()); | 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 | m.put("car", split[0]); | 667 | m.put("car", split[0]); |
| 618 | m.put("driver", split[1]); | 668 | m.put("driver", split[1]); |
| 669 | + m.put("out", ""); | ||
| 670 | + m.put("in", ""); | ||
| 619 | m.put("jdl", ""); | 671 | m.put("jdl", ""); |
| 620 | m.put("hdl", ""); | 672 | m.put("hdl", ""); |
| 621 | m.put("realMileage", realMileage); | 673 | m.put("realMileage", realMileage); |
| @@ -635,6 +687,8 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | @@ -635,6 +687,8 @@ public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements | ||
| 635 | lastMap.put("line", ""); | 687 | lastMap.put("line", ""); |
| 636 | lastMap.put("car", ""); | 688 | lastMap.put("car", ""); |
| 637 | lastMap.put("driver", ""); | 689 | lastMap.put("driver", ""); |
| 690 | + lastMap.put("out", ""); | ||
| 691 | + lastMap.put("in", ""); | ||
| 638 | lastMap.put("jdl", ""); | 692 | lastMap.put("jdl", ""); |
| 639 | lastMap.put("hdl", ""); | 693 | lastMap.put("hdl", ""); |
| 640 | lastMap.put("realMileage", realMileage_z); | 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;"> 日期: </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?' <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;"> 日期: </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?' <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 | </script> | 240 | </script> |
| 230 | \ No newline at end of file | 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;"> 日期: </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?' <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;"> 日期: </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?' <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 | </script> | 247 | </script> |
| 254 | \ No newline at end of file | 248 | \ No newline at end of file |