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,15 +1146,18 @@ public class BigscreenService {
1146 return m; 1146 return m;
1147 } 1147 }
1148 }); 1148 });
1149 - 1149 +
  1150 + List<Map<String, Object>> ccDetail = new ArrayList<Map<String,Object>>();
1150 List<Map<String, Object>> bcDetail = new ArrayList<Map<String,Object>>(); 1151 List<Map<String, Object>> bcDetail = new ArrayList<Map<String,Object>>();
  1152 + List<Map<String, Object>> smDetail = new ArrayList<Map<String,Object>>();
1151 List<Map<String, Object>> qqDetail = new ArrayList<Map<String,Object>>(); 1153 List<Map<String, Object>> qqDetail = new ArrayList<Map<String,Object>>();
1152 List<Map<String, Object>> gpDetail = new ArrayList<Map<String,Object>>(); 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 long sjbcs_z = 0l;//实时总班次 1157 long sjbcs_z = 0l;//实时总班次
1155 BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程 1158 BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程
1156 long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0, 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 for(Map<String, Object> t : list){ 1162 for(Map<String, Object> t : list){
1160 if(yyLine.contains(t.get("lineCode").toString())){ 1163 if(yyLine.contains(t.get("lineCode").toString())){
@@ -1174,6 +1177,13 @@ public class BigscreenService { @@ -1174,6 +1177,13 @@ public class BigscreenService {
1174 sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString()); 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 Map<String, Object> bc = new HashMap<String, Object>(); 1187 Map<String, Object> bc = new HashMap<String, Object>();
1178 bc.put("type", "班次执行详情"); 1188 bc.put("type", "班次执行详情");
1179 bc.put("lineName", t.get("lineName").toString()); 1189 bc.put("lineName", t.get("lineName").toString());
@@ -1181,6 +1191,13 @@ public class BigscreenService { @@ -1181,6 +1191,13 @@ public class BigscreenService {
1181 bc.put("sj", t.get("sjbc").toString()); 1191 bc.put("sj", t.get("sjbc").toString());
1182 bcDetail.add(bc); 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 Map<String, Object> qq = new HashMap<String, Object>(); 1201 Map<String, Object> qq = new HashMap<String, Object>();
1185 qq.put("type", "起讫站发车准点详情"); 1202 qq.put("type", "起讫站发车准点详情");
1186 qq.put("lineName", t.get("lineName").toString()); 1203 qq.put("lineName", t.get("lineName").toString());
@@ -1190,35 +1207,68 @@ public class BigscreenService { @@ -1190,35 +1207,68 @@ public class BigscreenService {
1190 1207
1191 if(gpSet.contains(t.get("lineCode").toString())){ 1208 if(gpSet.contains(t.get("lineCode").toString())){
1192 Map<String, Object> gp = new HashMap<String, Object>(); 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 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); 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 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); 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 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); 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 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); 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 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0"); 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,9 +3743,9 @@ public class BigscreenService {
3693 return resMap; 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 public List<Map<String, Object>> createMap(String type, String[] dates){ 3750 public List<Map<String, Object>> createMap(String type, String[] dates){
3701 List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); 3751 List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();