Example usage for org.hibernate.criterion Restrictions ne

List of usage examples for org.hibernate.criterion Restrictions ne

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions ne.

Prototype

public static SimpleExpression ne(String propertyName, Object value) 

Source Link

Document

Apply a "not equal" constraint to the named property

Usage

From source file:com.selfsoft.business.service.impl.TbFixShareServiceImpl.java

public List<TbFixShare> findByEntity(TbFixShare tbFixShare) {
    DetachedCriteria detachedCriteria = DetachedCriteria.forClass(TbFixShare.class);
    if (null != tbFixShare) {
        if (null != tbFixShare.getId()) {
            detachedCriteria.add(Restrictions.eq("id", tbFixShare.getId()));
        }//from w  ww  .  j a  v a2  s  .co  m
        if (tbFixShare.getTmUser() != null) {
            detachedCriteria.createAlias("tmUser", "tmUser");
            if (StringUtils.isNotBlank(tbFixShare.getTmUser().getUserRealName())) {
                detachedCriteria.add(Restrictions.like("tmUser.userRealName",
                        "%" + tbFixShare.getTmUser().getUserRealName() + "%"));
            }

            if (tbFixShare.getTmUser().getId() != null) {
                detachedCriteria.add(Restrictions.eq("tmUser.id", tbFixShare.getTmUser().getId()));
            }
        }

        if (tbFixShare.getTbFixEntrustContent() != null) {

            detachedCriteria.createAlias("tbFixEntrustContent", "tbFixEntrustContent");

            if (tbFixShare.getTbFixEntrustContent().getTbWorkingInfo() != null) {

                detachedCriteria.createAlias("tbFixEntrustContent.tbWorkingInfo", "tbWorkingInfo");

                if (StringUtils
                        .isNotBlank(tbFixShare.getTbFixEntrustContent().getTbWorkingInfo().getStationCode())) {
                    detachedCriteria.add(Restrictions.like("tbWorkingInfo.stationCode", "%"
                            + tbFixShare.getTbFixEntrustContent().getTbWorkingInfo().getStationCode() + "%"));
                }

                if (StringUtils
                        .isNotBlank(tbFixShare.getTbFixEntrustContent().getTbWorkingInfo().getStationName())) {
                    detachedCriteria.add(Restrictions.like("tbWorkingInfo.stationName", "%"
                            + tbFixShare.getTbFixEntrustContent().getTbWorkingInfo().getStationName() + "%"));
                }

            }

            if (tbFixShare.getTbFixEntrustContent().getTbFixEntrust() != null) {
                detachedCriteria.createAlias("tbFixEntrustContent.tbFixEntrust", "tbFixEntrust");
                detachedCriteria.add(Restrictions.ne("tbFixEntrust.isvalid", 0L));
                if (StringUtils
                        .isNotBlank(tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getEntrustCode())) {
                    detachedCriteria.add(Restrictions.like("tbFixEntrust.entrustCode", "%"
                            + tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getEntrustCode() + "%"));
                }

                if (null != tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getFixDateStart()) {
                    detachedCriteria.add(Restrictions.ge("tbFixEntrust.fixDate",
                            tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getFixDateStart()));
                }
                if (null != tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getFixDateEnd()) {
                    detachedCriteria.add(Restrictions.le("tbFixEntrust.fixDate", CommonMethod.addDate(
                            tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getFixDateEnd(), 1)));
                }

                if (tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getTbCarInfo() != null) {
                    detachedCriteria.createAlias("tbFixEntrustContent.tbFixEntrust.tbCarInfo", "tbCarInfo");

                    if (StringUtils.isNotBlank(tbFixShare.getTbFixEntrustContent().getTbFixEntrust()
                            .getTbCarInfo().getLicenseCode())) {
                        detachedCriteria.add(Restrictions.like("tbCarInfo.licenseCode",
                                "%" + tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getTbCarInfo()
                                        .getLicenseCode() + "%"));
                    }
                }

                /*  */
                if (tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getBalanceDateBegin() != null
                        || tbFixShare.getTbFixEntrustContent().getTbFixEntrust().getBalanceDateEnd() != null) {
                    List entrustIdList = tbBusinessBalanceDao
                            .getTbEntrustByBalanceDate(tbFixShare.getTbFixEntrustContent().getTbFixEntrust());
                    if (entrustIdList != null && entrustIdList.size() == 0) {
                        return null;
                    }
                    detachedCriteria.add(Restrictions.in("tbFixEntrust.id", entrustIdList));
                }
                /*  */
            }
        }
    } else {
        detachedCriteria.createAlias("tbFixEntrustContent", "tbFixEntrustContent");
        detachedCriteria.createAlias("tbFixEntrustContent.tbFixEntrust", "tbFixEntrust");
        detachedCriteria.add(Restrictions.ne("tbFixEntrust.isvalid", 0L));

    }
    detachedCriteria.addOrder(Order.asc("tmUser.id"));
    return tbFixShareDao.findByCriteria(detachedCriteria, tbFixShare);
}

From source file:com.thinkgem.jeesite.modules.pms.service.UserService.java

License:Open Source License

public Page<User> findUser(Page<User> page, User user) {
    DetachedCriteria dc = userDao.createDetachedCriteria();
    User currentUser = UserUtils.getUser();
    dc.createAlias("company", "company");
    dc.createAlias("office", "office");

    List<House> houseList = HouseUtils.getHousesList(user.getHouseIds());
    List<String> userIdList = HouseUtils.getUsersByHouseIds(houseList);

    //      System.out.println("HouseUtils.getHousesList>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+houseList.size());

    //      user.setHouseList(houseList);

    if (userIdList.size() > 0) {
        dc.add(Restrictions.in("id", userIdList));
    }/*from  w  w w . ja v  a2 s.co m*/

    if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }

    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }

    //      dc.add(Restrictions.like("userType", "2")); 
    System.out.println("user.getUserType() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + user.getUserType());
    if (StringUtils.isNotEmpty(user.getUserType())) {
        dc.add(Restrictions.eq("userType", user.getUserType()));
    }

    // ????
    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.ne("id", "1"));
    }

    dc.add(dataScopeFilter(currentUser, "office", ""));

    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("phone", "%" + user.getPhone() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("mobile", "%" + user.getMobile() + "%"));
    }

    if (!StringUtils.isNotEmpty(page.getOrderBy())) {
        dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("name"));
    }

    //      dc.addOrder(Order.asc("loginName"));

    dc.add(Restrictions.eq(User.FIELD_DEL_FLAG, User.DEL_FLAG_NORMAL));

    return userDao.find(page, dc);
}

From source file:com.thinkgem.jeesite.modules.pms.service.UserService.java

License:Open Source License

public List<User> findAllUser(User user) {
    DetachedCriteria dc = userDao.createDetachedCriteria();
    User currentUser = UserUtils.getUser();

    dc.createAlias("company", "company");
    dc.createAlias("office", "office");

    List<House> houseList = HouseUtils.getHousesList(user.getHouseIds());
    List<String> userIdList = HouseUtils.getUsersByHouseIds(houseList);

    if (userIdList.size() > 0) {
        dc.add(Restrictions.in("id", userIdList));
    }//w  w w. ja  va2  s. co  m

    if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }

    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }

    //      dc.add(Restrictions.like("userType", "2")); 

    if (StringUtils.isNotEmpty(user.getUserType())) {
        dc.add(Restrictions.eq("userType", user.getUserType()));
    }

    // ????
    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.ne("id", "1"));
    }

    dc.add(dataScopeFilter(currentUser, "office", ""));

    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("phone", "%" + user.getPhone() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("mobile", "%" + user.getMobile() + "%"));
    }

    //      if (!StringUtils.isNotEmpty(page.getOrderBy())){
    //         dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("name"));
    //      }

    //      dc.addOrder(Order.asc("loginName"));

    dc.add(Restrictions.eq(User.FIELD_DEL_FLAG, User.DEL_FLAG_NORMAL));

    return userDao.find(dc);
}

From source file:com.tm.main.GraphUI.java

private void renderTable() {
    DefaultTableModel dtm = new DefaultTableModel();
    dtm.addColumn("User");
    dtm.addColumn("Project");
    dtm.addColumn("Task");
    TaskManagerService lTaskManagerService = new TaskManagerServiceImpl();

    Object[] columns = getTableHeader();

    for (int i = 0; i < columns.length; i++) {
        dtm.addColumn(new SimpleDateFormat("dd.MMM.yy").format(columns[i]));
    }// w ww.  j  ava  2s  .  com

    List<Criterion> criteria = new ArrayList<Criterion>();

    Criterion c2 = Restrictions.ne("status", "-1");
    criteria.add(c2);

    Criterion c3 = Restrictions.isNotNull("assignee");
    criteria.add(c3);

    Criterion c4 = Restrictions.ne("assignee", "-1");
    criteria.add(c4);

    List<Order> listOrders = new ArrayList<Order>();
    Order objOrderByEmployee = Order.asc("assignee");
    listOrders.add(objOrderByEmployee);

    List<TaskMaster> assignments = lTaskManagerService.getAllTask(criteria, listOrders);

    for (int j = 0; j < assignments.size(); j++) {
        Object[] rowData = getRow(assignments.get(j));
        Object[] row = getFormatedRow(columns, rowData);

        if (!isBlankRow(row)) {
            row[0] = SystemUI.mUserMasterData.get(assignments.get(j).getAssignee());
            row[1] = SystemUI.mProjectMasterData.get(assignments.get(j).getProjectName());
            row[2] = assignments.get(j).getTaskReference();
            dtm.addRow(getBlankRow(columns));
            dtm.addRow(row);

        }

    }
    dtm.addRow(getBlankRow(columns));

    jTable1.setEnabled(false);
    jTable1.setShowGrid(false);
    jTable1.setIntercellSpacing(new Dimension(0, 0));
    jTable1.setModel(dtm);

    Map<String, Color> mMapColors = new HashMap<String, Color>();
    //        mMapColors.put("ROHIT_2", Color.blue);
    //        mMapColors.put("ROHIT_1", Color.red);
    //        mMapColors.put("ROHIT_3", Color.yellow);

    mMapColors = getGraphColor(SystemUI.mUserMasterData);

    jTable1.getColumnModel().getColumn(0).setCellRenderer(new CellGraphDataRenderer(mMapColors));
    jTable1.getColumnModel().getColumn(1).setCellRenderer(new CellGraphDataRenderer(mMapColors));
    jTable1.getColumnModel().getColumn(2).setCellRenderer(new CellGraphDataRenderer(mMapColors));
    for (int i = 0; i < columns.length; i++) {
        jTable1.getColumnModel().getColumn(i + 3).setCellRenderer(new CellGraphDataRenderer(mMapColors));
    }

    UtilService.self().setColumnSize(0, 100, jTable1);
    UtilService.self().setColumnSize(1, 100, jTable1);
    UtilService.self().setColumnSize(2, 100, jTable1);
    jTable1.validate();

    DefaultTableCellRenderer cellRenderer = (DefaultTableCellRenderer) jTable1.getCellRenderer(0, 0);
    cellRenderer.setHorizontalAlignment(SwingConstants.CENTER);
    cellRenderer.setVerticalAlignment(SwingConstants.TOP);

}

From source file:com.tysanclan.site.projectewok.entities.dao.hibernate.BugDAOImpl.java

License:Open Source License

@Override
protected Criteria createCriteria(SearchFilter<Bug> filter) {
    Criteria criteria = getSession().createCriteria(Bug.class);

    if (filter instanceof BugFilter) {
        BugFilter cf = (BugFilter) filter;

        if (cf.getDescription() != null) {
            criteria.add(Restrictions.eq("description", cf.getDescription()));
        }//from w ww.j av  a 2  s. c  o  m
        if (!cf.getReportTypes().isEmpty()) {
            criteria.add(Restrictions.in("reportType", cf.getReportTypes()));
        }
        if (!cf.getAllowedStatus().isEmpty()) {
            criteria.add(Restrictions.in("status", cf.getAllowedStatus()));
        }
        if (cf.getExclude() != null) {
            criteria.add(Restrictions.ne("id", cf.getExclude()));
        }
    }

    return criteria;
}

From source file:com.ust.coppel.incentivos.repository.impl.IncReglasNegocioRepositoryImpl.java

@Transactional
@Override/*from  w  w  w  .  ja  v a2  s. c om*/
public List<IncReglasNegocio> findAll(IncGruposReglas grupos) {
    Session session = sessionFactory.getCurrentSession();

    Criteria criteria = session.createCriteria(IncReglasNegocio.class);

    criteria.add(Restrictions.eq("incGruposReglas.iduGrupo", grupos.getIduGrupo()));
    criteria.add(Restrictions.ne("clvEstatus", 9));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    List<IncReglasNegocio> aux = criteria.list();

    return aux;
}

From source file:com.ut.healthelink.dao.impl.transactionInDAOImpl.java

@SuppressWarnings("unchecked")
@Override/*from  ww w.  j av  a2s. c o  m*/
@Transactional
public List<batchUploads> getuploadedBatches(int userId, int orgId, Date fromDate, Date toDate,
        List<Integer> excludedStatusIds) throws Exception {

    /* Get a list of connections the user has access to */
    Criteria connections = sessionFactory.getCurrentSession()
            .createCriteria(configurationConnectionSenders.class);
    connections.add(Restrictions.eq("userId", userId));
    List<configurationConnectionSenders> userConnections = connections.list();

    List<Integer> configIdList = new ArrayList<Integer>();

    if (userConnections.isEmpty()) {
        configIdList.add(0);
    } else {

        for (configurationConnectionSenders userConnection : userConnections) {

            Criteria connection = sessionFactory.getCurrentSession()
                    .createCriteria(configurationConnection.class);
            connection.add(Restrictions.eq("id", userConnection.getconnectionId()));

            configurationConnection connectionInfo = (configurationConnection) connection.uniqueResult();

            if (!configIdList.contains(connectionInfo.getsourceConfigId())) {
                configIdList.add(connectionInfo.getsourceConfigId());
            }
        }
    }
    // multiconfig is 0 so we need to add
    configIdList.add(0);
    Criteria findBatches = sessionFactory.getCurrentSession().createCriteria(batchUploads.class);
    findBatches.add(Restrictions.eq("orgId", orgId));
    findBatches.add(Restrictions.not(Restrictions.in("statusId", excludedStatusIds)));
    findBatches.add(Restrictions.in("configId", configIdList));
    findBatches.add(Restrictions.ne("transportMethodId", 2));

    if (!"".equals(fromDate)) {
        findBatches.add(Restrictions.ge("dateSubmitted", fromDate));
    }

    if (!"".equals(toDate)) {
        findBatches.add(Restrictions.lt("dateSubmitted", toDate));
    }

    findBatches.addOrder(Order.desc("dateSubmitted"));

    return findBatches.list();

}

From source file:com.ut.healthelink.dao.impl.transactionOutDAOImpl.java

/**
 * The 'findInboxBatches' will return a list of received batches for the logged in user.
 *
 * @param userId The id of the logged in user trying to view received batches
 * @param orgId The id of the organization the user belongs to
 *
 * @return The function will return a list of received batches
 *///from w  w  w  .  ja v a2s.c  o  m
@Transactional
@SuppressWarnings("UnusedAssignment")
public List<batchDownloads> findInboxBatches(int userId, int orgId, int fromOrgId, int messageTypeId,
        Date fromDate, Date toDate) throws Exception {
    int firstResult = 0;

    /* Get a list of connections the user has access to */
    Criteria connections = sessionFactory.getCurrentSession()
            .createCriteria(configurationConnectionReceivers.class);
    connections.add(Restrictions.eq("userId", userId));
    List<configurationConnectionReceivers> userConnections = connections.list();

    List<Integer> messageTypeList = new ArrayList<Integer>();
    List<Integer> sourceOrgList = new ArrayList<Integer>();

    if (userConnections.isEmpty()) {
        messageTypeList.add(0);
        sourceOrgList.add(0);
    } else {

        for (configurationConnectionReceivers userConnection : userConnections) {
            Criteria connection = sessionFactory.getCurrentSession()
                    .createCriteria(configurationConnection.class);
            connection.add(Restrictions.eq("id", userConnection.getconnectionId()));

            configurationConnection connectionInfo = (configurationConnection) connection.uniqueResult();

            /* Get the message type for the configuration */
            Criteria targetconfigurationQuery = sessionFactory.getCurrentSession()
                    .createCriteria(configuration.class);
            targetconfigurationQuery.add(Restrictions.eq("id", connectionInfo.gettargetConfigId()));

            configuration configDetails = (configuration) targetconfigurationQuery.uniqueResult();

            /* Add the message type to the message type list */
            if (messageTypeId == 0) {
                messageTypeList.add(configDetails.getMessageTypeId());
            } else {
                if (messageTypeId == configDetails.getMessageTypeId()) {
                    messageTypeList.add(configDetails.getMessageTypeId());
                }
            }

            /* Get the list of source orgs */
            Criteria sourceconfigurationQuery = sessionFactory.getCurrentSession()
                    .createCriteria(configuration.class);
            sourceconfigurationQuery.add(Restrictions.eq("id", connectionInfo.getsourceConfigId()));
            configuration sourceconfigDetails = (configuration) sourceconfigurationQuery.uniqueResult();

            /* Add the target org to the target organization list */
            if (fromOrgId == 0) {
                sourceOrgList.add(sourceconfigDetails.getorgId());
            } else {
                if (fromOrgId == sourceconfigDetails.getorgId()) {
                    sourceOrgList.add(sourceconfigDetails.getorgId());
                }
            }
        }
    }

    if (messageTypeList.isEmpty()) {
        messageTypeList.add(0);
    }

    /* Get a list of available batches */
    Criteria batchSummaries = sessionFactory.getCurrentSession().createCriteria(batchDownloadSummary.class);
    batchSummaries.add(Restrictions.eq("targetOrgId", orgId));
    batchSummaries.add(Restrictions.in("messageTypeId", messageTypeList));
    batchSummaries.add(Restrictions.in("sourceOrgId", sourceOrgList));
    List<batchDownloadSummary> batchDownloadSummaryList = batchSummaries.list();

    List<Integer> batchIdList = new ArrayList<Integer>();

    if (batchDownloadSummaryList.isEmpty()) {
        batchIdList.add(0);
    } else {

        for (batchDownloadSummary summary : batchDownloadSummaryList) {
            batchIdList.add(summary.getbatchId());
        }

    }

    Criteria findBatches = sessionFactory.getCurrentSession().createCriteria(batchDownloads.class);
    findBatches.add(Restrictions.in("id", batchIdList));
    findBatches.add(Restrictions.eq("transportMethodId", 2));
    findBatches.add(Restrictions.and(Restrictions.ne("statusId", 29), /* Submission Processed Errored */
            Restrictions.ne("statusId", 30), /* Target Creation Errored */
            Restrictions.ne("statusId", 32) /* Submission Cancelled */
    ));

    if (!"".equals(fromDate) && fromDate != null) {
        findBatches.add(Restrictions.ge("dateCreated", fromDate));
    }

    if (!"".equals(toDate) && toDate != null) {
        findBatches.add(Restrictions.lt("dateCreated", toDate));
    }

    findBatches.addOrder(Order.desc("dateCreated"));

    return findBatches.list();

}

From source file:com.ut.tekir.documents.DocumentBrowseBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {
    DetachedCriteria crit = DetachedCriteria.forClass(DocumentFile.class);

    if (filterModel.getFirstDate() != null) {

        crit.add(Restrictions.ge("updateDate", filterModel.getFirstDate()));
    }/*from ww  w  . j a  va 2  s . c o  m*/

    if (filterModel.getSecondDate() != null) {

        crit.add(Restrictions.le("updateDate", filterModel.getSecondDate()));
    }

    if (filterModel.getName() != null && filterModel.getName().length() > 0) {
        crit.add(Restrictions.like("name", filterModel.getName() + "%"));
    }

    if (filterModel.getStatus() != DocumentFilterModel.Status.All) {

        if (filterModel.getStatus() == DocumentFilterModel.Status.Active) {
            crit.add(Restrictions.eq("active", true));
        } else {
            crit.add(Restrictions.eq("active", false));
        }
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Genel) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Genel));
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Genelge) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Genelge));
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Haber) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Haber));
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Sozlesme) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Sozlesme));
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Teblig) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Teblig));
    }

    if (filterModel.getDocType() == DocumentFilterModel.DocType.Basvuru) {
        crit.add(Restrictions.eq("docType", DocumentFilterModel.DocType.Basvuru));
    } else if (filterModel.getDocType() != DocumentFilterModel.DocType.Hepsi) {
        crit.add(Restrictions.ne("docType", DocumentFilterModel.DocType.Basvuru));
    }

    crit.addOrder(Order.desc("updateDate"));

    return crit;
}

From source file:com.ut.tekir.finance.ChequeChangeLastStatusBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {

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

    crit.createAlias("this.history", "history");

    if (isNotEmpty(filterModel.getReferenceNo())) {
        crit.add(Restrictions.eq("referenceNo", filterModel.getReferenceNo()));
    }//from   w w  w .  j a va  2s.  co m

    if (isNotEmpty(filterModel.getBankName())) {
        crit.add(Restrictions.like("bankName", filterModel.getBankName() + "%"));
    }

    if (isNotEmpty(filterModel.getBankBranch())) {
        crit.add(Restrictions.like("bankBranch", filterModel.getBankBranch() + "%"));
    }

    if (filterModel.getContact() != null) {
        crit.add(Restrictions.eq("contact", filterModel.getContact()));
    }

    if (isNotEmpty(filterModel.getChequeOwner())) {
        crit.add(Restrictions.like("chequeOwner", filterModel.getChequeOwner() + "%"));
    }

    if (filterModel.getBeginDate() != null) {
        crit.add(Restrictions.ge("history.date", filterModel.getBeginDate()));
    }

    if (filterModel.getLastStatus() != null) {
        crit.add(Restrictions.eq("lastStatus", filterModel.getLastStatus()));
        crit.add(Restrictions.ne("previousStatus", filterModel.getLastStatus()));
    }

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

    if (getIsClientCheque() != null) {
        crit.add(Restrictions.eq("clientCheque", getIsClientCheque()));
    }

    crit.add(Restrictions.eqProperty("history.status", "this.lastStatus"));

    return crit;
}