Commit d8d6d9261666a344881b98e751c8cf85c077a237
1 parent
719ddbb1
添加接口:按月份查询直属公司统计指标
Showing
1 changed file
with
247 additions
and
4 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| ... | ... | @@ -249,6 +249,26 @@ public class BigscreenService { |
| 249 | 249 | } |
| 250 | 250 | |
| 251 | 251 | |
| 252 | + String cardSignSql="select xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs" | |
| 253 | + + " from card_signing " | |
| 254 | + + " where schedule_date_str >= '"+date2+"' and schedule_date_str <= '"+date+"'"; | |
| 255 | + List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql, | |
| 256 | + new RowMapper<Map<String, Object>>(){ | |
| 257 | + @Override | |
| 258 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 259 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 260 | + m.put("lineCode",rs.getString("xl_bm")); | |
| 261 | + m.put("lineName", rs.getString("xl_name")); | |
| 262 | + m.put("date", rs.getString("schedule_date_str")); | |
| 263 | + m.put("bcs", rs.getString("bcs")); | |
| 264 | + m.put("qks", rs.getString("qks")); | |
| 265 | + m.put("rkgzs", rs.getString("rkgzs")); | |
| 266 | + m.put("ckgzs", rs.getString("ckgzs")); | |
| 267 | + return m; | |
| 268 | + } | |
| 269 | + }); | |
| 270 | + | |
| 271 | + | |
| 252 | 272 | String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," |
| 253 | 273 | + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," |
| 254 | 274 | + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," |
| ... | ... | @@ -318,11 +338,12 @@ public class BigscreenService { |
| 318 | 338 | List<Map<String, Object>> smList = createMap("首末班发车准点率", dates); |
| 319 | 339 | List<Map<String, Object>> qqList = createMap("起讫站发车准点率", dates); |
| 320 | 340 | List<Map<String, Object>> gpList = createMap("挂牌线路发车准点率", dates); |
| 341 | + List<Map<String, Object>> qkList = createMap("签卡率", dates); | |
| 321 | 342 | |
| 322 | 343 | long sjbcs_z = 0l;//实时总班次 |
| 323 | 344 | BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程 |
| 324 | 345 | long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0, |
| 325 | - jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0; | |
| 346 | + jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0, bcs_qk = 0, qks = 0; | |
| 326 | 347 | |
| 327 | 348 | for(Map<String, Object> t : list){ |
| 328 | 349 | if(yyLine.contains(t.get("lineCode").toString())){ |
| ... | ... | @@ -397,12 +418,26 @@ public class BigscreenService { |
| 397 | 418 | } |
| 398 | 419 | } |
| 399 | 420 | |
| 421 | + for(Map<String, Object> t : cardSignList){ | |
| 422 | + if(yyLine.contains(t.get("lineCode").toString())){ | |
| 423 | + String d = t.get("date").toString(); | |
| 424 | + if(date.equals(d)){ | |
| 425 | + bcs_qk += Long.valueOf(t.get("bcs").toString()); | |
| 426 | + qks += Long.valueOf(t.get("qks").toString()); | |
| 427 | + } | |
| 428 | + Map<String, Object> qkMap = qkList.get(datesMap.get(d)); | |
| 429 | + qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("bcs").toString())); | |
| 430 | + qkMap.put("sj", Long.valueOf(qkMap.get("sj").toString()) + Long.valueOf(t.get("qks").toString())); | |
| 431 | + } | |
| 432 | + } | |
| 433 | + | |
| 400 | 434 | List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>(); |
| 401 | 435 | zxlList.addAll(ccList); |
| 402 | 436 | zxlList.addAll(bcList); |
| 403 | 437 | zxlList.addAll(smList); |
| 404 | 438 | zxlList.addAll(qqList); |
| 405 | 439 | zxlList.addAll(gpList); |
| 440 | + zxlList.addAll(qkList); | |
| 406 | 441 | |
| 407 | 442 | List<Map<String, Object>> detailsList = new ArrayList<Map<String, Object>>(); |
| 408 | 443 | detailsList.addAll(bcDetail); |
| ... | ... | @@ -527,11 +562,13 @@ public class BigscreenService { |
| 527 | 562 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 528 | 563 | resMap.put("bczxl", jhbc>0?new BigDecimal(sjbc).divide(new BigDecimal(jhbc), |
| 529 | 564 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 530 | - resMap.put("smbzdl", jhbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc), | |
| 565 | + resMap.put("smbzdl", jhsmbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc), | |
| 531 | 566 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 532 | - resMap.put("qqzzdl", jhbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc), | |
| 567 | + resMap.put("qqzzdl", jhqqbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc), | |
| 533 | 568 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 534 | - resMap.put("gpzdl", jhbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc), | |
| 569 | + resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc), | |
| 570 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 571 | + resMap.put("qkl", bcs_qk>0?new BigDecimal(qks).divide(new BigDecimal(bcs_qk), | |
| 535 | 572 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 536 | 573 | |
| 537 | 574 | resMap.put("ratioList", zxlList); |
| ... | ... | @@ -928,6 +965,171 @@ public class BigscreenService { |
| 928 | 965 | return JSON.parseObject(JSON.toJSONString(resMap)); |
| 929 | 966 | } |
| 930 | 967 | |
| 968 | + /** 按月份查询直属公司统计指标 */ | |
| 969 | + @GET | |
| 970 | + @Path("/selectData/getMonthly/{gsdm}/{month}") | |
| 971 | + public JSONObject getMonthly(@PathParam("gsdm") String gsdm, @PathParam("month") String month){ | |
| 972 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 973 | + | |
| 974 | + String gpLineSql = "select * from bsth_c_line_plate"; | |
| 975 | + List<Map<String, Object>> gpLineList=jdbcTemplate.query(gpLineSql, | |
| 976 | + new RowMapper<Map<String, Object>>(){ | |
| 977 | + @Override | |
| 978 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 979 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 980 | + m.put("lineName", rs.getString("line_name")); | |
| 981 | + m.put("lineCode", rs.getString("line_code")); | |
| 982 | + return m; | |
| 983 | + } | |
| 984 | + }); | |
| 985 | + | |
| 986 | + Set<String> gpSet = new HashSet<String>(); | |
| 987 | + for(Map<String, Object> t : gpLineList){ | |
| 988 | + if(t.get("lineCode") != null && t.get("lineCode").toString().trim().length() > 0){ | |
| 989 | + gpSet.add(t.get("lineCode").toString().trim()); | |
| 990 | + } | |
| 991 | + } | |
| 992 | + | |
| 993 | + | |
| 994 | + String yyxlSql="SELECT line_code from bsth_c_line " | |
| 995 | + + " where nature in ('yxl','cgxl','gjxl','csbs','cctxl')"; | |
| 996 | + List<Map<String, Object>> yyxlList=jdbcTemplate.query(yyxlSql, | |
| 997 | + new RowMapper<Map<String, Object>>(){ | |
| 998 | + @Override | |
| 999 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 1000 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 1001 | + m.put("lineCode", rs.getString("line_code")); | |
| 1002 | + return m; | |
| 1003 | + } | |
| 1004 | + }); | |
| 1005 | + Set<String> yyLine = new HashSet<String>(); | |
| 1006 | + for(Map<String, Object> t : yyxlList){ | |
| 1007 | + if(t.get("lineCode") != null){ | |
| 1008 | + yyLine.add(t.get("lineCode").toString()); | |
| 1009 | + } | |
| 1010 | + } | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," | |
| 1014 | + + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," | |
| 1015 | + + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," | |
| 1016 | + + " jhsmbcs,sjsmbczds,smbczdl,jhsmbcsz,sjsmbczdsz,smbczdlz," | |
| 1017 | + + " jhszfcs,sjszfczds,szfczdl,jhzgl,sjzgl,create_date" | |
| 1018 | + + " from bsth_c_calc_count " | |
| 1019 | + + " where gsdm = '"+gsdm+"' and date like '%"+month+"%'"; | |
| 1020 | + | |
| 1021 | + List<Map<String, Object>> list=jdbcTemplate.query(sql, | |
| 1022 | + new RowMapper<Map<String, Object>>(){ | |
| 1023 | + @Override | |
| 1024 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 1025 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 1026 | + m.put("lineCode",rs.getString("xl")); | |
| 1027 | + m.put("lineName", rs.getString("xl_name")); | |
| 1028 | + m.put("date", rs.getString("date")); | |
| 1029 | + | |
| 1030 | + m.put("jhbc", rs.getString("jhbc")); | |
| 1031 | + m.put("sjbc", rs.getString("sjbc")); | |
| 1032 | + m.put("bczxl", rs.getString("bczxl")); | |
| 1033 | + m.put("jhbcz", rs.getString("jhbcz")); | |
| 1034 | + | |
| 1035 | + m.put("jhcc", rs.getString("jhcc")); | |
| 1036 | + m.put("sjcc", rs.getString("sjcc")); | |
| 1037 | + m.put("ccl", rs.getString("ccl")); | |
| 1038 | + m.put("jhccz", rs.getString("jhccz")); | |
| 1039 | + | |
| 1040 | + m.put("jhyylc", rs.getString("jhyylc")); | |
| 1041 | + m.put("sjyylc", rs.getString("sjyylc")); | |
| 1042 | + m.put("jhyylcz", rs.getString("jhyylcz")); | |
| 1043 | + m.put("jhkslc", rs.getString("jhkslc")); | |
| 1044 | + m.put("sjkslc", rs.getString("sjkslc")); | |
| 1045 | + m.put("jhkslcz", rs.getString("jhkslcz")); | |
| 1046 | + | |
| 1047 | + m.put("jhgfbcs", rs.getString("jhssgfbcs")); | |
| 1048 | + m.put("sjgfbcs", rs.getString("sjgfbcs")); | |
| 1049 | + m.put("jhgfbcsz", rs.getString("jhgfbcsz")); | |
| 1050 | + m.put("jhdgbcs", rs.getString("jhssdgbcs")); | |
| 1051 | + m.put("sjdgbcs", rs.getString("sjdgbcs")); | |
| 1052 | + m.put("jhdgbcsz", rs.getString("jhdgbcsz")); | |
| 1053 | + | |
| 1054 | + m.put("jhsmbcs", rs.getString("jhsmbcs")); | |
| 1055 | + m.put("sjsmbczds", rs.getString("sjsmbczds")); | |
| 1056 | + m.put("smbczdl", rs.getString("smbczdl")); | |
| 1057 | + m.put("jhsmbcsz", rs.getString("jhsmbcsz")); | |
| 1058 | + m.put("sjsmbczdsz", rs.getString("sjsmbczdsz")); | |
| 1059 | + m.put("smbczdlz", rs.getString("smbczdlz")); | |
| 1060 | + | |
| 1061 | + m.put("jhszfcs", rs.getString("jhszfcs")); | |
| 1062 | + m.put("sjszfczds", rs.getString("sjszfczds")); | |
| 1063 | + m.put("szfczdl", rs.getString("szfczdl")); | |
| 1064 | + | |
| 1065 | + m.put("jhzgl", rs.getString("jhzgl")); | |
| 1066 | + m.put("sjzgl", rs.getString("sjzgl")); | |
| 1067 | + | |
| 1068 | + Date date = new Date(); | |
| 1069 | + date.setTime(rs.getTimestamp("create_date").getTime()); | |
| 1070 | + m.put("createDate", sdf.format(date)); | |
| 1071 | + return m; | |
| 1072 | + } | |
| 1073 | + }); | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + BigDecimal jhzgl = new BigDecimal(0), sjzgl = new BigDecimal(0);// | |
| 1077 | + long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0, | |
| 1078 | + jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0; | |
| 1079 | + | |
| 1080 | + for(Map<String, Object> t : list){ | |
| 1081 | + if(yyLine.contains(t.get("lineCode").toString())){ | |
| 1082 | + | |
| 1083 | + jhzgl = jhzgl.add(new BigDecimal(t.get("jhzgl").toString())); | |
| 1084 | + sjzgl = sjzgl.add(new BigDecimal(t.get("sjzgl").toString())); | |
| 1085 | + | |
| 1086 | + jhcc += Long.valueOf(t.get("jhccz").toString()); | |
| 1087 | + sjcc += Long.valueOf(t.get("sjcc").toString()); | |
| 1088 | + jhbc += Long.valueOf(t.get("jhbc").toString()); | |
| 1089 | + sjbc += Long.valueOf(t.get("sjbc").toString()); | |
| 1090 | + jhsmbc += Long.valueOf(t.get("jhsmbcs").toString()); | |
| 1091 | + sjsmbc += Long.valueOf(t.get("sjsmbczds").toString()); | |
| 1092 | + jhqqbc += Long.valueOf(t.get("jhszfcs").toString()); | |
| 1093 | + sjqqzd += Long.valueOf(t.get("sjszfczds").toString()); | |
| 1094 | + if(gpSet.contains(t.get("lineCode").toString())){ | |
| 1095 | + jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString()); | |
| 1096 | + sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString()); | |
| 1097 | + } | |
| 1098 | + | |
| 1099 | + } | |
| 1100 | + } | |
| 1101 | + | |
| 1102 | + resMap.put("date", month); | |
| 1103 | + | |
| 1104 | + resMap.put("jhzgl", df.format(jhzgl)); | |
| 1105 | + resMap.put("sjzgl", df.format(sjzgl)); | |
| 1106 | + resMap.put("jhcc", jhcc); | |
| 1107 | + resMap.put("sjcc", sjcc); | |
| 1108 | + resMap.put("jhbc", jhbc); | |
| 1109 | + resMap.put("sjbc", sjbc); | |
| 1110 | + resMap.put("jhsm", jhsmbc); | |
| 1111 | + resMap.put("sjsm", sjsmbc); | |
| 1112 | + resMap.put("jhqq", jhqqbc); | |
| 1113 | + resMap.put("sjqq", sjqqzd); | |
| 1114 | + resMap.put("jhgp", jhgpqqbc); | |
| 1115 | + resMap.put("sjgp", sjgpqqzd); | |
| 1116 | + | |
| 1117 | + resMap.put("glzxl", jhzgl.doubleValue()>0?sjzgl.divide(jhzgl, | |
| 1118 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1119 | + resMap.put("ccl", jhcc>0?new BigDecimal(sjcc).divide(new BigDecimal(jhcc), | |
| 1120 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1121 | + resMap.put("bczxl", jhbc>0?new BigDecimal(sjbc).divide(new BigDecimal(jhbc), | |
| 1122 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1123 | + resMap.put("smbzdl", jhsmbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc), | |
| 1124 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1125 | + resMap.put("qqzzdl", jhqqbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc), | |
| 1126 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1127 | + resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc), | |
| 1128 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1129 | + | |
| 1130 | + return JSON.parseObject(JSON.toJSONString(resMap)); | |
| 1131 | + } | |
| 1132 | + | |
| 931 | 1133 | /** 按日期查询四家直属公司统计指标 */ |
| 932 | 1134 | @GET |
| 933 | 1135 | @Path("/selectData/getCompanyData/{date}") |
| ... | ... | @@ -1058,6 +1260,27 @@ public class BigscreenService { |
| 1058 | 1260 | }); |
| 1059 | 1261 | |
| 1060 | 1262 | |
| 1263 | + String cardSignSql="select gs_bm,xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs" | |
| 1264 | + + " from card_signing " | |
| 1265 | + + " where schedule_date_str = '"+date+"'"; | |
| 1266 | + List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql, | |
| 1267 | + new RowMapper<Map<String, Object>>(){ | |
| 1268 | + @Override | |
| 1269 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 1270 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 1271 | + m.put("gs",rs.getString("gs_bm")!=null?gsMap.get(rs.getString("gs_bm")):""); | |
| 1272 | + m.put("lineCode",rs.getString("xl_bm")); | |
| 1273 | + m.put("lineName", rs.getString("xl_name")); | |
| 1274 | + m.put("date", rs.getString("schedule_date_str")); | |
| 1275 | + m.put("bcs", rs.getString("bcs")); | |
| 1276 | + m.put("qks", rs.getString("qks")); | |
| 1277 | + m.put("rkgzs", rs.getString("rkgzs")); | |
| 1278 | + m.put("ckgzs", rs.getString("ckgzs")); | |
| 1279 | + return m; | |
| 1280 | + } | |
| 1281 | + }); | |
| 1282 | + | |
| 1283 | + | |
| 1061 | 1284 | Map<String, Integer> sortMap = new HashMap<String, Integer>(); |
| 1062 | 1285 | sortMap.put("杨高", 0); |
| 1063 | 1286 | sortMap.put("上南", 1); |
| ... | ... | @@ -1118,6 +1341,23 @@ public class BigscreenService { |
| 1118 | 1341 | } |
| 1119 | 1342 | } |
| 1120 | 1343 | |
| 1344 | + for(Map<String, Object> t : cardSignList){ | |
| 1345 | + if(yyLine.contains(t.get("lineCode").toString())){ | |
| 1346 | + if(sortMap.get(t.get("gs")) != null){ | |
| 1347 | + Map<String, Object> m = resList.get(sortMap.get(t.get("gs"))); | |
| 1348 | + mapPut(m, "bcs", t.get("bcs").toString()); | |
| 1349 | + mapPut(m, "qks", t.get("qks").toString()); | |
| 1350 | +// mapPut(m, "rkgzs", t.get("rkgzs").toString()); | |
| 1351 | +// mapPut(m, "ckgzs", t.get("ckgzs").toString()); | |
| 1352 | + } | |
| 1353 | + | |
| 1354 | + mapPut(pjMap, "bcs", t.get("bcs").toString()); | |
| 1355 | + mapPut(pjMap, "qks", t.get("qks").toString()); | |
| 1356 | +// mapPut(pjMap, "rkgzs", t.get("rkgzs").toString()); | |
| 1357 | +// mapPut(pjMap, "ckgzs", t.get("ckgzs").toString()); | |
| 1358 | + } | |
| 1359 | + } | |
| 1360 | + | |
| 1121 | 1361 | for(Map<String, Object> m : resList){ |
| 1122 | 1362 | m.put("date", date); |
| 1123 | 1363 | |
| ... | ... | @@ -1139,6 +1379,9 @@ public class BigscreenService { |
| 1139 | 1379 | m.put("gpzdl", new BigDecimal(m.get("jhgpqqbc").toString()).doubleValue()>0? |
| 1140 | 1380 | new BigDecimal(m.get("sjgpqqzd").toString()).divide(new BigDecimal(m.get("jhgpqqbc").toString()), |
| 1141 | 1381 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1382 | + m.put("qkl", new BigDecimal(m.get("bcs").toString()).doubleValue()>0? | |
| 1383 | + new BigDecimal(m.get("qks").toString()).divide(new BigDecimal(m.get("bcs").toString()), | |
| 1384 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1142 | 1385 | } |
| 1143 | 1386 | |
| 1144 | 1387 | return resList; | ... | ... |