Commit 32464d6f5d12d8a42b3778c4d4a89fccfcddd0b3
1 parent
9b894923
日期查线路指标添加签卡率
Showing
1 changed file
with
78 additions
and
28 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| ... | ... | @@ -1146,15 +1146,18 @@ public class BigscreenService { |
| 1146 | 1146 | return m; |
| 1147 | 1147 | } |
| 1148 | 1148 | }); |
| 1149 | - | |
| 1149 | + | |
| 1150 | + List<Map<String, Object>> ccDetail = new ArrayList<Map<String,Object>>(); | |
| 1150 | 1151 | List<Map<String, Object>> bcDetail = new ArrayList<Map<String,Object>>(); |
| 1152 | + List<Map<String, Object>> smDetail = new ArrayList<Map<String,Object>>(); | |
| 1151 | 1153 | List<Map<String, Object>> qqDetail = new ArrayList<Map<String,Object>>(); |
| 1152 | 1154 | List<Map<String, Object>> gpDetail = new ArrayList<Map<String,Object>>(); |
| 1155 | + List<Map<String, Object>> qkDetail = new ArrayList<Map<String,Object>>(); | |
| 1153 | 1156 | |
| 1154 | 1157 | long sjbcs_z = 0l;//实时总班次 |
| 1155 | 1158 | BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程 |
| 1156 | 1159 | long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0, |
| 1157 | - jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0; | |
| 1160 | + jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0, bcs_qk = 0, qks = 0; | |
| 1158 | 1161 | |
| 1159 | 1162 | for(Map<String, Object> t : list){ |
| 1160 | 1163 | if(yyLine.contains(t.get("lineCode").toString())){ |
| ... | ... | @@ -1174,6 +1177,13 @@ public class BigscreenService { |
| 1174 | 1177 | sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString()); |
| 1175 | 1178 | } |
| 1176 | 1179 | |
| 1180 | + Map<String, Object> cc = new HashMap<String, Object>(); | |
| 1181 | + cc.put("type", "线路出车详情"); | |
| 1182 | + cc.put("lineName", t.get("lineName").toString()); | |
| 1183 | + cc.put("jh", t.get("jhcc").toString()); | |
| 1184 | + cc.put("sj", t.get("sjcc").toString()); | |
| 1185 | + ccDetail.add(cc); | |
| 1186 | + | |
| 1177 | 1187 | Map<String, Object> bc = new HashMap<String, Object>(); |
| 1178 | 1188 | bc.put("type", "班次执行详情"); |
| 1179 | 1189 | bc.put("lineName", t.get("lineName").toString()); |
| ... | ... | @@ -1181,6 +1191,13 @@ public class BigscreenService { |
| 1181 | 1191 | bc.put("sj", t.get("sjbc").toString()); |
| 1182 | 1192 | bcDetail.add(bc); |
| 1183 | 1193 | |
| 1194 | + Map<String, Object> sm = new HashMap<String, Object>(); | |
| 1195 | + sm.put("type", "首站发车详情"); | |
| 1196 | + sm.put("lineName", t.get("lineName").toString()); | |
| 1197 | + sm.put("jh", t.get("jhsmbcs").toString()); | |
| 1198 | + sm.put("sj", t.get("sjsmbczds").toString()); | |
| 1199 | + smDetail.add(sm); | |
| 1200 | + | |
| 1184 | 1201 | Map<String, Object> qq = new HashMap<String, Object>(); |
| 1185 | 1202 | qq.put("type", "起讫站发车准点详情"); |
| 1186 | 1203 | qq.put("lineName", t.get("lineName").toString()); |
| ... | ... | @@ -1190,35 +1207,68 @@ public class BigscreenService { |
| 1190 | 1207 | |
| 1191 | 1208 | if(gpSet.contains(t.get("lineCode").toString())){ |
| 1192 | 1209 | Map<String, Object> gp = new HashMap<String, Object>(); |
| 1193 | - gp.put("type", "挂牌线路发车准点详情"); | |
| 1194 | - gp.put("lineName", t.get("lineName").toString()); | |
| 1195 | - gp.put("jh", t.get("jhszfcs").toString()); | |
| 1196 | - gp.put("sj", t.get("sjszfczds").toString()); | |
| 1197 | - gpDetail.add(gp); | |
| 1198 | - } | |
| 1199 | - } | |
| 1200 | - } | |
| 1201 | - | |
| 1202 | - List<Map<String, Object>> detailsList = new ArrayList<Map<String, Object>>(); | |
| 1203 | - detailsList.addAll(bcDetail); | |
| 1204 | - detailsList.addAll(qqDetail); | |
| 1205 | - detailsList.addAll(gpDetail); | |
| 1210 | + gp.put("type", "挂牌线路发车准点详情"); | |
| 1211 | + gp.put("lineName", t.get("lineName").toString()); | |
| 1212 | + gp.put("jh", t.get("jhszfcs").toString()); | |
| 1213 | + gp.put("sj", t.get("sjszfczds").toString()); | |
| 1214 | + gpDetail.add(gp); | |
| 1215 | + } | |
| 1216 | + } | |
| 1217 | + } | |
| 1206 | 1218 | |
| 1207 | - resMap.put("ccl", jhcc>0?new BigDecimal(sjcc).divide(new BigDecimal(jhcc), | |
| 1219 | + Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | |
| 1220 | + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date); | |
| 1221 | + for(ScheduleRealInfo s : findAll){ | |
| 1222 | + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | |
| 1223 | + if(!isInOut(s) && !s.isCcService() && s.getStatus() != -1 && s.getStatus() != 0){ | |
| 1224 | + String xlName = s.getXlName(); | |
| 1225 | + if(!(keyMap.containsKey(xlName))){ | |
| 1226 | + Map<String, Object> qk = new HashMap<String, Object>(); | |
| 1227 | + qk.put("type", "线路签卡详情"); | |
| 1228 | + qk.put("lineName", xlName); | |
| 1229 | + qk.put("jh", 0); | |
| 1230 | + qk.put("sj", 0); | |
| 1231 | + keyMap.put(xlName, qk); | |
| 1232 | + qkDetail.add(qk); | |
| 1233 | + } | |
| 1234 | + Map<String, Object> qk = keyMap.get(xlName); | |
| 1235 | + qk.put("jh", Long.valueOf(qk.get("jh").toString()) + 1); | |
| 1236 | + ++bcs_qk; | |
| 1237 | + String sty = decimalToBinary(s.getRfidState()); | |
| 1238 | + Integer state = Integer.parseInt(sty); | |
| 1239 | + if ((state & 4) == 4) { | |
| 1240 | + qk.put("sj", Long.valueOf(qk.get("sj").toString()) + 1); | |
| 1241 | + ++qks; | |
| 1242 | + } | |
| 1243 | + } | |
| 1244 | + } | |
| 1245 | + } | |
| 1246 | + | |
| 1247 | + List<Map<String, Object>> detailsList = new ArrayList<Map<String, Object>>(); | |
| 1248 | + detailsList.addAll(ccDetail); | |
| 1249 | + detailsList.addAll(bcDetail); | |
| 1250 | + detailsList.addAll(smDetail); | |
| 1251 | + detailsList.addAll(qqDetail); | |
| 1252 | + detailsList.addAll(gpDetail); | |
| 1253 | + detailsList.addAll(qkDetail); | |
| 1254 | + | |
| 1255 | + resMap.put("ccl", jhcc>0?new BigDecimal(sjcc).divide(new BigDecimal(jhcc), | |
| 1208 | 1256 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1209 | - resMap.put("bczxl", jhbc>0?new BigDecimal(sjbc).divide(new BigDecimal(jhbc), | |
| 1257 | + resMap.put("bczxl", jhbc>0?new BigDecimal(sjbc).divide(new BigDecimal(jhbc), | |
| 1210 | 1258 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1211 | - resMap.put("smbzdl", jhsmbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc), | |
| 1259 | + resMap.put("smbzdl", jhsmbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc), | |
| 1212 | 1260 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1213 | - resMap.put("qqzzdl", jhqqbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc), | |
| 1261 | + resMap.put("qqzzdl", jhqqbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc), | |
| 1214 | 1262 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1215 | - resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc), | |
| 1263 | + resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc), | |
| 1216 | 1264 | 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); |
| 1217 | - | |
| 1218 | - resMap.put("detailsList", detailsList); | |
| 1219 | - | |
| 1220 | - return JSON.parseObject(JSON.toJSONString(resMap)); | |
| 1221 | - } | |
| 1265 | + resMap.put("qkl", bcs_qk>0?new BigDecimal(qks).divide(new BigDecimal(bcs_qk), | |
| 1266 | + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); | |
| 1267 | + | |
| 1268 | + resMap.put("detailsList", detailsList); | |
| 1269 | + | |
| 1270 | + return JSON.parseObject(JSON.toJSONString(resMap)); | |
| 1271 | + } | |
| 1222 | 1272 | |
| 1223 | 1273 | /**给电科手机端查线路指标(出车率) |
| 1224 | 1274 | * |
| ... | ... | @@ -3693,9 +3743,9 @@ public class BigscreenService { |
| 3693 | 3743 | return resMap; |
| 3694 | 3744 | } |
| 3695 | 3745 | |
| 3696 | - public static void main(String[] args){ | |
| 3697 | - | |
| 3698 | - } | |
| 3746 | +// public static void main(String[] args){ | |
| 3747 | +// | |
| 3748 | +// } | |
| 3699 | 3749 | |
| 3700 | 3750 | public List<Map<String, Object>> createMap(String type, String[] dates){ |
| 3701 | 3751 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | ... | ... |