com.ut.tekir.general.PosCommisionBrowseBean.java Source code

Java tutorial

Introduction

Here is the source code for com.ut.tekir.general.PosCommisionBrowseBean.java

Source

/*
 * Copyleft 2007-2011 Ozgur Yazilim A.S.
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 * http://www.gnu.org/licenses/lgpl.html
 *
 * www.tekir.com.tr
 * www.ozguryazilim.com.tr
 *
 */

package com.ut.tekir.general;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

import javax.ejb.Stateful;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.Scope;

import com.ut.tekir.entities.TradeAction;
import com.ut.tekir.entities.shp.TekirShipmentNote;
import com.ut.tekir.entities.PosCommision;
import com.ut.tekir.entities.PosCommisionDetail;
import com.ut.tekir.framework.BrowserBase;
import com.ut.tekir.framework.CalendarManager;
import com.ut.tekir.stock.ShipmentFilterModel;

/**
 *
 * @author rustem
 */
@Stateful
@Name("posCommisionBrowse")
@Scope(ScopeType.SESSION)
public class PosCommisionBrowseBean extends BrowserBase<PosCommision, PosCommisionFilterModel>
        implements PosCommisionBrowse<PosCommision, PosCommisionFilterModel> {

    @In
    CalendarManager calendarManager;

    @Override
    public PosCommisionFilterModel newFilterModel() {
        PosCommisionFilterModel fm = new PosCommisionFilterModel();
        fm.setStartDate(calendarManager.getLastTenDay());
        fm.setEndDate(calendarManager.getCurrentDate());
        return fm;
    }

    @Override
    public DetachedCriteria buildCriteria() {

        DetachedCriteria crit = DetachedCriteria.forClass(PosCommision.class);

        //crit.createAlias("detailList", "detailList");
        crit.createAlias("pos", "pos");
        crit.createAlias("pos.bank", "bank");
        crit.createAlias("pos.bankBranch", "bankBranch");
        crit.createAlias("pos.bankAccount", "bankAccount");
        crit.setProjection(Projections.projectionList()
                //                .add(Projections.property("detailList.month"), "month")
                //              .add(Projections.property("detailList.rate"), "rate")
                //                .add(Projections.property("detailList.valor"), "valor")
                //                .add(Projections.property("detailList"), "detailList")
                .add(Projections.property("pos"), "pos").add(Projections.property("id"), "id")
                .add(Projections.property("pos.bank"), "bank")
                .add(Projections.property("pos.bankBranch"), "bankBranch")
                .add(Projections.property("pos.bankAccount"), "bankAccount")
                .add(Projections.property("startDate"), "startDate").add(Projections.property("endDate"), "endDate")

        ).setResultTransformer(Transformers.aliasToBean(PosCommisionFilterModel.class));

        if (filterModel.getBank() != null) {
            crit.add(Restrictions.eq("pos.bank", filterModel.getBank()));
        }

        if (filterModel.getBankBranch() != null) {
            crit.add(Restrictions.eq("pos.bankBranch", filterModel.getBankBranch()));
        }

        if (filterModel.getBankAccount() != null) {
            crit.add(Restrictions.eq("pos.bankAccount", filterModel.getBankAccount()));
        }

        if (filterModel.getPos() != null) {
            crit.add(Restrictions.eq("this.pos", filterModel.getPos()));
        }

        //        if (filterModel.getMonth() != null) {
        //            crit.add(Restrictions.eq("detailList.month", filterModel.getMonth()));
        //        }

        if (filterModel.getStartDate() != null) {
            crit.add(Restrictions.ge("this.startDate", filterModel.getStartDate()));
        }

        if (filterModel.getEndDate() != null) {
            crit.add(Restrictions.le("this.endDate", filterModel.getEndDate()));
        }

        crit.addOrder(Order.desc("this.id"));

        return crit;
    }

    @Observer("refreshBrowser:com.ut.tekir.entities.PosCommision")
    public void refreshResults() {
        log.debug("Uyar geldi resultSet tazeleniyor");
        if (getEntityList() == null || getEntityList().isEmpty()) {
            return;
        }
        search();
    }

    @SuppressWarnings("unchecked")
    public void pdf() {
        Map params = new HashMap();

        execPdf("irsaliye_listesi", "Ali rsaliye Listesi", params);

    }

    @SuppressWarnings("unchecked")
    public void detailedPdf() {
        Map params = new HashMap();

        execPdf("alis-satis-irsaliye", "Ali rsaliye Detayi", params);
    }

    public void clearBankAccount() {
        filterModel.setBankBranch(null);
        filterModel.setBankAccount(null);
    }

}