fusioncharts的实际运用

我这个是代码是service的,dao层就是你的sql语句啦,我就不贴

swf文件我已经上传到csdn里拉,还整理了一些常用的统计图的用法 xml

有需要的朋友可以去下载:http://download.csdn.net/detail/yiyino/4584331

service:

public Object[] findAlleqyearreport(OperaterRecordBean recordBean)
throws Exception {
Object[] returnObj = new Object[2];
PsOperaterRecord ps=new PsOperaterRecord();
//条件查询
if(recordBean!=null){
//开始日期

ps.setStartDate(recordBean.getStime()+" 00:00");

//结束日期
ps.setEndDate(recordBean.getEtime()+" 23:59");

}
List<OperaterRecordBean> beans = new ArrayList<OperaterRecordBean>();
List<Object[]> p=iOperaterRecordDao.findAlleqyearreport(ps);
for (Object[] o : p) {

OperaterRecordBean bean=new OperaterRecordBean();

//月计划量
if(o[0]!=null||Integer.parseInt(o[0].toString())!=0){
bean.setRatedoutput(Integer.parseInt(o[0].toString()));
}
//月实际量
if(o[1]!=null||Integer.parseInt(o[1].toString())!=0){
bean.setActualoutput(Integer.parseInt(o[1].toString()));
}

//设备类型
if(o[2]!=null){
bean.setEqtype(o[2].toString());
}
//月份
if(o[3]!=null){
bean.setMonth(o[3].toString());
}
//有效作业率
if(o[0]!=null&&Integer.parseInt(o[0].toString())!=0||o[1]!=null&&Integer.parseInt(o[1].toString())!=0){

float shiji= Integer.parseInt(o[1].toString());
float jihua=Integer.parseInt(o[0].toString());
DecimalFormat df = new DecimalFormat("#.00");

//页面显示
float wString=shiji/jihua*100;
String workrateS=df.format(wString);
//导出
float b=shiji/jihua;
String workrate=df.format(b);

if(Integer.parseInt(o[3].toString())==1){

bean.setJanD(Double.parseDouble(workrate));//导出表格时用的
bean.setJan(workrateS+"%");//页面显示数据
}
if(Integer.parseInt(o[3].toString())==2){
bean.setFeb(workrateS+"%");
bean.setFebD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==3){
bean.setMar(workrateS+"%");
bean.setMarD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==4){
bean.setApr(workrateS+"%");
bean.setAprD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==5){
bean.setMay(workrateS+"%");
bean.setMayD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==6){
bean.setJun(workrateS+"%");
bean.setJunD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==7){
bean.setJul(workrateS+"%");
bean.setJulD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==8){
bean.setAug(workrateS+"%");
bean.setAugD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==9){
bean.setSep(workrateS+"%");
bean.setSepD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==10){
bean.setOct(workrateS+"%");
bean.setOctD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==11){
bean.setNov(workrateS+"%");
bean.setNovD(Double.parseDouble(workrate));//导出
}
if(Integer.parseInt(o[3].toString())==12){
bean.setDecD(Double.parseDouble(workrate));//导出
bean.setDec(workrateS+"%");

}



}

beans.add(bean);
}
returnObj[0] = beans;

//情况图
String xmlChart = "<chart caption='设备有效作业率月报表' showValues='1' bgColor='406181,6DA5DB' bgAlpha='100' baseFontColor='FFFFFF' canvasBgAlpha='0' canvasBorderColor='FFFFFF' divLineColor='FFFFFF' divLineAlpha='100' numVDivlines='10' vDivLineisDashed='1' showAlternateVGridColor='1' lineColor='BBDA00' anchorRadius='4' anchorBgColor='BBDA00' anchorBorderColor='FFFFFF' anchorBorderThickness='2' numberSuffix='%' toolTipBgColor='406181' toolTipBorderColor='406181' alternateHGridAlpha='5' exportEnabled='1' exportAtClient='1' exportHandler='fcExporter1' >";
String xmlRun="";
for(OperaterRecordBean recordBean1:beans){
DecimalFormat df = new DecimalFormat("#.00");
float shiji=recordBean1.getActualoutput();
float jihua=recordBean1.getRatedoutput();
float a=shiji/jihua*100;
String workrate=df.format(a);

xmlRun += "<set label='"+recordBean1.getEqtype()+"' value='"+workrate+"'/> ";
}
xmlChart += xmlRun+"</chart>";
returnObj[1] = xmlChart;


return returnObj;
}

action:

private String xmlData;

public String findAlleqyearreport(){
try {
Object[] objects = iOperaterRecordService.findAlleqyearreport(operaterRecordBean);
operaterRecordBeans = (List<OperaterRecordBean>)objects[0];//返回页面显示的数据
xmlData = (String)objects[1];//返回的xml
success = true;
} catch (Exception e) {
return ERROR;
}
return SUCCESS;
}

页面:

<script type="text/javascript" src="<%=basePath%>fusioncharts/FusionCharts.js"></script>//引入FunsionCharts.js文件

{//有效率报表图
verticalScrollPolicy:'auto',
type:'html',
width:'100%',
height:'100%',
id:'eqmonthreport'
}

function getList() {
var p = psForm.getForm();
Edo.util.Ajax.request({
type : "post",
async : true,
url : '../operaterRecordAction!findAlleqyearreport.action',
params : {
'operaterRecordBean.stime' : p.startDate.format('Y-m-d'),
'operaterRecordBean.etime' :p.endDate.format('Y-m-d')
},
onSuccess : function(text) {
var data = Edo.util.Json.decode(text);
if (data.success) {
Table.data.load(data.operaterRecordBeans);

var xmldata = data.xmlData;
var myChart = new FusionCharts("<%=basePath%>fusioncharts/Line.swf", //对应的swf文件
"myChartId", "1000", "500", "0", "1" );
myChart.setXMLData(xmldata);
myChart.render("eqmonthreport");

} else {
Edo.MessageBox.show({
title : '错误',
msg : '查询设备有效作业率年报表出错!',
buttons : Edo.MessageBox.OK,
icon : Edo.MessageBox.ERROR
});
}
},
onFail : function(code) {
Edo.MessageBox.show({
title : '错误',
msg : '查询设备有效作业率年报表出错!',
buttons : Edo.MessageBox.OK,
icon : Edo.MessageBox.ERROR
});
}
});
}

示意图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值