Commit 077cb3e690104cbc8c46f815de9e9eecc871ae2c
1 parent
52b4cf8b
新增统计售票员公里的方法
Showing
5 changed files
with
911 additions
and
40 deletions
src/main/java/com/bsth/controller/forms/MCY_FormsController.java
| ... | ... | @@ -57,6 +57,13 @@ public class MCY_FormsController { |
| 57 | 57 | |
| 58 | 58 | return formsService.shiftuehiclemanth(map); |
| 59 | 59 | } |
| 60 | + | |
| 61 | + // 班次车辆人员月报表 | |
| 62 | + @RequestMapping(value = "/shiftuehiclemanth2", method = RequestMethod.GET) | |
| 63 | + public List<Shiftuehiclemanth> shiftuehiclemanth2(@RequestParam Map<String, Object> map) { | |
| 64 | + | |
| 65 | + return formsService.shiftuehiclemanth2(map); | |
| 66 | + } | |
| 60 | 67 | |
| 61 | 68 | // 班次车辆人员日统计 |
| 62 | 69 | @RequestMapping(value = "/shifday", method = RequestMethod.GET) |
| ... | ... | @@ -80,6 +87,13 @@ public class MCY_FormsController { |
| 80 | 87 | } |
| 81 | 88 | |
| 82 | 89 | // 路单数据 |
| 90 | + @RequestMapping(value = "/singledata2", method = RequestMethod.GET) | |
| 91 | + public List<Singledata> singledata2(@RequestParam Map<String, Object> map) { | |
| 92 | + | |
| 93 | + return formsService.singledata2(map); | |
| 94 | + } | |
| 95 | + | |
| 96 | + // 路单数据 | |
| 83 | 97 | @RequestMapping(value = "/singledatanew", method = RequestMethod.GET) |
| 84 | 98 | public List<Singledata> singledatanew(@RequestParam Map<String, Object> map) { |
| 85 | 99 | |
| ... | ... | @@ -92,6 +106,12 @@ public class MCY_FormsController { |
| 92 | 106 | return formsService.singledatatj(map); |
| 93 | 107 | } |
| 94 | 108 | |
| 109 | + | |
| 110 | + @RequestMapping(value = "/singledatatj2", method = RequestMethod.GET) | |
| 111 | + public List<Singledata> singledatatj2(@RequestParam Map<String, Object> map) { | |
| 112 | + | |
| 113 | + return formsService.singledatatj2(map); | |
| 114 | + } | |
| 95 | 115 | // 车辆加注 |
| 96 | 116 | @RequestMapping(value = "/vehicleloading", method = RequestMethod.GET) |
| 97 | 117 | public List<Vehicleloading> vehicleloading(@RequestParam String line, @RequestParam String data) { | ... | ... |
src/main/java/com/bsth/service/forms/FormsService.java
| ... | ... | @@ -24,14 +24,19 @@ public interface FormsService { |
| 24 | 24 | public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map); |
| 25 | 25 | |
| 26 | 26 | public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map); |
| 27 | + public List<Shiftuehiclemanth> shiftuehiclemanth2(Map<String, Object> map); | |
| 27 | 28 | |
| 28 | 29 | public List<Changetochange> changetochange(Map<String, Object> map); |
| 29 | 30 | |
| 30 | 31 | public List<Shifday> shifday(Map<String, Object> map); |
| 31 | 32 | |
| 32 | 33 | public List<Singledata> singledata(Map<String, Object> map); |
| 34 | + public List<Singledata> singledata2(Map<String, Object> map); | |
| 35 | + | |
| 33 | 36 | public List<Singledata> singledatanew(Map<String, Object> map); |
| 34 | 37 | public List<Singledata> singledatatj(Map<String, Object> map); |
| 38 | + public List<Singledata> singledatatj2(Map<String, Object> map); | |
| 39 | + | |
| 35 | 40 | |
| 36 | 41 | public List<Vehicleloading> vehicleloading(String line,String data); |
| 37 | 42 | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -360,7 +360,7 @@ public class FormsServiceImpl implements FormsService { |
| 360 | 360 | int ljbc=culateMileageService.culateLjbc(list_s,""); |
| 361 | 361 | int sjbc=culateMileageService.culateSjbc(list_s, ""); |
| 362 | 362 | double cjgl=culateMileageService.culateLbgl(sList); |
| 363 | - double zjgl=culateMileageService.culateLjgl(list_s); | |
| 363 | +// double zjgl=culateMileageService.culateLjgl(list_s); | |
| 364 | 364 | d.setEmptMileage(String.valueOf(zksgl));//空驶公里 |
| 365 | 365 | d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 |
| 366 | 366 | d.setSjbc(String.valueOf(sjbc+ljbc)); |
| ... | ... | @@ -368,7 +368,7 @@ public class FormsServiceImpl implements FormsService { |
| 368 | 368 | d.setCjbc(String.valueOf(cjbc));//抽检班次 |
| 369 | 369 | d.setLjbc(String.valueOf(ljbc));//增加班次 |
| 370 | 370 | d.setRemMileage(String.valueOf(cjgl));//抽检里程 |
| 371 | - d.setAddMileage(String.valueOf(zjgl));//增加里程 | |
| 371 | + d.setAddMileage(String.valueOf(ljgl));//增加里程 | |
| 372 | 372 | |
| 373 | 373 | } |
| 374 | 374 | |
| ... | ... | @@ -403,6 +403,191 @@ public class FormsServiceImpl implements FormsService { |
| 403 | 403 | |
| 404 | 404 | return list; |
| 405 | 405 | } |
| 406 | + | |
| 407 | + | |
| 408 | + @Override | |
| 409 | + public List<Shiftuehiclemanth> shiftuehiclemanth2(Map<String, Object> map) { | |
| 410 | + final String empnames=map.get("empnames").toString(); | |
| 411 | + String gsdmManth=""; | |
| 412 | + String fgsdmManth=""; | |
| 413 | + if(map.containsKey("gsdmManth")){ | |
| 414 | + gsdmManth=map.get("gsdmManth").toString(); | |
| 415 | + } | |
| 416 | + if(map.containsKey("fgsdmManth")){ | |
| 417 | + fgsdmManth=map.get("fgsdmManth").toString(); | |
| 418 | + } | |
| 419 | + String sql ="select "; | |
| 420 | + if(empnames.equals("驾驶员")){ | |
| 421 | + sql += " r.j_name,r.j_gh "; | |
| 422 | + }else if(empnames.equals("售票员")){ | |
| 423 | + sql += " r.s_gh,r.s_name"; | |
| 424 | + }else{ | |
| 425 | + sql += " r.cl_zbh"; | |
| 426 | + } | |
| 427 | + sql += " from bsth_c_s_sp_info_real r where " | |
| 428 | + + " r.schedule_date_str >= '" + map.get("startDate").toString() + "' " | |
| 429 | + + " and r.schedule_date_str <='" + map.get("endDate").toString() + "' "; | |
| 430 | + if(map.get("line")!=null&&!map.get("line").equals("")){ | |
| 431 | + sql+=" and r.xl_bm='"+ map.get("line").toString() + "' "; | |
| 432 | + } | |
| 433 | + sql+=" and r.gs_bm like'%"+gsdmManth+"%' and r.fgs_bm like'%"+fgsdmManth+"%'"; | |
| 434 | + | |
| 435 | + if(empnames.equals("驾驶员")){ | |
| 436 | + sql += " GROUP BY " | |
| 437 | + + "r.j_name,r.j_gh"; | |
| 438 | + }else if(empnames.equals("售票员")){ | |
| 439 | + sql+="and r.s_name is not null AND r.s_name !='' GROUP BY r.s_gh,r.s_name"; | |
| 440 | + }else{ | |
| 441 | + sql += " GROUP BY r.cl_zbh"; | |
| 442 | + } | |
| 443 | + | |
| 444 | + List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() { | |
| 445 | + | |
| 446 | + @Override | |
| 447 | + public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 448 | + Shiftuehiclemanth shif = new Shiftuehiclemanth(); | |
| 449 | + if(empnames.equals("驾驶员")){ | |
| 450 | + shif.setjName(arg0.getString("j_name")+"/"+arg0.getString("j_gh")); | |
| 451 | + shif.setJgh(arg0.getString("j_gh")); | |
| 452 | + }else if(empnames.equals("售票员")){ | |
| 453 | + shif.setjName(arg0.getString("s_name")+"/"+arg0.getString("s_gh")); | |
| 454 | + shif.setSgh(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); | |
| 455 | + }else if(empnames.equals("车辆自编号")){ | |
| 456 | + shif.setjName(arg0.getString("cl_zbh")); | |
| 457 | + } | |
| 458 | +// shif.setJgh(arg0.getString("j_gh")); | |
| 459 | +// shif.setZbh(arg0.getString("cl_zbh")); | |
| 460 | +// shif.setjName(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); | |
| 461 | + return shif; | |
| 462 | + } | |
| 463 | + }); | |
| 464 | + | |
| 465 | + List<ScheduleRealInfo> sList; | |
| 466 | + List<ScheduleRealInfo> list_s; | |
| 467 | + List<ScheduleRealInfo> lists=scheduleRealInfoRepository.scheduleByDateAndLineYbb(map.get("line").toString(), map.get("startDate").toString(), map.get("endDate").toString()); | |
| 468 | + for(int i=0;i<list.size();i++){ | |
| 469 | + sList =new ArrayList<ScheduleRealInfo>(); | |
| 470 | + list_s =new ArrayList<ScheduleRealInfo>(); | |
| 471 | + Shiftuehiclemanth d=list.get(i); | |
| 472 | + for (int j = 0; j < lists.size(); j++) { | |
| 473 | + ScheduleRealInfo s=lists.get(j); | |
| 474 | +// if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){ | |
| 475 | +// sList.add(s); | |
| 476 | +// } | |
| 477 | + if(empnames.equals("驾驶员")){ | |
| 478 | + if(d.getJgh().equals(s.getjGh())){ | |
| 479 | + sList.add(s); | |
| 480 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 481 | + if(cts != null && cts.size() > 0){ | |
| 482 | + list_s.add(s); | |
| 483 | + }else{ | |
| 484 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 485 | + list_s.add(s); | |
| 486 | + } | |
| 487 | + } | |
| 488 | + | |
| 489 | + } | |
| 490 | + }else if(empnames.equals("售票员")){ | |
| 491 | + String sgh=s.getsGh()==null?"":s.getsGh(); | |
| 492 | + if(d.getSgh().equals(sgh)){ | |
| 493 | + sList.add(s); | |
| 494 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 495 | + if(cts != null && cts.size() > 0){ | |
| 496 | + list_s.add(s); | |
| 497 | + }else{ | |
| 498 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 499 | + list_s.add(s); | |
| 500 | + } | |
| 501 | + } | |
| 502 | + } | |
| 503 | + }else if(empnames.equals("车辆自编号")){ | |
| 504 | + if(d.getjName().equals(s.getClZbh())){ | |
| 505 | + sList.add(s); | |
| 506 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 507 | + if(cts != null && cts.size() > 0){ | |
| 508 | + list_s.add(s); | |
| 509 | + }else{ | |
| 510 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 511 | + list_s.add(s); | |
| 512 | + } | |
| 513 | + } | |
| 514 | + } | |
| 515 | + } | |
| 516 | + | |
| 517 | + } | |
| 518 | + | |
| 519 | + if(empnames.equals("售票员")){ | |
| 520 | + double zksgl=culateMileageService.culateSjfyylc_spy(list_s); | |
| 521 | + double ljgl=culateMileageService.culateLjgl_spy(list_s); | |
| 522 | + double sjgl=culateMileageService.culateSjgl_spy(list_s); | |
| 523 | + double zyygl=Arith.add(ljgl, sjgl); | |
| 524 | + int cjbc=culateMileageService.culateLbbc(sList); | |
| 525 | + int ljbc=culateMileageService.culateLjbc(list_s,""); | |
| 526 | + int sjbc=culateMileageService.culateSjbc(list_s, ""); | |
| 527 | + double cjgl=culateMileageService.culateLbgl(sList); | |
| 528 | +// double zjgl=culateMileageService.culateLjgl(list_s); | |
| 529 | + d.setEmptMileage(String.valueOf(zksgl));//空驶公里 | |
| 530 | + d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 | |
| 531 | + d.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 532 | + d.setJhlc(String.valueOf(zyygl));//运营里程 | |
| 533 | + d.setCjbc(String.valueOf(cjbc));//抽检班次 | |
| 534 | + d.setLjbc(String.valueOf(ljbc));//增加班次 | |
| 535 | + d.setRemMileage(String.valueOf(cjgl));//抽检里程 | |
| 536 | + d.setAddMileage(String.valueOf(ljgl));//增加里程 | |
| 537 | + }else{ | |
| 538 | + double ksgl=culateMileageService.culateKsgl(list_s); | |
| 539 | + double jccgl=culateMileageService.culateJccgl(list_s); | |
| 540 | + double zksgl=Arith.add(ksgl, jccgl); | |
| 541 | + double ljgl=culateMileageService.culateLjgl(list_s); | |
| 542 | + double sjgl=culateMileageService.culateSjgl(list_s); | |
| 543 | + double zyygl=Arith.add(ljgl, sjgl); | |
| 544 | + int cjbc=culateMileageService.culateLbbc(sList); | |
| 545 | + int ljbc=culateMileageService.culateLjbc(list_s,""); | |
| 546 | + int sjbc=culateMileageService.culateSjbc(list_s, ""); | |
| 547 | + double cjgl=culateMileageService.culateLbgl(sList); | |
| 548 | +// double zjgl=culateMileageService.culateLjgl(list_s); | |
| 549 | + d.setEmptMileage(String.valueOf(zksgl));//空驶公里 | |
| 550 | + d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 | |
| 551 | + d.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 552 | + d.setJhlc(String.valueOf(zyygl));//运营里程 | |
| 553 | + d.setCjbc(String.valueOf(cjbc));//抽检班次 | |
| 554 | + d.setLjbc(String.valueOf(ljbc));//增加班次 | |
| 555 | + d.setRemMileage(String.valueOf(cjgl));//抽检里程 | |
| 556 | + d.setAddMileage(String.valueOf(ljgl));//增加里程 | |
| 557 | + } | |
| 558 | + } | |
| 559 | + | |
| 560 | + Shiftuehiclemanth shif = new Shiftuehiclemanth(); | |
| 561 | + shif.setjName("汇总合计"); | |
| 562 | + BigDecimal yylc = new BigDecimal("0.0"); | |
| 563 | + BigDecimal kslc = new BigDecimal("0.0"); | |
| 564 | + BigDecimal cjlc = new BigDecimal("0.0"); | |
| 565 | + BigDecimal zjlc = new BigDecimal("0.0"); | |
| 566 | + BigDecimal zlc = new BigDecimal("0.0"); | |
| 567 | + int cjbc = 0, zjbc = 0, sjbc = 0; | |
| 568 | + for(Shiftuehiclemanth s : list){ | |
| 569 | + yylc = yylc.add(new BigDecimal(s.getJhlc())); | |
| 570 | + kslc = kslc.add(new BigDecimal(s.getEmptMileage())); | |
| 571 | + cjlc = cjlc.add(new BigDecimal(s.getRemMileage())); | |
| 572 | + zjlc = zjlc.add(new BigDecimal(s.getAddMileage())); | |
| 573 | + zlc = zlc.add(new BigDecimal(s.getTotalm())); | |
| 574 | + cjbc += Integer.valueOf(s.getCjbc()); | |
| 575 | + zjbc += Integer.valueOf(s.getLjbc()); | |
| 576 | + sjbc += Integer.valueOf(s.getSjbc()); | |
| 577 | + } | |
| 578 | + shif.setJhlc(yylc.toString()); | |
| 579 | + shif.setEmptMileage(kslc.toString()); | |
| 580 | + shif.setRemMileage(cjlc.toString()); | |
| 581 | + shif.setAddMileage(zjlc.toString()); | |
| 582 | + shif.setTotalm(zlc.toString()); | |
| 583 | + shif.setCjbc("" + cjbc); | |
| 584 | + shif.setLjbc("" + zjbc); | |
| 585 | + shif.setSjbc("" + sjbc); | |
| 586 | + if(list.size() > 0) | |
| 587 | + list.add(shif); | |
| 588 | + | |
| 589 | + return list; | |
| 590 | + } | |
| 406 | 591 | |
| 407 | 592 | // 班次车辆人员日统计 |
| 408 | 593 | @Override |
| ... | ... | @@ -603,38 +788,290 @@ public class FormsServiceImpl implements FormsService { |
| 603 | 788 | sql += " and gs= '"+gs+"' and fgs= '"+fgs+"'"; |
| 604 | 789 | } |
| 605 | 790 | |
| 606 | - sql +=" order by rq"; | |
| 607 | - List<Changetochange> list = jdbcTemplate.query(sql, new RowMapper<Changetochange>() { | |
| 608 | - | |
| 609 | - | |
| 610 | - @Override | |
| 611 | - public Changetochange mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 612 | - Changetochange chan = new Changetochange(); | |
| 613 | - chan.setRq(arg0.getString("rq")); | |
| 614 | - chan.setGs(BasicData.businessCodeNameMap.get(arg0.getString("gs"))); | |
| 615 | - chan.setFgs(BasicData.businessFgsCodeNameMap.get(arg0.getString("fgs")+"_"+arg0.getString("gs"))); | |
| 616 | - chan.setXl(BasicData.lineCode2NameMap.get(arg0.getString("xl"))); | |
| 617 | - chan.setLp(arg0.getString("lp")); | |
| 618 | - chan.setFssj(arg0.getString("fssj")); | |
| 619 | - chan.setXgsj(arg0.getString("xgsj")); | |
| 620 | - chan.setPcch(arg0.getString("pcch")); | |
| 621 | - chan.setPcry(arg0.getString("pcry")); | |
| 622 | - chan.setJhch(arg0.getString("jhch")); | |
| 623 | - chan.setJhgh(arg0.getString("jhgh")); | |
| 624 | - chan.setSjch(arg0.getString("sjch")); | |
| 625 | - chan.setSjgh(arg0.getString("sjgh")); | |
| 626 | - chan.setYy(arg0.getString("yy")); | |
| 627 | - chan.setXgr(arg0.getString("xgr")); | |
| 628 | - return chan; | |
| 629 | - } | |
| 630 | - }); | |
| 631 | - return list; | |
| 632 | - } | |
| 633 | - | |
| 634 | - | |
| 635 | - // 路单数据 | |
| 791 | + sql +=" order by rq"; | |
| 792 | + List<Changetochange> list = jdbcTemplate.query(sql, new RowMapper<Changetochange>() { | |
| 793 | + | |
| 794 | + | |
| 795 | + @Override | |
| 796 | + public Changetochange mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 797 | + Changetochange chan = new Changetochange(); | |
| 798 | + chan.setRq(arg0.getString("rq")); | |
| 799 | + chan.setGs(BasicData.businessCodeNameMap.get(arg0.getString("gs"))); | |
| 800 | + chan.setFgs(BasicData.businessFgsCodeNameMap.get(arg0.getString("fgs")+"_"+arg0.getString("gs"))); | |
| 801 | + chan.setXl(BasicData.lineCode2NameMap.get(arg0.getString("xl"))); | |
| 802 | + chan.setLp(arg0.getString("lp")); | |
| 803 | + chan.setFssj(arg0.getString("fssj")); | |
| 804 | + chan.setXgsj(arg0.getString("xgsj")); | |
| 805 | + chan.setPcch(arg0.getString("pcch")); | |
| 806 | + chan.setPcry(arg0.getString("pcry")); | |
| 807 | + chan.setJhch(arg0.getString("jhch")); | |
| 808 | + chan.setJhgh(arg0.getString("jhgh")); | |
| 809 | + chan.setSjch(arg0.getString("sjch")); | |
| 810 | + chan.setSjgh(arg0.getString("sjgh")); | |
| 811 | + chan.setYy(arg0.getString("yy")); | |
| 812 | + chan.setXgr(arg0.getString("xgr")); | |
| 813 | + return chan; | |
| 814 | + } | |
| 815 | + }); | |
| 816 | + return list; | |
| 817 | + } | |
| 818 | + | |
| 819 | + | |
| 820 | + // 路单数据 | |
| 821 | + @Override | |
| 822 | + public List<Singledata> singledatatj(Map<String, Object> map) { | |
| 823 | + String gsdm=""; | |
| 824 | + if(map.get("gsdmSing")!=null){ | |
| 825 | + gsdm=map.get("gsdmSing").toString(); | |
| 826 | + } | |
| 827 | + String fgsdm=""; | |
| 828 | + if(map.get("fgsdmSing")!=null){ | |
| 829 | + fgsdm=map.get("fgsdmSing").toString(); | |
| 830 | + } | |
| 831 | + | |
| 832 | + String tjtype=map.get("tjtype").toString(); | |
| 833 | + String xlbm=map.get("line").toString().trim(); | |
| 834 | + startDate = map.get("startDate").toString(); | |
| 835 | + | |
| 836 | + List<ScheduleRealInfo> listReal=new ArrayList<ScheduleRealInfo>(); | |
| 837 | + if(xlbm.equals("")){ | |
| 838 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineByGs_(gsdm, fgsdm, startDate); | |
| 839 | + }else{ | |
| 840 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineQp(xlbm, startDate); | |
| 841 | + } | |
| 842 | + List<Singledata> list=new ArrayList<Singledata>(); | |
| 843 | + List<Singledata> list_=new ArrayList<Singledata>(); | |
| 844 | + if(tjtype.equals("jsy")){ | |
| 845 | + //油统计 | |
| 846 | + String sql="select r.j_gh, r.xl_bm,r.cl_zbh,r.j_name" | |
| 847 | + + " from bsth_c_s_sp_info_real r where " | |
| 848 | + + " r.schedule_date_str = '"+startDate+"'"; | |
| 849 | + if(xlbm.equals("")){ | |
| 850 | + sql +="and r.gs_bm='"+gsdm+"' " | |
| 851 | + + " and r.fgs_bm='"+fgsdm+"'"; | |
| 852 | + }else{ | |
| 853 | + sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 854 | + } | |
| 855 | + sql += " group by r.j_gh,r.xl_bm,r.cl_zbh,r.j_name order by r.xl_bm,r.cl_zbh"; | |
| 856 | + list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 857 | + @Override | |
| 858 | + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 859 | + Singledata sin = new Singledata(); | |
| 860 | + sin.setxL(arg0.getString("xl_bm")); | |
| 861 | + sin.setJsy(arg0.getString("j_gh")); | |
| 862 | + sin.setjName(arg0.getString("j_name")); | |
| 863 | + sin.setClzbh(arg0.getString("cl_zbh")); | |
| 864 | + return sin; | |
| 865 | + } | |
| 866 | + }); | |
| 867 | + String linesql=""; | |
| 868 | + if(!xlbm.equals("")){ | |
| 869 | + linesql +=" and xlbm ='"+xlbm+"' "; | |
| 870 | + } | |
| 871 | + String nysql="SELECT id,xlbm,nbbm, jsy,jzl as jzl,yh as yh,sh as sh FROM bsth_c_ylb " | |
| 872 | + + " WHERE rq = '"+startDate+"'" | |
| 873 | + + " AND ssgsdm = '"+gsdm+"' AND fgsdm = '"+fgsdm+"'" +linesql | |
| 874 | + + " union" | |
| 875 | + + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh FROM bsth_c_dlb" | |
| 876 | + + " WHERE rq = '"+startDate+"'" | |
| 877 | + + " AND ssgsdm = '"+gsdm+"' AND fgsdm = '"+fgsdm+"'"+linesql; | |
| 878 | + List<Singledata> listNy = jdbcTemplate.query(nysql, new RowMapper<Singledata>() { | |
| 879 | + @Override | |
| 880 | + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 881 | + Singledata sin = new Singledata(); | |
| 882 | + sin.setxL(arg0.getString("xlbm")); | |
| 883 | + sin.setJsy(arg0.getString("jsy")); | |
| 884 | + sin.setClzbh(arg0.getString("nbbm")); | |
| 885 | + sin.setJzl(arg0.getString("jzl")); | |
| 886 | + sin.setHyl(arg0.getString("yh")); | |
| 887 | + sin.setUnyyyl(arg0.getString("sh")); | |
| 888 | + return sin; | |
| 889 | + } | |
| 890 | + }); | |
| 891 | + //统计油,电表中手动添加的或者有加注没里程的数据 | |
| 892 | + for (int i = 0; i < listNy.size(); i++) { | |
| 893 | + Singledata sin_=listNy.get(i); | |
| 894 | + String jsy=sin_.getJsy(); | |
| 895 | + String line=sin_.getxL(); | |
| 896 | + String clzbh=sin_.getClzbh(); | |
| 897 | + boolean fages=true; | |
| 898 | + for (int j = 0; j < list.size(); j++) { | |
| 899 | + Singledata sin=list.get(j); | |
| 900 | + String jsy_=sin.getJsy(); | |
| 901 | + String line_=sin.getxL(); | |
| 902 | + String clzbh_=sin.getClzbh(); | |
| 903 | + if(jsy.equals(jsy_) | |
| 904 | + &&line.equals(line_) | |
| 905 | + &&clzbh.equals(clzbh_)){ | |
| 906 | + fages=false; | |
| 907 | + } | |
| 908 | + } | |
| 909 | + if(fages){ | |
| 910 | + Singledata s=new Singledata(); | |
| 911 | + s.setJsy(jsy); | |
| 912 | + s.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 913 | + s.setClzbh(clzbh); | |
| 914 | + s.setSgh(""); | |
| 915 | + s.setsName(""); | |
| 916 | + s.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 917 | + s.setxL(line); | |
| 918 | + s.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 919 | + s.setJzl(sin_.getJzl()); | |
| 920 | + s.setHyl(sin_.getHyl()); | |
| 921 | + s.setUnyyyl(sin_.getUnyyyl()); | |
| 922 | + s.setJhlc("0.0"); | |
| 923 | + s.setEmptMileage("0.0"); | |
| 924 | + s.setJhjl("0.0"); | |
| 925 | + s.setrQ(startDate); | |
| 926 | + list_.add(s); | |
| 927 | + } | |
| 928 | + } | |
| 929 | + for (int i= 0; i < list.size(); i++) { | |
| 930 | + Singledata sin=list.get(i); | |
| 931 | + String jsy=sin.getJsy(); | |
| 932 | + String line=sin.getxL(); | |
| 933 | + String clzbh=sin.getClzbh(); | |
| 934 | + double jzl=0.0; | |
| 935 | + double yh=0.0; | |
| 936 | + double sh=0.0; | |
| 937 | + for (int j = 0; j < listNy.size(); j++) { | |
| 938 | + Singledata y=listNy.get(j); | |
| 939 | + if(y.getJsy().equals(jsy) | |
| 940 | + &&y.getClzbh().equals(clzbh) | |
| 941 | + &&y.getxL().equals(line)){ | |
| 942 | + jzl=Arith.add(jzl, y.getJzl()); | |
| 943 | + yh=Arith.add(yh, y.getHyl()); | |
| 944 | + sh=Arith.add(sh, y.getUnyyyl()); | |
| 945 | + } | |
| 946 | + } | |
| 947 | + sin.setHyl(String.valueOf(yh)); | |
| 948 | + sin.setJzl(String.valueOf(jzl)); | |
| 949 | + sin.setUnyyyl(String.valueOf(sh)); | |
| 950 | + | |
| 951 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 952 | + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 953 | + for (int j = 0; j < listReal.size(); j++) { | |
| 954 | + ScheduleRealInfo s=listReal.get(j); | |
| 955 | + if(s.getjGh().equals(jsy) | |
| 956 | + && s.getClZbh().equals(clzbh) | |
| 957 | + &&s.getXlBm().equals(line)){ | |
| 958 | + newList.add(s); | |
| 959 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 960 | + if(cts != null && cts.size() > 0){ | |
| 961 | + newList_.add(s); | |
| 962 | + }else{ | |
| 963 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 964 | + newList_.add(s); | |
| 965 | + } | |
| 966 | + } | |
| 967 | + } | |
| 968 | + } | |
| 969 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 970 | + double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 971 | + double yygl=culateMileageService.culateSjgl(newList_); | |
| 972 | + double ljgl=culateMileageService.culateLjgl(newList_); | |
| 973 | + double ksgl=culateMileageService.culateKsgl(newList_); | |
| 974 | + double jcgl=culateMileageService.culateJccgl(newList_); | |
| 975 | + | |
| 976 | + double zyygl=Arith.add(yygl, ljgl); | |
| 977 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 978 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 979 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 980 | + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 981 | + sin.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 982 | + sin.setrQ(startDate); | |
| 983 | +// sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 984 | + sin.setSgh(""); | |
| 985 | + sin.setsName(""); | |
| 986 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 987 | + list_.add(sin); | |
| 988 | + | |
| 989 | + } | |
| 990 | + Collections.sort(list_,new SingledataByXlbm()); | |
| 991 | + }else{ | |
| 992 | + String sql="select r.s_gh,r.s_name, " | |
| 993 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" | |
| 994 | + + " from bsth_c_s_sp_info_real r where " | |
| 995 | + + " r.schedule_date_str = '"+startDate+"'" | |
| 996 | + + " and r.s_gh !='' and r.s_gh is not null "; | |
| 997 | + if(xlbm.equals("")){ | |
| 998 | + sql +="and r.gs_bm='"+gsdm+"' " | |
| 999 | + + " and r.fgs_bm='"+fgsdm+"'"; | |
| 1000 | + }else{ | |
| 1001 | + sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1002 | + } | |
| 1003 | + sql += " group by r.s_gh,r.s_name," | |
| 1004 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; | |
| 1005 | + | |
| 1006 | + list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1007 | + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 1008 | + @Override | |
| 1009 | + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 1010 | + Singledata sin = new Singledata(); | |
| 1011 | + sin.setrQ(startDate); | |
| 1012 | + sin.setxL(arg0.getString("xl_bm")); | |
| 1013 | + sin.setClzbh(arg0.getString("cl_zbh")); | |
| 1014 | + sin.setSgh(arg0.getString("s_gh")); | |
| 1015 | + sin.setsName(arg0.getString("s_name")); | |
| 1016 | + return sin; | |
| 1017 | + } | |
| 1018 | + }); | |
| 1019 | + | |
| 1020 | + for (int i = 0; i < list.size(); i++) { | |
| 1021 | + Singledata sin=list.get(i); | |
| 1022 | + String jsy=sin.getSgh(); | |
| 1023 | + String line=sin.getxL(); | |
| 1024 | + String clzbh=sin.getClzbh(); | |
| 1025 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 1026 | + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 1027 | + | |
| 1028 | + for (int j = 0; j < listReal.size(); j++) { | |
| 1029 | + ScheduleRealInfo s=listReal.get(j); | |
| 1030 | + if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 1031 | + &&s.getXlBm().equals(line)){ | |
| 1032 | + newList.add(s); | |
| 1033 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 1034 | + if(cts != null && cts.size() > 0){ | |
| 1035 | + newList_.add(s); | |
| 1036 | + }else{ | |
| 1037 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1038 | + newList_.add(s); | |
| 1039 | + } | |
| 1040 | + } | |
| 1041 | + } | |
| 1042 | + } | |
| 1043 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 1044 | + double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 1045 | + double yygl=culateMileageService.culateSjgl(newList_); | |
| 1046 | + double ljgl=culateMileageService.culateLjgl(newList_); | |
| 1047 | + double ksgl=culateMileageService.culateKsgl(newList_); | |
| 1048 | + double jcgl=culateMileageService.culateJccgl(newList_); | |
| 1049 | + | |
| 1050 | + double zyygl=Arith.add(yygl, ljgl); | |
| 1051 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 1052 | + | |
| 1053 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 1054 | + | |
| 1055 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 1056 | + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 1057 | + sin.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 1058 | + sin.setClzbh(clzbh); | |
| 1059 | + sin.setJsy(""); | |
| 1060 | + sin.setjName(""); | |
| 1061 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 1062 | + sin.setHyl(""); | |
| 1063 | + sin.setJzl(""); | |
| 1064 | + sin.setUnyyyl(""); | |
| 1065 | + list_.add(sin); | |
| 1066 | + } | |
| 1067 | + Collections.sort(list_,new SingledataByXlbm()); | |
| 1068 | + } | |
| 1069 | + return list_; | |
| 1070 | + } | |
| 1071 | + | |
| 1072 | + | |
| 636 | 1073 | @Override |
| 637 | - public List<Singledata> singledatatj(Map<String, Object> map) { | |
| 1074 | + public List<Singledata> singledatatj2(Map<String, Object> map) { | |
| 638 | 1075 | String gsdm=""; |
| 639 | 1076 | if(map.get("gsdmSing")!=null){ |
| 640 | 1077 | gsdm=map.get("gsdmSing").toString(); |
| ... | ... | @@ -857,14 +1294,17 @@ public class FormsServiceImpl implements FormsService { |
| 857 | 1294 | } |
| 858 | 1295 | double jhgl=culateMileageService.culateJhgl(newList); |
| 859 | 1296 | double jhjcc=culateMileageService.culateJhJccgl(newList); |
| 860 | - double yygl=culateMileageService.culateSjgl(newList_); | |
| 861 | - double ljgl=culateMileageService.culateLjgl(newList_); | |
| 862 | - double ksgl=culateMileageService.culateKsgl(newList_); | |
| 863 | - double jcgl=culateMileageService.culateJccgl(newList_); | |
| 1297 | +// double yygl=culateMileageService.culateSjgl(newList_); | |
| 1298 | +// double ljgl=culateMileageService.culateLjgl(newList_); | |
| 1299 | +// double ksgl=culateMileageService.culateKsgl(newList_); | |
| 1300 | +// double jcgl=culateMileageService.culateJccgl(newList_); | |
| 864 | 1301 | |
| 865 | - double zyygl=Arith.add(yygl, ljgl); | |
| 866 | - double zksgl=Arith.add(ksgl, jcgl); | |
| 1302 | + double yygl=culateMileageService.culateSjgl_spy(newList_); | |
| 1303 | + double ljgl=culateMileageService.culateLjgl_spy(newList_); | |
| 867 | 1304 | |
| 1305 | + double zyygl=Arith.add(yygl, ljgl); | |
| 1306 | +// double zksgl=Arith.add(ksgl, jcgl); | |
| 1307 | + double zksgl=culateMileageService.culateSjfyylc_spy(newList_); | |
| 868 | 1308 | sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); |
| 869 | 1309 | |
| 870 | 1310 | sin.setEmptMileage(String.valueOf(zksgl)); |
| ... | ... | @@ -1562,6 +2002,284 @@ public class FormsServiceImpl implements FormsService { |
| 1562 | 2002 | } |
| 1563 | 2003 | return list; |
| 1564 | 2004 | } |
| 2005 | + | |
| 2006 | + | |
| 2007 | + // 路单数据 | |
| 2008 | + @Override | |
| 2009 | + public List<Singledata> singledata2(Map<String, Object> map) { | |
| 2010 | + | |
| 2011 | + String gsdm=""; | |
| 2012 | + if(map.get("gsdmSing")!=null){ | |
| 2013 | + gsdm=map.get("gsdmSing").toString(); | |
| 2014 | + } | |
| 2015 | + String fgsdm=""; | |
| 2016 | + if(map.get("fgsdmSing")!=null){ | |
| 2017 | + fgsdm=map.get("fgsdmSing").toString(); | |
| 2018 | + } | |
| 2019 | + | |
| 2020 | + String tjtype=map.get("tjtype").toString(); | |
| 2021 | + String xlbm=map.get("line").toString().trim(); | |
| 2022 | + startDate = map.get("startDate").toString(); | |
| 2023 | + | |
| 2024 | + List<ScheduleRealInfo> listReal=new ArrayList<ScheduleRealInfo>(); | |
| 2025 | + if(xlbm.equals("")){ | |
| 2026 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineByGs_(gsdm, fgsdm, startDate); | |
| 2027 | + }else{ | |
| 2028 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineQp(xlbm, startDate); | |
| 2029 | + } | |
| 2030 | + List<Singledata> list=new ArrayList<Singledata>(); | |
| 2031 | + List<Singledata> listY=new ArrayList<Singledata>(); | |
| 2032 | + List<Singledata> listD=new ArrayList<Singledata>(); | |
| 2033 | + | |
| 2034 | + if(tjtype.equals("jsy")){ | |
| 2035 | + DecimalFormat df = new DecimalFormat("0.00"); | |
| 2036 | + List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 2037 | + for (int i = 0; i < listYlb.size(); i++) { | |
| 2038 | + Ylb y=listYlb.get(i); | |
| 2039 | + boolean fage=false; | |
| 2040 | + if(xlbm.equals("")){ | |
| 2041 | + fage=true; | |
| 2042 | + }else{ | |
| 2043 | + if(xlbm.equals(y.getXlbm())){ | |
| 2044 | + fage=true; | |
| 2045 | + } | |
| 2046 | + } | |
| 2047 | + if(fage){ | |
| 2048 | + String jsy=y.getJsy(); | |
| 2049 | + String line=y.getXlbm(); | |
| 2050 | + String clzbh=y.getNbbm(); | |
| 2051 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 2052 | + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 2053 | + for (int j = 0; j < listReal.size(); j++) { | |
| 2054 | + ScheduleRealInfo s=listReal.get(j); | |
| 2055 | + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 2056 | + &&s.getXlBm().equals(line)){ | |
| 2057 | + if(y.getLp()==null){ | |
| 2058 | + newList.add(s); | |
| 2059 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 2060 | + if(cts != null && cts.size() > 0){ | |
| 2061 | + newList_.add(s); | |
| 2062 | + }else{ | |
| 2063 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2064 | + newList_.add(s); | |
| 2065 | + } | |
| 2066 | + } | |
| 2067 | + }else{ | |
| 2068 | + if(y.getLp().equals(s.getLpName())){ | |
| 2069 | + newList.add(s); | |
| 2070 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 2071 | + if(cts != null && cts.size() > 0){ | |
| 2072 | + newList_.add(s); | |
| 2073 | + }else{ | |
| 2074 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2075 | + newList_.add(s); | |
| 2076 | + } | |
| 2077 | + } | |
| 2078 | + } | |
| 2079 | + } | |
| 2080 | + } | |
| 2081 | + } | |
| 2082 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 2083 | + double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 2084 | + double yygl=culateMileageService.culateSjgl(newList_); | |
| 2085 | + double ljgl=culateMileageService.culateLjgl(newList_); | |
| 2086 | + double ksgl=culateMileageService.culateKsgl(newList_); | |
| 2087 | + double jcgl=culateMileageService.culateJccgl(newList_); | |
| 2088 | + | |
| 2089 | + double zyygl=Arith.add(yygl, ljgl); | |
| 2090 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 2091 | + | |
| 2092 | + Singledata sin=new Singledata(); | |
| 2093 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 2094 | + | |
| 2095 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 2096 | + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 2097 | + sin.setxL(y.getXlbm()); | |
| 2098 | + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm())); | |
| 2099 | + sin.setClzbh(clzbh); | |
| 2100 | + sin.setJsy(jsy); | |
| 2101 | + sin.setrQ(startDate); | |
| 2102 | + if(newList.size()>0){ | |
| 2103 | + sin.setjName(newList.get(0).getjName()); | |
| 2104 | + }else{ | |
| 2105 | + sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 2106 | + } | |
| 2107 | + sin.setSgh(""); | |
| 2108 | + sin.setsName(""); | |
| 2109 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 2110 | + sin.setHyl(df.format(y.getYh())); | |
| 2111 | + sin.setJzl(df.format(y.getJzl())); | |
| 2112 | + sin.setUnyyyl(df.format(y.getSh())); | |
| 2113 | + listY.add(sin); | |
| 2114 | + } | |
| 2115 | + | |
| 2116 | + } | |
| 2117 | + | |
| 2118 | + List<Dlb> listDlb= dlbRepository.obtainDl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 2119 | + for (int i = 0; i < listDlb.size(); i++) { | |
| 2120 | + Dlb y=listDlb.get(i); | |
| 2121 | + boolean fage=false; | |
| 2122 | + if(xlbm.equals("")){ | |
| 2123 | + fage=true; | |
| 2124 | + }else{ | |
| 2125 | + if(xlbm.equals(y.getXlbm())){ | |
| 2126 | + fage=true; | |
| 2127 | + } | |
| 2128 | + } | |
| 2129 | + if(fage){ | |
| 2130 | + String jsy=y.getJsy(); | |
| 2131 | + String line=y.getXlbm(); | |
| 2132 | + String clzbh=y.getNbbm(); | |
| 2133 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 2134 | + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 2135 | + for (int j = 0; j < listReal.size(); j++) { | |
| 2136 | + ScheduleRealInfo s=listReal.get(j); | |
| 2137 | + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 2138 | + &&s.getXlBm().equals(line)){ | |
| 2139 | + if(y.getLp()==null){ | |
| 2140 | + newList.add(s); | |
| 2141 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 2142 | + if(cts != null && cts.size() > 0){ | |
| 2143 | + newList_.add(s); | |
| 2144 | + }else{ | |
| 2145 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2146 | + newList_.add(s); | |
| 2147 | + } | |
| 2148 | + } | |
| 2149 | + }else{ | |
| 2150 | + if(y.getLp().equals(s.getLpName())){ | |
| 2151 | + newList.add(s); | |
| 2152 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 2153 | + if(cts != null && cts.size() > 0){ | |
| 2154 | + newList_.add(s); | |
| 2155 | + }else{ | |
| 2156 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2157 | + newList_.add(s); | |
| 2158 | + } | |
| 2159 | + } | |
| 2160 | + } | |
| 2161 | + } | |
| 2162 | + } | |
| 2163 | + } | |
| 2164 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 2165 | + double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 2166 | + double yygl=culateMileageService.culateSjgl(newList_); | |
| 2167 | + double ljgl=culateMileageService.culateLjgl(newList_); | |
| 2168 | + double ksgl=culateMileageService.culateKsgl(newList_); | |
| 2169 | + double jcgl=culateMileageService.culateJccgl(newList_); | |
| 2170 | + | |
| 2171 | + double zyygl=Arith.add(yygl, ljgl); | |
| 2172 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 2173 | + | |
| 2174 | + Singledata sin=new Singledata(); | |
| 2175 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 2176 | + | |
| 2177 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 2178 | + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 2179 | + sin.setxL(y.getXlbm()); | |
| 2180 | + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm())); | |
| 2181 | + sin.setClzbh(clzbh); | |
| 2182 | + sin.setJsy(jsy); | |
| 2183 | + sin.setrQ(startDate); | |
| 2184 | + if(newList.size()>0){ | |
| 2185 | + sin.setjName(newList.get(0).getjName()); | |
| 2186 | + }else{ | |
| 2187 | + sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 2188 | + } | |
| 2189 | + sin.setSgh(""); | |
| 2190 | + sin.setsName(""); | |
| 2191 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 2192 | + sin.setHyl(df.format(y.getHd())); | |
| 2193 | + sin.setJzl(df.format(y.getCdl())); | |
| 2194 | + sin.setUnyyyl(df.format(y.getSh())); | |
| 2195 | + listD.add(sin); | |
| 2196 | + } | |
| 2197 | + } | |
| 2198 | + | |
| 2199 | + Collections.sort(listY,new SingledataByXlbm()); | |
| 2200 | + Collections.sort(listD,new SingledataByXlbm()); | |
| 2201 | + list.addAll(listY); | |
| 2202 | + list.addAll(listD); | |
| 2203 | + }else{ | |
| 2204 | + String sql="select r.s_gh,r.s_name, " | |
| 2205 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" | |
| 2206 | + + " from bsth_c_s_sp_info_real r where " | |
| 2207 | + + " r.schedule_date_str = '"+startDate+"'" | |
| 2208 | + + " and r.s_gh !='' and r.s_gh is not null "; | |
| 2209 | + if(xlbm.equals("")){ | |
| 2210 | + sql +="and r.gs_bm='"+gsdm+"' " | |
| 2211 | + + " and r.fgs_bm='"+fgsdm+"'"; | |
| 2212 | + }else{ | |
| 2213 | + sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 2214 | + } | |
| 2215 | + sql += " group by r.s_gh,r.s_name," | |
| 2216 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; | |
| 2217 | + | |
| 2218 | + list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 2219 | + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 2220 | + @Override | |
| 2221 | + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 2222 | + Singledata sin = new Singledata(); | |
| 2223 | + sin.setrQ(startDate); | |
| 2224 | + sin.setxL(arg0.getString("xl_bm")); | |
| 2225 | + sin.setClzbh(arg0.getString("cl_zbh")); | |
| 2226 | + sin.setSgh(arg0.getString("s_gh")); | |
| 2227 | + sin.setsName(arg0.getString("s_name")); | |
| 2228 | + return sin; | |
| 2229 | + } | |
| 2230 | + }); | |
| 2231 | + | |
| 2232 | + for (int i = 0; i < list.size(); i++) { | |
| 2233 | + Singledata sin=list.get(i); | |
| 2234 | + String jsy=sin.getSgh(); | |
| 2235 | + String line=sin.getxL(); | |
| 2236 | + String clzbh=sin.getClzbh(); | |
| 2237 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 2238 | + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 2239 | + | |
| 2240 | + for (int j = 0; j < listReal.size(); j++) { | |
| 2241 | + ScheduleRealInfo s=listReal.get(j); | |
| 2242 | + if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 2243 | + &&s.getXlBm().equals(line)){ | |
| 2244 | + newList.add(s); | |
| 2245 | + Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 2246 | + if(cts != null && cts.size() > 0){ | |
| 2247 | + newList_.add(s); | |
| 2248 | + }else{ | |
| 2249 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2250 | + newList_.add(s); | |
| 2251 | + } | |
| 2252 | + } | |
| 2253 | + } | |
| 2254 | + } | |
| 2255 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 2256 | + double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 2257 | +// double yygl=culateMileageService.culateSjgl(newList_); | |
| 2258 | +// double ljgl=culateMileageService.culateLjgl(newList_); | |
| 2259 | +// double ksgl=culateMileageService.culateKsgl(newList_); | |
| 2260 | +// double jcgl=culateMileageService.culateJccgl(newList_); | |
| 2261 | + double yygl=culateMileageService.culateSjgl_spy(newList_); | |
| 2262 | + double ljgl=culateMileageService.culateLjgl_spy(newList_); | |
| 2263 | + double zyygl=Arith.add(yygl, ljgl); | |
| 2264 | +// double zksgl=Arith.add(ksgl, jcgl); | |
| 2265 | + double zksgl=culateMileageService.culateSjfyylc_spy(newList_); | |
| 2266 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 2267 | + | |
| 2268 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 2269 | + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 2270 | + sin.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 2271 | + sin.setClzbh(clzbh); | |
| 2272 | + sin.setJsy(""); | |
| 2273 | + sin.setjName(""); | |
| 2274 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 2275 | + sin.setHyl(""); | |
| 2276 | + sin.setJzl(""); | |
| 2277 | + sin.setUnyyyl(""); | |
| 2278 | + } | |
| 2279 | + Collections.sort(list,new SingledataByXlbm()); | |
| 2280 | + } | |
| 2281 | + return list; | |
| 2282 | + } | |
| 1565 | 2283 | |
| 1566 | 2284 | // 运营服务阶段报表 |
| 1567 | 2285 | @Override | ... | ... |
src/main/java/com/bsth/service/report/CulateMileageService.java
| ... | ... | @@ -14,6 +14,7 @@ public interface CulateMileageService { |
| 14 | 14 | List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists); |
| 15 | 15 | double culateLjgl(List<ScheduleRealInfo> lists); |
| 16 | 16 | double culateLjgl_(List<ScheduleRealInfo> lists,String item); |
| 17 | + double culateLjgl_spy(List<ScheduleRealInfo> lists); | |
| 17 | 18 | int culateLjbc(List<ScheduleRealInfo> lists,String item); |
| 18 | 19 | |
| 19 | 20 | double culateJhgl(List<ScheduleRealInfo> lists); |
| ... | ... | @@ -23,11 +24,13 @@ public interface CulateMileageService { |
| 23 | 24 | |
| 24 | 25 | double culateSjgl(List<ScheduleRealInfo> lists); |
| 25 | 26 | double culateSjgl_(List<ScheduleRealInfo> lists,String item); |
| 27 | + | |
| 28 | + double culateSjgl_spy(List<ScheduleRealInfo> lists); | |
| 26 | 29 | int culateSjbc(List<ScheduleRealInfo> lists,String item); |
| 27 | 30 | |
| 28 | 31 | double culateKsgl(List<ScheduleRealInfo> lists); |
| 29 | 32 | double culateJccgl(List<ScheduleRealInfo> lists); |
| 30 | - | |
| 33 | + double culateSjfyylc_spy(List<ScheduleRealInfo> lists); | |
| 31 | 34 | double culateJhJccgl(List<ScheduleRealInfo> lists); |
| 32 | 35 | |
| 33 | 36 | double culateCJLC(List<ScheduleRealInfo> lists,String item); | ... | ... |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| ... | ... | @@ -1476,5 +1476,130 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 1476 | 1476 | map.put("djgsj", djcsj); |
| 1477 | 1477 | return map; |
| 1478 | 1478 | } |
| 1479 | + | |
| 1480 | + @Override | |
| 1481 | + public double culateSjgl_spy(List<ScheduleRealInfo> lists) { | |
| 1482 | + // 实际营运里程 | |
| 1483 | + double sjgl = 0; | |
| 1484 | + for (int i = 0; i < lists.size(); i++) { | |
| 1485 | + ScheduleRealInfo scheduleRealInfo = lists.get(i); | |
| 1486 | + if (!isInOut(scheduleRealInfo)) { | |
| 1487 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1488 | + if (!scheduleRealInfo.isSflj()) { | |
| 1489 | + if (childTaskPlans.isEmpty()) { | |
| 1490 | + if (!scheduleRealInfo.isDestroy()) { | |
| 1491 | + double jhlcOrig = scheduleRealInfo.getJhlcOrig() == null ? 0 | |
| 1492 | + : scheduleRealInfo.getJhlcOrig(); | |
| 1493 | + double jhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | |
| 1494 | + if (jhlc - jhlcOrig > 0) { | |
| 1495 | + sjgl = Arith.add(sjgl, jhlcOrig); | |
| 1496 | + } else { | |
| 1497 | + sjgl = Arith.add(sjgl, jhlc); | |
| 1498 | + } | |
| 1499 | + } | |
| 1500 | + } else { | |
| 1501 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1502 | + while (it.hasNext()) { | |
| 1503 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1504 | + if (childTaskPlan.getMileageType().equals("service") | |
| 1505 | + && "正常".equals(childTaskPlan.getType1()) && childTaskPlan.getCcId() == null | |
| 1506 | + && (!childTaskPlan.isNoClerk())) { | |
| 1507 | + if (!childTaskPlan.isDestroy()) { | |
| 1508 | + Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | |
| 1509 | + sjgl = Arith.add(sjgl, jhgl); | |
| 1510 | + } | |
| 1511 | + } | |
| 1512 | + } | |
| 1513 | + } | |
| 1514 | + } | |
| 1515 | + } | |
| 1516 | + } | |
| 1517 | + return sjgl; | |
| 1518 | + } | |
| 1519 | + | |
| 1520 | + @Override | |
| 1521 | + public double culateSjfyylc_spy(List<ScheduleRealInfo> lists) { | |
| 1522 | + // 实际非营运里程(售) | |
| 1523 | + double sjgl = 0; | |
| 1524 | + for (int i = 0; i < lists.size(); i++) { | |
| 1525 | + ScheduleRealInfo scheduleRealInfo = lists.get(i); | |
| 1526 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1527 | + if (childTaskPlans.isEmpty()) { | |
| 1528 | + if (scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | |
| 1529 | + || scheduleRealInfo.getBcType().equals("ldks")) { | |
| 1530 | + if (!scheduleRealInfo.isDestroy()) { | |
| 1531 | + double jhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | |
| 1532 | + sjgl = Arith.add(sjgl, jhlc); | |
| 1533 | + } | |
| 1534 | + } | |
| 1535 | + } else { | |
| 1536 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1537 | + while (it.hasNext()) { | |
| 1538 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1539 | + if (childTaskPlan.getMileageType().equals("empty") | |
| 1540 | + && (!childTaskPlan.isNoClerk()) && childTaskPlan.getCcId() == null) { | |
| 1541 | + if (!childTaskPlan.isDestroy()) { | |
| 1542 | + Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | |
| 1543 | + sjgl = Arith.add(sjgl, jhgl); | |
| 1544 | + } | |
| 1545 | + } | |
| 1546 | + } | |
| 1547 | + } | |
| 1548 | + } | |
| 1549 | + return sjgl; | |
| 1550 | + } | |
| 1551 | + | |
| 1552 | + @Override | |
| 1553 | + public double culateLjgl_spy(List<ScheduleRealInfo> lists) { | |
| 1554 | + // 临加营运里程(售) | |
| 1555 | + double ljgl = 0; | |
| 1556 | + for (int i = 0; i < lists.size(); i++) { | |
| 1557 | + ScheduleRealInfo scheduleRealInfo = lists.get(i); | |
| 1558 | + if (!isInOut(scheduleRealInfo)) { | |
| 1559 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1560 | + if (scheduleRealInfo.isSflj()) { | |
| 1561 | + if (childTaskPlans.isEmpty()) { | |
| 1562 | + if (!scheduleRealInfo.isDestroy()) | |
| 1563 | + ljgl = Arith.add(ljgl, scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc()); | |
| 1564 | + } else { | |
| 1565 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1566 | + while (it.hasNext()) { | |
| 1567 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1568 | + if (childTaskPlan.getMileageType().equals("service") && childTaskPlan.getCcId() == null | |
| 1569 | + && (!childTaskPlan.isNoClerk())) { | |
| 1570 | + if (!childTaskPlan.isDestroy()) { | |
| 1571 | + Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | |
| 1572 | + ljgl = Arith.add(ljgl, jhgl); | |
| 1573 | + } | |
| 1574 | + } | |
| 1575 | + } | |
| 1576 | + } | |
| 1577 | + } else { | |
| 1578 | + if (childTaskPlans.isEmpty()) { | |
| 1579 | + double jhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | |
| 1580 | + double jhlcOrig = scheduleRealInfo.getJhlcOrig() == null ? 0 : scheduleRealInfo.getJhlcOrig(); | |
| 1581 | + double zjlc = Arith.sub(jhlc, jhlcOrig); | |
| 1582 | + if (zjlc > 0) { | |
| 1583 | + ljgl = Arith.add(zjlc, ljgl); | |
| 1584 | + } | |
| 1585 | + } else { | |
| 1586 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1587 | + while (it.hasNext()) { | |
| 1588 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1589 | + if ("service".equals(childTaskPlan.getMileageType()) | |
| 1590 | + && "临加".equals(childTaskPlan.getType1()) && childTaskPlan.getCcId() == null | |
| 1591 | + && (!childTaskPlan.isNoClerk())) { | |
| 1592 | + if (!childTaskPlan.isDestroy()) { | |
| 1593 | + Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | |
| 1594 | + ljgl = Arith.add(ljgl, jhgl); | |
| 1595 | + } | |
| 1596 | + } | |
| 1597 | + } | |
| 1598 | + } | |
| 1599 | + } | |
| 1600 | + } | |
| 1601 | + } | |
| 1602 | + return ljgl; | |
| 1603 | + } | |
| 1479 | 1604 | |
| 1480 | 1605 | } | ... | ... |