huresmanuseraction.java
来自「用JAVA环境开发的人力资源管理系统」· Java 代码 · 共 207 行
JAVA
207 行
/*
* Created on 2006-11-4
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.liyu.action;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.PieSectionLabelGenerator;
import org.jfree.chart.labels.PieToolTipGenerator;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.labels.StandardPieToolTipGenerator;
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.liyu.common.AbstractAction;
import com.liyu.form.HuResManUserForm;
import com.liyu.server.IHuResManUserServer;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class HuResManUserAction extends AbstractAction {
private static final String FN_FM = "fmstati";
private static final String FN_JOB = "jobstati";
private static final String FN_RTN = "rtn";
private Font titleFont = new Font("黑体",Font.CENTER_BASELINE,18);
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HuResManUserForm buResManUserForm = (HuResManUserForm) form;
IHuResManUserServer huResManUserServer = (IHuResManUserServer)getBean("huResManUserServer");
String sFn = buResManUserForm.getFn();
if (sFn == null) {
return mapping.findForward("init");
}
if (sFn.equals(FN_FM)) {
int femaleCnt;
int maleCnt;
buResManUserForm.setFMStatiInfo(huResManUserServer.getFmStati());
femaleCnt = Integer.parseInt(buResManUserForm.getFMStatiInfo().getFemaleCnt());
maleCnt = Integer.parseInt(buResManUserForm.getFMStatiInfo().getMaleCnt());
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("男", maleCnt);
dataset.setValue("女", femaleCnt);
JFreeChart chart = ChartFactory.createPieChart3D("男女比例统计", dataset, true, false, false);
//设置图片的背景色
chart.setBackgroundPaint(new Color(215,215,215));
//设置透明度,好像对servlet没有用
chart.setBackgroundImageAlpha(0.5f);
//设置图片标题的字体和大小
TextTitle _title = new TextTitle("男女比例统计");
_title.setFont(titleFont);
chart.setTitle(_title);
PiePlot plot = (PiePlot) chart.getPlot();
plot.setNoDataMessage("无对应的数据,请重新查询。");
plot.setNoDataMessagePaint(Color.red);
//指定 section 轮廓线的厚度(OutlinePaint不能为null)
plot.setOutlineStroke(new BasicStroke(0));
//设置第一个 section 的开始位置,默认是12点钟方向
plot.setStartAngle(90);
String unitSytle = "{0}={1}({2})";
plot.setToolTipGenerator(new StandardPieToolTipGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
//指定图片的透明度
plot.setForegroundAlpha(0.65f);
//引出标签显示样式
plot.setLabelGenerator(new StandardPieSectionLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
//图例显示样式
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
chart.setBackgroundPaint(java.awt.Color.green);
HttpSession session = request.getSession();
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
String filename = "";
try {
filename = ServletUtilities.saveChartAsPNG(chart, 400, 200, info, session);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
request.setAttribute("filename", filename);
request.setAttribute("graphURL",graphURL);
return mapping.findForward("fmStati");
} else if (sFn.equals(FN_JOB)) {
int salesManagerCnt;
int salesCnt;
int ManagerCnt;
buResManUserForm.setJobStatiInfo(huResManUserServer.getJobsStatic());
salesManagerCnt = Integer.parseInt(buResManUserForm.getJobStatiInfo().getSalesManagerCnt());
salesCnt = Integer.parseInt(buResManUserForm.getJobStatiInfo().getSalesCnt());
ManagerCnt = Integer.parseInt(buResManUserForm.getJobStatiInfo().getManagerCnt());
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("销售经理", salesManagerCnt);
dataset.setValue("销售人员", salesCnt);
dataset.setValue("总经理", ManagerCnt);
JFreeChart chart = ChartFactory.createPieChart3D("职位比例统计", dataset, true, false, false);
//设置图片的背景色
chart.setBackgroundPaint(new Color(215,215,215));
//设置透明度,好像对servlet没有用
chart.setBackgroundImageAlpha(0.5f);
//设置图片标题的字体和大小
TextTitle _title = new TextTitle("职位比例统计");
_title.setFont(titleFont);
chart.setTitle(_title);
PiePlot plot = (PiePlot) chart.getPlot();
plot.setNoDataMessage("无对应的数据,请重新查询。");
plot.setNoDataMessagePaint(Color.red);
//指定 section 轮廓线的厚度(OutlinePaint不能为null)
plot.setOutlineStroke(new BasicStroke(0));
//设置第一个 section 的开始位置,默认是12点钟方向
plot.setStartAngle(90);
String unitSytle = "{0}={1}({2})";
plot.setToolTipGenerator(new StandardPieToolTipGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
//指定图片的透明度
plot.setForegroundAlpha(0.65f);
//引出标签显示样式
plot.setLabelGenerator(new StandardPieSectionLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
//图例显示样式
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
chart.setBackgroundPaint(java.awt.Color.green);
HttpSession session = request.getSession();
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
String filename = "";
try {
filename = ServletUtilities.saveChartAsPNG(chart, 400, 200, info, session);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
request.setAttribute("filename", filename);
request.setAttribute("graphURL",graphURL);
return mapping.findForward("jobStati");
}else if(sFn.equals(FN_RTN)){
return mapping.findForward("huResManUser");
}
return null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?