⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 barchartdemo.java

📁 1.员工添加 2.人事调动 3.在职人员管理 4.部门(分厂)管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		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 + -