Commit d0b66b7f236996b11bfad2fed7400461c672115c

Authored by 娄高锋
1 parent 0f87a7ef

给大屏的线路数、班次、里程汇总接口,添加以直属公司代码查询版

src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
... ... @@ -152,6 +152,9 @@ public class BigscreenService {
152 152 return map;
153 153 }
154 154  
  155 + /**给大屏的线路数、班次、里程汇总接口
  156 + *
  157 + */
155 158 @GET
156 159 @Path("/selectData/getBigScreen")
157 160 public JSONObject getBigScreen(){
... ... @@ -580,6 +583,443 @@ public class BigscreenService {
580 583 return JSON.parseObject(JSON.toJSONString(resMap));
581 584 }
582 585  
  586 + /**给大屏的线路数、班次、里程汇总接口
  587 + * 按直属公司查询
  588 + */
  589 + @GET
  590 + @Path("/selectData/getBigScreen/{gsdm}")
  591 + public JSONObject getBigScreen(@PathParam("gsdm") String gsdm){
  592 + Map<String, Object> resMap = new HashMap<String, Object>();
  593 +
  594 + int day = 8;//天数
  595 +
  596 + Date dd = new Date();
  597 + String date = sd.format(dd); //yyyy-MM-dd 当天
  598 + Date dd2 = new Date();
  599 + dd2.setTime(dd.getTime() - ((long)(day-1))*1000*60*60*24);
  600 + String date2 = sd.format(dd2); //yyyy-MM-dd 7天前(加上当天就是取8天数据)
  601 +
  602 + String[] dates = new String[day];
  603 + Map<String, Integer> datesMap = new HashMap<String, Integer>();
  604 +
  605 + for(int i = 0; i < day; i++){
  606 + Date tempDate = new Date();
  607 + tempDate.setTime(dd2.getTime() + ((long)i)*1000*60*60*24);
  608 + String format = sd.format(tempDate);
  609 + dates[i] = format;
  610 + datesMap.put(format, i);
  611 + }
  612 +
  613 + String gpLineSql = "select * from bsth_c_line_plate";
  614 + List<Map<String, Object>> gpLineList=jdbcTemplate.query(gpLineSql,
  615 + new RowMapper<Map<String, Object>>(){
  616 + @Override
  617 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  618 + Map<String, Object> m=new HashMap<String,Object>();
  619 + m.put("lineName", rs.getString("line_name"));
  620 + m.put("lineCode", rs.getString("line_code"));
  621 + return m;
  622 + }
  623 + });
  624 +
  625 + Set<String> gpSet = new HashSet<String>();
  626 + for(Map<String, Object> t : gpLineList){
  627 + if(t.get("lineCode") != null && t.get("lineCode").toString().trim().length() > 0){
  628 + gpSet.add(t.get("lineCode").toString().trim());
  629 + }
  630 + }
  631 +
  632 + String lineSql="SELECT b.start_opt,a.company,a.line_code,a.name,a.level,"
  633 + + " a.shanghai_linecode, a.nature from "
  634 + + " bsth_c_line a left join bsth_c_line_config b "
  635 + + " on a.id=b.line where "
  636 + + " a.shanghai_linecode is not null and a.shanghai_linecode !='' and a.destroy=0 "
  637 + + " and a.remove=0 and a.nature in ('yxl','cgxl','gjxl','csbs','cctxl')";
  638 + List<Map<String, Object>> lineList=jdbcTemplate.query(lineSql,
  639 + new RowMapper<Map<String, Object>>(){
  640 + @Override
  641 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  642 + Map<String, Object> m=new HashMap<String,Object>();
  643 + m.put("state", rs.getString("start_opt"));
  644 + m.put("company", rs.getString("company"));
  645 + m.put("companyName", getGs(rs.getString("company")));
  646 + m.put("lineCode",rs.getString("line_code"));
  647 + m.put("name", rs.getString("name"));
  648 + m.put("level", rs.getString("level"));
  649 + m.put("shanghaiLinecode", rs.getString("shanghai_linecode"));
  650 + m.put("nature", getNature(rs.getString("nature")));
  651 + return m;
  652 + }
  653 + });
  654 +
  655 + int level1 = 0, level2 = 0, lineCount = 0;
  656 + for(Map<String, Object> t : lineList){
  657 + if(t.containsKey("company") && t.get("company").toString().trim().equals(gsdm)){
  658 + ++lineCount;
  659 + if(t.get("level") != null){
  660 + if("1".equals(t.get("level").toString())){
  661 + ++level1;
  662 + } else if("2".equals(t.get("level").toString())){
  663 + ++level2;
  664 + }
  665 + }
  666 + }
  667 + }
  668 +
  669 +
  670 + String yyxlSql="SELECT line_code from bsth_c_line "
  671 + + " where nature in ('yxl','cgxl','gjxl','csbs','cctxl')";
  672 + List<Map<String, Object>> yyxlList=jdbcTemplate.query(yyxlSql,
  673 + new RowMapper<Map<String, Object>>(){
  674 + @Override
  675 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  676 + Map<String, Object> m=new HashMap<String,Object>();
  677 + m.put("lineCode", rs.getString("line_code"));
  678 + return m;
  679 + }
  680 + });
  681 + Set<String> yyLine = new HashSet<String>();
  682 + for(Map<String, Object> t : yyxlList){
  683 + if(t.get("lineCode") != null){
  684 + yyLine.add(t.get("lineCode").toString());
  685 + }
  686 + }
  687 +
  688 +
  689 + String cardSignSql="select xl_bm,xl_name,schedule_date_str,bcs,qks,rkgzs,ckgzs"
  690 + + " from card_signing "
  691 + + " where schedule_date_str >= '"+date2+"' and schedule_date_str <= '"+date+"'"
  692 + + " and gs_bm = '"+gsdm+"'";
  693 + List<Map<String, Object>> cardSignList=jdbcTemplate.query(cardSignSql,
  694 + new RowMapper<Map<String, Object>>(){
  695 + @Override
  696 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  697 + Map<String, Object> m=new HashMap<String,Object>();
  698 + m.put("lineCode",rs.getString("xl_bm"));
  699 + m.put("lineName", rs.getString("xl_name"));
  700 + m.put("date", rs.getString("schedule_date_str"));
  701 + m.put("bcs", rs.getString("bcs"));
  702 + m.put("qks", rs.getString("qks"));
  703 + m.put("rkgzs", rs.getString("rkgzs"));
  704 + m.put("ckgzs", rs.getString("ckgzs"));
  705 + return m;
  706 + }
  707 + });
  708 +
  709 +
  710 + String sql="select xl,xl_name,date,jhbc,bczxl,jhbcz,sjbc,jhcc,sjcc,ccl,jhccz,"
  711 + + " jhyylc,sjyylc,jhyylcz,jhkslc,sjkslc,jhkslcz,"
  712 + + " jhssgfbcs,sjgfbcs,jhgfbcsz,jhssdgbcs,sjdgbcs,jhdgbcsz,"
  713 + + " jhsmbcs,sjsmbczds,smbczdl,jhsmbcsz,sjsmbczdsz,smbczdlz,"
  714 + + " jhszfcs,sjszfczds,szfczdl,create_date"
  715 + + " from bsth_c_calc_count "
  716 + + " where date >= '"+date2+"' and date <= '"+date+"' and gsdm = '"+gsdm+"'";
  717 +
  718 + List<Map<String, Object>> list=jdbcTemplate.query(sql,
  719 + new RowMapper<Map<String, Object>>(){
  720 + @Override
  721 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  722 + Map<String, Object> m=new HashMap<String,Object>();
  723 + m.put("lineCode",rs.getString("xl"));
  724 + m.put("lineName", rs.getString("xl_name"));
  725 + m.put("date", rs.getString("date"));
  726 +
  727 + m.put("jhbc", rs.getString("jhbc"));
  728 + m.put("sjbc", rs.getString("sjbc"));
  729 + m.put("bczxl", rs.getString("bczxl"));
  730 + m.put("jhbcz", rs.getString("jhbcz"));
  731 +
  732 + m.put("jhcc", rs.getString("jhcc"));
  733 + m.put("sjcc", rs.getString("sjcc"));
  734 + m.put("ccl", rs.getString("ccl"));
  735 + m.put("jhccz", rs.getString("jhccz"));
  736 +
  737 + m.put("jhyylc", rs.getString("jhyylc"));
  738 + m.put("sjyylc", rs.getString("sjyylc"));
  739 + m.put("jhyylcz", rs.getString("jhyylcz"));
  740 + m.put("jhkslc", rs.getString("jhkslc"));
  741 + m.put("sjkslc", rs.getString("sjkslc"));
  742 + m.put("jhkslcz", rs.getString("jhkslcz"));
  743 +
  744 + m.put("jhgfbcs", rs.getString("jhssgfbcs"));
  745 + m.put("sjgfbcs", rs.getString("sjgfbcs"));
  746 + m.put("jhgfbcsz", rs.getString("jhgfbcsz"));
  747 + m.put("jhdgbcs", rs.getString("jhssdgbcs"));
  748 + m.put("sjdgbcs", rs.getString("sjdgbcs"));
  749 + m.put("jhdgbcsz", rs.getString("jhdgbcsz"));
  750 +
  751 + m.put("jhsmbcs", rs.getString("jhsmbcs"));
  752 + m.put("sjsmbczds", rs.getString("sjsmbczds"));
  753 + m.put("smbczdl", rs.getString("smbczdl"));
  754 + m.put("jhsmbcsz", rs.getString("jhsmbcsz"));
  755 + m.put("sjsmbczdsz", rs.getString("sjsmbczdsz"));
  756 + m.put("smbczdlz", rs.getString("smbczdlz"));
  757 +
  758 + m.put("jhszfcs", rs.getString("jhszfcs"));
  759 + m.put("sjszfczds", rs.getString("sjszfczds"));
  760 + m.put("szfczdl", rs.getString("szfczdl"));
  761 +
  762 + Date date = new Date();
  763 + date.setTime(rs.getTimestamp("create_date").getTime());
  764 + m.put("createDate", sdf.format(date));
  765 + return m;
  766 + }
  767 + });
  768 +
  769 + List<Map<String, Object>> bcDetail = new ArrayList<Map<String,Object>>();
  770 + List<Map<String, Object>> smDetail = new ArrayList<Map<String,Object>>();
  771 + List<Map<String, Object>> qqDetail = new ArrayList<Map<String,Object>>();
  772 + List<Map<String, Object>> gpDetail = new ArrayList<Map<String,Object>>();
  773 +
  774 + List<Map<String, Object>> ccList = createMap("计划出车率", dates);
  775 + List<Map<String, Object>> bcList = createMap("计划班次执行率", dates);
  776 + List<Map<String, Object>> smList = createMap("首末班发车准点率", dates);
  777 + List<Map<String, Object>> qqList = createMap("起讫站发车准点率", dates);
  778 + List<Map<String, Object>> gpList = createMap("挂牌线路发车准点率", dates);
  779 + List<Map<String, Object>> qkList = createMap("签卡率", dates);
  780 +
  781 + long sjbcs_z = 0l;//实时总班次
  782 + BigDecimal yygl_z = new BigDecimal(0);//实时总营运里程
  783 + long jhcc = 0, sjcc = 0, jhbc = 0, sjbc = 0, jhsmbc = 0, sjsmbc = 0,
  784 + jhqqbc = 0, sjqqzd = 0, jhgpqqbc = 0, sjgpqqzd = 0, bcs_qk = 0, qks = 0;
  785 +
  786 + for(Map<String, Object> t : list){
  787 + if(yyLine.contains(t.get("lineCode").toString())){
  788 + String d = t.get("date").toString();
  789 + if(date.equals(d)){
  790 + sjbcs_z += Long.valueOf(t.get("sjbc").toString());
  791 + yygl_z = yygl_z.add(new BigDecimal(t.get("sjyylc").toString()));
  792 +
  793 + jhcc += Long.valueOf(t.get("jhccz").toString());
  794 + sjcc += Long.valueOf(t.get("sjcc").toString());
  795 + jhbc += Long.valueOf(t.get("jhbc").toString());
  796 + sjbc += Long.valueOf(t.get("sjbc").toString());
  797 + jhsmbc += Long.valueOf(t.get("jhsmbcs").toString());
  798 + sjsmbc += Long.valueOf(t.get("sjsmbczds").toString());
  799 + jhqqbc += Long.valueOf(t.get("jhszfcs").toString());
  800 + sjqqzd += Long.valueOf(t.get("sjszfczds").toString());
  801 + if(gpSet.contains(t.get("lineCode").toString())){
  802 + jhgpqqbc += Long.valueOf(t.get("jhszfcs").toString());
  803 + sjgpqqzd += Long.valueOf(t.get("sjszfczds").toString());
  804 + }
  805 +
  806 + Map<String, Object> bc = new HashMap<String, Object>();
  807 + bc.put("type", "班次执行详情");
  808 + bc.put("lineName", t.get("lineName").toString());
  809 + bc.put("jh", t.get("jhbc").toString());
  810 + bc.put("sj", t.get("sjbc").toString());
  811 + bcDetail.add(bc);
  812 +
  813 + Map<String, Object> sm = new HashMap<String, Object>();
  814 + sm.put("type", "首站发车详情");
  815 + sm.put("lineName", t.get("lineName").toString());
  816 + sm.put("jh", t.get("jhsmbcs").toString());
  817 + sm.put("sj", t.get("sjsmbczds").toString());
  818 + smDetail.add(sm);
  819 +
  820 + Map<String, Object> qq = new HashMap<String, Object>();
  821 + qq.put("type", "起讫站发车准点详情");
  822 + qq.put("lineName", t.get("lineName").toString());
  823 + qq.put("jh", t.get("jhszfcs").toString());
  824 + qq.put("sj", t.get("sjszfczds").toString());
  825 + qqDetail.add(qq);
  826 +
  827 + if(gpSet.contains(t.get("lineCode").toString())){
  828 + Map<String, Object> gp = new HashMap<String, Object>();
  829 + gp.put("type", "挂牌线路发车准点详情");
  830 + gp.put("lineName", t.get("lineName").toString());
  831 + gp.put("jh", t.get("jhszfcs").toString());
  832 + gp.put("sj", t.get("sjszfczds").toString());
  833 + gpDetail.add(gp);
  834 + }
  835 + }
  836 +
  837 + Map<String, Object> ccMap = ccList.get(datesMap.get(d));
  838 + Map<String, Object> bcMap = bcList.get(datesMap.get(d));
  839 + Map<String, Object> smMap = smList.get(datesMap.get(d));
  840 + Map<String, Object> qqMap = qqList.get(datesMap.get(d));
  841 + Map<String, Object> gpMap = gpList.get(datesMap.get(d));
  842 +
  843 + ccMap.put("jh", Long.valueOf(ccMap.get("jh").toString()) + Long.valueOf(t.get("jhccz").toString()));
  844 + ccMap.put("sj", Long.valueOf(ccMap.get("sj").toString()) + Long.valueOf(t.get("sjcc").toString()));
  845 + bcMap.put("jh", Long.valueOf(bcMap.get("jh").toString()) + Long.valueOf(t.get("jhbc").toString()));
  846 + bcMap.put("sj", Long.valueOf(bcMap.get("sj").toString()) + Long.valueOf(t.get("sjbc").toString()));
  847 + smMap.put("jh", Long.valueOf(smMap.get("jh").toString()) + Long.valueOf(t.get("jhsmbcs").toString()));
  848 + smMap.put("sj", Long.valueOf(smMap.get("sj").toString()) + Long.valueOf(t.get("sjsmbczds").toString()));
  849 + qqMap.put("jh", Long.valueOf(qqMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
  850 + qqMap.put("sj", Long.valueOf(qqMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
  851 + if(gpSet.contains(t.get("lineCode").toString())){
  852 + gpMap.put("jh", Long.valueOf(gpMap.get("jh").toString()) + Long.valueOf(t.get("jhszfcs").toString()));
  853 + gpMap.put("sj", Long.valueOf(gpMap.get("sj").toString()) + Long.valueOf(t.get("sjszfczds").toString()));
  854 + }
  855 +
  856 + }
  857 + }
  858 +
  859 + for(Map<String, Object> t : cardSignList){
  860 + if(yyLine.contains(t.get("lineCode").toString())){
  861 + String d = t.get("date").toString();
  862 + if(date.equals(d)){
  863 + bcs_qk += Long.valueOf(t.get("bcs").toString());
  864 + qks += Long.valueOf(t.get("qks").toString());
  865 + }
  866 + Map<String, Object> qkMap = qkList.get(datesMap.get(d));
  867 + qkMap.put("jh", Long.valueOf(qkMap.get("jh").toString()) + Long.valueOf(t.get("bcs").toString()));
  868 + qkMap.put("sj", Long.valueOf(qkMap.get("sj").toString()) + Long.valueOf(t.get("qks").toString()));
  869 + }
  870 + }
  871 +
  872 + List<Map<String, Object>> zxlList = new ArrayList<Map<String, Object>>();
  873 + zxlList.addAll(ccList);
  874 + zxlList.addAll(bcList);
  875 + zxlList.addAll(smList);
  876 + zxlList.addAll(qqList);
  877 + zxlList.addAll(gpList);
  878 + zxlList.addAll(qkList);
  879 +
  880 + List<Map<String, Object>> detailsList = new ArrayList<Map<String, Object>>();
  881 + detailsList.addAll(bcDetail);
  882 + detailsList.addAll(smDetail);
  883 + detailsList.addAll(qqDetail);
  884 + detailsList.addAll(gpDetail);
  885 +
  886 + for(Map<String, Object> t : zxlList){
  887 + if(t.get("jh") != null && Long.valueOf(t.get("jh").toString()).longValue() > 0l){
  888 + t.put("ratio", new BigDecimal(t.get("sj").toString()).divide(new BigDecimal(t.get("jh").toString()),
  889 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue());
  890 + } else {
  891 + t.put("ratio", "0");
  892 + }
  893 + }
  894 +
  895 + List<Map<String, Object>> glList = new ArrayList<Map<String, Object>>();
  896 +
  897 + Date dd1 = new Date();
  898 + dd1.setTime(dd.getTime() - 1l*1000*60*60*24);
  899 + String date1 = sd.format(dd1); //前一天
  900 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date1);
  901 + List<ScheduleRealInfo> listSche = new ArrayList<ScheduleRealInfo>();
  902 + List<ScheduleRealInfo> list_s = new ArrayList<ScheduleRealInfo>();
  903 + for(ScheduleRealInfo s : findAll){
  904 + if(s.getGsBm() != null && s.getGsBm().trim().equals(gsdm)){
  905 + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路
  906 + listSche.add(s);
  907 + Set<ChildTaskPlan> cts = s.getcTasks();
  908 + if (cts != null && cts.size() > 0) {
  909 + list_s.add(s);
  910 + } else {
  911 + if (s.getZdsjActual() != null && s.getFcsjActual() != null) {
  912 + list_s.add(s);
  913 + }
  914 + }
  915 + }
  916 + }
  917 + }
  918 + double jhyygl = culateJhgl(listSche);//计划营运公里
  919 + double jhjccgl = culateJhJccgl(listSche);
  920 + double jhzgl = Arith.add(jhyygl, jhjccgl);
  921 + double sjgl = culateSjgl(list_s);//实际营运公里(不含临加)
  922 + double sjljgl = culateLjgl(listSche);//实际临加公里
  923 + double sjyygl = Arith.add(sjgl, sjljgl);//实际营运公里
  924 + double sjjccgl = culateJccgl(list_s);
  925 + double sjksgl = culateKsgl(list_s);
  926 + double zksgl = Arith.add(sjjccgl, sjksgl);
  927 + double sjzgl = Arith.add(sjyygl, zksgl);//实际总公里
  928 + double lz = culateCJLC(listSche, "路阻");
  929 + double dm = culateCJLC(listSche, "吊慢");
  930 + double gz = culateCJLC(listSche, "故障");
  931 + double jf = culateCJLC(listSche, "纠纷");
  932 + double zs = culateCJLC(listSche, "肇事");
  933 + double qr = culateCJLC(listSche, "缺人");
  934 + double qc = culateCJLC(listSche, "缺车");
  935 + double qrqc = Arith.add(qr, qc);//缺人缺车
  936 + double kx = culateCJLC(listSche, "客稀");
  937 + double qh = culateCJLC(listSche, "气候");
  938 + double yw = culateCJLC(listSche, "援外");
  939 + double lb_pc = culateCJLC(listSche, "配车");
  940 + double lb_by = culateCJLC(listSche, "保养");
  941 + double lb_cj = culateCJLC(listSche, "抽减");
  942 + double lb_qt = culateCJLC(listSche, "其他");
  943 + double qt = Arith.add(Arith.add(lb_pc, lb_by), Arith.add(lb_cj, lb_qt));//其他
  944 +
  945 + Map<String, Object> jhzglMap = new HashMap<String, Object>();
  946 + jhzglMap.put("name", "计划总公里");
  947 + jhzglMap.put("value", jhzgl);
  948 + glList.add(jhzglMap);
  949 + Map<String, Object> sjzglMap = new HashMap<String, Object>();
  950 + sjzglMap.put("name", "实际总公里");
  951 + sjzglMap.put("value", sjzgl);
  952 + glList.add(sjzglMap);
  953 + Map<String, Object> lzMap = new HashMap<String, Object>();
  954 + lzMap.put("name", "路阻");
  955 + lzMap.put("value", lz);
  956 + glList.add(lzMap);
  957 + Map<String, Object> dmMap = new HashMap<String, Object>();
  958 + dmMap.put("name", "吊慢");
  959 + dmMap.put("value", dm);
  960 + glList.add(dmMap);
  961 + Map<String, Object> gzMap = new HashMap<String, Object>();
  962 + gzMap.put("name", "故障");
  963 + gzMap.put("value", gz);
  964 + glList.add(gzMap);
  965 + Map<String, Object> jfMap = new HashMap<String, Object>();
  966 + jfMap.put("name", "纠纷");
  967 + jfMap.put("value", jf);
  968 + glList.add(jfMap);
  969 + Map<String, Object> zsMap = new HashMap<String, Object>();
  970 + zsMap.put("name", "肇事");
  971 + zsMap.put("value", zs);
  972 + glList.add(zsMap);
  973 + Map<String, Object> qrqcMap = new HashMap<String, Object>();
  974 + qrqcMap.put("name", "缺人缺车");
  975 + qrqcMap.put("value", qrqc);
  976 + glList.add(qrqcMap);
  977 + Map<String, Object> kxMap = new HashMap<String, Object>();
  978 + kxMap.put("name", "客稀");
  979 + kxMap.put("value", kx);
  980 + glList.add(kxMap);
  981 + Map<String, Object> qhMap = new HashMap<String, Object>();
  982 + qhMap.put("name", "气候");
  983 + qhMap.put("value", qh);
  984 + glList.add(qhMap);
  985 + Map<String, Object> ywMap = new HashMap<String, Object>();
  986 + ywMap.put("name", "援外");
  987 + ywMap.put("value", yw);
  988 + glList.add(ywMap);
  989 + Map<String, Object> qtMap = new HashMap<String, Object>();
  990 + qtMap.put("name", "其他");
  991 + qtMap.put("value", qt);
  992 + glList.add(qtMap);
  993 +
  994 +
  995 + resMap.put("lineCount", lineCount);
  996 + resMap.put("level1Count", level1);
  997 + resMap.put("level2Count", level2);
  998 + resMap.put("sjbcs", sjbcs_z);
  999 + resMap.put("sjlcs", yygl_z.doubleValue());
  1000 +
  1001 + resMap.put("ccl", jhcc>0?new BigDecimal(sjcc).divide(new BigDecimal(jhcc),
  1002 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1003 + resMap.put("bczxl", jhbc>0?new BigDecimal(sjbc).divide(new BigDecimal(jhbc),
  1004 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1005 + resMap.put("smbzdl", jhsmbc>0?new BigDecimal(sjsmbc).divide(new BigDecimal(jhsmbc),
  1006 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1007 + resMap.put("qqzzdl", jhqqbc>0?new BigDecimal(sjqqzd).divide(new BigDecimal(jhqqbc),
  1008 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1009 + resMap.put("gpzdl", jhgpqqbc>0?new BigDecimal(sjgpqqzd).divide(new BigDecimal(jhgpqqbc),
  1010 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1011 + resMap.put("qkl", bcs_qk>0?new BigDecimal(qks).divide(new BigDecimal(bcs_qk),
  1012 + 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue():"0");
  1013 +
  1014 + resMap.put("ratioList", zxlList);
  1015 +
  1016 + resMap.put("detailsList", detailsList);
  1017 +
  1018 + resMap.put("mileageList", glList);
  1019 +
  1020 + return JSON.parseObject(JSON.toJSONString(resMap));
  1021 + }
  1022 +
583 1023 @GET
584 1024 @Path("/selectData/attendance")
585 1025 public JSONObject attendance(){
... ...