Commit d0b66b7f236996b11bfad2fed7400461c672115c
1 parent
0f87a7ef
给大屏的线路数、班次、里程汇总接口,添加以直属公司代码查询版
Showing
1 changed file
with
440 additions
and
0 deletions
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(){ | ... | ... |