Commit eb82d022d9d0b20eb33652f87625c59393b29093

Authored by 娄高锋
1 parent 66d75254

签卡率计算方法调整:取执行中与已完成的班次(除烂班)数做分母,其中正常签卡数做分子

src/main/java/com/bsth/entity/ScheduleRealInfo.java
@@ -181,6 +181,16 @@ public class ScheduleRealInfo implements Serializable{ @@ -181,6 +181,16 @@ public class ScheduleRealInfo implements Serializable{
181 private boolean ccService; 181 private boolean ccService;
182 private Integer lpChange; 182 private Integer lpChange;
183 183
  184 + /**
  185 + * rfid状态
  186 + */
  187 + private int rfidState;
  188 +
  189 + /**
  190 + * 起点站rfid状态
  191 + */
  192 + private int firstRfidState;
  193 +
184 @Override 194 @Override
185 public int hashCode() { 195 public int hashCode() {
186 return (this.id + this.scheduleDateStr + this.xlBm + this.fcsj).hashCode(); 196 return (this.id + this.scheduleDateStr + this.xlBm + this.fcsj).hashCode();
@@ -631,6 +641,22 @@ public class ScheduleRealInfo implements Serializable{ @@ -631,6 +641,22 @@ public class ScheduleRealInfo implements Serializable{
631 this.jhlcOrig = jhlcOrig; 641 this.jhlcOrig = jhlcOrig;
632 } 642 }
633 643
  644 + public int getRfidState() {
  645 + return rfidState;
  646 + }
  647 +
  648 + public void setRfidState(int rfidState) {
  649 + this.rfidState = rfidState;
  650 + }
  651 +
  652 + public int getFirstRfidState() {
  653 + return firstRfidState;
  654 + }
  655 +
  656 + public void setFirstRfidState(int firstRfidState) {
  657 + this.firstRfidState = firstRfidState;
  658 + }
  659 +
634 @Transient 660 @Transient
635 private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm"); 661 private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");
636 /** 662 /**
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
@@ -257,26 +257,6 @@ public class BigscreenService { @@ -257,26 +257,6 @@ public class BigscreenService {
257 } 257 }
258 258
259 259
260 - String cardSignSql="select xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs"  
261 - + " from card_signing "  
262 - + " where schedule_date_str >= '"+date2+"' and schedule_date_str <= '"+date+"'";  
263 - List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql,  
264 - new RowMapper<Map<String, Object>>(){  
265 - @Override  
266 - public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {  
267 - Map<String, Object> m=new HashMap<String,Object>();  
268 - m.put("lineCode",rs.getString("xl_bm"));  
269 - m.put("lineName", rs.getString("xl_name"));  
270 - m.put("date", rs.getString("schedule_date_str"));  
271 - m.put("bcs", rs.getString("bcs"));  
272 - m.put("qks", rs.getString("qks"));  
273 - m.put("rkgzs", rs.getString("rkgzs"));  
274 - m.put("ckgzs", rs.getString("ckgzs"));  
275 - return m;  
276 - }  
277 - });  
278 -  
279 -  
280 String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," 260 String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz,"
281 + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," 261 + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz,"
282 + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," 262 + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz,"
@@ -368,8 +348,6 @@ public class BigscreenService { @@ -368,8 +348,6 @@ public class BigscreenService {
368 sjsmbc += Long.valueOf(t.get("sjsmbczds").toString()); 348 sjsmbc += Long.valueOf(t.get("sjsmbczds").toString());
369 jhqqbc += Long.valueOf(t.get("jhszfcs").toString()); 349 jhqqbc += Long.valueOf(t.get("jhszfcs").toString());
370 sjqqzd += Long.valueOf(t.get("sjszfczds").toString()); 350 sjqqzd += Long.valueOf(t.get("sjszfczds").toString());
371 -// bcs_qk += Long.valueOf(t.get("jhbc").toString());  
372 - bcs_qk += Long.valueOf(t.get("sjbc").toString());  
373 if(gpSet.contains(t.get("lineCode").toString())){ 351 if(gpSet.contains(t.get("lineCode").toString())){
374 jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString()); 352 jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString());
375 sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString()); 353 sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString());
@@ -411,7 +389,6 @@ public class BigscreenService { @@ -411,7 +389,6 @@ public class BigscreenService {
411 Map<String, Object> smMap = smList.get(datesMap.get(d)); 389 Map<String, Object> smMap = smList.get(datesMap.get(d));
412 Map<String, Object> qqMap = qqList.get(datesMap.get(d)); 390 Map<String, Object> qqMap = qqList.get(datesMap.get(d));
413 Map<String, Object> gpMap = gpList.get(datesMap.get(d)); 391 Map<String, Object> gpMap = gpList.get(datesMap.get(d));
414 - Map<String, Object> qkMap = qkList.get(datesMap.get(d));  
415 392
416 ccMap.put("jh", Long.valueOf(ccMap.get("jh").toString()) + Long.valueOf(t.get("jhccz").toString())); 393 ccMap.put("jh", Long.valueOf(ccMap.get("jh").toString()) + Long.valueOf(t.get("jhccz").toString()));
417 ccMap.put("sj", Long.valueOf(ccMap.get("sj").toString()) + Long.valueOf(t.get("sjcc").toString())); 394 ccMap.put("sj", Long.valueOf(ccMap.get("sj").toString()) + Long.valueOf(t.get("sjcc").toString()));
@@ -421,8 +398,6 @@ public class BigscreenService { @@ -421,8 +398,6 @@ public class BigscreenService {
421 smMap.put("sj", Long.valueOf(smMap.get("sj").toString()) + Long.valueOf(t.get("sjsmbczds").toString())); 398 smMap.put("sj", Long.valueOf(smMap.get("sj").toString()) + Long.valueOf(t.get("sjsmbczds").toString()));
422 qqMap.put("jh", Long.valueOf(qqMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString())); 399 qqMap.put("jh", Long.valueOf(qqMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
423 qqMap.put("sj", Long.valueOf(qqMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString())); 400 qqMap.put("sj", Long.valueOf(qqMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
424 -// qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("jhbc").toString()));  
425 - qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("sjbc").toString()));  
426 if(gpSet.contains(t.get("lineCode").toString())){ 401 if(gpSet.contains(t.get("lineCode").toString())){
427 gpMap.put("jh", Long.valueOf(gpMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString())); 402 gpMap.put("jh", Long.valueOf(gpMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
428 gpMap.put("sj", Long.valueOf(gpMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString())); 403 gpMap.put("sj", Long.valueOf(gpMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
@@ -431,19 +406,36 @@ public class BigscreenService { @@ -431,19 +406,36 @@ public class BigscreenService {
431 } 406 }
432 } 407 }
433 408
434 - for(Map<String, Object> t : cardSignList){  
435 - if(yyLine.contains(t.get("lineCode").toString())){  
436 - String d = t.get("date").toString();  
437 - if(date.equals(d)){  
438 -// bcs_qk += Long.valueOf(t.get("bcs").toString());  
439 - qks += Long.valueOf(t.get("qks").toString());  
440 - }  
441 - Map<String, Object> qkMap = qkList.get(datesMap.get(d));  
442 -// qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("bcs").toString()));  
443 - qkMap.put("sj", Long.valueOf(qkMap.get("sj").toString()) + Long.valueOf(t.get("qks").toString())); 409 +
  410 + //计算签卡率
  411 + for(String d : dates){
  412 + if(d!=null && d.trim().length() > 0){
  413 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(d);
  414 + Map<String, Object> qkMap = qkList.get(datesMap.get(d));
  415 + long jh = 0, sj = 0;
  416 + for(ScheduleRealInfo s : findAll){
  417 + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路
  418 + if(!isInOut(s) && !s.isCcService() && s.getStatus() != -1 && s.getStatus() != 0){
  419 + ++jh;
  420 + String sty = decimalToBinary(s.getRfidState());
  421 + Integer state = Integer.parseInt(sty);
  422 + if ((state & 4) == 4) {
  423 + ++sj;
  424 + }
  425 + }
  426 + }
  427 + }
  428 + qkMap.put("jh", jh);
  429 + qkMap.put("sj", sj);
  430 +
  431 + if(date.equals(d)){
  432 + bcs_qk = jh;
  433 + qks = sj;
  434 + }
444 } 435 }
445 } 436 }
446 437
  438 +
447 List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>(); 439 List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>();
448 zxlList.addAll(ccList); 440 zxlList.addAll(ccList);
449 zxlList.addAll(bcList); 441 zxlList.addAll(bcList);
@@ -696,27 +688,6 @@ public class BigscreenService { @@ -696,27 +688,6 @@ public class BigscreenService {
696 } 688 }
697 689
698 690
699 - String cardSignSql="select xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs"  
700 - + " from card_signing "  
701 - + " where schedule_date_str >= '"+date2+"' and schedule_date_str <= '"+date+"'"  
702 - + " and gs_bm = '"+gsdm+"'";  
703 - List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql,  
704 - new RowMapper<Map<String, Object>>(){  
705 - @Override  
706 - public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {  
707 - Map<String, Object> m=new HashMap<String,Object>();  
708 - m.put("lineCode",rs.getString("xl_bm"));  
709 - m.put("lineName", rs.getString("xl_name"));  
710 - m.put("date", rs.getString("schedule_date_str"));  
711 - m.put("bcs", rs.getString("bcs"));  
712 - m.put("qks", rs.getString("qks"));  
713 - m.put("rkgzs", rs.getString("rkgzs"));  
714 - m.put("ckgzs", rs.getString("ckgzs"));  
715 - return m;  
716 - }  
717 - });  
718 -  
719 -  
720 String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz," 691 String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz,"
721 + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz," 692 + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz,"
722 + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz," 693 + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz,"
@@ -808,8 +779,6 @@ public class BigscreenService { @@ -808,8 +779,6 @@ public class BigscreenService {
808 sjsmbc += Long.valueOf(t.get("sjsmbczds").toString()); 779 sjsmbc += Long.valueOf(t.get("sjsmbczds").toString());
809 jhqqbc += Long.valueOf(t.get("jhszfcs").toString()); 780 jhqqbc += Long.valueOf(t.get("jhszfcs").toString());
810 sjqqzd += Long.valueOf(t.get("sjszfczds").toString()); 781 sjqqzd += Long.valueOf(t.get("sjszfczds").toString());
811 -// bcs_qk += Long.valueOf(t.get("jhbc").toString());  
812 - bcs_qk += Long.valueOf(t.get("sjbc").toString());  
813 if(gpSet.contains(t.get("lineCode").toString())){ 782 if(gpSet.contains(t.get("lineCode").toString())){
814 jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString()); 783 jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString());
815 sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString()); 784 sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString());
@@ -851,7 +820,6 @@ public class BigscreenService { @@ -851,7 +820,6 @@ public class BigscreenService {
851 Map<String, Object> smMap = smList.get(datesMap.get(d)); 820 Map<String, Object> smMap = smList.get(datesMap.get(d));
852 Map<String, Object> qqMap = qqList.get(datesMap.get(d)); 821 Map<String, Object> qqMap = qqList.get(datesMap.get(d));
853 Map<String, Object> gpMap = gpList.get(datesMap.get(d)); 822 Map<String, Object> gpMap = gpList.get(datesMap.get(d));
854 - Map<String, Object> qkMap = qkList.get(datesMap.get(d));  
855 823
856 ccMap.put("jh", Long.valueOf(ccMap.get("jh").toString()) + Long.valueOf(t.get("jhccz").toString())); 824 ccMap.put("jh", Long.valueOf(ccMap.get("jh").toString()) + Long.valueOf(t.get("jhccz").toString()));
857 ccMap.put("sj", Long.valueOf(ccMap.get("sj").toString()) + Long.valueOf(t.get("sjcc").toString())); 825 ccMap.put("sj", Long.valueOf(ccMap.get("sj").toString()) + Long.valueOf(t.get("sjcc").toString()));
@@ -861,8 +829,6 @@ public class BigscreenService { @@ -861,8 +829,6 @@ public class BigscreenService {
861 smMap.put("sj", Long.valueOf(smMap.get("sj").toString()) + Long.valueOf(t.get("sjsmbczds").toString())); 829 smMap.put("sj", Long.valueOf(smMap.get("sj").toString()) + Long.valueOf(t.get("sjsmbczds").toString()));
862 qqMap.put("jh", Long.valueOf(qqMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString())); 830 qqMap.put("jh", Long.valueOf(qqMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
863 qqMap.put("sj", Long.valueOf(qqMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString())); 831 qqMap.put("sj", Long.valueOf(qqMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
864 -// qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("jhbc").toString()));  
865 - qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("sjbc").toString()));  
866 if(gpSet.contains(t.get("lineCode").toString())){ 832 if(gpSet.contains(t.get("lineCode").toString())){
867 gpMap.put("jh", Long.valueOf(gpMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString())); 833 gpMap.put("jh", Long.valueOf(gpMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
868 gpMap.put("sj", Long.valueOf(gpMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString())); 834 gpMap.put("sj", Long.valueOf(gpMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
@@ -871,19 +837,38 @@ public class BigscreenService { @@ -871,19 +837,38 @@ public class BigscreenService {
871 } 837 }
872 } 838 }
873 839
874 - for(Map<String, Object> t : cardSignList){  
875 - if(yyLine.contains(t.get("lineCode").toString())){  
876 - String d = t.get("date").toString();  
877 - if(date.equals(d)){  
878 -// bcs_qk += Long.valueOf(t.get("bcs").toString());  
879 - qks += Long.valueOf(t.get("qks").toString());  
880 - }  
881 - Map<String, Object> qkMap = qkList.get(datesMap.get(d));  
882 -// qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("bcs").toString()));  
883 - qkMap.put("sj", Long.valueOf(qkMap.get("sj").toString()) + Long.valueOf(t.get("qks").toString())); 840 +
  841 + //计算签卡率
  842 + for(String d : dates){
  843 + if(d!=null && d.trim().length() > 0){
  844 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(d);
  845 + Map<String, Object> qkMap = qkList.get(datesMap.get(d));
  846 + long jh = 0, sj = 0;
  847 + for(ScheduleRealInfo s : findAll){
  848 + if(s.getGsBm() != null && s.getGsBm().trim().equals(gsdm)){
  849 + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路
  850 + if(!isInOut(s) && !s.isCcService() && s.getStatus() != -1 && s.getStatus() != 0){
  851 + ++jh;
  852 + String sty = decimalToBinary(s.getRfidState());
  853 + Integer state = Integer.parseInt(sty);
  854 + if ((state & 4) == 4) {
  855 + ++sj;
  856 + }
  857 + }
  858 + }
  859 + }
  860 + }
  861 + qkMap.put("jh", jh);
  862 + qkMap.put("sj", sj);
  863 +
  864 + if(date.equals(d)){
  865 + bcs_qk = jh;
  866 + qks = sj;
  867 + }
884 } 868 }
885 } 869 }
886 870
  871 +
887 List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>(); 872 List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>();
888 zxlList.addAll(ccList); 873 zxlList.addAll(ccList);
889 zxlList.addAll(bcList); 874 zxlList.addAll(bcList);
@@ -2111,27 +2096,6 @@ public class BigscreenService { @@ -2111,27 +2096,6 @@ public class BigscreenService {
2111 }); 2096 });
2112 2097
2113 2098
2114 - String cardSignSql="select gs_bm,xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs"  
2115 - + " from card_signing "  
2116 - + " where schedule_date_str = '"+date+"'";  
2117 - List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql,  
2118 - new RowMapper<Map<String, Object>>(){  
2119 - @Override  
2120 - public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {  
2121 - Map<String, Object> m=new HashMap<String,Object>();  
2122 - m.put("gs",rs.getString("gs_bm")!=null?gsMap.get(rs.getString("gs_bm")):"");  
2123 - m.put("lineCode",rs.getString("xl_bm"));  
2124 - m.put("lineName", rs.getString("xl_name"));  
2125 - m.put("date", rs.getString("schedule_date_str"));  
2126 - m.put("bcs", rs.getString("bcs"));  
2127 - m.put("qks", rs.getString("qks"));  
2128 - m.put("rkgzs", rs.getString("rkgzs"));  
2129 - m.put("ckgzs", rs.getString("ckgzs"));  
2130 - return m;  
2131 - }  
2132 - });  
2133 -  
2134 -  
2135 Map<String, Integer> sortMap = new HashMap<String, Integer>(); 2099 Map<String, Integer> sortMap = new HashMap<String, Integer>();
2136 sortMap.put("杨高", 0); 2100 sortMap.put("杨高", 0);
2137 sortMap.put("上南", 1); 2101 sortMap.put("上南", 1);
@@ -2167,8 +2131,6 @@ public class BigscreenService { @@ -2167,8 +2131,6 @@ public class BigscreenService {
2167 mapPut(m, "sjsmbc", t.get("sjsmbczds").toString()); 2131 mapPut(m, "sjsmbc", t.get("sjsmbczds").toString());
2168 mapPut(m, "jhqqbc", t.get("jhszfcs").toString()); 2132 mapPut(m, "jhqqbc", t.get("jhszfcs").toString());
2169 mapPut(m, "sjqqzd", t.get("sjszfczds").toString()); 2133 mapPut(m, "sjqqzd", t.get("sjszfczds").toString());
2170 -// mapPut(m, "bcs", t.get("jhbc").toString());  
2171 - mapPut(m, "bcs", t.get("sjbc").toString());  
2172 if(gpSet.contains(t.get("lineCode").toString())){ 2134 if(gpSet.contains(t.get("lineCode").toString())){
2173 mapPut(m, "jhgpqqbc", t.get("jhszfcs").toString()); 2135 mapPut(m, "jhgpqqbc", t.get("jhszfcs").toString());
2174 mapPut(m, "sjgpqqzd", t.get("sjszfczds").toString()); 2136 mapPut(m, "sjgpqqzd", t.get("sjszfczds").toString());
@@ -2185,8 +2147,6 @@ public class BigscreenService { @@ -2185,8 +2147,6 @@ public class BigscreenService {
2185 mapPut(pjMap, "sjsmbc", t.get("sjsmbczds").toString()); 2147 mapPut(pjMap, "sjsmbc", t.get("sjsmbczds").toString());
2186 mapPut(pjMap, "jhqqbc", t.get("jhszfcs").toString()); 2148 mapPut(pjMap, "jhqqbc", t.get("jhszfcs").toString());
2187 mapPut(pjMap, "sjqqzd", t.get("sjszfczds").toString()); 2149 mapPut(pjMap, "sjqqzd", t.get("sjszfczds").toString());
2188 -// mapPut(pjMap, "bcs", t.get("jhbc").toString());  
2189 - mapPut(pjMap, "bcs", t.get("sjbc").toString());  
2190 if(gpSet.contains(t.get("lineCode").toString())){ 2150 if(gpSet.contains(t.get("lineCode").toString())){
2191 mapPut(pjMap, "jhgpqqbc", t.get("jhszfcs").toString()); 2151 mapPut(pjMap, "jhgpqqbc", t.get("jhszfcs").toString());
2192 mapPut(pjMap, "sjgpqqzd", t.get("sjszfczds").toString()); 2152 mapPut(pjMap, "sjgpqqzd", t.get("sjszfczds").toString());
@@ -2196,23 +2156,31 @@ public class BigscreenService { @@ -2196,23 +2156,31 @@ public class BigscreenService {
2196 } 2156 }
2197 } 2157 }
2198 2158
2199 - for(Map<String, Object> t : cardSignList){  
2200 - if(yyLine.contains(t.get("lineCode").toString())){  
2201 - if(sortMap.get(t.get("gs")) != null){  
2202 - Map<String, Object> m = resList.get(sortMap.get(t.get("gs")));  
2203 -// mapPut(m, "bcs", t.get("bcs").toString());  
2204 - mapPut(m, "qks", t.get("qks").toString());  
2205 -// mapPut(m, "rkgzs", t.get("rkgzs").toString());  
2206 -// mapPut(m, "ckgzs", t.get("ckgzs").toString());  
2207 - }  
2208 -  
2209 -// mapPut(pjMap, "bcs", t.get("bcs").toString());  
2210 - mapPut(pjMap, "qks", t.get("qks").toString());  
2211 -// mapPut(pjMap, "rkgzs", t.get("rkgzs").toString());  
2212 -// mapPut(pjMap, "ckgzs", t.get("ckgzs").toString());  
2213 - }  
2214 - }  
2215 2159
  2160 + //计算签卡率
  2161 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date);
  2162 + long jh = 0, sj = 0;
  2163 + for(ScheduleRealInfo s : findAll){
  2164 + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路
  2165 + if(!isInOut(s) && !s.isCcService() && s.getStatus() != -1 && s.getStatus() != 0){
  2166 + if(s.getGsBm()!=null && sortMap.get(gsMap.get(s.getGsBm())!=null?s.getGsBm():"") != null){
  2167 + Map<String, Object> m = resList.get(sortMap.get(gsMap.get(s.getGsBm())));
  2168 + ++jh;
  2169 + mapPut(m, "bcs", 1);
  2170 + String sty = decimalToBinary(s.getRfidState());
  2171 + Integer state = Integer.parseInt(sty);
  2172 + if ((state & 4) == 4) {
  2173 + ++sj;
  2174 + mapPut(m, "qks", 1);
  2175 + }
  2176 + }
  2177 + }
  2178 + }
  2179 + }
  2180 + mapPut(pjMap, "bcs", jh);
  2181 + mapPut(pjMap, "qks", sj);
  2182 +
  2183 +
2216 for(Map<String, Object> m : resList){ 2184 for(Map<String, Object> m : resList){
2217 m.put("date", date); 2185 m.put("date", date);
2218 2186
@@ -2814,7 +2782,7 @@ public class BigscreenService { @@ -2814,7 +2782,7 @@ public class BigscreenService {
2814 } 2782 }
2815 2783
2816 for(ScheduleRealInfo s : list_s){ 2784 for(ScheduleRealInfo s : list_s){
2817 - if(!(isInOut(s)) && !s.isCcService()){ 2785 + if(!isInOut(s) && !s.isCcService()){
2818 String[] split = s.getFcsj().split(":"); 2786 String[] split = s.getFcsj().split(":");
2819 Long time = Long.valueOf(split[0]) * 60 + Long.valueOf(split[1]); 2787 Long time = Long.valueOf(split[0]) * 60 + Long.valueOf(split[1]);
2820 String minfcsj = minfcsjMap.get(s.getXlBm())!=null?minfcsjMap.get(s.getXlBm()).toString():"02:00"; 2788 String minfcsj = minfcsjMap.get(s.getXlBm())!=null?minfcsjMap.get(s.getXlBm()).toString():"02:00";
@@ -2836,6 +2804,8 @@ public class BigscreenService { @@ -2836,6 +2804,8 @@ public class BigscreenService {
2836 } 2804 }
2837 } 2805 }
2838 2806
  2807 + List<ScheduleRealInfo> notYetList = new ArrayList<ScheduleRealInfo>();
  2808 +
2839 long sum = scheduleMap.keySet().size(), zwd = 0;//早未到数 2809 long sum = scheduleMap.keySet().size(), zwd = 0;//早未到数
2840 long yg_z = 0, sn_z = 0, jg_z = 0, nh_z = 0; 2810 long yg_z = 0, sn_z = 0, jg_z = 0, nh_z = 0;
2841 long yg_zwd = 0, sn_zwd = 0, jg_zwd = 0, nh_zwd = 0; 2811 long yg_zwd = 0, sn_zwd = 0, jg_zwd = 0, nh_zwd = 0;
@@ -2867,6 +2837,7 @@ public class BigscreenService { @@ -2867,6 +2837,7 @@ public class BigscreenService {
2867 } else if("26".equals(s.getGsBm())){ 2837 } else if("26".equals(s.getGsBm())){
2868 nh_zwd += 1; 2838 nh_zwd += 1;
2869 } 2839 }
  2840 + notYetList.add(s);
2870 } 2841 }
2871 } 2842 }
2872 } 2843 }
@@ -2881,15 +2852,12 @@ public class BigscreenService { @@ -2881,15 +2852,12 @@ public class BigscreenService {
2881 resMap.put("notYet_22", jg_zwd); 2852 resMap.put("notYet_22", jg_zwd);
2882 resMap.put("sum_26", nh_z); 2853 resMap.put("sum_26", nh_z);
2883 resMap.put("notYet_26", nh_zwd); 2854 resMap.put("notYet_26", nh_zwd);
  2855 + resMap.put("notYetList", notYetList);
2884 return resMap; 2856 return resMap;
2885 } 2857 }
2886 2858
2887 public static void main(String[] args){ 2859 public static void main(String[] args){
2888 - double a = 0.10;  
2889 - double b = 0.0;  
2890 - BigDecimal a1 = new BigDecimal(a);  
2891 - BigDecimal b1 = new BigDecimal(b);  
2892 - System.out.println(a1.compareTo(b1)); 2860 +
2893 } 2861 }
2894 2862
2895 public List<Map<String, Object>> createMap(String type, String[] dates){ 2863 public List<Map<String, Object>> createMap(String type, String[] dates){
@@ -3158,5 +3126,17 @@ public class BigscreenService { @@ -3158,5 +3126,17 @@ public class BigscreenService {
3158 return o1.getFcsjActualTime().compareTo(o2.getFcsjActualTime()); 3126 return o1.getFcsjActualTime().compareTo(o2.getFcsjActualTime());
3159 } 3127 }
3160 } 3128 }
  3129 +
  3130 + public static String decimalToBinary(int n) {
  3131 + String str = "";
  3132 + if(n == 0){
  3133 + return str = "0";
  3134 + }
  3135 + while (n != 0) {
  3136 + str = n % 2 + str;
  3137 + n = n / 2;
  3138 + }
  3139 + return str;
  3140 + }
3161 3141
3162 } 3142 }