📄 paymentcontroller.java
字号:
/*
* PaymentController.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 org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.housesale.hibernate.HouseSale;
import com.housesale.hibernate.Payment;
import com.housesale.hibernate.dao.PaymentDAO;
/**
*
* @author MSQ
*/
public class PaymentController {
/** Creates a new instance of PaymentController */
public PaymentController() {
}
private Payment payment;
private DataModel model;
private PaymentDAO getEntityManager() {
PaymentDAO.initialize();
return new PaymentDAO();
}
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 Payment getPayment() {
return payment;
}
public void setPayment(Payment payment) {
this.payment = payment;
}
public DataModel getDetailPayments() {
return model;
}
public void setDetailPayments(Collection<Payment> m) {
model = new ListDataModel(new ArrayList(m));
}
public String createSetup() {
this.payment = new Payment();
this.payment.setPaymentId(0);
this.payment.setPaymentTime(new Date());
return "payment_create";
}
public String create() {
try {
getEntityManager().save(payment);
Session s=getEntityManager().getSession();
Transaction tx=s.beginTransaction();
try {
HouseSale houseSale=payment.getHouseSale();
houseSale.setPayMoney(payment.getPayment());
houseSale.setRemain(houseSale.getSalePayment()-houseSale.getPayMoney());
houseSale.setSaleState("2");
s.update(houseSale);
tx.commit();
} catch (RuntimeException e) {
tx.rollback();
s.close();
}
addSuccessMessage("Payment was successfully created.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "payment_list";
}
public String detailSetup() {
setPaymentFromRequestParam();
return "payment_detail";
}
public String editSetup() {
setPaymentFromRequestParam();
return "payment_edit";
}
public String edit() {
try {
getEntityManager().update(payment);
addSuccessMessage("Payment was successfully updated.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "payment_list";
}
public String destroy() {
try {
Payment payment = getPaymentFromRequestParam();
getEntityManager().delete(payment);
addSuccessMessage("Payment was successfully deleted.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "payment_list";
}
public Payment getPaymentFromRequestParam() {
Payment o = null;
try {
o = (Payment) model.getRowData();
o = getEntityManager().get(o.getPaymentId());
} finally {
return o;
}
}
public void setPaymentFromRequestParam() {
Payment payment = getPaymentFromRequestParam();
setPayment(payment);
}
public String findPayments() {
Query q = null;
if (this.queryProperty.equals("houseSale.saleId")
|| this.queryProperty.equals("paymentId")) {
try {
Integer.valueOf(getQueryValue());
} catch (NumberFormatException e) {
addErrorMessage(e.getLocalizedMessage());
return "payment_list";
}
q = this.getEntityManager().findByProperty(getQueryProperty(),
Integer.valueOf(getQueryValue()));
} else if (this.queryProperty.equals("all")) {
q = this.getEntityManager().getQuery("from Payment 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 "payment_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 Payment findPayment(Integer id) {
Payment o = null;
try {
o = (Payment) getEntityManager().get(id);
} finally {
return o;
}
}
public javax.faces.model.SelectItem[] getSaleIDs() {
SelectItem select[] = null;
try {
List<HouseSale> l = (List<HouseSale>) getEntityManager().getQuery(
"from HouseSale as o").list();
select = new SelectItem[l.size()];
int i = 0;
for (HouseSale x : l) {
select[i++] = new SelectItem(x,x.getSaleId().toString());
}
} 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 findPayments();
}
public String prev() {
firstItem -= batchSize;
if (firstItem < 0) {
firstItem = 0;
}
return findPayments();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -