highcharts3D饼图统计


<div class="one1">
            <div class="two_top">
                <span class="schedule">完成情况</span>
                <div id="number">
                (已完成个数:<span id ="finish"></span>
                未完成个数:<span id ="unfinish"></span>)
                </div>
            </div>
            <div>
                
            <div id="container" style="height: 210px"></div>
            
            </div>
            
        </div>



//请求饼状图数据

        $.ajax({
            url:  "${basePath}/home/maintenanceStatistic",
            type: "POST",
            async: false,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                if(data.data.length!=0){
                    $("#unfinish").html(data.data[0][1]);
                    $("#finish").html(data.data[1][1]);
                    if(!(data.data[0][1] == 0 && data.data[1][1] == 0)){
                        showPhoto(data);
                    }
                }
            }, error: function (data) {
                layer.alert("读取失败");
            }
        })
         //饼状图
        function showPhoto(data){
             $('#container').highcharts({
                    chart: {
                        type: 'pie',
                        options3d: {
                            enabled: true,
                            alpha: 55,
                            beta: 0
                        }
                    },
                title: {
                    text:null
                },
                tooltip: {
                    headerFormat: '{series.name}<br>',
                    pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b>'
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: 'pointer',
                        depth: 35,
                        dataLabels: {
                            enabled: true,
                            format: '{point.name}'
                        }
                    }
                },
                credits: {
                    enabled: false
                },
                    series: [{
                        type: 'pie',
                        name: '生产检修完成情况统计占比',
                        data: [
                            ['未完成',(data.data[0])[0] ],
                            ['已完成',(data.data[1])[0] ]
                            ]
                        
                    }]
                });

        }


/**
     * 统计分析
     * @param date
     * @return
     */
    @RequestMapping("/maintenanceStatistic")
    @ResponseBody
    public Map<String,Object> maintenanceStatistic(Model model){
        Map<String,Object> map = new HashMap<>();
        List<PmMaintenanceplan_kfq> list = new ArrayList<PmMaintenanceplan_kfq>();
        List<List<Object>> listStr = new ArrayList<List<Object>>();
        //当前用户权限名
        List<String> listShior= activeUser();
        int num = listShior.size();
        if(listShior!=null&&num!=0){
            if(listShior.contains(OVERHAUL_PROCESS)){
                List<Object> listStr1 = new ArrayList<Object>();
                List<Object> listStr2 = new ArrayList<Object>();
                
                list = pmMaintenanceplanService.maintenanceStatistic();
                List<PmMaintenanceplan_kfq> list1 = new ArrayList<PmMaintenanceplan_kfq>();
                List<PmMaintenanceplan_kfq> list2 = new ArrayList<PmMaintenanceplan_kfq>();
                
                int size = list.size();
                for(int i=0;i<size;i++){
                    Date realdeliverytime = list.get(i).getRealdeliverytime();
                    if(realdeliverytime==null||"".equals(realdeliverytime)){
                        list1.add(list.get(i));
                    }else{
                        list2.add(list.get(i));
                    }
                }
                int pct1 = 0;
                int pct2 = 0;
                double size1 = list1.size();
                double size2 = list2.size();
                //转换百分比
                double tempresult1 = size1/size*100;
                double tempresult2 = size2/size*100;
                DecimalFormat df1 = new DecimalFormat("0");
                if(tempresult1 >= 0){
                    pct1=Integer.parseInt( df1.format(tempresult1));
                }
                if(tempresult2 >= 0){
                    pct2=Integer.parseInt( df1.format(tempresult2));
                }
                listStr1.add(pct1);
                listStr1.add(size1);
                listStr2.add(pct2);
                listStr2.add(size2);
                listStr.add(listStr1);
                listStr.add(listStr2);
                map.put("data", listStr);
            }else{
                map.put("data", listStr);
            }
        }else{
            map.put("data", listStr);
        }
        
        
        return map;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值