Commit b855b368ae9e0fac8b02d68e565ac59ff12f37c3
1 parent
dd2b768b
update
Showing
3 changed files
with
86 additions
and
42 deletions
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 |