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

📄 housecontroller.java

📁 一个购房管理系统,JSF+Hibernate+Mssql2
💻 JAVA
字号:
/*
 * HouseController.java
 *
 * Created on 2007��5��29��, ����2:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.housesale.jsfbean;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.hibernate.Query;

import com.housesale.hibernate.Customer;
import com.housesale.hibernate.House;
import com.housesale.hibernate.HouseCheck;
import com.housesale.hibernate.HouseStyle;
import com.housesale.hibernate.dao.HouseDAO;

/**
 * 
 * @author MSQ
 */
public class HouseController {

	/** Creates a new instance of HouseController */
	public HouseController() {
	}

	private House house;

	private DataModel model;

	private String detailUrl;

	private HouseDAO getEntityManager() {
		HouseDAO.initialize();
		return new HouseDAO();
	}

	private int batchSize = 10;

	private int firstItem = 0;

	private String queryProperty;

	private String queryValue;

	private int itemCount = 0;

	public DataModel getModel() {
		return model;
	}

	public void setModel(DataModel model) {
		this.model = model;
	}

	public String getQueryProperty() {
		return queryProperty;
	}

	public void setQueryProperty(String queryProperty) {
		this.queryProperty = queryProperty;
	}

	public String getQueryValue() {
		return queryValue;
	}

	public void setQueryValue(String queryValue) {
		this.queryValue = queryValue;
	}

	public void setItemCount(int itemCount) {
		this.itemCount = itemCount;
	}

	public House getHouse() {
		return house;
	}

	public void setHouse(House house) {
		this.house = house;
	}

	public DataModel getDetailHouses() {
		return model;
	}

	public void setDetailHouses(Collection<House> m) {
		model = new ListDataModel(new ArrayList(m));
	}

	public String createSetup() {
		this.house = new House();
		this.house.setHouseId(0);
		return "house_create";
	}

	public String create() {

		try {

			this.getEntityManager().save(house);

			addSuccessMessage("House was successfully created.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "house_list";
	}

	public String detailSetup() {

		setHouseFromRequestParam();
		return "house_detail";
	}

	public String houseStyleImageSetup() {
		setURL();
		setHouseFromRequestParam();
		return "houseStyleImage_detail";
	}
	
	public String buildingImageSetup() {
		setURL();
		setHouseFromRequestParam();
		return "buildingImage_detail";
	}
	public String communityImageSetup() {
		setURL();
		setHouseFromRequestParam();
		return "communityImage_detail";
	}
	public String editSetup() {
		setHouseFromRequestParam();
		return "house_edit";
	}

	public String edit() {

		try {

			this.getEntityManager().update(house);

			addSuccessMessage("House was successfully updated.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "house_list";
	}

	public String destroy() {

		try {

			House house = getHouseFromRequestParam();
			this.getEntityManager().delete(house);
			addSuccessMessage("House was successfully deleted.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		} finally {

		}
		return "house_list";
	}

	public House getHouseFromRequestParam() {
		House o = null;
		try {
			o = (House) model.getRowData();
			o = this.getEntityManager().get(o.getHouseId());

		} finally {
			return o;
		}
	}

	public void setHouseFromRequestParam() {
		House house = getHouseFromRequestParam();
		setHouse(house);
	}

	public String findHouses() {

		Query q = null;
		if (this.queryProperty.equals("houseStyle.styleId")
				|| this.queryProperty.equals("houseId")) {
			try {
				Integer.valueOf(getQueryValue());
			} catch (NumberFormatException e) {
				addErrorMessage(e.getLocalizedMessage());
				return "house_list";
			}
			q = this.getEntityManager().findByProperty(getQueryProperty(),
					Integer.valueOf(getQueryValue()));
		} else if (this.queryProperty.equals("all")) {
			q = this.getEntityManager().getQuery("from House as o");
		} else {
			q = this.getEntityManager().findByProperty(getQueryProperty(),
					getQueryValue());
		}
		QueryHouse(q);
		return "house_list";
	}

	private void QueryHouse(Query q) {
		List list = q.list();
		this.setItemCount(list.size());
		q.setMaxResults(batchSize);
		q.setFirstResult(firstItem);		
		model = new ListDataModel(q.list());
		this.getEntityManager().closeCurrentSession();
	}

	public String orderSetup() {
		
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session=((HttpServletRequest) facesContext
				.getExternalContext().getRequest()).getSession();
		
		Object sysUser = session.getAttribute("sysUser");
		if(sysUser==null){
			addErrorMessage("你还没有登录,请登录后再执行下一步的操作");
			return "v_HouseInfo";
		}
		String userType = session.getAttribute("userType").toString();
		
		
		if(userType.equals("manager")){
			addErrorMessage("你是管理员不应该在这里操作,请到后台操作吧");
			return "v_HouseInfo";
		}
		if(userType.equals("customer")){			 
			HouseCheckController controller = (HouseCheckController) facesContext
			.getApplication().createValueBinding("#{housecheck}").getValue(
					facesContext);					
			Customer customer=(Customer)sysUser;
			controller.setHousecheck(new HouseCheck());
			controller.getHousecheck().setCheckId(0);
			controller.getHousecheck().setCheckTime(new Date());
			//controller.getHousecheck().setEndTime(new Date());
			controller.getHousecheck().setCheckState("1");
			controller.getHousecheck().setCustomer(customer);
			controller.getHousecheck().setHouse(getHouseFromRequestParam());
			controller.getHousecheck().setCheckPayment(controller.getHousecheck().getHouse().getHouseStyle().getPrice()/10);
			
		}
		return "customer_check";

	}

	public DataModel getHouses() {

		setURL();
		HouseDAO em = getEntityManager();
		Query q = em.getQuery("from House as o where o.houseState='\u7A7A\u95F2'");
		QueryHouse(q);
		return model;

	}

	private void setURL() {
		FacesContext facesContext = FacesContext.getCurrentInstance();
		StringBuffer host = ((HttpServletRequest) facesContext
				.getExternalContext().getRequest()).getRequestURL();
		String str = host.substring(0, host.lastIndexOf("/"));
		str = str.substring(0, str.lastIndexOf("/") + 1);
		this.setDetailUrl(str);
	}

	public static void addErrorMessage(String msg) {
		FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
				msg, msg);
		FacesContext fc = FacesContext.getCurrentInstance();
		fc.addMessage(null, facesMsg);
	}

	public static void addSuccessMessage(String msg) {
		FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO,
				msg, msg);
		FacesContext fc = FacesContext.getCurrentInstance();
		fc.addMessage("successInfo", facesMsg);
	}

	public House findHouse(Integer id) {
		House o = null;
		try {
			o = (House) getEntityManager().get(id);

		} finally {
			return o;
		}
	}

	public javax.faces.model.SelectItem[] getStyleIDs() {

		SelectItem select[] = new SelectItem[0];
		try {
			List<HouseStyle> l = (List<HouseStyle>) this.getEntityManager()
					.getQuery("from HouseStyle as o").list();
			select = new SelectItem[l.size()];
			int i = 0;
			for (HouseStyle x : l) {
				select[i++] = new SelectItem(x, x.getStyleName());
			}

		} finally {
			return select;
		}
	}

	public int getItemCount() {

		return this.itemCount;

	}

	public int getFirstItem() {
		return firstItem;
	}

	public int getLastItem() {
		int size = getItemCount();
		return firstItem + batchSize > size ? size : firstItem + batchSize;
	}

	public int getBatchSize() {
		return batchSize;
	}

	public String next() {
		if (firstItem + batchSize < getItemCount()) {
			firstItem += batchSize;
		}
		return findHouses();
	}

	public String prev() {
		firstItem -= batchSize;
		if (firstItem < 0) {
			firstItem = 0;
		}
		return findHouses();
	}

	public String getDetailUrl() {
		return detailUrl;
	}

	public void setDetailUrl(String detailUrl) {
		this.detailUrl = detailUrl;
	}

}

⌨️ 快捷键说明

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