Commit 81229745b7208774580a2b2c33edc8b24c216b94

Authored by 娄高锋
1 parent 9c7c388f

按日期查询指标接口添加签卡率

src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
... ... @@ -1150,11 +1150,12 @@ public class BigscreenService {
1150 1150 List<Map<String, Object>> smDetail = new ArrayList<Map<String,Object>>();
1151 1151 List<Map<String, Object>> qqDetail = new ArrayList<Map<String,Object>>();
1152 1152 List<Map<String, Object>> gpDetail = new ArrayList<Map<String,Object>>();
  1153 + List<Map<String, Object>> qkDetail = new ArrayList<Map<String,Object>>();
1153 1154  
1154 1155 long sjbcs_z = 0l;//实时总班次
1155 1156 BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程
1156 1157 long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0,
1157   - jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0;
  1158 + jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0, bcs_qk = 0, qks = 0;
1158 1159  
1159 1160 for(Map<String, Object> t : list){
1160 1161 if(yyLine.contains(t.get("lineCode").toString())){
... ... @@ -1213,12 +1214,41 @@ public class BigscreenService {
1213 1214 }
1214 1215 }
1215 1216  
  1217 + Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>();
  1218 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date);
  1219 + for(ScheduleRealInfo s : findAll){
  1220 + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路
  1221 + if(!isInOut(s) && !s.isCcService() && s.getStatus() != -1 && s.getStatus() != 0){
  1222 + String xlName = s.getXlName();
  1223 + if(!(keyMap.containsKey(xlName))){
  1224 + Map<String, Object> qk = new HashMap<String, Object>();
  1225 + qk.put("type", "线路签卡详情");
  1226 + qk.put("lineName", xlName);
  1227 + qk.put("jh", 0);
  1228 + qk.put("sj", 0);
  1229 + keyMap.put(xlName, qk);
  1230 + qkDetail.add(qk);
  1231 + }
  1232 + Map<String, Object> qk = keyMap.get(xlName);
  1233 + qk.put("jh", Long.valueOf(qk.get("jh").toString()) + 1);
  1234 + ++bcs_qk;
  1235 + String sty = decimalToBinary(s.getRfidState());
  1236 + Integer state = Integer.parseInt(sty);
  1237 + if ((state & 4) == 4) {
  1238 + qk.put("sj", Long.valueOf(qk.get("sj").toString()) + 1);
  1239 + ++qks;
  1240 + }
  1241 + }
  1242 + }
  1243 + }
  1244 +
1216 1245 List<Map<String, Object>> detailsList = new ArrayList<Map<String, Object>>();
1217 1246 detailsList.addAll(ccDetail);
1218 1247 detailsList.addAll(bcDetail);
1219 1248 detailsList.addAll(smDetail);
1220 1249 detailsList.addAll(qqDetail);
1221 1250 detailsList.addAll(gpDetail);
  1251 + detailsList.addAll(qkDetail);
1222 1252  
1223 1253 resMap.put("ccl", jhcc>0?new BigDecimal(sjcc).divide(new BigDecimal(jhcc),
1224 1254 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
... ... @@ -1230,6 +1260,8 @@ public class BigscreenService {
1230 1260 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
1231 1261 resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc),
1232 1262 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1263 + resMap.put("qkl", bcs_qk>0?new BigDecimal(qks).divide(new BigDecimal(bcs_qk),
  1264 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
1233 1265  
1234 1266 resMap.put("detailsList", detailsList);
1235 1267  
... ...