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

📄 customercontroller.java

📁 一个购房管理系统,JSF+Hibernate+Mssql2
💻 JAVA
字号:
/*
 * CustomerController.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.Iterator;
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.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.hibernate.Query;

import com.housesale.hibernate.Customer;
import com.housesale.hibernate.CustomerFunction;
import com.housesale.hibernate.HierarchyMenu;
import com.housesale.hibernate.dao.CustomerDAO;
import com.housesale.hibernate.dao.CustomerFunctionDAO;

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

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

	private Customer customer;

	private DataModel model;
	
	private DataModel personalModel;
	
	private String str_static = "用户注册成功后,系统将给予每个用户一个用户帐号及相应的密码,该用户帐号和密码由用户负责保管;用户应当对以其用户帐号进行的所有活动和事件负法律责任。";

	private int batchSize = 10;

	private int firstItem = 0;

	private String queryProperty;

	private String queryValue;

	private int itemCount = 0;

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

	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 Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	public DataModel getDetailCustomers() {
		return model;
	}

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

	public String createSetup() {
		this.customer = new Customer();
		this.customer.setCustomerId(0);
		this.customer.setRegisterTime(new Date());
		this.customer.setBz(this.str_static);
		return "customer_create";
	}

	public DataModel getPersonalModel() {

		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = ((HttpServletRequest) facesContext
				.getExternalContext().getRequest()).getSession();

		Customer sysUser = (Customer) session.getAttribute("sysUser");
		if (sysUser == null) {
			addErrorMessage("你还没有登录,请登录后再执行下一步的操作");
		}
		Query q = this.getEntityManager().findByProperty("customerId",
				sysUser.getCustomerId());
		List list = q.list();
		this.customer = (Customer) list.get(0);
		this.personalModel = new ListDataModel(list);
		return this.personalModel;
	}

	public String getFountionId() {

		String functionId = "";

		String queryStr = "from HierarchyMenu as model where model.menuOrder= ?";
		Query queryObject = this.getEntityManager().getQuery(queryStr);
		queryObject.setParameter(0, Integer.valueOf(2));
		Iterator it = queryObject.list().iterator();

		for (; it.hasNext();) {
			HierarchyMenu hierarchyMenu = (HierarchyMenu) it.next();
			functionId = functionId + "'" + hierarchyMenu.getId() + "',";

		}
		return functionId.substring(0, functionId.length() - 1);
	}

	public String create() {

		try {

			this.customer = getEntityManager().get(
					getEntityManager().save(customer));

			CustomerFunction customerFunction = new CustomerFunction();
			customerFunction.setId(0);
			customerFunction.setFunctionId(this.getFountionId());
			customerFunction.setCustomer(customer);

			CustomerFunctionDAO customerFuntionDAO = new CustomerFunctionDAO();
			customerFuntionDAO.save(customerFunction);

			addSuccessMessage("Customer was successfully created.");

		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());
			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "register_ok";
	}

	public String detailSetup() {
		setCustomerFromRequestParam();
		return "customer_detail";
	}

	public String editSetup() {
		setCustomerFromRequestParam();
		return "customer_edit";
	}

	public String edit() {

		try {

			getEntityManager().update(customer);

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

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

	public String personalEdit() {

		try {

			getEntityManager().update(customer);
			this.customer=getEntityManager().get(customer.getCustomerId());
			addSuccessMessage("Customer was successfully updated.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

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

	public String backToV_HouseInfo() {
		return "v_HouseInfo";
	}

	public String destroy() {

		try {

			Customer customer = getCustomerFromRequestParam();
			getEntityManager().delete(customer);

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

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

	public Customer getCustomerFromRequestParam() {

		Customer o = null;
		try {
			o = (Customer) model.getRowData();
			o = getEntityManager().get(o.getCustomerId());

		} finally {
			return o;
		}
	}

	public void setCustomerFromRequestParam() {
		Customer customer = getCustomerFromRequestParam();
		setCustomer(customer);
	}

	public String findCustomers() {

		Query q = null;
		if (this.queryProperty.equals("customerId")
				|| this.queryProperty.equals("customerId")) {
			try {
				Integer.valueOf(getQueryValue());
			} catch (NumberFormatException e) {
				addErrorMessage(e.getLocalizedMessage());
				return "customer_list";
			}
			q = this.getEntityManager().findByProperty(getQueryProperty(),
					Integer.valueOf(getQueryValue()));
		} else if (this.queryProperty.equals("all")) {
			q = this.getEntityManager().getQuery("from Customer as o");
		} else {
			q = this.getEntityManager().findByProperty(getQueryProperty(),
					getQueryValue());
		}
		List list = q.list();
		this.setItemCount(list.size());
		q.setMaxResults(batchSize);
		q.setFirstResult(firstItem);		
		model = new ListDataModel(q.list());
		this.getEntityManager().closeCurrentSession();
		return "customer_list";
	}

	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 Customer findCustomer(Integer id) {

		Customer o = null;
		try {
			o = (Customer) getEntityManager().get(id);

		} finally {
			return o;
		}
	}

	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 findCustomers();
	}

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

	public void setPersonalModel(DataModel personalModel) {
		this.personalModel = personalModel;
	}

}

⌨️ 快捷键说明

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