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 868 {
869 869 Map<String, Object> m0 = new HashMap<String, Object>();
870 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 873 m0.put("pjys", "--");
874 874 tempList.add(m0);
875 875 Map<String, Object> m1 = new HashMap<String, Object>();
876 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 879 m1.put("pjys", "--");
880 880 tempList.add(m1);
881 881 Map<String, Object> m2 = new HashMap<String, Object>();
882 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 885 m2.put("pjys", "--");
886 886 tempList.add(m2);
887 887 Map<String, Object> m3 = new HashMap<String, Object>();
888 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 891 m3.put("pjys", "--");
892 892 tempList.add(m3);
893 893 Map<String, Object> m4 = new HashMap<String, Object>();
894 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 897 m4.put("pjys", "--");
898 898 tempList.add(m4);
899 899 Map<String, Object> m5 = new HashMap<String, Object>();
900 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 903 m5.put("pjys", "--");
904 904 tempList.add(m5);
905 905 Map<String, Object> m6 = new HashMap<String, Object>();
906 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 909 m6.put("pjys", "--");
910 910 tempList.add(m6);
911 911 Map<String, Object> m7 = new HashMap<String, Object>();
912 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 915 m7.put("pjys", "--");
916 916 tempList.add(m7);
917 917 }
918 918  
  919 + String companyName = "";
  920 + String subCompanyName = "";
  921 +
919 922 //按时间段分组
920 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 933 if(schedule.getFcsjActualTime()!=null && schedule.getZdsjActualTime()!=null){
922 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 943 if(!keyMap.containsKey("首~6:30"))
925 944 keyMap.put("首~6:30", new ArrayList<ScheduleRealInfo>());
926 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 949 if(!keyMap.containsKey("6:31~8:30"))
930 950 keyMap.put("6:31~8:30", new ArrayList<ScheduleRealInfo>());
931 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 955 if(!keyMap.containsKey("8:31~11:00"))
935 956 keyMap.put("8:31~11:00", new ArrayList<ScheduleRealInfo>());
936 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 961 if(!keyMap.containsKey("11:01~13:30"))
940 962 keyMap.put("11:01~13:30", new ArrayList<ScheduleRealInfo>());
941 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 967 if(!keyMap.containsKey("13:31~16:00"))
945 968 keyMap.put("13:31~16:00", new ArrayList<ScheduleRealInfo>());
946 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 973 if(!keyMap.containsKey("16:01~18:00"))
950 974 keyMap.put("16:01~18:00", new ArrayList<ScheduleRealInfo>());
951 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 979 if(!keyMap.containsKey("18:01~20:30"))
955 980 keyMap.put("18:01~20:30", new ArrayList<ScheduleRealInfo>());
956 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 987 for(String key : keyMap.keySet()){
967 988 Map<String, Object> m = null;
968 989 for(Map<String, Object> map2 : tempList){
... ... @@ -973,6 +994,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
973 994 int upbc = 0, dnbc = 0;
974 995 long upys = 0, dnys = 0;
975 996 for(ScheduleRealInfo schedule : keyMap.get(key)){
  997 + flag = true;
976 998 if(schedule.getXlDir().equals("0")){
977 999 upbc++;
978 1000 upys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime();
... ... @@ -980,15 +1002,25 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
980 1002 dnbc++;
981 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 1010 m.put("upbc", upbc);
985 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 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 11 .table-bordered > thead > tr > th,
12 12 .table-bordered > thead > tr > td {
13 13 border-bottom-width: 2px; }
14   -
15 14 .table > tbody + tbody {
16 15 border-top: 1px solid; }
  16 + #forms > tbody > tr{
  17 + background-color: #FFFFFF;
  18 + }
17 19 </style>
18 20  
19 21 <div class="page-head">
20 22 <div class="page-title">
21   - <h1>时刻表分析</h1>
  23 + <h1>时刻表分析(汇总)</h1>
22 24 </div>
23 25 </div>
24 26  
... ... @@ -70,6 +72,9 @@
70 72 <thead>
71 73 <tr class="hidden">
72 74 <th style="display: none;"></th>
  75 + <th>公司</th>
  76 + <th>分公司</th>
  77 + <th>线路</th>
73 78 <th>时间段</th>
74 79 <th>上行班次</th>
75 80 <th>下行班次</th>
... ... @@ -196,6 +201,8 @@
196 201 jsDoQuery(true);
197 202 });
198 203  
  204 + var companyName = "";
  205 + var subCompanyName = "";
199 206 var line = $("#line").val();
200 207 var startDate = $("#startDate").val();
201 208 var endDate = $("#endDate").val();
... ... @@ -232,7 +239,7 @@
232 239 $(".hidden").removeClass("hidden");
233 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 243 // 把渲染好的模版html文本追加到表格中
237 244 $('#forms tbody').html(tbodyHtml);
238 245  
... ... @@ -362,6 +369,11 @@
362 369 {{each list as obj i}}
363 370 <tr>
364 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 377 <td>{{obj.time}}</td>
366 378 <td>{{obj.upbc}}</td>
367 379 <td>{{obj.dnbc}}</td>
... ... @@ -372,7 +384,7 @@
372 384 {{/each}}
373 385 {{if list.length == 0}}
374 386 <tr>
375   - <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td>
  387 + <td colspan="9"><h6 class="muted">没有找到相关数据</h6></td>
376 388 </tr>
377 389 {{/if}}
378 390 </script>
379 391 \ No newline at end of file
... ...