Commit b8605d6c5090ab1ba902f5528c1fd5a9ffd3fa13

Authored by 娄高锋
1 parent 6ce47cf6

给大屏系统的接口中,营运里程改成总里程

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 }