📄 customercontroller.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 + -