Report--FusionCharts

本文介绍了一个用于生成报表图表的工具,该工具能够根据输入的数据自动创建饼图和柱状图,并将其整合到网页中进行展示。它使用XML来定义图表样式和数据,支持多种资源类型的统计,并能展现不同班级的平均正确率等级分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b][color=red]开发者博客:[url]http://www.developsearch.com[/url][/color][/b]


/**
* 拼装报表 饼图 XML FusionChart
*
* @param json
* @param res
* @throws UnsupportedEncodingException
* @throws Exception
*/
public void fetchContentTypeStatChartData(JSONObject json,GetContentTypeStateResponse res) throws UnsupportedEncodingException
{
StringBuffer XML = new StringBuffer();
XML.append("<?xml version='1.0' encoding='UTF-8' ?>");
XML.append("<chart caption='资源类型统计报表' bgColor='FFFFFF,B2DFEE' chartTopMargin='10' " +
" baseFont='宋体' baseFontSize='14' baseFontColor='#000000' Decimals='1' forceDecimals='1' numberSuffix='"+URLEncoder.encode("%", "UTF-8")+"' >");

if( null != res.getContentTypes() && res.getContentTypes().size() > 0 )
{
ContentTypeState content = res.getContentTypes().get(0);

XML.append("<set label='电子书刊' value='"+content.getBooks().substring(0,content.getBooks().length()-1)+"' />");
XML.append("<set label='媒体教材' value='"+content.getMedia().substring(0,content.getMedia().length()-1)+"' />");
XML.append("<set label='案例' value='"+content.getCaze().substring(0,content.getCaze().length()-1)+"' />");
XML.append("<set label='量规集' value='"+content.getGauge().substring(0,content.getGauge().length()-1)+"' />");
XML.append("<set label='教学工具和模板' value='"+content.getTemplate().substring(0,content.getTemplate().length()-1)+"' />");
XML.append("<set label='文献资料' value='"+content.getDocument().substring(0,content.getDocument().length()-1)+"' />");
XML.append("<set label='索引目录' value='"+content.getIndexCata().substring(0,content.getIndexCata().length()-1)+"' />");
XML.append("<set label='课程' value='"+content.getCourse().substring(0,content.getCourse().length()-1)+"' />");
}
else
{
XML.append("<set label='无' value='0' />");
}

XML.append("<styles>");
XML.append("<definition>");
XML.append("<style name='font_style' type='Font' type='font' face='Verdana' size='30' />");
XML.append("</definition>");
XML.append("<application><apply toObject='CAPTION' styles='font_style' /></application>");
XML.append("</styles>");
XML.append("</chart>");
json.put("chartXML", XML.toString());
}


/**
* 拼装报表 柱状图 XML FusionChart
*
* @param json
* @param res
* @throws UnsupportedEncodingException
* @throws Exception
*/
public void fetchSingleExerciseDetailChartData(JSONObject json,GetSingleExerciseDetailResponse res) throws UnsupportedEncodingException
{
StringBuffer XML = new StringBuffer();
XML.append("<?xml version='1.0' encoding='UTF-8' ?>");
XML.append("<chart caption='平均正确率等级比率' bgColor='FFFFFF,B2DFEE' chartTopMargin='50' " +
" baseFont='宋体' baseFontSize='14' baseFontColor='#000000' showValues='1' numberSuffix='"+URLEncoder.encode("%", "UTF-8")+"' >");

XML.append("<categories>");
XML.append("<category label='A' />");
XML.append("<category label='B' />");
XML.append("<category label='C' />");
XML.append("<category label='D' />");
XML.append("<category label='E' />");
XML.append("</categories>");

if( null != res.getDetails() && res.getDetails().size() > 0 )
{
for( int i=0; i<res.getDetails().size(); i++)
{
SingleExerciseDetail single = res.getDetails().get(i);
String COLOR = "";
if(i==0){
COLOR = "AFD8F8";
}
if(i==1){
COLOR = "F6BD0F";
}
if(i==2){
COLOR = "8BBA00";
}


XML.append("<dataset seriesName='"+single.getClassName()+"' color='"+COLOR+"' showValues='0'>");
XML.append("<set value='"+single.getPercentA()+"' />");
XML.append("<set value='"+single.getPercentB()+"' />");
XML.append("<set value='"+single.getPercentC()+"' />");
XML.append("<set value='"+single.getPercentD()+"' />");
XML.append("<set value='"+single.getPercentE()+"' />");
XML.append("</dataset>");
}
}
else
{
XML.append("<set label='无' value='0' />");
}

XML.append("<styles>");
XML.append("<definition>");
XML.append("<style name='font_style' type='Font' type='font' face='Verdana' size='20' />");
XML.append("</definition>");
XML.append("<application><apply toObject='CAPTION' styles='font_style' /></application>");
XML.append("</styles>");
XML.append("</chart>");
json.put("chartXML", XML.toString());
}


<script type="text/javascript" src="<%=baseurl%>/FusionCharts/JSClass/FusionCharts.js" ></script>
<div id="chartdiv" align="center"></div>

//页面图形展示 饼图
var chart = new FusionCharts('${ctx}/FusionCharts/Charts/Doughnut3D.swf', 'contentTypeStat', '1170', '350', '0', '1');
chart.setDataXML(data.chartXML);
chart.render("chartdiv");


//页面图形展示 柱状图
var chart = new FusionCharts('${ctx}/FusionCharts/Charts/MSColumn3D.swf', 'singleExerciseDetail', '1170', '350', '0', '1');
chart.setDataXML(data.chartXML);
chart.render("chartdiv");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值