Commit b855b368ae9e0fac8b02d68e565ac59ff12f37c3

Authored by 娄高锋
1 parent dd2b768b

update

src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
@@ -868,101 +868,122 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -868,101 +868,122 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
868 { 868 {
869 Map<String, Object> m0 = new HashMap<String, Object>(); 869 Map<String, Object> m0 = new HashMap<String, Object>();
870 m0.put("time", "首~6:30"); 870 m0.put("time", "首~6:30");
871 - m0.put("upbc", "0");m0.put("dnbc", "0");  
872 - m0.put("upys", "--");m0.put("dnys", "--"); 871 + m0.put("upbc", "0"); m0.put("dnbc", "0");
  872 + m0.put("upys", "--"); m0.put("dnys", "--");
873 m0.put("pjys", "--"); 873 m0.put("pjys", "--");
874 tempList.add(m0); 874 tempList.add(m0);
875 Map<String, Object> m1 = new HashMap<String, Object>(); 875 Map<String, Object> m1 = new HashMap<String, Object>();
876 m1.put("time", "6:31~8:30"); 876 m1.put("time", "6:31~8:30");
877 - m1.put("upbc", "0");m1.put("dnbc", "0");  
878 - m1.put("upys", "--");m1.put("dnys", "--"); 877 + m1.put("upbc", "0"); m1.put("dnbc", "0");
  878 + m1.put("upys", "--"); m1.put("dnys", "--");
879 m1.put("pjys", "--"); 879 m1.put("pjys", "--");
880 tempList.add(m1); 880 tempList.add(m1);
881 Map<String, Object> m2 = new HashMap<String, Object>(); 881 Map<String, Object> m2 = new HashMap<String, Object>();
882 m2.put("time", "8:31~11:00"); 882 m2.put("time", "8:31~11:00");
883 - m2.put("upbc", "0");m2.put("dnbc", "0");  
884 - m2.put("upys", "--");m2.put("dnys", "--"); 883 + m2.put("upbc", "0"); m2.put("dnbc", "0");
  884 + m2.put("upys", "--"); m2.put("dnys", "--");
885 m2.put("pjys", "--"); 885 m2.put("pjys", "--");
886 tempList.add(m2); 886 tempList.add(m2);
887 Map<String, Object> m3 = new HashMap<String, Object>(); 887 Map<String, Object> m3 = new HashMap<String, Object>();
888 m3.put("time", "11:01~13:30"); 888 m3.put("time", "11:01~13:30");
889 - m3.put("upbc", "0");m3.put("dnbc", "0");  
890 - m3.put("upys", "--");m3.put("dnys", "--"); 889 + m3.put("upbc", "0"); m3.put("dnbc", "0");
  890 + m3.put("upys", "--"); m3.put("dnys", "--");
891 m3.put("pjys", "--"); 891 m3.put("pjys", "--");
892 tempList.add(m3); 892 tempList.add(m3);
893 Map<String, Object> m4 = new HashMap<String, Object>(); 893 Map<String, Object> m4 = new HashMap<String, Object>();
894 m4.put("time", "13:31~16:00"); 894 m4.put("time", "13:31~16:00");
895 - m4.put("upbc", "0");m4.put("dnbc", "0");  
896 - m4.put("upys", "--");m4.put("dnys", "--"); 895 + m4.put("upbc", "0"); m4.put("dnbc", "0");
  896 + m4.put("upys", "--"); m4.put("dnys", "--");
897 m4.put("pjys", "--"); 897 m4.put("pjys", "--");
898 tempList.add(m4); 898 tempList.add(m4);
899 Map<String, Object> m5 = new HashMap<String, Object>(); 899 Map<String, Object> m5 = new HashMap<String, Object>();
900 m5.put("time", "16:01~18:00"); 900 m5.put("time", "16:01~18:00");
901 - m5.put("upbc", "0");m5.put("dnbc", "0");  
902 - m5.put("upys", "--");m5.put("dnys", "--"); 901 + m5.put("upbc", "0"); m5.put("dnbc", "0");
  902 + m5.put("upys", "--"); m5.put("dnys", "--");
903 m5.put("pjys", "--"); 903 m5.put("pjys", "--");
904 tempList.add(m5); 904 tempList.add(m5);
905 Map<String, Object> m6 = new HashMap<String, Object>(); 905 Map<String, Object> m6 = new HashMap<String, Object>();
906 m6.put("time", "18:01~20:30"); 906 m6.put("time", "18:01~20:30");
907 - m6.put("upbc", "0");m6.put("dnbc", "0");  
908 - m6.put("upys", "--");m6.put("dnys", "--"); 907 + m6.put("upbc", "0"); m6.put("dnbc", "0");
  908 + m6.put("upys", "--"); m6.put("dnys", "--");
909 m6.put("pjys", "--"); 909 m6.put("pjys", "--");
910 tempList.add(m6); 910 tempList.add(m6);
911 Map<String, Object> m7 = new HashMap<String, Object>(); 911 Map<String, Object> m7 = new HashMap<String, Object>();
912 m7.put("time", "20:31~末"); 912 m7.put("time", "20:31~末");
913 - m7.put("upbc", "0");m7.put("dnbc", "0");  
914 - m7.put("upys", "--");m7.put("dnys", "--"); 913 + m7.put("upbc", "0"); m7.put("dnbc", "0");
  914 + m7.put("upys", "--"); m7.put("dnys", "--");
915 m7.put("pjys", "--"); 915 m7.put("pjys", "--");
916 tempList.add(m7); 916 tempList.add(m7);
917 } 917 }
918 918
  919 + String companyName = "";
  920 + String subCompanyName = "";
  921 +
919 //按时间段分组 922 //按时间段分组
920 for(ScheduleRealInfo schedule : list){ 923 for(ScheduleRealInfo schedule : list){
  924 + if(companyName.length()==0&&schedule.getGsName()!=null
  925 + &&schedule.getGsName().trim().length()!=0){
  926 + companyName = schedule.getGsName();
  927 + }
  928 + if(subCompanyName.length()==0&&schedule.getFgsName()!=null
  929 + &&schedule.getFgsName().trim().length()!=0){
  930 + subCompanyName = schedule.getFgsName();
  931 + }
  932 +
921 if(schedule.getFcsjActualTime()!=null && schedule.getZdsjActualTime()!=null){ 933 if(schedule.getFcsjActualTime()!=null && schedule.getZdsjActualTime()!=null){
922 Long fcsjA = schedule.getFcsjActualTime(); 934 Long fcsjA = schedule.getFcsjActualTime();
923 - if(fcsjA <= 6*60+30){ 935 + if(!schedule.getRealExecDate().equals(schedule.getScheduleDateStr())
  936 + || fcsjA > 20*60+30){
  937 + if(!keyMap.containsKey("20:31~末"))
  938 + keyMap.put("20:31~末", new ArrayList<ScheduleRealInfo>());
  939 + keyMap.get("20:31~末").add(schedule);
  940 +
  941 + } else if(fcsjA <= 6*60+30){
  942 +
924 if(!keyMap.containsKey("首~6:30")) 943 if(!keyMap.containsKey("首~6:30"))
925 keyMap.put("首~6:30", new ArrayList<ScheduleRealInfo>()); 944 keyMap.put("首~6:30", new ArrayList<ScheduleRealInfo>());
926 keyMap.get("首~6:30").add(schedule); 945 keyMap.get("首~6:30").add(schedule);
927 - }  
928 - if(fcsjA > 6*60+30 && fcsjA <= 8*60+30){ 946 +
  947 + } else if(fcsjA > 6*60+30 && fcsjA <= 8*60+30){
  948 +
929 if(!keyMap.containsKey("6:31~8:30")) 949 if(!keyMap.containsKey("6:31~8:30"))
930 keyMap.put("6:31~8:30", new ArrayList<ScheduleRealInfo>()); 950 keyMap.put("6:31~8:30", new ArrayList<ScheduleRealInfo>());
931 keyMap.get("6:31~8:30").add(schedule); 951 keyMap.get("6:31~8:30").add(schedule);
932 - }  
933 - if(fcsjA > 8*60+30 && fcsjA <= 11*60){ 952 +
  953 + } else if(fcsjA > 8*60+30 && fcsjA <= 11*60){
  954 +
934 if(!keyMap.containsKey("8:31~11:00")) 955 if(!keyMap.containsKey("8:31~11:00"))
935 keyMap.put("8:31~11:00", new ArrayList<ScheduleRealInfo>()); 956 keyMap.put("8:31~11:00", new ArrayList<ScheduleRealInfo>());
936 keyMap.get("8:31~11:00").add(schedule); 957 keyMap.get("8:31~11:00").add(schedule);
937 - }  
938 - if(fcsjA > 11*60 && fcsjA <= 13*60+30){ 958 +
  959 + } else if(fcsjA > 11*60 && fcsjA <= 13*60+30){
  960 +
939 if(!keyMap.containsKey("11:01~13:30")) 961 if(!keyMap.containsKey("11:01~13:30"))
940 keyMap.put("11:01~13:30", new ArrayList<ScheduleRealInfo>()); 962 keyMap.put("11:01~13:30", new ArrayList<ScheduleRealInfo>());
941 keyMap.get("11:01~13:30").add(schedule); 963 keyMap.get("11:01~13:30").add(schedule);
942 - }  
943 - if(fcsjA > 13*60+30 && fcsjA <= 16*60){ 964 +
  965 + } else if(fcsjA > 13*60+30 && fcsjA <= 16*60){
  966 +
944 if(!keyMap.containsKey("13:31~16:00")) 967 if(!keyMap.containsKey("13:31~16:00"))
945 keyMap.put("13:31~16:00", new ArrayList<ScheduleRealInfo>()); 968 keyMap.put("13:31~16:00", new ArrayList<ScheduleRealInfo>());
946 keyMap.get("13:31~16:00").add(schedule); 969 keyMap.get("13:31~16:00").add(schedule);
947 - }  
948 - if(fcsjA > 16*60 && fcsjA <= 18*60){ 970 +
  971 + } else if(fcsjA > 16*60 && fcsjA <= 18*60){
  972 +
949 if(!keyMap.containsKey("16:01~18:00")) 973 if(!keyMap.containsKey("16:01~18:00"))
950 keyMap.put("16:01~18:00", new ArrayList<ScheduleRealInfo>()); 974 keyMap.put("16:01~18:00", new ArrayList<ScheduleRealInfo>());
951 keyMap.get("16:01~18:00").add(schedule); 975 keyMap.get("16:01~18:00").add(schedule);
952 - }  
953 - if(fcsjA > 18*60 && fcsjA <= 20*60+30){ 976 +
  977 + } else if(fcsjA > 18*60 && fcsjA <= 20*60+30){
  978 +
954 if(!keyMap.containsKey("18:01~20:30")) 979 if(!keyMap.containsKey("18:01~20:30"))
955 keyMap.put("18:01~20:30", new ArrayList<ScheduleRealInfo>()); 980 keyMap.put("18:01~20:30", new ArrayList<ScheduleRealInfo>());
956 keyMap.get("18:01~20:30").add(schedule); 981 keyMap.get("18:01~20:30").add(schedule);
957 } 982 }
958 - if(fcsjA > 20*60+30){  
959 - if(!keyMap.containsKey("20:31~末"))  
960 - keyMap.put("20:31~末", new ArrayList<ScheduleRealInfo>());  
961 - keyMap.get("20:31~末").add(schedule);  
962 - }  
963 } 983 }
964 } 984 }
965 985
  986 + boolean flag = false;
966 for(String key : keyMap.keySet()){ 987 for(String key : keyMap.keySet()){
967 Map<String, Object> m = null; 988 Map<String, Object> m = null;
968 for(Map<String, Object> map2 : tempList){ 989 for(Map<String, Object> map2 : tempList){
@@ -973,6 +994,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -973,6 +994,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
973 int upbc = 0, dnbc = 0; 994 int upbc = 0, dnbc = 0;
974 long upys = 0, dnys = 0; 995 long upys = 0, dnys = 0;
975 for(ScheduleRealInfo schedule : keyMap.get(key)){ 996 for(ScheduleRealInfo schedule : keyMap.get(key)){
  997 + flag = true;
976 if(schedule.getXlDir().equals("0")){ 998 if(schedule.getXlDir().equals("0")){
977 upbc++; 999 upbc++;
978 upys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime(); 1000 upys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime();
@@ -980,15 +1002,25 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -980,15 +1002,25 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
980 dnbc++; 1002 dnbc++;
981 dnys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime(); 1003 dnys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime();
982 } 1004 }
  1005 +
  1006 + if(schedule.getXlName() != null && schedule.getXlName().trim().length() != 0){
  1007 + m.put("line", schedule.getXlName());
  1008 + }
983 } 1009 }
984 m.put("upbc", upbc); 1010 m.put("upbc", upbc);
985 m.put("dnbc", dnbc); 1011 m.put("dnbc", dnbc);
986 - m.put("upys", nf.format((float)upys / upbc));  
987 - m.put("dnys", nf.format((float)dnys / dnbc));  
988 - m.put("pjys", nf.format((float) (upys + dnys) / (upbc + dnbc))); 1012 + m.put("upys", upbc > 0 ? nf.format((float)upys / upbc) : "/");
  1013 + m.put("dnys", dnbc > 0 ? nf.format((float)dnys / dnbc) : "/");
  1014 + m.put("pjys", (upbc + dnbc) > 0 ? nf.format((float) (upys + dnys) / (upbc + dnbc)) : "/");
  1015 + m.put("company", companyName.trim());
  1016 + m.put("subCompany", subCompanyName.trim());
989 } 1017 }
990 1018
991 - modelMap.put("dataList", tempList); 1019 + if(flag){
  1020 + modelMap.put("dataList", tempList);
  1021 + } else {
  1022 + modelMap.put("dataList", new ArrayList<Map<String, Object>>());
  1023 + }
992 1024
993 //导出 1025 //导出
994 if(type.equals("export")){ 1026 if(type.equals("export")){
src/main/resources/static/pages/forms/mould/scheduleAnaly_sum.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/scheduleAnaly_sum.html
@@ -11,14 +11,16 @@ @@ -11,14 +11,16 @@
11 .table-bordered > thead > tr > th, 11 .table-bordered > thead > tr > th,
12 .table-bordered > thead > tr > td { 12 .table-bordered > thead > tr > td {
13 border-bottom-width: 2px; } 13 border-bottom-width: 2px; }
14 -  
15 .table > tbody + tbody { 14 .table > tbody + tbody {
16 border-top: 1px solid; } 15 border-top: 1px solid; }
  16 + #forms > tbody > tr{
  17 + background-color: #FFFFFF;
  18 + }
17 </style> 19 </style>
18 20
19 <div class="page-head"> 21 <div class="page-head">
20 <div class="page-title"> 22 <div class="page-title">
21 - <h1>时刻表分析</h1> 23 + <h1>时刻表分析(汇总)</h1>
22 </div> 24 </div>
23 </div> 25 </div>
24 26
@@ -70,6 +72,9 @@ @@ -70,6 +72,9 @@
70 <thead> 72 <thead>
71 <tr class="hidden"> 73 <tr class="hidden">
72 <th style="display: none;"></th> 74 <th style="display: none;"></th>
  75 + <th>公司</th>
  76 + <th>分公司</th>
  77 + <th>线路</th>
73 <th>时间段</th> 78 <th>时间段</th>
74 <th>上行班次</th> 79 <th>上行班次</th>
75 <th>下行班次</th> 80 <th>下行班次</th>
@@ -196,6 +201,8 @@ @@ -196,6 +201,8 @@
196 jsDoQuery(true); 201 jsDoQuery(true);
197 }); 202 });
198 203
  204 + var companyName = "";
  205 + var subCompanyName = "";
199 var line = $("#line").val(); 206 var line = $("#line").val();
200 var startDate = $("#startDate").val(); 207 var startDate = $("#startDate").val();
201 var endDate = $("#endDate").val(); 208 var endDate = $("#endDate").val();
@@ -232,7 +239,7 @@ @@ -232,7 +239,7 @@
232 $(".hidden").removeClass("hidden"); 239 $(".hidden").removeClass("hidden");
233 $get('/pcpc/scheduleAnaly_sum', params, function(result){ 240 $get('/pcpc/scheduleAnaly_sum', params, function(result){
234 // 把数据填充到模版中 241 // 把数据填充到模版中
235 - var tbodyHtml = template('list_scheduleAnaly',{list:result.dataList}); 242 + var tbodyHtml = template('list_scheduleAnaly',{list:result.dataList, companyName:companyName, subCompanyName:subCompanyName});
236 // 把渲染好的模版html文本追加到表格中 243 // 把渲染好的模版html文本追加到表格中
237 $('#forms tbody').html(tbodyHtml); 244 $('#forms tbody').html(tbodyHtml);
238 245
@@ -362,6 +369,11 @@ @@ -362,6 +369,11 @@
362 {{each list as obj i}} 369 {{each list as obj i}}
363 <tr> 370 <tr>
364 <th style="display: none;"></th> 371 <th style="display: none;"></th>
  372 + {{if i == 0}}
  373 + <td rowspan='8'>{{obj.company}}</td>
  374 + <td rowspan='8'>{{obj.subCompany}}</td>
  375 + <td rowspan='8'>{{obj.line}}</td>
  376 + {{/if}}
365 <td>{{obj.time}}</td> 377 <td>{{obj.time}}</td>
366 <td>{{obj.upbc}}</td> 378 <td>{{obj.upbc}}</td>
367 <td>{{obj.dnbc}}</td> 379 <td>{{obj.dnbc}}</td>
@@ -372,7 +384,7 @@ @@ -372,7 +384,7 @@
372 {{/each}} 384 {{/each}}
373 {{if list.length == 0}} 385 {{if list.length == 0}}
374 <tr> 386 <tr>
375 - <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td> 387 + <td colspan="9"><h6 class="muted">没有找到相关数据</h6></td>
376 </tr> 388 </tr>
377 {{/if}} 389 {{/if}}
378 </script> 390 </script>
379 \ No newline at end of file 391 \ No newline at end of file