<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;
}