mark 百度Echarts统计图表

 
  
 
* 百度Echarts统计图表
* @author cuichen
* @version 1.0
* @since 1.0
* @date 2015-11-16
*/
@Controller
@RequestMapping ( value = "ks/chart" )
public class KSChartController extends BaseController {
@RequestMapping ( value = "/line" )
@ResponseBody
public Object line ( HttpSession session ,
HttpServletResponse response , HttpServletRequest request ,
ModelMap modelMap , String sqlx , String sqly , String sqlz ) throws Exception {
sqlx = HtmlUtils . htmlUnescape ( sqlx );
sqly = HtmlUtils . htmlUnescape ( sqly );
sqlz = HtmlUtils . htmlUnescape ( sqlz );
List < Map < Object , Object >> xList = DBUtils . executeQuery ( sqlx , false );
List < Map < Object , Object >> yList = DBUtils . executeQuery ( sqly , false );
List < Map < Object , Object >> zList = DBUtils . executeQuery ( sqlz , false );
Map < String , Object > option = new HashMap < String , Object >();
Map < String , Object > xAxis = new HashMap < String , Object >();
List < String > data = new ArrayList < String >();
for ( int i = 0 ; i < xList . size (); i ++) {
data . add ( xList . get ( i ). get ( "VALUE" ). toString ());
}
xAxis . put ( "data" , data );
option . put ( "xAxis" , xAxis );
Map < String , Object > legend = new HashMap < String , Object >();
data = new ArrayList < String >();
for ( int i = 0 ; i < zList . size (); i ++) {
data . add ( zList . get ( i ). get ( "NAME" ). toString ());
}
legend . put ( "data" , data );
option . put ( "legend" , legend );
List < Map < Object , Object >> series = new ArrayList < Map < Object , Object >>();
for ( int i = 0 ; i < zList . size (); i ++) {
Map < Object , Object > zMap = zList . get ( i );
Map < Object , Object > seriesMap = new HashMap < Object , Object >();
String zKey = zMap . get ( "KEY" ). toString ();
seriesMap . put ( "zkey" , zKey );
seriesMap . put ( "name" , zMap . get ( "NAME" ));
seriesMap . put ( "type" , "line" );
List < Double > yData = new ArrayList < Double >();
for ( int j = 0 ; j < xList . size (); j ++) {
Map < Object , Object > xMap = xList . get ( j );
String xkey = xMap . get ( "KEY" ). toString ();
boolean isAdd = false ;
for ( int k = 0 ; k < yList . size (); k ++) {
Map < Object , Object > yMap = yList . get ( k );
if ( yMap . get ( "ZKEY" ) != null && yMap . get ( "XKEY" ) != null && zKey . equals ( yMap . get ( "ZKEY" ). toString ()) && xkey . equals ( yMap . get ( "XKEY" ). toString ())) {
yData . add ( Double . parseDouble ( yMap . get ( "VALUE" ). toString ()));
isAdd = true ;
break ;
}
}
if (! isAdd ) {
yData . add ( 0 D );
}
}
seriesMap . put ( "data" , yData );
series . add ( seriesMap );
}
option . put ( "series" , series );
return option ;
}
@RequestMapping ( value = "/bar" )
@ResponseBody
public Object bar ( HttpSession session ,
HttpServletResponse response , HttpServletRequest request ,
ModelMap modelMap , String sqlx , String sqly , String sqlz ) throws Exception {
sqlx = HtmlUtils . htmlUnescape ( sqlx );
sqly = HtmlUtils . htmlUnescape ( sqly );
sqlz = HtmlUtils . htmlUnescape ( sqlz );
List < Map < Object , Object >> xList = DBUtils . executeQuery ( sqlx , false );
List < Map < Object , Object >> yList = DBUtils . executeQuery ( sqly , false );
List < Map < Object , Object >> zList = DBUtils . executeQuery ( sqlz , false );
Map < String , Object > option = new HashMap < String , Object >();
Map < String , Object > xAxis = new HashMap < String , Object >();
List < String > data = new ArrayList < String >();
for ( int i = 0 ; i < xList . size (); i ++) {
data . add ( xList . get ( i ). get ( "VALUE" ). toString ());
}
xAxis . put ( "data" , data );
option . put ( "xAxis" , xAxis );
Map < String , Object > legend = new HashMap < String , Object >();
data = new ArrayList < String >();
for ( int i = 0 ; i < zList . size (); i ++) {
data . add ( zList . get ( i ). get ( "NAME" ). toString ());
}
legend . put ( "data" , data );
option . put ( "legend" , legend );
List < Map < Object , Object >> series = new ArrayList < Map < Object , Object >>();
for ( int i = 0 ; i < zList . size (); i ++) {
Map < Object , Object > zMap = zList . get ( i );
Map < Object , Object > seriesMap = new HashMap < Object , Object >();
String zKey = zMap . get ( "KEY" ). toString ();
seriesMap . put ( "name" , zMap . get ( "NAME" ));
seriesMap . put ( "type" , "bar" );
if ( zMap . get ( "STACK" )!= null && StringUtils . isNoneBlank ( zMap . get ( "STACK" ). toString ())) {
seriesMap . put ( "stack" , zMap . get ( "STACK" ). toString ());
}
List < Double > yData = new ArrayList < Double >();
for ( int j = 0 ; j < xList . size (); j ++) {
Map < Object , Object > xMap = xList . get ( j );
String xkey = xMap . get ( "KEY" ). toString ();
boolean isAdd = false ;
for ( int k = 0 ; k < yList . size (); k ++) {
Map < Object , Object > yMap = yList . get ( k );
if ( yMap . get ( "ZKEY" ) != null && yMap . get ( "XKEY" ) != null && zKey . equals ( yMap . get ( "ZKEY" ). toString ()) && xkey . equals ( yMap . get ( "XKEY" ). toString ())) {
yData . add ( Double . parseDouble ( yMap . get ( "VALUE" ). toString ()));
isAdd = true ;
break ;
}
}
if (! isAdd ) {
yData . add ( 0 D );
}
}
seriesMap . put ( "data" , yData );
series . add ( seriesMap );
}
option . put ( "series" , series );
return option ;
}
@RequestMapping ( value = "/pie" )
@ResponseBody
public Object pie ( HttpSession session ,
HttpServletResponse response , HttpServletRequest request ,
ModelMap modelMap , String sqlx , String sqly , String sqlz ) throws Exception {
sqlx = HtmlUtils . htmlUnescape ( sqlx );
sqly = HtmlUtils . htmlUnescape ( sqly );
sqlz = HtmlUtils . htmlUnescape ( sqlz );
List < Map < Object , Object >> xList = DBUtils . executeQuery ( sqlx , false );
List < Map < Object , Object >> yList = DBUtils . executeQuery ( sqly , false );
List < Map < Object , Object >> zList = DBUtils . executeQuery ( sqlz , false );
Map < String , Object > option = new HashMap < String , Object >();
Map < String , Object > legend = new HashMap < String , Object >();
List < String > data = new ArrayList < String >();
for ( int i = 0 ; i < xList . size (); i ++) {
data . add ( xList . get ( i ). get ( "VALUE" ). toString ());
}
legend . put ( "data" , data );
option . put ( "legend" , legend );
List < Map < Object , Object >> series = new ArrayList < Map < Object , Object >>();
for ( int i = 0 ; i < zList . size (); i ++) {
Map < Object , Object > zMap = zList . get ( i );
Map < Object , Object > seriesMap = new HashMap < Object , Object >();
List < Map < Object , Object >> seriesData = new ArrayList < Map < Object , Object >>();
String zKey = zMap . get ( "KEY" ). toString ();
seriesMap . put ( "name" , zMap . get ( "NAME" ));
seriesMap . put ( "type" , "pie" );
seriesMap . put ( "zkey" , zKey );
for ( int j = 0 ; j < xList . size (); j ++) {
Map < Object , Object > xMap = xList . get ( j );
String xkey = xMap . get ( "KEY" ). toString ();
String xvalue = xList . get ( j ). get ( "VALUE" ). toString ();
boolean isAdd = false ;
for ( int k = 0 ; k < yList . size (); k ++) {
Map < Object , Object > yMap = yList . get ( k );
if ( yMap . get ( "ZKEY" ) != null && yMap . get ( "XKEY" ) != null && zKey . equals ( yMap . get ( "ZKEY" ). toString ()) && xkey . equals ( yMap . get ( "XKEY" ). toString ())) {
Map < Object , Object > sd = new HashMap < Object , Object >();
sd . put ( "value" , Double . parseDouble ( yMap . get ( "VALUE" ). toString ()));
sd . put ( "name" , xvalue );
seriesData . add ( sd );
isAdd = true ;
break ;
}
}
if (! isAdd ) {
Map < Object , Object > sd = new HashMap < Object , Object >();
sd . put ( "value" , 0 D );
sd . put ( "name" , xvalue );
seriesData . add ( sd );
}
}
seriesMap . put ( "data" , seriesData );
series . add ( seriesMap );
}
option . put ( "series" , series );
return option ;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值