mark 百度Echarts统计图表

it2022-05-08  8

mark http://git.oschina.net/seeyoui/kensite_cms/blob/master/src/main/java/com/seeyoui/kensite/framework/report/ksChart/controller/KSChartController.java ** * 百度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 ; } }

转载于:https://www.cnblogs.com/wangdaijun/p/7182326.html


最新回复(0)