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

📄 assignroomtongji.java

📁 JSP移动商品管理平台源代码.........
💻 JAVA
字号:
package imis_hous.jfree;

import imis_hous.com.bean.AreaInfoEH;
import imis_hous.com.bean.Tongji_bean;
import imis_hous.com.db.DBClose;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.CategoryDataset;
import org.jfree.data.DatasetUtilities;
import org.jfree.data.DefaultCategoryDataset;
import org.jfree.data.DefaultPieDataset;

import cmis.database.DBPoolManager;

public class AssignRoomTongji {
	public AssignRoomTongji() {
	}

	public HashMap getAssignRoomTongji() {		// 统计房屋数量
		HashMap list = new HashMap();
        DBPoolManager db = new DBPoolManager();
        db.getConnection();
		String sql ="select count(*) as num, r.usedept from room_info r,organ o where r.usedept=o.organid  group by usedept";

		try {			
			String    s    = null;		
			Statement stmt = db.conn.createStatement();
			ResultSet rest = stmt.executeQuery(sql);			

			while (rest.next()) {
				String sql2 = "select organname from organ where organid='" + rest.getString("usedept") + "'";
				Statement stmt2 = db.conn.createStatement();
				ResultSet rest2 = stmt2.executeQuery(sql2);
				
				if(rest2.next()) {
					list.put(rest2.getString("organname"), rest.getFloat("num"));
				}	
				
				rest2.close();
				stmt2.close();
			}		
			rest.close();
			stmt.close();				
		} catch (SQLException ex) {
			System.err.println("Get OrganTree SQLException: " + ex.toString());
			ex.printStackTrace();
		} finally {
			db.freeConnection();
		}	
		
		return list;
	}	
	
	public HashMap getAssignRoomTongjiArea() {		// 统计房屋面积
		HashMap list = new HashMap();
        DBPoolManager db = new DBPoolManager();
        db.getConnection();
		String sql ="select sum(room_info.RoomArea) as area,room_info.UseDept " +
					"from buildings_info,room_info " + 
					"where buildings_info.buildingnu=room_info.buildingnu group by room_info.usedept";

		try {			
			String    s    = null;		
			Statement stmt = db.conn.createStatement();
			ResultSet rest = stmt.executeQuery(sql);			

			while (rest.next()) {
				String sql2 = "select organname from organ where organid='" + rest.getString("usedept") + "'";
				Statement stmt2 = db.conn.createStatement();
				ResultSet rest2 = stmt2.executeQuery(sql2);
				
				if(rest2.next()) {
					list.put(rest2.getString("organname"), rest.getFloat("area"));
				}	
				
				rest2.close();
				stmt2.close();
			}		
			rest.close();
			stmt.close();				
		} catch (SQLException ex) {
			System.err.println("Get OrganTree SQLException: " + ex.toString());
			ex.printStackTrace();
		} finally {
			db.freeConnection();
		}	
		
		return list;
	}
	
	public static JFreeChart getchart(HashMap hash,int a,String title, String y) throws Exception {
		
	    JFreeChart chart=null;
		int length = hash.size();
		String []deptname = new String[length];		// 日期数组
		float []deptarea = new float[length];		// 数值数组
		
		//
		Iterator areaPieKey = hash.keySet().iterator();// 键迭代
		Iterator areaPieValue = hash.values().iterator();// 值迭代
		int i=0;
		while(areaPieKey.hasNext()){
			deptname[i]=(String)areaPieKey.next();
			// System.out.println(deptname[i]);
			i++;
		}
		for(int j = 0; j < deptname.length; j++) {
			deptarea[j] = Float.parseFloat(hash.get(deptname[j]).toString());
			// System.out.println(deptarea[j]);
		}
		
		/*
		 * i=0; while(areaPieValue.hasNext()){
		 * deptarea[i]=Float.parseFloat(areaPieValue.next().toString()); i++; }
		 */
		if(a==1){
			DefaultPieDataset data = new DefaultPieDataset();
			for(int j=0;j<length;j++ )
			data.setValue(deptname[j],deptarea[j]);
			PiePlot plot = new PiePlot(data);
			chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
			chart.setBackgroundPaint(java.awt.Color.white);		// 可选,设置图片背景色
			chart.setTitle(title);								// 可选,设置图片标题
		}
		if(a==2){
			DefaultCategoryDataset dataset = new DefaultCategoryDataset();
			for(int j=0;j<length;j++ ){
				dataset.addValue(deptarea[j],"",deptname[j]);
			}
			chart = ChartFactory.createBarChart3D(
					title, // 图表标题
					"部门", // 目录轴的显示标签
					y, 		// 数值轴的显示标签
					dataset, // 数据集
					PlotOrientation.VERTICAL, // 图表方向:水平、垂直
					false, 	// 是否显示图例(对于简单的柱状图必须是false)
					false, 	// 是否生成工具
					false 	// 是否生成URL链接
					);	
		
		}
		return chart;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -