Commit 885583f27a2c2c70850e8e3fda6f8a078ef51816
1 parent
83c27b51
百公里能耗接口计算规则更新,根据车辆类型分别计算三种能源车的加注量与公里数,当天无加注的车辆里程也要计算。
Showing
1 changed file
with
57 additions
and
12 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| @@ -3601,39 +3601,75 @@ public class BigscreenService { | @@ -3601,39 +3601,75 @@ public class BigscreenService { | ||
| 3601 | String date1 = dateFormat.format(m1); | 3601 | String date1 = dateFormat.format(m1); |
| 3602 | String date2 = dateFormat.format(m2); | 3602 | String date2 = dateFormat.format(m2); |
| 3603 | 3603 | ||
| 3604 | - String ylbSql="SELECT yh, zlc from bsth_c_ylb where rq >= ? and rq <= ? " | ||
| 3605 | - + " and yh is not null and yh > 0 and zlc is not null and zlc > 0 "; | 3604 | + String carSql="SELECT inside_code, sfdc, sfmix, hydrogen from bsth_c_cars "; |
| 3605 | + List<Map<String, Object>> carList=jdbcTemplate.query(carSql, | ||
| 3606 | + new RowMapper<Map<String, Object>>(){ | ||
| 3607 | + @Override | ||
| 3608 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 3609 | + Map<String, Object> m=new HashMap<String,Object>(); | ||
| 3610 | + m.put("nbbm", rs.getString("inside_code")!=null?rs.getString("inside_code"):""); | ||
| 3611 | + m.put("sfdc", rs.getString("sfdc")!=null?rs.getString("sfdc"):0); | ||
| 3612 | + m.put("sfmix", rs.getString("sfmix")!=null?rs.getString("sfmix"):0); | ||
| 3613 | + m.put("hydrogen", rs.getString("hydrogen")!=null?rs.getString("hydrogen"):0); | ||
| 3614 | + return m; | ||
| 3615 | + } | ||
| 3616 | + }); | ||
| 3617 | + Set<String> oilCar = new HashSet<String>(); | ||
| 3618 | + Set<String> electricCar = new HashSet<String>(); | ||
| 3619 | + Set<String> hydrogenCar = new HashSet<String>(); | ||
| 3620 | + for(Map<String, Object> m : carList){ | ||
| 3621 | + String nbbm = m.get("nbbm").toString(); | ||
| 3622 | + String sfdc = m.get("sfdc").toString(); | ||
| 3623 | + String sfmix = m.get("sfmix").toString(); | ||
| 3624 | + String hydrogen = m.get("hydrogen").toString(); | ||
| 3625 | + if("1".equals(hydrogen)){ | ||
| 3626 | + hydrogenCar.add(nbbm); | ||
| 3627 | + if("1".equals(sfmix) || "1".equals(sfdc)){ | ||
| 3628 | + electricCar.add(nbbm); | ||
| 3629 | + } | ||
| 3630 | + } else if("1".equals(sfdc)){ | ||
| 3631 | + electricCar.add(nbbm); | ||
| 3632 | + if("1".equals(sfmix)){ | ||
| 3633 | + oilCar.add(nbbm); | ||
| 3634 | + } | ||
| 3635 | + } else { | ||
| 3636 | + oilCar.add(nbbm); | ||
| 3637 | + } | ||
| 3638 | + } | ||
| 3639 | + | ||
| 3640 | + String ylbSql="SELECT nbbm, IFNULL(yh, 0) yh, IFNULL(zlc, 0) zlc from bsth_c_ylb where rq >= ? and rq <= ? "; | ||
| 3606 | List<Map<String, Object>> ylbList=jdbcTemplate.query(ylbSql, new Object[]{date1, date2}, | 3641 | List<Map<String, Object>> ylbList=jdbcTemplate.query(ylbSql, new Object[]{date1, date2}, |
| 3607 | new RowMapper<Map<String, Object>>(){ | 3642 | new RowMapper<Map<String, Object>>(){ |
| 3608 | @Override | 3643 | @Override |
| 3609 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 3644 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 3610 | Map<String, Object> m=new HashMap<String,Object>(); | 3645 | Map<String, Object> m=new HashMap<String,Object>(); |
| 3646 | + m.put("nbbm", rs.getString("nbbm")); | ||
| 3611 | m.put("yh", rs.getString("yh")); | 3647 | m.put("yh", rs.getString("yh")); |
| 3612 | m.put("zlc", rs.getString("zlc")); | 3648 | m.put("zlc", rs.getString("zlc")); |
| 3613 | return m; | 3649 | return m; |
| 3614 | } | 3650 | } |
| 3615 | }); | 3651 | }); |
| 3616 | 3652 | ||
| 3617 | - String dlbSql="SELECT hd, zlc from bsth_c_dlb where rq >= ? and rq <= ? " | ||
| 3618 | - + " and hd is not null and hd > 0 and zlc is not null and zlc > 0 "; | 3653 | + String dlbSql="SELECT nbbm, IFNULL(hd, 0) hd, IFNULL(zlc, 0) zlc from bsth_c_dlb where rq >= ? and rq <= ? "; |
| 3619 | List<Map<String, Object>> dlbList=jdbcTemplate.query(dlbSql, new Object[]{date1, date2}, | 3654 | List<Map<String, Object>> dlbList=jdbcTemplate.query(dlbSql, new Object[]{date1, date2}, |
| 3620 | new RowMapper<Map<String, Object>>(){ | 3655 | new RowMapper<Map<String, Object>>(){ |
| 3621 | @Override | 3656 | @Override |
| 3622 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 3657 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 3623 | Map<String, Object> m=new HashMap<String,Object>(); | 3658 | Map<String, Object> m=new HashMap<String,Object>(); |
| 3659 | + m.put("nbbm", rs.getString("nbbm")); | ||
| 3624 | m.put("hd", rs.getString("hd")); | 3660 | m.put("hd", rs.getString("hd")); |
| 3625 | m.put("zlc", rs.getString("zlc")); | 3661 | m.put("zlc", rs.getString("zlc")); |
| 3626 | return m; | 3662 | return m; |
| 3627 | } | 3663 | } |
| 3628 | }); | 3664 | }); |
| 3629 | 3665 | ||
| 3630 | - String qlbSql="SELECT hn, zlc from bsth_c_qlb where rq >= ? and rq <= ? " | ||
| 3631 | - + " and hn is not null and hn > 0 and zlc is not null and zlc > 0 "; | 3666 | + String qlbSql="SELECT nbbm, IFNULL(hn, 0) hn, IFNULL(zlc, 0) zlc from bsth_c_qlb where rq >= ? and rq <= ? "; |
| 3632 | List<Map<String, Object>> qlbList=jdbcTemplate.query(qlbSql, new Object[]{date1, date2}, | 3667 | List<Map<String, Object>> qlbList=jdbcTemplate.query(qlbSql, new Object[]{date1, date2}, |
| 3633 | new RowMapper<Map<String, Object>>(){ | 3668 | new RowMapper<Map<String, Object>>(){ |
| 3634 | @Override | 3669 | @Override |
| 3635 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 3670 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 3636 | Map<String, Object> m=new HashMap<String,Object>(); | 3671 | Map<String, Object> m=new HashMap<String,Object>(); |
| 3672 | + m.put("nbbm", rs.getString("nbbm")); | ||
| 3637 | m.put("hn", rs.getString("hn")); | 3673 | m.put("hn", rs.getString("hn")); |
| 3638 | m.put("zlc", rs.getString("zlc")); | 3674 | m.put("zlc", rs.getString("zlc")); |
| 3639 | return m; | 3675 | return m; |
| @@ -3683,18 +3719,27 @@ public class BigscreenService { | @@ -3683,18 +3719,27 @@ public class BigscreenService { | ||
| 3683 | hd = new BigDecimal(0), hd_zlc = new BigDecimal(0), | 3719 | hd = new BigDecimal(0), hd_zlc = new BigDecimal(0), |
| 3684 | hn = new BigDecimal(0), hn_zlc = new BigDecimal(0); | 3720 | hn = new BigDecimal(0), hn_zlc = new BigDecimal(0); |
| 3685 | for(Map<String, Object> m : ylbList){ | 3721 | for(Map<String, Object> m : ylbList){ |
| 3686 | - yh = yh.add(new BigDecimal(m.get("yh").toString())); | ||
| 3687 | - yh_zlc = yh_zlc.add(new BigDecimal(m.get("zlc").toString())); | 3722 | + String nbbm = m.get("nbbm").toString(); |
| 3723 | + if(oilCar.contains(nbbm)){ | ||
| 3724 | + yh = yh.add(new BigDecimal(m.get("yh").toString())); | ||
| 3725 | + yh_zlc = yh_zlc.add(new BigDecimal(m.get("zlc").toString())); | ||
| 3726 | + } | ||
| 3688 | } | 3727 | } |
| 3689 | 3728 | ||
| 3690 | for(Map<String, Object> m : dlbList){ | 3729 | for(Map<String, Object> m : dlbList){ |
| 3691 | - hd = hd.add(new BigDecimal(m.get("hd").toString())); | ||
| 3692 | - hd_zlc = hd_zlc.add(new BigDecimal(m.get("zlc").toString())); | 3730 | + String nbbm = m.get("nbbm").toString(); |
| 3731 | + if(electricCar.contains(nbbm)){ | ||
| 3732 | + hd = hd.add(new BigDecimal(m.get("hd").toString())); | ||
| 3733 | + hd_zlc = hd_zlc.add(new BigDecimal(m.get("zlc").toString())); | ||
| 3734 | + } | ||
| 3693 | } | 3735 | } |
| 3694 | 3736 | ||
| 3695 | for(Map<String, Object> m : qlbList){ | 3737 | for(Map<String, Object> m : qlbList){ |
| 3696 | - hn = hn.add(new BigDecimal(m.get("hn").toString())); | ||
| 3697 | - hn_zlc = hn_zlc.add(new BigDecimal(m.get("zlc").toString())); | 3738 | + String nbbm = m.get("nbbm").toString(); |
| 3739 | + if(hydrogenCar.contains(nbbm)){ | ||
| 3740 | + hn = hn.add(new BigDecimal(m.get("hn").toString())); | ||
| 3741 | + hn_zlc = hn_zlc.add(new BigDecimal(m.get("zlc").toString())); | ||
| 3742 | + } | ||
| 3698 | } | 3743 | } |
| 3699 | 3744 | ||
| 3700 | BigDecimal yygl = new BigDecimal(0), ksgl = new BigDecimal(0), zgl = new BigDecimal(0); | 3745 | BigDecimal yygl = new BigDecimal(0), ksgl = new BigDecimal(0), zgl = new BigDecimal(0); |