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

📄 paymentcontroller.java

📁 一个购房管理系统,JSF+Hibernate+Mssql2
💻 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 + -