📄 barchartdemo.java
字号:
String dept_id = (String)request.getAttribute("dept_id");
int j0 = Integer.parseInt((String)request.getAttribute("j0"));
int j1 = Integer.parseInt((String)request.getAttribute("j1"));
//CategoryDataset dataset = getDataSet2();
DefaultCategoryDataset datasets = new DefaultCategoryDataset();
datasets.addValue(j0, dept, "男");
datasets.addValue(j1, dept, "女");
CategoryDataset dataset = datasets;
JFreeChart chart = ChartFactory.createBarChart3D(
"员工比例图", // 图表标题
"类型", // 目录轴的显示标签
"人数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("c:\\xingbie.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,300,300,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return mapping.findForward("tj_xingbie_pic");
}
/**
* 按学历查询
*/
public ActionForward tj_picture_xueli(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
DynaActionForm dyform = (DynaActionForm) form;
String tjdept = (String) dyform.get("tjdept");
Connection conn = null;
Statement stmt = null;
try{
DataSource ds = (DataSource)this.getDataSource(request,"oracledb");
conn = ds.getConnection();
String sql5 = "SELECT max(xue_id) id FROM xuelis";
Statement stmt5 = conn.createStatement();
ResultSet rs5 = stmt5.executeQuery(sql5);
rs5.next();
int arr = rs5.getInt("id");
ArrayList dlist1[] = new ArrayList[arr];
for (int i = 0; i < dlist1.length; i++) {
dlist1[i] = new ArrayList();
}
//查找数据库中全部职称类型的记录
String sql = "SELECT * FROM xuelis";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int k = 0;
int n = 0;
int h = 0;
String n1 = "";
for(int i = 0;rs.next(); i++){
int xue_id = rs.getInt("xue_id");
n = 0;
h = 0;
n1 = "";
//查找数据库中匹配职称类型的记录
String sql2 = "SELECT * FROM employees WHERE xue_xue_id=? AND dep_dep_id=?";
PreparedStatement pstmt = conn.prepareStatement(sql2);
pstmt.setInt(1,xue_id);
pstmt.setString(2,tjdept);
ResultSet rs2 = pstmt.executeQuery();
while(rs2.next()){
UserForm dept1 = new UserForm();
dept1.setDeptno(rs2.getInt("emp_id")+"");
dept1.setDname(rs2.getString("emp_name"));
dlist1[i].add(dept1);
n++;
k++;
}
n1 = n + "";
ArrayList dlist2 = new ArrayList();
UserForm dept3 = new UserForm();
dept3.setDeptno(n1);
dlist2.add(dept3);
request.setAttribute("j" + i,n1);
String dept = "dept" + i;
request.setAttribute(dept,dlist1[i]);
//查找全厂该职称总数
String sql4 = "SELECT * FROM employees WHERE xue_xue_id=?";
PreparedStatement pstmt4 = conn.prepareStatement(sql4);
pstmt4.setInt(1,xue_id);
ResultSet rs4 = pstmt4.executeQuery();
while(rs4.next()){
h++;
}
request.setAttribute("count" + i,h + "");
}
//查找当前部门名称
String sql3 = "SELECT * FROM departments WHERE dep_id=?";
PreparedStatement pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tjdept);
ResultSet rs3 = pstmt3.executeQuery();
rs3.next();
request.setAttribute("dept",rs3.getString("dep_name"));
request.setAttribute("dep_id",rs3.getString("dep_id"));
//某部门总人数
request.setAttribute("dept_count",k + "");
} catch(Exception e1) {
e1.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return mapping.findForward("picture_xueli");
}
//绘图----学历
public ActionForward picture_xueli(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws IOException{
String dept = (String)request.getAttribute("dept");
String dept_id = (String)request.getAttribute("dept_id");
int j0 = Integer.parseInt((String)request.getAttribute("j0"));
int j1 = Integer.parseInt((String)request.getAttribute("j1"));
int j2 = Integer.parseInt((String)request.getAttribute("j2"));
int j3 = Integer.parseInt((String)request.getAttribute("j3"));
int j4 = Integer.parseInt((String)request.getAttribute("j4"));
int j5 = Integer.parseInt((String)request.getAttribute("j5"));
int j6 = Integer.parseInt((String)request.getAttribute("j6"));
int j7 = Integer.parseInt((String)request.getAttribute("j7"));
//CategoryDataset dataset = getDataSet2();
DefaultCategoryDataset datasets = new DefaultCategoryDataset();
datasets.addValue(j0, dept, "初中");
datasets.addValue(j1, dept, "高中");
datasets.addValue(j2, dept, "中专");
datasets.addValue(j3, dept, "大专");
datasets.addValue(j4, dept, "本科");
datasets.addValue(j5, dept, "硕士");
datasets.addValue(j6, dept, "博士");
datasets.addValue(j7, dept, "博士后");
CategoryDataset dataset = datasets;
JFreeChart chart = ChartFactory.createBarChart3D(
"员工比例图", // 图表标题
"类型", // 目录轴的显示标签
"人数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("c:\\xueli.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,600,400,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return mapping.findForward("tj_xueli_pic");
}
/**
* 按职务查询
*/
public ActionForward tj_picture_zhiwu(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
ArrayList dlist1[] = new ArrayList[4];
for (int i = 0; i < 4; i++) {
dlist1[i] = new ArrayList();
}
DynaActionForm dyform = (DynaActionForm) form;
String tjdept = (String) dyform.get("tjdept");
Connection conn = null;
Statement stmt = null;
try{
DataSource ds = (DataSource)this.getDataSource(request,"oracledb");
conn = ds.getConnection();
//查找数据库中全部职称类型的记录
String sql = "SELECT * FROM zhiwus";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int k = 0;
int n = 0;
int h = 0;
String n1 = "";
for(int i = 0;rs.next(); i++){
int zhiwu_id = rs.getInt("zhiwu_id");
n = 0;
h = 0;
n1 = "";
//查找数据库中匹配职称类型的记录
String sql2 = "SELECT * FROM employees e,emp_zhiwu ez WHERE e.emp_id=ez.emp_id AND ez.zhiwu_id=? AND e.dep_dep_id=?";
PreparedStatement pstmt = conn.prepareStatement(sql2);
pstmt.setInt(1,zhiwu_id);
pstmt.setString(2,tjdept);
ResultSet rs2 = pstmt.executeQuery();
while(rs2.next()){
UserForm dept1 = new UserForm();
dept1.setDeptno(rs2.getInt("emp_id")+"");
dept1.setDname(rs2.getString("emp_name"));
dlist1[i].add(dept1);
n++;
k++;
}
n1 = n + "";
ArrayList dlist2 = new ArrayList();
UserForm dept3 = new UserForm();
dept3.setDeptno(n1);
dlist2.add(dept3);
request.setAttribute("j" + i,n1);
String dept = "dept" + i;
request.setAttribute(dept,dlist1[i]);
//查找全厂该职称总数
String sql4 = "SELECT * FROM employees e,emp_zhiwu ez WHERE e.emp_id=ez.emp_id AND ez.zhiwu_id=?";
PreparedStatement pstmt4 = conn.prepareStatement(sql4);
pstmt4.setInt(1,zhiwu_id);
ResultSet rs4 = pstmt4.executeQuery();
while(rs4.next()){
h++;
}
request.setAttribute("count" + i,h + "");
}
//查找当前部门名称
String sql3 = "SELECT * FROM departments WHERE dep_id=?";
PreparedStatement pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tjdept);
ResultSet rs3 = pstmt3.executeQuery();
rs3.next();
request.setAttribute("dept",rs3.getString("dep_name"));
request.setAttribute("dep_id",rs3.getString("dep_id"));
//某部门总人数
request.setAttribute("dept_count",k + "");
} catch(Exception e1) {
e1.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return mapping.findForward("picture_zhiwu");
}
//绘图----职务
public ActionForward picture_zhiwu(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws IOException{
String dept = (String)request.getAttribute("dept");
String dept_id = (String)request.getAttribute("dept_id");
int j0 = Integer.parseInt((String)request.getAttribute("j0"));
int j1 = Integer.parseInt((String)request.getAttribute("j1"));
int j2 = Integer.parseInt((String)request.getAttribute("j2"));
int j3 = Integer.parseInt((String)request.getAttribute("j3"));
//CategoryDataset dataset = getDataSet2();
DefaultCategoryDataset datasets = new DefaultCategoryDataset();
datasets.addValue(j0, dept, "技术员");
datasets.addValue(j1, dept, "工人");
datasets.addValue(j2, dept, "厂长");
datasets.addValue(j3, dept, "副厂长");
CategoryDataset dataset = datasets;
JFreeChart chart = ChartFactory.createBarChart3D(
"员工比例图", // 图表标题
"类型", // 目录轴的显示标签
"人数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("c:\\zhiwu.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,400,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return mapping.findForward("tj_zhiwu_pic");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -