Commit 9283e1c176f360530a1b1382a05a4521b5b99bff
Merge remote-tracking branch 'origin/master'
Showing
1 changed file
with
134 additions
and
39 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| @@ -217,7 +217,6 @@ public class BigscreenService { | @@ -217,7 +217,6 @@ public class BigscreenService { | ||
| 217 | } | 217 | } |
| 218 | }); | 218 | }); |
| 219 | 219 | ||
| 220 | - Set<String> yyLine = new HashSet<String>(); | ||
| 221 | int level1 = 0, level2 = 0; | 220 | int level1 = 0, level2 = 0; |
| 222 | for(Map<String, Object> t : lineList){ | 221 | for(Map<String, Object> t : lineList){ |
| 223 | if(t.get("level") != null){ | 222 | if(t.get("level") != null){ |
| @@ -227,12 +226,28 @@ public class BigscreenService { | @@ -227,12 +226,28 @@ public class BigscreenService { | ||
| 227 | ++level2; | 226 | ++level2; |
| 228 | } | 227 | } |
| 229 | } | 228 | } |
| 230 | - | 229 | + } |
| 230 | + | ||
| 231 | + | ||
| 232 | + String yyxlSql="SELECT line_code from bsth_c_line " | ||
| 233 | + + " where nature in ('yxl','cgxl','gjxl','csbs','cctxl')"; | ||
| 234 | + List<Map<String, Object>> yyxlList=jdbcTemplate.query(yyxlSql, | ||
| 235 | + new RowMapper<Map<String, Object>>(){ | ||
| 236 | + @Override | ||
| 237 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 238 | + Map<String, Object> m=new HashMap<String,Object>(); | ||
| 239 | + m.put("lineCode", rs.getString("line_code")); | ||
| 240 | + return m; | ||
| 241 | + } | ||
| 242 | + }); | ||
| 243 | + Set<String> yyLine = new HashSet<String>(); | ||
| 244 | + for(Map<String, Object> t : yyxlList){ | ||
| 231 | if(t.get("lineCode") != null){ | 245 | if(t.get("lineCode") != null){ |
| 232 | yyLine.add(t.get("lineCode").toString()); | 246 | yyLine.add(t.get("lineCode").toString()); |
| 233 | } | 247 | } |
| 234 | } | 248 | } |
| 235 | 249 | ||
| 250 | + | ||
| 236 | String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," | 251 | String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," |
| 237 | + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," | 252 | + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," |
| 238 | + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," | 253 | + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," |
| @@ -410,15 +425,30 @@ public class BigscreenService { | @@ -410,15 +425,30 @@ public class BigscreenService { | ||
| 410 | String date1 = sd.format(dd1); //前一天 | 425 | String date1 = sd.format(dd1); //前一天 |
| 411 | List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date1); | 426 | List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date1); |
| 412 | List<ScheduleRealInfo> listSche = new ArrayList<ScheduleRealInfo>(); | 427 | List<ScheduleRealInfo> listSche = new ArrayList<ScheduleRealInfo>(); |
| 428 | + List<ScheduleRealInfo> list_s = new ArrayList<ScheduleRealInfo>(); | ||
| 413 | for(ScheduleRealInfo s : findAll){ | 429 | for(ScheduleRealInfo s : findAll){ |
| 414 | if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | 430 | if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 |
| 415 | listSche.add(s); | 431 | listSche.add(s); |
| 432 | + Set<ChildTaskPlan> cts = s.getcTasks(); | ||
| 433 | + if (cts != null && cts.size() > 0) { | ||
| 434 | + list_s.add(s); | ||
| 435 | + } else { | ||
| 436 | + if (s.getZdsjActual() != null && s.getFcsjActual() != null) { | ||
| 437 | + list_s.add(s); | ||
| 438 | + } | ||
| 439 | + } | ||
| 416 | } | 440 | } |
| 417 | } | 441 | } |
| 418 | double jhyygl = culateJhgl(listSche);//计划营运公里 | 442 | double jhyygl = culateJhgl(listSche);//计划营运公里 |
| 419 | - double sjgl = culateSjgl(listSche);//实际公里 | 443 | + double jhjccgl = culateJhJccgl(listSche); |
| 444 | + double jhzgl = Arith.add(jhyygl, jhjccgl); | ||
| 445 | + double sjgl = culateSjgl(list_s);//实际营运公里(不含临加) | ||
| 420 | double sjljgl = culateLjgl(listSche);//实际临加公里 | 446 | double sjljgl = culateLjgl(listSche);//实际临加公里 |
| 421 | double sjyygl = Arith.add(sjgl, sjljgl);//实际营运公里 | 447 | double sjyygl = Arith.add(sjgl, sjljgl);//实际营运公里 |
| 448 | + double sjjccgl = culateJccgl(list_s); | ||
| 449 | + double sjksgl = culateKsgl(list_s); | ||
| 450 | + double zksgl = Arith.add(sjjccgl, sjksgl); | ||
| 451 | + double sjzgl = Arith.add(sjyygl, zksgl);//实际总公里 | ||
| 422 | double lz = culateCJLC(listSche, "路阻"); | 452 | double lz = culateCJLC(listSche, "路阻"); |
| 423 | double dm = culateCJLC(listSche, "吊慢"); | 453 | double dm = culateCJLC(listSche, "吊慢"); |
| 424 | double gz = culateCJLC(listSche, "故障"); | 454 | double gz = culateCJLC(listSche, "故障"); |
| @@ -436,14 +466,14 @@ public class BigscreenService { | @@ -436,14 +466,14 @@ public class BigscreenService { | ||
| 436 | double lb_qt = culateCJLC(listSche, "其他"); | 466 | double lb_qt = culateCJLC(listSche, "其他"); |
| 437 | double qt = Arith.add(Arith.add(lb_pc, lb_by), Arith.add(lb_cj, lb_qt));//其他 | 467 | double qt = Arith.add(Arith.add(lb_pc, lb_by), Arith.add(lb_cj, lb_qt));//其他 |
| 438 | 468 | ||
| 439 | - Map<String, Object> jhyyglMap = new HashMap<String, Object>(); | ||
| 440 | - jhyyglMap.put("name", "计划营运"); | ||
| 441 | - jhyyglMap.put("value", jhyygl); | ||
| 442 | - glList.add(jhyyglMap); | ||
| 443 | - Map<String, Object> sjyyglMap = new HashMap<String, Object>(); | ||
| 444 | - sjyyglMap.put("name", "实际营运"); | ||
| 445 | - sjyyglMap.put("value", sjyygl); | ||
| 446 | - glList.add(sjyyglMap); | 469 | + Map<String, Object> jhzglMap = new HashMap<String, Object>(); |
| 470 | + jhzglMap.put("name", "计划总公里"); | ||
| 471 | + jhzglMap.put("value", jhzgl); | ||
| 472 | + glList.add(jhzglMap); | ||
| 473 | + Map<String, Object> sjzglMap = new HashMap<String, Object>(); | ||
| 474 | + sjzglMap.put("name", "实际总公里"); | ||
| 475 | + sjzglMap.put("value", sjzgl); | ||
| 476 | + glList.add(sjzglMap); | ||
| 447 | Map<String, Object> lzMap = new HashMap<String, Object>(); | 477 | Map<String, Object> lzMap = new HashMap<String, Object>(); |
| 448 | lzMap.put("name", "路阻"); | 478 | lzMap.put("name", "路阻"); |
| 449 | lzMap.put("value", lz); | 479 | lzMap.put("value", lz); |
| @@ -536,36 +566,26 @@ public class BigscreenService { | @@ -536,36 +566,26 @@ public class BigscreenService { | ||
| 536 | datesMap.put(format, i); | 566 | datesMap.put(format, i); |
| 537 | } | 567 | } |
| 538 | 568 | ||
| 539 | - String lineSql="SELECT b.start_opt,a.company,a.line_code,a.name,a.level," | ||
| 540 | - + " a.shanghai_linecode, a.nature from " | ||
| 541 | - + " bsth_c_line a left join bsth_c_line_config b " | ||
| 542 | - + " on a.id=b.line where a.shanghai_linecode is not null" | ||
| 543 | - + " and a.shanghai_linecode !='' and a.destroy=0 and a.remove=0" | ||
| 544 | - + " and a.nature in ('yxl','cgxl','gjxl','csbs','cctxl')"; | ||
| 545 | - List<Map<String, Object>> lineList=jdbcTemplate.query(lineSql, | 569 | + |
| 570 | + String yyxlSql="SELECT line_code from bsth_c_line " | ||
| 571 | + + " where nature in ('yxl','cgxl','gjxl','csbs','cctxl')"; | ||
| 572 | + List<Map<String, Object>> yyxlList=jdbcTemplate.query(yyxlSql, | ||
| 546 | new RowMapper<Map<String, Object>>(){ | 573 | new RowMapper<Map<String, Object>>(){ |
| 547 | @Override | 574 | @Override |
| 548 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 575 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 549 | Map<String, Object> m=new HashMap<String,Object>(); | 576 | Map<String, Object> m=new HashMap<String,Object>(); |
| 550 | - m.put("state", rs.getString("start_opt")); | ||
| 551 | - m.put("company", rs.getString("company")); | ||
| 552 | - m.put("companyName", getGs(rs.getString("company"))); | ||
| 553 | - m.put("lineCode",rs.getString("line_code")); | ||
| 554 | - m.put("name", rs.getString("name")); | ||
| 555 | - m.put("level", rs.getString("level")); | ||
| 556 | - m.put("shanghaiLinecode", rs.getString("shanghai_linecode")); | ||
| 557 | - m.put("nature", getNature(rs.getString("nature"))); | 577 | + m.put("lineCode", rs.getString("line_code")); |
| 558 | return m; | 578 | return m; |
| 559 | } | 579 | } |
| 560 | }); | 580 | }); |
| 561 | - | ||
| 562 | Set<String> yyLine = new HashSet<String>(); | 581 | Set<String> yyLine = new HashSet<String>(); |
| 563 | - for(Map<String, Object> t : lineList){ | 582 | + for(Map<String, Object> t : yyxlList){ |
| 564 | if(t.get("lineCode") != null){ | 583 | if(t.get("lineCode") != null){ |
| 565 | yyLine.add(t.get("lineCode").toString()); | 584 | yyLine.add(t.get("lineCode").toString()); |
| 566 | } | 585 | } |
| 567 | } | 586 | } |
| 568 | - | 587 | + |
| 588 | + | ||
| 569 | List<Map<String, Object>> attList = new ArrayList<Map<String, Object>>(); | 589 | List<Map<String, Object>> attList = new ArrayList<Map<String, Object>>(); |
| 570 | List<Map<String, Object>> lackList = new ArrayList<Map<String, Object>>(); | 590 | List<Map<String, Object>> lackList = new ArrayList<Map<String, Object>>(); |
| 571 | 591 | ||
| @@ -823,6 +843,7 @@ public class BigscreenService { | @@ -823,6 +843,7 @@ public class BigscreenService { | ||
| 823 | return mapList; | 843 | return mapList; |
| 824 | } | 844 | } |
| 825 | 845 | ||
| 846 | + /**计划营运公里*/ | ||
| 826 | public double culateJhgl(List<ScheduleRealInfo> lists) { | 847 | public double culateJhgl(List<ScheduleRealInfo> lists) { |
| 827 | // TODO Auto-generated method stub | 848 | // TODO Auto-generated method stub |
| 828 | double jhgl=0; | 849 | double jhgl=0; |
| @@ -837,6 +858,7 @@ public class BigscreenService { | @@ -837,6 +858,7 @@ public class BigscreenService { | ||
| 837 | return jhgl; | 858 | return jhgl; |
| 838 | } | 859 | } |
| 839 | 860 | ||
| 861 | + /**实际营运公里(不包含临加)*/ | ||
| 840 | public double culateSjgl(List<ScheduleRealInfo> lists) { | 862 | public double culateSjgl(List<ScheduleRealInfo> lists) { |
| 841 | // TODO Auto-generated method stub | 863 | // TODO Auto-generated method stub |
| 842 | double sjgl=0; | 864 | double sjgl=0; |
| @@ -866,7 +888,7 @@ public class BigscreenService { | @@ -866,7 +888,7 @@ public class BigscreenService { | ||
| 866 | if (!childTaskPlan.isDestroy()) { | 888 | if (!childTaskPlan.isDestroy()) { |
| 867 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 889 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 868 | sjgl=Arith.add(sjgl,jhgl); | 890 | sjgl=Arith.add(sjgl,jhgl); |
| 869 | - } | 891 | + } |
| 870 | } | 892 | } |
| 871 | } | 893 | } |
| 872 | } | 894 | } |
| @@ -876,6 +898,7 @@ public class BigscreenService { | @@ -876,6 +898,7 @@ public class BigscreenService { | ||
| 876 | return sjgl; | 898 | return sjgl; |
| 877 | } | 899 | } |
| 878 | 900 | ||
| 901 | + /**临加公里*/ | ||
| 879 | public double culateLjgl(List<ScheduleRealInfo> lists) { | 902 | public double culateLjgl(List<ScheduleRealInfo> lists) { |
| 880 | // TODO Auto-generated method stub | 903 | // TODO Auto-generated method stub |
| 881 | double ljgl=0; | 904 | double ljgl=0; |
| @@ -891,7 +914,8 @@ public class BigscreenService { | @@ -891,7 +914,8 @@ public class BigscreenService { | ||
| 891 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 914 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 892 | while (it.hasNext()) { | 915 | while (it.hasNext()) { |
| 893 | ChildTaskPlan childTaskPlan = it.next(); | 916 | ChildTaskPlan childTaskPlan = it.next(); |
| 894 | - if(childTaskPlan.getMileageType().equals("service") && childTaskPlan.getCcId()==null){ | 917 | + if(childTaskPlan.getMileageType().equals("service") |
| 918 | + && childTaskPlan.getCcId()==null){ | ||
| 895 | if (!childTaskPlan.isDestroy()) { | 919 | if (!childTaskPlan.isDestroy()) { |
| 896 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 920 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 897 | ljgl=Arith.add(ljgl,jhgl); | 921 | ljgl=Arith.add(ljgl,jhgl); |
| @@ -912,24 +936,24 @@ public class BigscreenService { | @@ -912,24 +936,24 @@ public class BigscreenService { | ||
| 912 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 936 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 913 | while (it.hasNext()) { | 937 | while (it.hasNext()) { |
| 914 | ChildTaskPlan childTaskPlan = it.next(); | 938 | ChildTaskPlan childTaskPlan = it.next(); |
| 915 | - if(childTaskPlan.getCcId()==null){ | ||
| 916 | - if("service".equals(childTaskPlan.getMileageType())&&"临加".equals(childTaskPlan.getType1())){ | ||
| 917 | - if (!childTaskPlan.isDestroy()) { | ||
| 918 | - Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 919 | - ljgl=Arith.add(ljgl,jhgl); | ||
| 920 | - } | ||
| 921 | - } | 939 | + if("service".equals(childTaskPlan.getMileageType()) |
| 940 | + && "临加".equals(childTaskPlan.getType1()) | ||
| 941 | + && childTaskPlan.getCcId()==null){ | ||
| 942 | + if (!childTaskPlan.isDestroy()) { | ||
| 943 | + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 944 | + ljgl=Arith.add(ljgl,jhgl); | ||
| 945 | + } | ||
| 922 | } | 946 | } |
| 923 | } | 947 | } |
| 924 | } | 948 | } |
| 925 | } | 949 | } |
| 926 | } | 950 | } |
| 927 | - | ||
| 928 | } | 951 | } |
| 929 | } | 952 | } |
| 930 | return ljgl; | 953 | return ljgl; |
| 931 | } | 954 | } |
| 932 | 955 | ||
| 956 | + /**烂班(少驶)公里*/ | ||
| 933 | public double culateCJLC(List<ScheduleRealInfo> list, String item) { | 957 | public double culateCJLC(List<ScheduleRealInfo> list, String item) { |
| 934 | // TODO Auto-generated method stub | 958 | // TODO Auto-generated method stub |
| 935 | double sum = 0; | 959 | double sum = 0; |
| @@ -975,4 +999,75 @@ public class BigscreenService { | @@ -975,4 +999,75 @@ public class BigscreenService { | ||
| 975 | } | 999 | } |
| 976 | return sum; | 1000 | return sum; |
| 977 | } | 1001 | } |
| 1002 | + | ||
| 1003 | + /**计划空驶公里*/ | ||
| 1004 | + public double culateJhJccgl(List<ScheduleRealInfo> lists) { | ||
| 1005 | + // TODO Auto-generated method stub | ||
| 1006 | + double jcclc =0; | ||
| 1007 | + for (int i = 0; i < lists.size(); i++) { | ||
| 1008 | + ScheduleRealInfo scheduleRealInfo=lists.get(i); | ||
| 1009 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | ||
| 1010 | + if (isInOut(scheduleRealInfo)) { | ||
| 1011 | + jcclc =Arith.add(jcclc, scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); | ||
| 1012 | + } | ||
| 1013 | + } | ||
| 1014 | + } | ||
| 1015 | + return jcclc; | ||
| 1016 | + } | ||
| 1017 | + | ||
| 1018 | + /**实际进出场空驶*/ | ||
| 1019 | + public double culateJccgl(List<ScheduleRealInfo> lists) { | ||
| 1020 | + // TODO Auto-generated method stub | ||
| 1021 | + double jcclc =0; | ||
| 1022 | + for (int i = 0; i < lists.size(); i++) { | ||
| 1023 | + ScheduleRealInfo scheduleRealInfo=lists.get(i); | ||
| 1024 | + if (isInOut(scheduleRealInfo)) { | ||
| 1025 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 1026 | + if(childTaskPlans.isEmpty()){ | ||
| 1027 | + if(!(scheduleRealInfo.getStatus() == -1)){ | ||
| 1028 | + jcclc =Arith.add(jcclc, scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc()); | ||
| 1029 | + } | ||
| 1030 | + }else{ | ||
| 1031 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 1032 | + while (it.hasNext()) { | ||
| 1033 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 1034 | + if(childTaskPlan.getMileageType().equals("empty") | ||
| 1035 | + && childTaskPlan.getCcId()==null){ | ||
| 1036 | + if (!childTaskPlan.isDestroy()) { | ||
| 1037 | + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 1038 | + jcclc=Arith.add(jcclc,jhgl); | ||
| 1039 | + } | ||
| 1040 | + } | ||
| 1041 | + } | ||
| 1042 | + } | ||
| 1043 | + } | ||
| 1044 | + } | ||
| 1045 | + return jcclc; | ||
| 1046 | + } | ||
| 1047 | + | ||
| 1048 | + /**实际非进出场空驶公里*/ | ||
| 1049 | + public double culateKsgl(List<ScheduleRealInfo> lists) { | ||
| 1050 | + // TODO Auto-generated method stub | ||
| 1051 | + double ksgl =0; | ||
| 1052 | + for (int i = 0; i < lists.size(); i++) { | ||
| 1053 | + ScheduleRealInfo scheduleRealInfo=lists.get(i); | ||
| 1054 | + if (!isInOut(scheduleRealInfo)) { | ||
| 1055 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 1056 | + if(!childTaskPlans.isEmpty()){ | ||
| 1057 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 1058 | + while (it.hasNext()) { | ||
| 1059 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 1060 | + if(childTaskPlan.getMileageType().equals("empty") && childTaskPlan.getCcId()==null){ | ||
| 1061 | + if (!childTaskPlan.isDestroy()) { | ||
| 1062 | + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 1063 | + ksgl=Arith.add(ksgl,jhgl); | ||
| 1064 | + } | ||
| 1065 | + } | ||
| 1066 | + } | ||
| 1067 | + } | ||
| 1068 | + } | ||
| 1069 | + } | ||
| 1070 | + return ksgl; | ||
| 1071 | + } | ||
| 1072 | + | ||
| 978 | } | 1073 | } |