Commit 32464d6f5d12d8a42b3778c4d4a89fccfcddd0b3

Authored by 娄高锋
1 parent 9b894923

日期查线路指标添加签卡率

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>>();
... ...