参考博客:http://blog.csdn.net/verne_feng/article/details/51731653
http://echarts.baidu.com/echarts2/doc/example.html
/** public class StatisticsAnalysis { /** /** 实际效果就是这样,数据比较少,注意:虚线是平局值,y轴也是随着数据动态变动的;
* @param x_data x轴数据(年/月)
* @param products_data 统计项目的类型:
* @return
*/
@RequestMapping("/jsonData")
@ResponseBody
public Object jsonData(String x_data, String products_data) {
LineData ld = new LineData();
List
if (products_data.equals("cgxdl")) { // 采购下单量
if (x_data.equals("nian")) {
for (int i = 0; i <12; i++) {
xcontent.add(String.valueOf(i + 1) + "月");
}
List
logger.info(JSON.toJSONStringWithDateFormat(po_nian_List, "yyyy-MM-dd HH:mm:ss"));
List
JsonData nianJsonData = null;
for (int i = 0; i
nianJsonData = new JsonData();
Integer[] yueData = new Integer[12];
// System.out.println("======================i==" + i);
// System.out.println("======================factory_name==" + po_nian_List.get(i).getFactory_name());
nianJsonData.setName(po_nian_List.get(i).getFactory_name());
for (int j = 0; j
// System.out.println("======================j==" + j);
Integer tempYue = po_nian_List.get(i).getStatisticsAnalysisVoList().get(j).getYuefen();
Integer tempProduct_count = po_nian_List.get(i).getStatisticsAnalysisVoList().get(j).getProduct_count();
// System.out.println("======================tempYue==" + tempYue);
// System.out.println("======================tempProduct_count==" + tempProduct_count);
yueData[tempYue - 1] = tempProduct_count;
}
nianJsonData.setData(yueData);
data.add(nianJsonData);
}
ld.setData(data);
} else if (x_data.equals("yue")) {
Calendar a = Calendar.getInstance();
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
System.out.println("当前月份最大的天数是==" + maxDate);
for (int i = 0; i
xcontent.add(String.valueOf(i + 1));
}
logger.info(JSON.toJSONStringWithDateFormat(xcontent, "yyyy-MM-dd HH:mm:ss"));
List
logger.info(JSON.toJSONStringWithDateFormat(po_tian_List, "yyyy-MM-dd HH:mm:ss"));
List
JsonData tianJsonData = null;
for (int i = 0; i
tianJsonData = new JsonData();
Integer[] tianData = new Integer[maxDate];
// System.out.println("======================i==" + i);
// System.out.println("======================factory_name==" + po_nian_List.get(i).getFactory_name());
tianJsonData.setName(po_tian_List.get(i).getFactory_name());
for (int j = 0; j
// System.out.println("======================j==" + j);
Integer tempTian = po_tian_List.get(i).getStatisticsAnalysisVoList().get(j).getTian();
Integer tempProduct_count = po_tian_List.get(i).getStatisticsAnalysisVoList().get(j).getProduct_count();
// System.out.println("======================tempYue==" + tempYue);
// System.out.println("======================tempProduct_count==" + tempProduct_count);
tianData[tempTian - 1] = tempProduct_count;
}
tianJsonData.setData(tianData);
data.add(tianJsonData);
}
ld.setData(data);
}
} else if (products_data.equals("cgrkzl")) { //采购入库总量
<resultMap id="purchase_order_resultMap" type="com.vacomall.entity.statisticsAnalysis.StatisticsAnalysis"
extends="BaseResultMap">
<collection property="statisticsAnalysisVoList"
column="factory_id"
ofType="com.vacomall.entity.statisticsAnalysis.vo.StatisticsAnalysisVo">
<result column="yuefen" property="yuefen"/>
<result column="tian" property="tian"/>
<result column="product_count" property="product_count"/>
collection>
resultMap>
<select id="purchase_order_echartsByyue" resultMap="purchase_order_resultMap">
SELECT
po.`factory_id`,
fi.`factory_name`,
DATE_FORMAT(po.`create_time`, '%m') yuefen,
SUM(pod.`product_count`) product_count
FROM
purchase_order po,
purchase_order_detail pod,
factory_info fi
WHERE 1 = 1
AND po.`del_flag` = 0
AND po.`state` IN (1, 3) # 采购单状态:0:未接单 1:生产中 2:驳回 3:已完成
AND pod.`del_flag` = 0
AND pod.`purchase_id` = po.`id`
AND fi.`del_flag` = 0
AND fi.id = po.`factory_id`
AND DATE_FORMAT(NOW() , '%Y') = DATE_FORMAT(po.`create_time`, '%Y')
GROUP BY DATE_FORMAT(po.`create_time`, '%Y-%m'),
po.`factory_id`
select>
<select id="purchase_order_echartsBytian" resultMap="purchase_order_resultMap">
SELECT
po.`factory_id`,
fi.`factory_name`,
DATE_FORMAT(po.`create_time`, '%d') tian,
SUM(pod.`product_count`) product_count
FROM
purchase_order po,
purchase_order_detail pod,
factory_info fi
WHERE 1 = 1
AND po.`del_flag` = 0
AND po.`state` IN (1, 3) # 采购单状态:0:未接单 1:生产中 2:驳回 3:已完成
AND pod.`del_flag` = 0
AND pod.`purchase_id` = po.`id`
AND fi.`del_flag` = 0
AND fi.id = po.`factory_id`
AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(po.`create_time`, '%Y-%m')
GROUP BY po.`factory_id`,
DATE_FORMAT(po.`create_time`, '%d')
select>
private String factory_id;
private String factory_name;
private List
public String getFactory_id() {
return factory_id;
}
public void setFactory_id(String factory_id) {
this.factory_id = factory_id;
}
public String getFactory_name() {
return factory_name;
}
public void setFactory_name(String factory_name) {
this.factory_name = factory_name;
}
public List
return statisticsAnalysisVoList;
}
public void setStatisticsAnalysisVoList(List
this.statisticsAnalysisVoList = statisticsAnalysisVoList;
}
}
public class StatisticsAnalysisVo {
private Integer yuefen;
private Integer tian;
private Integer product_count;
public Integer getYuefen() {
return yuefen;
}
public void setYuefen(Integer yuefen) {
this.yuefen = yuefen;
}
public Integer getProduct_count() {
return product_count;
}
public void setProduct_count(Integer product_count) {
this.product_count = product_count;
}
public Integer getTian() {
return tian;
}
public void setTian(Integer tian) {
this.tian = tian;
}
}
* echarts 返回数据用
*/
public class JsonData {
/**
* 每条折线的名称
*/
private String name;
/**
* 每条折线拐点的数值
*/
private Integer[] data;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer[] getData() {
return data;
}
public void setData(Integer[] data) {
this.data = data;
}
}
* echarts 返回数据用
*/
public class LineData {
/**
* x轴 刻度单位(xAxis)
*/
private List
/**
* 每一个 x轴方向的折线的数据
*/
private List
public List
return xcontent;
}
public void setXcontent(List
this.xcOntent= xcontent;
}
public List
return data;
}
public void setData(List
this.data = data;
}
}