Commit c69eddf8e5288618fb52a733fad60378411017a7
1 parent
bcd4e7a8
大间隔统计表 新增周一至周五与周六日的查询条件
Showing
3 changed files
with
206 additions
and
74 deletions
src/main/java/com/bsth/service/calc/impl/CalcIntervalServiceImpl.java
| @@ -13,9 +13,11 @@ import java.util.Comparator; | @@ -13,9 +13,11 @@ import java.util.Comparator; | ||
| 13 | import java.util.Date; | 13 | import java.util.Date; |
| 14 | import java.util.GregorianCalendar; | 14 | import java.util.GregorianCalendar; |
| 15 | import java.util.HashMap; | 15 | import java.util.HashMap; |
| 16 | +import java.util.HashSet; | ||
| 16 | import java.util.Iterator; | 17 | import java.util.Iterator; |
| 17 | import java.util.List; | 18 | import java.util.List; |
| 18 | import java.util.Map; | 19 | import java.util.Map; |
| 20 | +import java.util.Set; | ||
| 19 | 21 | ||
| 20 | import org.apache.commons.lang3.StringUtils; | 22 | import org.apache.commons.lang3.StringUtils; |
| 21 | import org.springframework.beans.factory.annotation.Autowired; | 23 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -27,8 +29,6 @@ import com.bsth.data.BasicData; | @@ -27,8 +29,6 @@ import com.bsth.data.BasicData; | ||
| 27 | import com.bsth.entity.Line; | 29 | import com.bsth.entity.Line; |
| 28 | import com.bsth.entity.calc.CalcInterval; | 30 | import com.bsth.entity.calc.CalcInterval; |
| 29 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 31 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 30 | -import com.bsth.entity.sheet.CalcSheet; | ||
| 31 | -import com.bsth.entity.sheet.Sheet; | ||
| 32 | import com.bsth.repository.LineRepository; | 32 | import com.bsth.repository.LineRepository; |
| 33 | import com.bsth.repository.calc.CalcIntervalRepository; | 33 | import com.bsth.repository.calc.CalcIntervalRepository; |
| 34 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 34 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| @@ -36,9 +36,7 @@ import com.bsth.service.LineService; | @@ -36,9 +36,7 @@ import com.bsth.service.LineService; | ||
| 36 | import com.bsth.service.calc.CalcIntervalService; | 36 | import com.bsth.service.calc.CalcIntervalService; |
| 37 | import com.bsth.service.impl.BaseServiceImpl; | 37 | import com.bsth.service.impl.BaseServiceImpl; |
| 38 | import com.bsth.util.Arith; | 38 | import com.bsth.util.Arith; |
| 39 | -import com.bsth.util.ComparableReal; | ||
| 40 | import com.bsth.util.ReportUtils; | 39 | import com.bsth.util.ReportUtils; |
| 41 | -import com.mysql.fabric.xmlrpc.base.Array; | ||
| 42 | 40 | ||
| 43 | @Service | 41 | @Service |
| 44 | public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Integer> implements CalcIntervalService { | 42 | public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Integer> implements CalcIntervalService { |
| @@ -61,6 +59,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -61,6 +59,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 61 | public List<Map<String, Object>> countList(Map<String, Object> map) { | 59 | public List<Map<String, Object>> countList(Map<String, Object> map) { |
| 62 | // TODO Auto-generated method stub | 60 | // TODO Auto-generated method stub |
| 63 | final DecimalFormat df = new DecimalFormat("0.00"); | 61 | final DecimalFormat df = new DecimalFormat("0.00"); |
| 62 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 63 | + | ||
| 64 | List<Map<String, Object>> list=new ArrayList<>(); | 64 | List<Map<String, Object>> list=new ArrayList<>(); |
| 65 | String level=map.get("levelType").toString(); | 65 | String level=map.get("levelType").toString(); |
| 66 | String line=map.get("line").toString().trim(); | 66 | String line=map.get("line").toString().trim(); |
| @@ -69,6 +69,25 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -69,6 +69,25 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 69 | String sDate=map.get("date").toString(); | 69 | String sDate=map.get("date").toString(); |
| 70 | String eDate=map.get("endDate").toString(); | 70 | String eDate=map.get("endDate").toString(); |
| 71 | String nature=map.get("nature").toString(); | 71 | String nature=map.get("nature").toString(); |
| 72 | + String week=map.get("week").toString(); | ||
| 73 | + String weekend=""; | ||
| 74 | + | ||
| 75 | + try { | ||
| 76 | + if(!("0".equals(week))){ | ||
| 77 | + Date d1 = sdf.parse(sDate); | ||
| 78 | + Date d2 = sdf.parse(eDate); | ||
| 79 | + for(;d1.getTime() <= d2.getTime();d1.setTime(d1.getTime() + 1l*1000*60*60*24)){ | ||
| 80 | + if(d1.toString().contains("Sat") || d1.toString().contains("Sun")){ | ||
| 81 | + if(weekend.length() > 0){ | ||
| 82 | + weekend = weekend + ","; | ||
| 83 | + } | ||
| 84 | + weekend = weekend + "'" + sdf.format(d1) + "'"; | ||
| 85 | + } | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + } catch (Exception e) { | ||
| 89 | + // TODO: handle exception | ||
| 90 | + } | ||
| 72 | 91 | ||
| 73 | //D级线路显示发车准点率 | 92 | //D级线路显示发车准点率 |
| 74 | if(level.equals("D") && false){ //新的计算规则D级也显示大间隔 | 93 | if(level.equals("D") && false){ //新的计算规则D级也显示大间隔 |
| @@ -136,7 +155,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -136,7 +155,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 136 | // + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime " | 155 | // + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime " |
| 137 | // + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' "; | 156 | // + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' "; |
| 138 | String sql="select gsbm,fgsbm,xl_bm,xl_name,SUM(bcs) as bcs,MAX(id) as id,SUM(djg_all) as djgAll,SUM(djg_gf) as djgGf," | 157 | String sql="select gsbm,fgsbm,xl_bm,xl_name,SUM(bcs) as bcs,MAX(id) as id,SUM(djg_all) as djgAll,SUM(djg_gf) as djgGf," |
| 139 | - + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime, level " | 158 | + + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime,substr(level,1,1) level " |
| 140 | + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level like '%"+level+"%' " | 159 | + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level like '%"+level+"%' " |
| 141 | + "and level is not null and level <> '' "; | 160 | + "and level is not null and level <> '' "; |
| 142 | if(line.equals("")){ | 161 | if(line.equals("")){ |
| @@ -148,8 +167,13 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -148,8 +167,13 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 148 | }else{ | 167 | }else{ |
| 149 | sql +=" and xl_bm ='"+line+"'"; | 168 | sql +=" and xl_bm ='"+line+"'"; |
| 150 | } | 169 | } |
| 151 | - sql += " group by xl_bm,gsbm,fgsbm,xl_name,level" | ||
| 152 | - +" order by xl_bm,level"; | 170 | + if(weekend.length() > 0 && "1".equals(week)){ |
| 171 | + sql +=" and date not in ("+weekend+")"; | ||
| 172 | + } else if(weekend.length() > 0 && "2".equals(week)){ | ||
| 173 | + sql +=" and date in ("+weekend+")"; | ||
| 174 | + } | ||
| 175 | + sql += " group by xl_bm,gsbm,fgsbm,xl_name,substr(level,1,1)" | ||
| 176 | + +" order by gsbm,fgsbm,xl_bm,level"; | ||
| 153 | 177 | ||
| 154 | list=jdbcTemplate.query(sql, | 178 | list=jdbcTemplate.query(sql, |
| 155 | new RowMapper<Map<String,Object>>(){ | 179 | new RowMapper<Map<String,Object>>(){ |
| @@ -171,15 +195,15 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -171,15 +195,15 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 171 | }else{ | 195 | }else{ |
| 172 | m.put("fsl", "0.0"); | 196 | m.put("fsl", "0.0"); |
| 173 | } | 197 | } |
| 174 | - m.put("djgAll", rs.getString("djgAll")); | ||
| 175 | - m.put("djgGf", rs.getString("djgGf")); | ||
| 176 | - m.put("djgZgf", rs.getString("djgZgf")); | ||
| 177 | - m.put("djgWgf", rs.getString("djgWgf")); | ||
| 178 | - m.put("djgDg", rs.getString("djgDg")); | 198 | + m.put("djgAll", rs.getString("djgAll")!=null?rs.getString("djgAll"):""); |
| 199 | + m.put("djgGf", rs.getString("djgGf")!=null?rs.getString("djgGf"):""); | ||
| 200 | + m.put("djgZgf", rs.getString("djgZgf")!=null?rs.getString("djgZgf"):""); | ||
| 201 | + m.put("djgWgf", rs.getString("djgWgf")!=null?rs.getString("djgWgf"):""); | ||
| 202 | + m.put("djgDg", rs.getString("djgDg")!=null?rs.getString("djgDg"):""); | ||
| 179 | if("0".equals(rs.getString("djgTime")) || "0.0".equals(rs.getString("djgTime"))){ | 203 | if("0".equals(rs.getString("djgTime")) || "0.0".equals(rs.getString("djgTime"))){ |
| 180 | m.put("djgTime", ""); | 204 | m.put("djgTime", ""); |
| 181 | } else { | 205 | } else { |
| 182 | - m.put("djgTime", rs.getString("djgTime")); | 206 | + m.put("djgTime", rs.getString("djgTime")!=null?rs.getString("djgTime"):""); |
| 183 | } | 207 | } |
| 184 | if(rs.getString("level").toString().trim().length() > 1){ | 208 | if(rs.getString("level").toString().trim().length() > 1){ |
| 185 | m.put("level", rs.getString("level").trim().substring(0, 1)); | 209 | m.put("level", rs.getString("level").trim().substring(0, 1)); |
| @@ -263,15 +287,44 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -263,15 +287,44 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 263 | public List<Map<String, Object>> listInterval(Map<String, Object> map) { | 287 | public List<Map<String, Object>> listInterval(Map<String, Object> map) { |
| 264 | // TODO Auto-generated method stub | 288 | // TODO Auto-generated method stub |
| 265 | final DecimalFormat df = new DecimalFormat("0.00"); | 289 | final DecimalFormat df = new DecimalFormat("0.00"); |
| 290 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 266 | 291 | ||
| 267 | String line=map.get("line").toString(); | 292 | String line=map.get("line").toString(); |
| 268 | String date=map.get("date").toString(); | 293 | String date=map.get("date").toString(); |
| 269 | String endDate=map.get("endDate").toString(); | 294 | String endDate=map.get("endDate").toString(); |
| 270 | String levelType=map.get("levelType").toString(); | 295 | String levelType=map.get("levelType").toString(); |
| 296 | + String week=map.get("week").toString(); | ||
| 297 | + Set<String> weekend = new HashSet<String>(); | ||
| 298 | + | ||
| 299 | + try { | ||
| 300 | + if(!("0".equals(week))){ | ||
| 301 | + Date d1 = sdf.parse(date); | ||
| 302 | + Date d2 = sdf.parse(endDate); | ||
| 303 | + for(;d1.getTime() <= d2.getTime();d1.setTime(d1.getTime() + 1l*1000*60*60*24)){ | ||
| 304 | + if(d1.toString().contains("Sat") || d1.toString().contains("Sun")){ | ||
| 305 | + weekend.add(sdf.format(d1)); | ||
| 306 | + } | ||
| 307 | + } | ||
| 308 | + } | ||
| 309 | + } catch (Exception e) { | ||
| 310 | + // TODO: handle exception | ||
| 311 | + } | ||
| 312 | + | ||
| 271 | List<CalcInterval> listAll=calcIntervalRepository.selectByDateAndLine(line, date, endDate, levelType); | 313 | List<CalcInterval> listAll=calcIntervalRepository.selectByDateAndLine(line, date, endDate, levelType); |
| 272 | List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); | 314 | List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); |
| 273 | for (int i = 0; i < listAll.size(); i++) { | 315 | for (int i = 0; i < listAll.size(); i++) { |
| 274 | CalcInterval t=listAll.get(i); | 316 | CalcInterval t=listAll.get(i); |
| 317 | + | ||
| 318 | + if("1".equals(week)){ | ||
| 319 | + if(weekend.contains(t.getDate())){ | ||
| 320 | + continue; | ||
| 321 | + } | ||
| 322 | + } else if("2".equals(week)){ | ||
| 323 | + if(!(weekend.contains(t.getDate()))){ | ||
| 324 | + continue; | ||
| 325 | + } | ||
| 326 | + } | ||
| 327 | + | ||
| 275 | // if(!t.getLevel().equals("D") && t.getDjgAll()>0){ | 328 | // if(!t.getLevel().equals("D") && t.getDjgAll()>0){ |
| 276 | if(t.getDjgAll() != null && t.getDjgAll() > 0){ | 329 | if(t.getDjgAll() != null && t.getDjgAll() > 0){ |
| 277 | Map<String, Object> m=new HashMap<>(); | 330 | Map<String, Object> m=new HashMap<>(); |
| @@ -300,7 +353,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -300,7 +353,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 300 | tempList.add(m); | 353 | tempList.add(m); |
| 301 | } | 354 | } |
| 302 | } | 355 | } |
| 303 | - if(map.get("type").equals("export")){ | 356 | + if(map.get("type").equals("export")){ |
| 304 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | 357 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| 305 | Map<String, Object> m = new HashMap<String, Object>(); | 358 | Map<String, Object> m = new HashMap<String, Object>(); |
| 306 | m.put("date", date); | 359 | m.put("date", date); |
| @@ -710,10 +763,29 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -710,10 +763,29 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 710 | @Override | 763 | @Override |
| 711 | public List<Map<String, Object>> exportDetail(Map<String, Object> map) { | 764 | public List<Map<String, Object>> exportDetail(Map<String, Object> map) { |
| 712 | // TODO Auto-generated method stub | 765 | // TODO Auto-generated method stub |
| 766 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 767 | + | ||
| 713 | String line=map.get("line").toString().trim(); | 768 | String line=map.get("line").toString().trim(); |
| 714 | String date=map.get("date").toString(); | 769 | String date=map.get("date").toString(); |
| 715 | String endDate=map.get("endDate").toString(); | 770 | String endDate=map.get("endDate").toString(); |
| 716 | String level=map.get("levelType").toString(); | 771 | String level=map.get("levelType").toString(); |
| 772 | + String week=map.get("week").toString(); | ||
| 773 | + Set<String> weekend = new HashSet<String>(); | ||
| 774 | + | ||
| 775 | + try { | ||
| 776 | + if(!("0".equals(week))){ | ||
| 777 | + Date d1 = sdf.parse(date); | ||
| 778 | + Date d2 = sdf.parse(endDate); | ||
| 779 | + for(;d1.getTime() <= d2.getTime();d1.setTime(d1.getTime() + 1l*1000*60*60*24)){ | ||
| 780 | + if(d1.toString().contains("Sat") || d1.toString().contains("Sun")){ | ||
| 781 | + weekend.add(sdf.format(d1)); | ||
| 782 | + } | ||
| 783 | + } | ||
| 784 | + } | ||
| 785 | + } catch (Exception e) { | ||
| 786 | + // TODO: handle exception | ||
| 787 | + } | ||
| 788 | + | ||
| 717 | String nature="0", gs = "", fgs = ""; | 789 | String nature="0", gs = "", fgs = ""; |
| 718 | if(map.containsKey("nature")){ | 790 | if(map.containsKey("nature")){ |
| 719 | nature = map.get("nature").toString().trim(); | 791 | nature = map.get("nature").toString().trim(); |
| @@ -735,7 +807,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -735,7 +807,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 735 | + " d.date >= '"+date+"' and d.date <= '"+endDate+"' " | 807 | + " d.date >= '"+date+"' and d.date <= '"+endDate+"' " |
| 736 | + " and d.level like '%"+level+"%' " | 808 | + " and d.level like '%"+level+"%' " |
| 737 | + " and d.level is not null and d.level <> '' " | 809 | + " and d.level is not null and d.level <> '' " |
| 738 | - + " order by d.line_code, d.date asc, d.level asc "; | 810 | + + " order by i.gsbm, i.fgsbm, d.line_code, d.date asc, d.level asc "; |
| 739 | 811 | ||
| 740 | List<Map<String, Object>> resList=jdbcTemplate.query(sql, | 812 | List<Map<String, Object>> resList=jdbcTemplate.query(sql, |
| 741 | new RowMapper<Map<String,Object>>(){ | 813 | new RowMapper<Map<String,Object>>(){ |
| @@ -763,6 +835,17 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -763,6 +835,17 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 763 | Map<String, Boolean> lineMap=lineService.lineNature(); | 835 | Map<String, Boolean> lineMap=lineService.lineNature(); |
| 764 | for (int i = 0; i < resList.size(); i++) { | 836 | for (int i = 0; i < resList.size(); i++) { |
| 765 | Map<String, Object> m=resList.get(i); | 837 | Map<String, Object> m=resList.get(i); |
| 838 | + | ||
| 839 | + if("1".equals(week)){ | ||
| 840 | + if(weekend.contains(m.get("date"))){ | ||
| 841 | + continue; | ||
| 842 | + } | ||
| 843 | + } else if("2".equals(week)){ | ||
| 844 | + if(!(weekend.contains(m.get("date")))){ | ||
| 845 | + continue; | ||
| 846 | + } | ||
| 847 | + } | ||
| 848 | + | ||
| 766 | if(null != line && line.length() > 0){ | 849 | if(null != line && line.length() > 0){ |
| 767 | if(line.equals(m.get("xlBm").toString())){ | 850 | if(line.equals(m.get("xlBm").toString())){ |
| 768 | list.add(m); | 851 | list.add(m); |
| @@ -811,12 +894,33 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -811,12 +894,33 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 811 | 894 | ||
| 812 | public List<Map<String, Object>> sumInterval(Map<String, Object> map) { | 895 | public List<Map<String, Object>> sumInterval(Map<String, Object> map) { |
| 813 | // TODO Auto-generated method stub | 896 | // TODO Auto-generated method stub |
| 814 | - final DecimalFormat df = new DecimalFormat("0.00"); | 897 | + final DecimalFormat df = new DecimalFormat("0.00"); |
| 898 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 899 | + | ||
| 815 | String gs=map.get("gs").toString().trim(); | 900 | String gs=map.get("gs").toString().trim(); |
| 816 | String fgs=map.get("fgs").toString().trim(); | 901 | String fgs=map.get("fgs").toString().trim(); |
| 817 | String sDate=map.get("date").toString(); | 902 | String sDate=map.get("date").toString(); |
| 818 | String eDate=map.get("endDate").toString(); | 903 | String eDate=map.get("endDate").toString(); |
| 819 | String nature=map.get("nature").toString(); | 904 | String nature=map.get("nature").toString(); |
| 905 | + String week=map.get("week").toString(); | ||
| 906 | + String weekend=""; | ||
| 907 | + | ||
| 908 | + try { | ||
| 909 | + if(!("0".equals(week))){ | ||
| 910 | + Date d1 = sdf.parse(sDate); | ||
| 911 | + Date d2 = sdf.parse(eDate); | ||
| 912 | + for(;d1.getTime() <= d2.getTime();d1.setTime(d1.getTime() + 1l*1000*60*60*24)){ | ||
| 913 | + if(d1.toString().contains("Sat") || d1.toString().contains("Sun")){ | ||
| 914 | + if(weekend.length() > 0){ | ||
| 915 | + weekend = weekend + ","; | ||
| 916 | + } | ||
| 917 | + weekend = weekend + "'" + sdf.format(d1) + "'"; | ||
| 918 | + } | ||
| 919 | + } | ||
| 920 | + } | ||
| 921 | + } catch (Exception e) { | ||
| 922 | + // TODO: handle exception | ||
| 923 | + } | ||
| 820 | 924 | ||
| 821 | List<Map<String, Object>> listAll=new ArrayList<Map<String, Object>>(); | 925 | List<Map<String, Object>> listAll=new ArrayList<Map<String, Object>>(); |
| 822 | 926 | ||
| @@ -830,6 +934,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -830,6 +934,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 830 | sql +=" and gsbm = '"+gs+"'"; | 934 | sql +=" and gsbm = '"+gs+"'"; |
| 831 | } | 935 | } |
| 832 | } | 936 | } |
| 937 | + if(weekend.length() > 0 && "1".equals(week)){ | ||
| 938 | + sql +=" and date not in ("+weekend+")"; | ||
| 939 | + } else if(weekend.length() > 0 && "2".equals(week)){ | ||
| 940 | + sql +=" and date in ("+weekend+")"; | ||
| 941 | + } | ||
| 833 | sql += " order by gsbm,fgsbm,level"; | 942 | sql += " order by gsbm,fgsbm,level"; |
| 834 | 943 | ||
| 835 | List<Map<String, Object>> countList = new ArrayList<Map<String, Object>>(); | 944 | List<Map<String, Object>> countList = new ArrayList<Map<String, Object>>(); |
src/main/resources/static/pages/report/sheet/intervalCount.html
| @@ -27,54 +27,60 @@ | @@ -27,54 +27,60 @@ | ||
| 27 | <div class="portlet light porttlet-fit bordered"> | 27 | <div class="portlet light porttlet-fit bordered"> |
| 28 | <div class="portlet-title"> | 28 | <div class="portlet-title"> |
| 29 | <form class="form-inline" action=""> | 29 | <form class="form-inline" action=""> |
| 30 | - <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv"> | ||
| 31 | - <span class="item-label" style="width: 80px;">公司: </span> | ||
| 32 | - <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | ||
| 33 | - </div> | ||
| 34 | - <div style="display: inline-block; margin-left: 28px;" id="fgsdmDiv"> | ||
| 35 | - <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 36 | - <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | ||
| 37 | - </div> | ||
| 38 | - <div style="display: inline-block;margin-left: 33px;"> | ||
| 39 | - <span class="item-label" style="width: 80px;">线路: </span> | ||
| 40 | - <select class="form-control" name="line" id="line" style="width: 180px;"></select> | ||
| 41 | - </div> | ||
| 42 | - <div style="display: inline-block;margin-left: 18px;"> | 30 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv"> |
| 31 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 32 | + <select class="form-control" name="company" id="gsdm" style="width: 160px;"></select> | ||
| 33 | + </div> | ||
| 34 | + <div style="display: inline-block; margin-left: 20px;" id="fgsdmDiv"> | ||
| 35 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 36 | + <select class="form-control" name="subCompany" id="fgsdm" style="width: 160px;"></select> | ||
| 37 | + </div> | ||
| 38 | + <div style="display: inline-block;margin-left: 33px;"> | ||
| 39 | + <span class="item-label" style="width: 80px;">线路: </span> | ||
| 40 | + <select class="form-control" name="line" id="line" style="width: 160px;"></select> | ||
| 41 | + </div> | ||
| 42 | + <div style="display: inline-block;margin-left: 6px;"> | ||
| 43 | <span class="item-label" style="width: 80px;">线路性质: </span> | 43 | <span class="item-label" style="width: 80px;">线路性质: </span> |
| 44 | - <select | ||
| 45 | - class="form-control" name="nature" id="nature" | ||
| 46 | - style="width: 180px;"> | 44 | + <select class="form-control" name="nature" id="nature" style="width: 160px;"> |
| 47 | <option value="0">全部线路</option> | 45 | <option value="0">全部线路</option> |
| 48 | <option value="1" selected="selected">营运线路</option> | 46 | <option value="1" selected="selected">营运线路</option> |
| 49 | <option value="2">非营运线路</option> | 47 | <option value="2">非营运线路</option> |
| 50 | </select> | 48 | </select> |
| 51 | - </div> | ||
| 52 | - <div style="margin-top: 10px"> | 49 | + </div> |
| 50 | + <div style="display: inline-block;margin-left: 20px;"> | ||
| 51 | + <span class="item-label" style="width: 80px;">日期: </span> | ||
| 52 | + <select class="form-control" name="week" id="week" style="width: 160px;"> | ||
| 53 | + <option value="0" selected="selected">全部</option> | ||
| 54 | + <option value="1">周一至周五</option> | ||
| 55 | + <option value="2">周六日</option> | ||
| 56 | + </select> | ||
| 57 | + </div> | ||
| 58 | + <div style="margin-top: 10px"> | ||
| 53 | </div> | 59 | </div> |
| 54 | <div style="display: inline-block;margin-left: 33px;"> | 60 | <div style="display: inline-block;margin-left: 33px;"> |
| 55 | - <span class="item-label" style="width: 80px;">等级: </span> | ||
| 56 | - <select class="form-control" style="width: 180px;" id=levelType> | ||
| 57 | - <option id="levelTypeAll" value="">全部</option> | ||
| 58 | - <option value="A" selected="selected">A级线路</option> | ||
| 59 | - <option value="B">B级线路</option> | ||
| 60 | - <option value="C">C级线路</option> | ||
| 61 | - <option value="D">D级线路</option> | ||
| 62 | - <option value="E">E级线路</option> | ||
| 63 | - </select> | 61 | + <span class="item-label" style="width: 80px;">等级: </span> |
| 62 | + <select class="form-control" style="width: 160px;" id=levelType> | ||
| 63 | + <option id="levelTypeAll" value="">全部</option> | ||
| 64 | + <option value="A" selected="selected">A级线路</option> | ||
| 65 | + <option value="B">B级线路</option> | ||
| 66 | + <option value="C">C级线路</option> | ||
| 67 | + <option value="D">D级线路</option> | ||
| 68 | + <option value="E">E级线路</option> | ||
| 69 | + </select> | ||
| 64 | </div> | 70 | </div> |
| 65 | <div style="display: inline-block;"> | 71 | <div style="display: inline-block;"> |
| 66 | - <span class="item-label" style="width: 80px;margin-left: 14px;">开始时间: </span> | ||
| 67 | - <input class="form-control" type="text" id="date" style="width: 180px;"/> | 72 | + <span class="item-label" style="width: 80px;margin-left: 6px;">开始时间: </span> |
| 73 | + <input class="form-control" type="text" id="date" style="width: 160px;"/> | ||
| 68 | </div> | 74 | </div> |
| 69 | <div style="display: inline-block;"> | 75 | <div style="display: inline-block;"> |
| 70 | - <span class="item-label" style="width: 80px;margin-left: 14px;">结束时间: </span> | ||
| 71 | - <input class="form-control" type="text" id="endDate" style="width: 180px;"/> | 76 | + <span class="item-label" style="width: 80px;margin-left: 6px;">结束时间: </span> |
| 77 | + <input class="form-control" type="text" id="endDate" style="width: 160px;"/> | ||
| 72 | </div> | 78 | </div> |
| 73 | 79 | ||
| 74 | <div class="form-group"> | 80 | <div class="form-group"> |
| 75 | <input type="hidden" id="id"/> | 81 | <input type="hidden" id="id"/> |
| 76 | <input type="hidden" id="dataLevel"/> | 82 | <input type="hidden" id="dataLevel"/> |
| 77 | - <input class="btn btn-default" type="button" id="query" value="查询"/> | 83 | + <input class="btn btn-default" type="button" id="query" value="查询" style="margin-left: 2px;"/> |
| 78 | <input class="btn btn-default" type="button" id="export" value="导出" title="导出查询的大间隔情况"/> | 84 | <input class="btn btn-default" type="button" id="export" value="导出" title="导出查询的大间隔情况"/> |
| 79 | <input class="btn btn-default" type="button" id="export2" value="导出全部详情" title="导出查询的全部线路的大间隔详细"/> | 85 | <input class="btn btn-default" type="button" id="export2" value="导出全部详情" title="导出查询的全部线路的大间隔详细"/> |
| 80 | </div> | 86 | </div> |
| @@ -297,8 +303,9 @@ | @@ -297,8 +303,9 @@ | ||
| 297 | var gs=$('#gsdm').val(); | 303 | var gs=$('#gsdm').val(); |
| 298 | var levelType=$('#levelType').val(); | 304 | var levelType=$('#levelType').val(); |
| 299 | var nature=$("#nature").val(); | 305 | var nature=$("#nature").val(); |
| 306 | + var week=$("#week").val(); | ||
| 300 | var i = layer.load(2); | 307 | var i = layer.load(2); |
| 301 | - $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:'query'},function(result){ | 308 | + $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,week:week,type:'query'},function(result){ |
| 302 | // if(levelType=="D"){ | 309 | // if(levelType=="D"){ |
| 303 | // var intervalList_d = template('intervalList_d',{list:result}); | 310 | // var intervalList_d = template('intervalList_d',{list:result}); |
| 304 | // $('#forms_d tbody').html(intervalList_d); | 311 | // $('#forms_d tbody').html(intervalList_d); |
| @@ -334,9 +341,10 @@ | @@ -334,9 +341,10 @@ | ||
| 334 | var date = $("#date").val(); | 341 | var date = $("#date").val(); |
| 335 | var endDate = $("#endDate").val(); | 342 | var endDate = $("#endDate").val(); |
| 336 | var levelType=$(this).data('level'); | 343 | var levelType=$(this).data('level'); |
| 344 | + var week=$("#week").val(); | ||
| 337 | $("#id").val(id); | 345 | $("#id").val(id); |
| 338 | $("#dataLevel").val(levelType); | 346 | $("#dataLevel").val(levelType); |
| 339 | - $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,type:'query'},function(result){ | 347 | + $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,week:week,type:'query'},function(result){ |
| 340 | var intervalList = template('intervalList_1',{list:result}); | 348 | var intervalList = template('intervalList_1',{list:result}); |
| 341 | $('#forms_1 tbody').html(intervalList); | 349 | $('#forms_1 tbody').html(intervalList); |
| 342 | $('.btn-intervalList_1').on('click', openIntervalList); | 350 | $('.btn-intervalList_1').on('click', openIntervalList); |
| @@ -427,6 +435,7 @@ | @@ -427,6 +435,7 @@ | ||
| 427 | var gs=$('#gsdm').val(); | 435 | var gs=$('#gsdm').val(); |
| 428 | var levelType=$('#levelType').val(); | 436 | var levelType=$('#levelType').val(); |
| 429 | var nature=$('#nature').val(); | 437 | var nature=$('#nature').val(); |
| 438 | + var week=$("#week").val(); | ||
| 430 | var lineName = $('#line option:selected').text(); | 439 | var lineName = $('#line option:selected').text(); |
| 431 | if(lineName == "全部线路") | 440 | if(lineName == "全部线路") |
| 432 | lineName = $('#fgsdm option:selected').text(); | 441 | lineName = $('#fgsdm option:selected').text(); |
| @@ -434,7 +443,7 @@ | @@ -434,7 +443,7 @@ | ||
| 434 | lineName = $('#gsdm option:selected').text(); | 443 | lineName = $('#gsdm option:selected').text(); |
| 435 | 444 | ||
| 436 | var i = layer.load(2); | 445 | var i = layer.load(2); |
| 437 | - $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:"export",lineName:lineName},function(result){ | 446 | + $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,week:week,type:"export",lineName:lineName},function(result){ |
| 438 | var dateTime = ""; | 447 | var dateTime = ""; |
| 439 | if(date == endDate){ | 448 | if(date == endDate){ |
| 440 | dateTime = moment(date).format("YYYYMMDD"); | 449 | dateTime = moment(date).format("YYYYMMDD"); |
| @@ -462,9 +471,10 @@ | @@ -462,9 +471,10 @@ | ||
| 462 | var nature=$('#nature').val(); | 471 | var nature=$('#nature').val(); |
| 463 | var fgs=$('#fgsdm').val(); | 472 | var fgs=$('#fgsdm').val(); |
| 464 | var gs=$('#gsdm').val(); | 473 | var gs=$('#gsdm').val(); |
| 474 | + var week=$("#week").val(); | ||
| 465 | 475 | ||
| 466 | var i = layer.load(2); | 476 | var i = layer.load(2); |
| 467 | - $get('/calcInterval/exportDetail',{gs:gs,fgs:fgs,line:id,date:date,endDate:endDate,levelType:levelType,nature:nature,type:'export'},function(result){ | 477 | + $get('/calcInterval/exportDetail',{gs:gs,fgs:fgs,line:id,date:date,endDate:endDate,levelType:levelType,nature:nature,week:week,type:'export'},function(result){ |
| 468 | window.open("/downloadFile/download?fileName="+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")+"大间隔详细"); | 478 | window.open("/downloadFile/download?fileName="+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")+"大间隔详细"); |
| 469 | layer.close(i); | 479 | layer.close(i); |
| 470 | }); | 480 | }); |
| @@ -475,6 +485,7 @@ | @@ -475,6 +485,7 @@ | ||
| 475 | var date = $("#date").val(); | 485 | var date = $("#date").val(); |
| 476 | var endDate = $("#endDate").val(); | 486 | var endDate = $("#endDate").val(); |
| 477 | var levelType=$("#dataLevel").val(); | 487 | var levelType=$("#dataLevel").val(); |
| 488 | + var week=$("#week").val(); | ||
| 478 | // if(levelType=='D'){ | 489 | // if(levelType=='D'){ |
| 479 | // var i = layer.load(2); | 490 | // var i = layer.load(2); |
| 480 | // $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){ | 491 | // $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){ |
| @@ -483,7 +494,7 @@ | @@ -483,7 +494,7 @@ | ||
| 483 | // }); | 494 | // }); |
| 484 | // }else{ | 495 | // }else{ |
| 485 | var i = layer.load(2); | 496 | var i = layer.load(2); |
| 486 | - $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,type:'export'},function(result){ | 497 | + $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,week:week,type:'export'},function(result){ |
| 487 | window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); | 498 | window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); |
| 488 | layer.close(i); | 499 | layer.close(i); |
| 489 | }); | 500 | }); |
| @@ -496,8 +507,9 @@ | @@ -496,8 +507,9 @@ | ||
| 496 | var date = $("#date").val(); | 507 | var date = $("#date").val(); |
| 497 | var endDate = $("#endDate").val(); | 508 | var endDate = $("#endDate").val(); |
| 498 | var levelType=$("#dataLevel").val(); | 509 | var levelType=$("#dataLevel").val(); |
| 510 | + var week=$("#week").val(); | ||
| 499 | var i = layer.load(2); | 511 | var i = layer.load(2); |
| 500 | - $get('/calcInterval/exportDetail',{line:id,date:date,endDate:endDate,levelType:levelType,type:'export'},function(result){ | 512 | + $get('/calcInterval/exportDetail',{line:id,date:date,endDate:endDate,levelType:levelType,week:week,type:'export'},function(result){ |
| 501 | window.open("/downloadFile/download?fileName="+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")+"大间隔详细"); | 513 | window.open("/downloadFile/download?fileName="+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")+"大间隔详细"); |
| 502 | layer.close(i); | 514 | layer.close(i); |
| 503 | }); | 515 | }); |
src/main/resources/static/pages/report/sheet/intervalSum.html
| @@ -27,24 +27,32 @@ | @@ -27,24 +27,32 @@ | ||
| 27 | <div class="portlet light porttlet-fit bordered"> | 27 | <div class="portlet light porttlet-fit bordered"> |
| 28 | <div class="portlet-title"> | 28 | <div class="portlet-title"> |
| 29 | <form class="form-inline" action=""> | 29 | <form class="form-inline" action=""> |
| 30 | - <div style="display: inline-block; margin-left: 42px;" id="gsdmDiv"> | ||
| 31 | - <span class="item-label" style="width: 80px;">公司: </span> | ||
| 32 | - <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | ||
| 33 | - </div> | ||
| 34 | - <div style="display: inline-block; margin-left: 28px;" id="fgsdmDiv"> | ||
| 35 | - <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 36 | - <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | ||
| 37 | - </div> | ||
| 38 | - <div style="display: inline-block;margin-left: 18px;"> | ||
| 39 | - <span class="item-label" style="width: 80px;">线路性质: </span> | ||
| 40 | - <select | ||
| 41 | - class="form-control" name="nature" id="nature" | ||
| 42 | - style="width: 180px;"> | ||
| 43 | - <option value="0" selected="selected">全部线路</option> | ||
| 44 | - <option value="1">营运线路</option> | ||
| 45 | - <option value="2">非营运线路</option> | ||
| 46 | - </select> | ||
| 47 | - </div> | 30 | + <div style="display: inline-block; margin-left: 42px;" id="gsdmDiv"> |
| 31 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 32 | + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | ||
| 33 | + </div> | ||
| 34 | + <div style="display: inline-block; margin-left: 28px;" id="fgsdmDiv"> | ||
| 35 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 36 | + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | ||
| 37 | + </div> | ||
| 38 | + <div style="display: inline-block;margin-left: 18px;"> | ||
| 39 | + <span class="item-label" style="width: 80px;">线路性质: </span> | ||
| 40 | + <select | ||
| 41 | + class="form-control" name="nature" id="nature" | ||
| 42 | + style="width: 180px;"> | ||
| 43 | + <option value="0">全部线路</option> | ||
| 44 | + <option value="1" selected="selected">营运线路</option> | ||
| 45 | + <option value="2">非营运线路</option> | ||
| 46 | + </select> | ||
| 47 | + </div> | ||
| 48 | + <div style="display: inline-block;margin-left: 20px;"> | ||
| 49 | + <span class="item-label" style="width: 80px;">日期: </span> | ||
| 50 | + <select class="form-control" name="week" id="week" style="width: 160px;"> | ||
| 51 | + <option value="0" selected="selected">全部</option> | ||
| 52 | + <option value="1">周一至周五</option> | ||
| 53 | + <option value="2">周六日</option> | ||
| 54 | + </select> | ||
| 55 | + </div> | ||
| 48 | <div style="margin-top: 10px"> | 56 | <div style="margin-top: 10px"> |
| 49 | </div> | 57 | </div> |
| 50 | <div style="display: inline-block;"> | 58 | <div style="display: inline-block;"> |
| @@ -167,8 +175,10 @@ | @@ -167,8 +175,10 @@ | ||
| 167 | var fgs=$('#fgsdm').val(); | 175 | var fgs=$('#fgsdm').val(); |
| 168 | var gs=$('#gsdm').val(); | 176 | var gs=$('#gsdm').val(); |
| 169 | var nature=$("#nature").val(); | 177 | var nature=$("#nature").val(); |
| 178 | + var week=$("#week").val(); | ||
| 179 | + | ||
| 170 | var i = layer.load(2); | 180 | var i = layer.load(2); |
| 171 | - $get('/calcInterval/sumInterval',{date:date,endDate:endDate,gs:gs,fgs:fgs,nature:nature,type:'query'},function(result){ | 181 | + $get('/calcInterval/sumInterval',{date:date,endDate:endDate,gs:gs,fgs:fgs,nature:nature,week:week,type:'query'},function(result){ |
| 172 | var intervalList_sum = template('intervalList_sum',{list:result}); | 182 | var intervalList_sum = template('intervalList_sum',{list:result}); |
| 173 | $('#forms_djg_sum tbody').html(intervalList_sum); | 183 | $('#forms_djg_sum tbody').html(intervalList_sum); |
| 174 | 184 | ||
| @@ -186,12 +196,13 @@ | @@ -186,12 +196,13 @@ | ||
| 186 | var fgs=$('#fgsdm').val(); | 196 | var fgs=$('#fgsdm').val(); |
| 187 | var gs=$('#gsdm').val(); | 197 | var gs=$('#gsdm').val(); |
| 188 | var nature=$('#nature').val(); | 198 | var nature=$('#nature').val(); |
| 199 | + var week=$("#week").val(); | ||
| 189 | var lineName = $('#fgsdm option:selected').text(); | 200 | var lineName = $('#fgsdm option:selected').text(); |
| 190 | if(lineName=="全部分公司") | 201 | if(lineName=="全部分公司") |
| 191 | lineName = $('#gsdm option:selected').text(); | 202 | lineName = $('#gsdm option:selected').text(); |
| 192 | 203 | ||
| 193 | var i = layer.load(2); | 204 | var i = layer.load(2); |
| 194 | - $get('/calcInterval/sumInterval',{date:date,endDate:endDate,gs:gs,fgs:fgs,nature:nature,type:"export",lineName:lineName},function(result){ | 205 | + $get('/calcInterval/sumInterval',{date:date,endDate:endDate,gs:gs,fgs:fgs,nature:nature,week:week,type:"export",lineName:lineName},function(result){ |
| 195 | var dateTime = ""; | 206 | var dateTime = ""; |
| 196 | if(date == endDate){ | 207 | if(date == endDate){ |
| 197 | dateTime = moment(date).format("YYYYMMDD"); | 208 | dateTime = moment(date).format("YYYYMMDD"); |