Commit 077cb3e690104cbc8c46f815de9e9eecc871ae2c

Authored by 廖磊
1 parent 52b4cf8b

新增统计售票员公里的方法

src/main/java/com/bsth/controller/forms/MCY_FormsController.java
@@ -57,6 +57,13 @@ public class MCY_FormsController { @@ -57,6 +57,13 @@ public class MCY_FormsController {
57 57
58 return formsService.shiftuehiclemanth(map); 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 @RequestMapping(value = "/shifday", method = RequestMethod.GET) 69 @RequestMapping(value = "/shifday", method = RequestMethod.GET)
@@ -80,6 +87,13 @@ public class MCY_FormsController { @@ -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 @RequestMapping(value = "/singledatanew", method = RequestMethod.GET) 97 @RequestMapping(value = "/singledatanew", method = RequestMethod.GET)
84 public List<Singledata> singledatanew(@RequestParam Map<String, Object> map) { 98 public List<Singledata> singledatanew(@RequestParam Map<String, Object> map) {
85 99
@@ -92,6 +106,12 @@ public class MCY_FormsController { @@ -92,6 +106,12 @@ public class MCY_FormsController {
92 return formsService.singledatatj(map); 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 @RequestMapping(value = "/vehicleloading", method = RequestMethod.GET) 116 @RequestMapping(value = "/vehicleloading", method = RequestMethod.GET)
97 public List<Vehicleloading> vehicleloading(@RequestParam String line, @RequestParam String data) { 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,14 +24,19 @@ public interface FormsService {
24 public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map); 24 public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map);
25 25
26 public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map); 26 public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map);
  27 + public List<Shiftuehiclemanth> shiftuehiclemanth2(Map<String, Object> map);
27 28
28 public List<Changetochange> changetochange(Map<String, Object> map); 29 public List<Changetochange> changetochange(Map<String, Object> map);
29 30
30 public List<Shifday> shifday(Map<String, Object> map); 31 public List<Shifday> shifday(Map<String, Object> map);
31 32
32 public List<Singledata> singledata(Map<String, Object> map); 33 public List<Singledata> singledata(Map<String, Object> map);
  34 + public List<Singledata> singledata2(Map<String, Object> map);
  35 +
33 public List<Singledata> singledatanew(Map<String, Object> map); 36 public List<Singledata> singledatanew(Map<String, Object> map);
34 public List<Singledata> singledatatj(Map<String, Object> map); 37 public List<Singledata> singledatatj(Map<String, Object> map);
  38 + public List<Singledata> singledatatj2(Map<String, Object> map);
  39 +
35 40
36 public List<Vehicleloading> vehicleloading(String line,String data); 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,7 +360,7 @@ public class FormsServiceImpl implements FormsService {
360 int ljbc=culateMileageService.culateLjbc(list_s,""); 360 int ljbc=culateMileageService.culateLjbc(list_s,"");
361 int sjbc=culateMileageService.culateSjbc(list_s, ""); 361 int sjbc=culateMileageService.culateSjbc(list_s, "");
362 double cjgl=culateMileageService.culateLbgl(sList); 362 double cjgl=culateMileageService.culateLbgl(sList);
363 - double zjgl=culateMileageService.culateLjgl(list_s); 363 +// double zjgl=culateMileageService.culateLjgl(list_s);
364 d.setEmptMileage(String.valueOf(zksgl));//空驶公里 364 d.setEmptMileage(String.valueOf(zksgl));//空驶公里
365 d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 365 d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里
366 d.setSjbc(String.valueOf(sjbc+ljbc)); 366 d.setSjbc(String.valueOf(sjbc+ljbc));
@@ -368,7 +368,7 @@ public class FormsServiceImpl implements FormsService { @@ -368,7 +368,7 @@ public class FormsServiceImpl implements FormsService {
368 d.setCjbc(String.valueOf(cjbc));//抽检班次 368 d.setCjbc(String.valueOf(cjbc));//抽检班次
369 d.setLjbc(String.valueOf(ljbc));//增加班次 369 d.setLjbc(String.valueOf(ljbc));//增加班次
370 d.setRemMileage(String.valueOf(cjgl));//抽检里程 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,6 +403,191 @@ public class FormsServiceImpl implements FormsService {
403 403
404 return list; 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 @Override 593 @Override
@@ -603,38 +788,290 @@ public class FormsServiceImpl implements FormsService { @@ -603,38 +788,290 @@ public class FormsServiceImpl implements FormsService {
603 sql += " and gs= '"+gs+"' and fgs= '"+fgs+"'"; 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 @Override 1073 @Override
637 - public List<Singledata> singledatatj(Map<String, Object> map) { 1074 + public List<Singledata> singledatatj2(Map<String, Object> map) {
638 String gsdm=""; 1075 String gsdm="";
639 if(map.get("gsdmSing")!=null){ 1076 if(map.get("gsdmSing")!=null){
640 gsdm=map.get("gsdmSing").toString(); 1077 gsdm=map.get("gsdmSing").toString();
@@ -857,14 +1294,17 @@ public class FormsServiceImpl implements FormsService { @@ -857,14 +1294,17 @@ public class FormsServiceImpl implements FormsService {
857 } 1294 }
858 double jhgl=culateMileageService.culateJhgl(newList); 1295 double jhgl=culateMileageService.culateJhgl(newList);
859 double jhjcc=culateMileageService.culateJhJccgl(newList); 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 sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); 1308 sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl)));
869 1309
870 sin.setEmptMileage(String.valueOf(zksgl)); 1310 sin.setEmptMileage(String.valueOf(zksgl));
@@ -1562,6 +2002,284 @@ public class FormsServiceImpl implements FormsService { @@ -1562,6 +2002,284 @@ public class FormsServiceImpl implements FormsService {
1562 } 2002 }
1563 return list; 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 @Override 2285 @Override
src/main/java/com/bsth/service/report/CulateMileageService.java
@@ -14,6 +14,7 @@ public interface CulateMileageService { @@ -14,6 +14,7 @@ public interface CulateMileageService {
14 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists); 14 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists);
15 double culateLjgl(List<ScheduleRealInfo> lists); 15 double culateLjgl(List<ScheduleRealInfo> lists);
16 double culateLjgl_(List<ScheduleRealInfo> lists,String item); 16 double culateLjgl_(List<ScheduleRealInfo> lists,String item);
  17 + double culateLjgl_spy(List<ScheduleRealInfo> lists);
17 int culateLjbc(List<ScheduleRealInfo> lists,String item); 18 int culateLjbc(List<ScheduleRealInfo> lists,String item);
18 19
19 double culateJhgl(List<ScheduleRealInfo> lists); 20 double culateJhgl(List<ScheduleRealInfo> lists);
@@ -23,11 +24,13 @@ public interface CulateMileageService { @@ -23,11 +24,13 @@ public interface CulateMileageService {
23 24
24 double culateSjgl(List<ScheduleRealInfo> lists); 25 double culateSjgl(List<ScheduleRealInfo> lists);
25 double culateSjgl_(List<ScheduleRealInfo> lists,String item); 26 double culateSjgl_(List<ScheduleRealInfo> lists,String item);
  27 +
  28 + double culateSjgl_spy(List<ScheduleRealInfo> lists);
26 int culateSjbc(List<ScheduleRealInfo> lists,String item); 29 int culateSjbc(List<ScheduleRealInfo> lists,String item);
27 30
28 double culateKsgl(List<ScheduleRealInfo> lists); 31 double culateKsgl(List<ScheduleRealInfo> lists);
29 double culateJccgl(List<ScheduleRealInfo> lists); 32 double culateJccgl(List<ScheduleRealInfo> lists);
30 - 33 + double culateSjfyylc_spy(List<ScheduleRealInfo> lists);
31 double culateJhJccgl(List<ScheduleRealInfo> lists); 34 double culateJhJccgl(List<ScheduleRealInfo> lists);
32 35
33 double culateCJLC(List<ScheduleRealInfo> lists,String item); 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,5 +1476,130 @@ public class CulateMileageServiceImpl implements CulateMileageService{
1476 map.put("djgsj", djcsj); 1476 map.put("djgsj", djcsj);
1477 return map; 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 }