【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了Java开源代码-SaleRankReportAction.java的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
package com.cownew.PIS.inv.web;
import java.awt.Font;
import java.awt.Insets;
import java.sql.ResultSet;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import com.cownew.PIS.framework.web.helper.WebEndServiceLocator;
import com.cownew.PIS.framework.web.helper.WebUtils;
import com.cownew.PIS.inv.common.IInvReportService;
public class SaleRankReportAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
SaleRankReportForm rankForm = (SaleRankReportForm) form;
int topCount = rankForm.getTopCount();
Date beginDate = rankForm.getBeginDateAsDate();
IInvReportService reportIntf = (IInvReportService) WebEndServiceLocator
.getService(request, IInvReportService.class);
ResultSet rs = reportIntf.querySaleRank(topCount, beginDate);
DefaultPieDataset data = new DefaultPieDataset();
while (rs.next())
{
data.setValue(rs.getString("FMaterialName"), rs
.getBigDecimal("FAmount"));
}
PiePlot plot = new PiePlot(data);
plot.setInsets(new Insets(0, 5, 5, 5));
// 创建chart对象
JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT,
plot, true);
chart.setBackgroundPaint(java.awt.Color.white);// 设置图片的背景色
Font font = new Font("黑体", Font.CENTER_BASELINE, 20);// 设置图片标题的字体
TextTitle title = new TextTitle("销售排行");
title.setFont(font);
chart.setTitle(title);
ChartRenderingInfo info = new ChartRenderingInfo(
new StandardEntityCollection());
HttpSession session = request.getSession();
// 把生成的图片放到临时目录
String fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300,
info, session);
String path = "/DisplayChart?filename=" + fileName;
String showChart = WebUtils.getAbsoluteURL(request, response, path);
request.setAttribute("ChartFileName", showChart);
return mapping.getInputForward();
}
}
上一篇:
SaleQuery.java
下一篇:
上市公司会计信息披露中印象管理行为研究(上)