java的echarts完整

xml 有待优化


	<!-- 报表sql语句 状态是5开始。 -->	
	<select id="getEcharts" resultType="com.thinkgem.jeesite.modules.ztbdb.entity.cszzb.TestBaoBiao">
		select v.month sj,ifnull(b.status,0) sl from  past_month_view v left join (select DATE_FORMAT(t.update_date,'%Y-%m')month,
		count(t.status) status from test_ztb_main t where DATE_FORMAT(t.update_date,'%Y-%m') > DATE_FORMAT(date_sub(curdate(),interval 12 month),'%Y-%m') and t.status = 5 group by t.status,month) b
		on v.month = b.month group by v.month;
	
	</select>
	<!-- 报表sql语句结束。 -->
		<!-- 报表sql语句 状态是4开始。 -->	
	<select id="getEcharts4" resultType="com.thinkgem.jeesite.modules.ztbdb.entity.cszzb.TestBaoBiao">
		select v.month sj,ifnull(b.status,0) sl from  past_month_view v left join (select DATE_FORMAT(t.update_date,'%Y-%m')month,
		count(t.status) status from test_ztb_main t where DATE_FORMAT(t.update_date,'%Y-%m') > DATE_FORMAT(date_sub(curdate(),interval 12 month),'%Y-%m') and t.status = 4 group by t.status,month) b
		on v.month = b.month group by v.month;
	
	</select>
	<!-- 报表sql语句结束。 -->
	<!-- 报表sql语句 状态是3开始。 -->	
	<select id="getEcharts3" resultType="com.thinkgem.jeesite.modules.ztbdb.entity.cszzb.TestBaoBiao">
		select v.month sj,ifnull(b.status,0) sl from  past_month_view v left join (select DATE_FORMAT(t.update_date,'%Y-%m')month,
		count(t.status) status from test_ztb_main t where DATE_FORMAT(t.update_date,'%Y-%m') > DATE_FORMAT(date_sub(curdate(),interval 12 month),'%Y-%m') and t.status = 3 group by t.status,month) b
		on v.month = b.month group by v.month;
	
	</select>
	<!-- 报表sql语句结束。 -->
	<!-- 报表sql语句 状态是2开始。 -->	
	<select id="getEcharts2" resultType="com.thinkgem.jeesite.modules.ztbdb.entity.cszzb.TestBaoBiao">
		select v.month sj,ifnull(b.status,0) sl from  past_month_view v left join (select DATE_FORMAT(t.update_date,'%Y-%m')month,
		count(t.status) status from test_ztb_main t where DATE_FORMAT(t.update_date,'%Y-%m') > DATE_FORMAT(date_sub(curdate(),interval 12 month),'%Y-%m') and t.status = 2 group by t.status,month) b
		on v.month = b.month group by v.month;
	
	</select>
	<!-- 报表sql语句结束。 -->
	<!-- 报表sql语句 状态是1开始。 -->	
	<select id="getEcharts1" resultType="com.thinkgem.jeesite.modules.ztbdb.entity.cszzb.TestBaoBiao">
		select v.month sj,ifnull(b.status,0) sl from  past_month_view v left join (select DATE_FORMAT(t.update_date,'%Y-%m')month,
		count(t.status) status from test_ztb_main t where DATE_FORMAT(t.update_date,'%Y-%m') > DATE_FORMAT(date_sub(curdate(),interval 12 month),'%Y-%m') and t.status = 1 group by t.status,month) b
		on v.month = b.month group by v.month;
	</select>
dao

	// 报表sql5
	public List<TestBaoBiao> getEcharts();
	// 报表sql4
	public List<TestBaoBiao> getEcharts4();
	// 报表sql3
	public List<TestBaoBiao> getEcharts3();
	// 报表sql2
	public List<TestBaoBiao> getEcharts2();
	// 报表sql1
	public List<TestBaoBiao> getEcharts1();

	

实体类

public class TestBaoBiao {

	private String sj;
	private String sl;
	public String getSj() {
		return sj;
	}
	public void setSj(String sj) {
		this.sj = sj;
	}
	public String getSl() {
		return sl;
	}
	public void setSl(String sl) {
		this.sl = sl;
	}
	public TestBaoBiao() {
		super();
	}
	public TestBaoBiao(String sj, String sl) {
		super();
		this.sj = sj;
		this.sl = sl;
	}
	@Override
	public String toString() {
		return "TestBaoBiao [sj=" + sj + ", sl=" + sl + "]";
	}
	
}

业务层
// 报表的echarts
	public List<TestBaoBiao> getEcharts(){
		return TestZtbMainaDao.getEcharts();	
	}
	// 报表的echarts4
	public List<TestBaoBiao> getEcharts4(){
			return TestZtbMainaDao.getEcharts4();	
		}
	// 报表的echarts3
	public List<TestBaoBiao> getEcharts3(){
		return TestZtbMainaDao.getEcharts3();	
		}
	// 报表的echarts2
	public List<TestBaoBiao> getEcharts2(){
		return TestZtbMainaDao.getEcharts2();	
		}	
	// 报表的echarts1
	public List<TestBaoBiao> getEcharts1(){
		return TestZtbMainaDao.getEcharts1();		
		}	

控制层

//报表的url
	@RequestMapping(value="Ecart")
	@ResponseBody
	public Map getEcart(Model model){
		List<TestBaoBiao> list5  = testZtbMainaService.getEcharts();
		List<TestBaoBiao> list4  = testZtbMainaService.getEcharts4();
		List<TestBaoBiao> list3  = testZtbMainaService.getEcharts3();
		List<TestBaoBiao> list2  = testZtbMainaService.getEcharts2();
		List<TestBaoBiao> list1  = testZtbMainaService.getEcharts1();
		Map map = new HashMap<Object,String>();
		/*JsonConfig jsonConfig = new JsonConfig();
		jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
		JSONObject json =JSONObject.fromObject(map, jsonConfig);
		String result =json.toString();*/
		JSONArray json = JSONArray.fromObject(list5);
		/*String ecarts = json.toString();*/
		map.put("row", list5);
		map.put("row4", list4);
		map.put("row3", list3);
		map.put("row2", list2);
		map.put("row1", list1);
		return map;
	}
	
前台代码

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="decorator" content="default" />
<title></title>
<style type="text/css">
#main {
  	float:left;
	width: 60%;
	height: 400px;
	
}
#main1{
	float:right;
	width: 40%;
	height: 400px;
}
</style>
</head>
<body style="width:100%;height:100%">
<script src="${ctxStatic}/common/echarts/echarts-all.js"></script>
<script src="${ctxStatic}/common/jquery.min.js"></script>
	<div id="main"></div>
	<div id="main1"></div>
	<script type="text/javascript">
	var names = []; //类别数组(实际用来盛放X轴坐标值)
	var nums = 	[]; //销量数组(实际用来盛放Y坐标值)
	var nums4 = []; //销量数组(实际用来盛放Y坐标值)
	var nums3 = []; //销量数组(实际用来盛放Y坐标值)
	var nums2 = []; //销量数组(实际用来盛放Y坐标值)
	var nums1 = []; //销量数组(实际用来盛放Y坐标值)
	var sum1=0;
	var sum2=0;
	var sum3=0;
	var sum4=0;
	var sum5=0;
	$.ajax({
		type:"GET",
		url:'${ctx}/ztbdb/cszzb/testZtbMaina/Ecart',
		contentType:'application/x-www-form-urlencoded;charset=UTF-8',
		dataType:"json",
		success:function(data){
			/* JSON.parseObject(jsonString, Object.class);  */
			 	/*  var json =jQuery.parseJSON(data.row);  */
					var json = data.row;
					var json4 = data.row4;
					var json3 = data.row3;
					var json2 = data.row2;
					var json1 = data.row1;
				/* var str= JSON.parse(data[0].row); */
				 for(var i=0;i<json.length;i++){
					   
					 names.push(json[i].sj);
				   }
				 for(var i=0;i<json.length;i++){
					   
					   nums.push(parseInt(json[i].sl));
					   sum5 =sum5+parseInt(json[i].sl);
					   console.log(sum5);
				   }
				 for(var i=0;i<json4.length;i++){
					   
					   nums4.push(parseInt(json4[i].sl));
					   sum4 = sum4+parseInt(json4[i].sl);
				   }
				 for(var i=0;i<json3.length;i++){
					   
					   nums3.push(parseInt(json3[i].sl));
					   sum3 = sum3+parseInt(json3[i].sl);
				   }
				 for(var i=0;i<json2.length;i++){
					   
					   nums2.push(parseInt(json2[i].sl));
					   sum2 =sum2+parseInt(json2[i].sl);
				   }
				 for(var i=0;i<json1.length;i++){
					   
					   nums1.push(parseInt(json1[i].sl));
					   sum1= sum1+parseInt(json1[i].sl);
				   }
				 var myChart = echarts.init(document.getElementById('main'));
				 var myChart1 = echarts.init(document.getElementById('main1'));
					// 过渡---------------------
					myChart.showLoading({
					    text: '正在努力的读取数据中...',    //loading话术
					});

					// ajax getting data...............

					// ajax callback
					myChart.hideLoading();
					
					// 图表使用-------------------
					var option = {
						    title : {

						    },
						    tooltip : {
						        trigger: 'axis'
						    },
						    legend: {
						        data:['','','','',']
						    },
						    calculable : true,
						    xAxis : [
						        {
						            type : 'category',
						            data : names
						        }
						    ],
						    yAxis : [
						        {
						            type : 'value'
						        }
						    ],
						    series : [
						        {
						            name:'',
						            type:'bar',
						            data:nums1,
						        },
						        {
						            name:'',
						            type:'bar',
						            data:nums2,
						        }, {
						            name:'',
						            type:'bar',
						            data:nums3,
						        }, {
						            name:'',
						            type:'bar',
						            data:nums4,
						        }, {
						            name:'',
						            type:'bar',
						            data:nums,
						        },
						    ]
						};
					var option1 = {
						    title : {
						        text: '',
						        subtext: '',
						        x:'center'
						    },
						    tooltip : {
						        trigger: 'item',
						        formatter: "{a} <br/>{b} : {c} ({d}%)"
						    },
						    legend: {
						        orient : 'vertical',
						        x : 'left',
						        data:['','','','','']
						    },
						    calculable : true,
						    series : [
						        {
						            name:'',
						            type:'pie',
						            radius : '55%',
						            center: ['50%', '60%'],
						            data:[
						                {value:sum1, name:':'+sum1+'件'},
						                {value:sum2, name:':'+sum2+'件'},
						                {value:sum3, name:':'+sum3+'件'},
						                {value:sum4, name:':'+sum4+'件'},
						                {value:sum5, name:':'+sum5+'件'}
						            ]
						        }
						    ]
						};
						                    
					
				 myChart.setOption(option);
				 myChart1.setOption(option1);
		},error:function(){
			
		}
		});
	

	</script>
	
</body>
</html>
前台效果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值