Example usage for com.liferay.portal.kernel.util StringPool LIKE

List of usage examples for com.liferay.portal.kernel.util StringPool LIKE

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util StringPool LIKE.

Prototype

String LIKE

To view the source code for com.liferay.portal.kernel.util StringPool LIKE.

Click Source Link

Usage

From source file:org.opencps.dossiermgt.service.persistence.DossierFileFinderImpl.java

License:Open Source License

/**
 * @param groupId//from   w w  w.ja  va  2s  .c  o m
 * @param keywords
 * @param dossierTemplateId
 * @param dossierFileType
 * @param fileEntryId
 * @param andOperator
 * @return
 */
private int countDossierFile(long groupId, String[] keywords, long dossierTemplateId, int dossierFileType,
        long fileEntryId, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_DOSSIER_FILE_TEMPLATE);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.displayName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.dossierFileNo)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_dossier_file.displayName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier_file.dossierFileNo) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
        }

        if (dossierTemplateId != 0) {
        } else {
            sql = StringUtil.replace(sql, "AND (opencps_dossierpart.dossierTemplateId = ?)", StringPool.BLANK);
        }

        if (dossierFileType != DossierMgtUtil.DOSSIERFILETYPE_ALL) {
        } else {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.dossierFileType = ?)", StringPool.BLANK);
        }

        if (fileEntryId < 0) {
            sql = StringUtil.replace(sql,
                    " AND (opencps_dossier_file.fileEntryId IS NOT NULL AND opencps_dossier_file.fileEntryId = ?)",
                    StringPool.BLANK);
        } else {

        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (fileEntryId > 0) {
            qPos.add(fileEntryId);
        }

        if (dossierFileType != DossierMgtUtil.DOSSIERFILETYPE_ALL) {
            qPos.add(dossierFileType);
        }

        if (dossierTemplateId > 0) {
            qPos.add(dossierTemplateId);
        }
        Iterator<Integer> itr = q.iterate();

        if (itr.hasNext()) {
            Integer count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;

    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return 0;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFileFinderImpl.java

License:Open Source License

/**
 * @param groupId//w  w w.  j a  v a2  s.  c  o  m
 * @param ownerUserId
 * @param ownerOrganizationId
 * @param keywords
 * @param templateFileNo
 * @param removed
 * @param partType
 * @param original
 * @param andOperator
 * @return
 */
private int countDossierFileAdvance(long groupId, long ownerUserId, long ownerOrganizationId, String[] keywords,
        String templateFileNo, int removed, int partType, int original, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_DOSSIER_FILE_ADVANCE);

        if (partType < 0) {
            sql = StringUtil.replace(sql, "AND opencps_dossierpart.dossierpartId = ?", StringPool.BLANK);
        }

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.displayName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.dossierFileNo)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_dossier_file.displayName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier_file.dossierFileNo) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
        }

        if (Validator.isNull(templateFileNo)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.templateFileNo = ?)", StringPool.BLANK);
        }

        if (ownerUserId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerUserId = ?)", StringPool.BLANK);
        }

        if (ownerOrganizationId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerOrganizationId = ?)",
                    StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        if (partType >= 0) {
            qPos.add(partType);
        }

        qPos.add(groupId);

        qPos.add(removed);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(templateFileNo)) {
            qPos.add(templateFileNo);
        }

        qPos.add(original);

        if (ownerUserId > 0) {
            qPos.add(ownerUserId);
        }

        if (ownerOrganizationId > 0) {
            qPos.add(ownerOrganizationId);
        }

        Iterator<Integer> itr = q.iterate();

        if (itr.hasNext()) {
            Integer count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;

    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return 0;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFileFinderImpl.java

License:Open Source License

/**
 * @param groupId/* w  w  w.j  av a  2s  .com*/
 * @param keywords
 * @param templateFileNo
 * @param removed
 * @param start
 * @param end
 * @param obc
 * @param andOperator
 * @return
 */
private List<DossierFile> searchDossierFile(long groupId, long ownerUserId, long ownerOrganizationId,
        String[] keywords, String templateFileNo, int removed, int start, int end, OrderByComparator obc,
        boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(SEARCH_DOSSIER_FILE_BY_G_K_T_R);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.displayName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.dossierFileNo)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_dossier_file.displayName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier_file.dossierFileNo) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
        }

        if (Validator.isNull(templateFileNo)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.templateFileNo = ?)", StringPool.BLANK);
        }

        if (ownerUserId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerUserId = ?)", StringPool.BLANK);
        }

        if (ownerOrganizationId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerOrganizationId = ?)",
                    StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);
        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("DossierFile", DossierFileImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        qPos.add(removed);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(templateFileNo)) {
            qPos.add(templateFileNo);
        }

        if (ownerUserId > 0) {
            qPos.add(ownerUserId);
        }

        if (ownerOrganizationId > 0) {
            qPos.add(ownerOrganizationId);
        }

        return (List<DossierFile>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return null;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFileFinderImpl.java

License:Open Source License

/**
 * @param groupId//from   w w  w . j  av a  2  s. c  o m
 * @param keywords
 * @param dossierTemplateId
 * @param dossierFileType
 * @param fileEntryId
 * @param start
 * @param end
 * @param obc
 * @param andOperator
 * @return
 */
private List<DossierFile> searchDossierFile(long groupId, String[] keywords, long dossierTemplateId,
        int dossierFileType, long fileEntryId, int start, int end, OrderByComparator obc, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(SEARCH_DOSSIER_FILE_TEMPLATE);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.displayName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.dossierFileNo)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_dossier_file.displayName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier_file.dossierFileNo) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
        }

        if (dossierTemplateId != 0) {
        } else {
            sql = StringUtil.replace(sql, "AND (opencps_dossierpart.dossierTemplateId = ?)", StringPool.BLANK);
        }

        if (dossierFileType != DossierMgtUtil.DOSSIERFILETYPE_ALL) {
        } else {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.dossierFileType = ?)", StringPool.BLANK);
        }

        if (fileEntryId < 0) {
            sql = StringUtil.replace(sql,
                    " AND (opencps_dossier_file.fileEntryId IS NOT NULL AND opencps_dossier_file.fileEntryId = ?)",
                    StringPool.BLANK);
        } else {

        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);
        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("DossierFile", DossierFileImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (fileEntryId > 0) {
            qPos.add(fileEntryId);
        }

        if (dossierFileType != DossierMgtUtil.DOSSIERFILETYPE_ALL) {
            qPos.add(dossierFileType);
        }

        if (dossierTemplateId > 0) {
            qPos.add(dossierTemplateId);
        }
        return (List<DossierFile>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return null;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFileFinderImpl.java

License:Open Source License

/**
 * @param groupId//w  ww  .j a  v  a  2  s. c om
 * @param ownerUserId
 * @param ownerOrganizationId
 * @param keywords
 * @param templateFileNo
 * @param removed
 * @param partType
 * @param original
 * @param start
 * @param end
 * @param obc
 * @param andOperator
 * @return
 */
private List<DossierFileBean> searchDossierFileAdvance(long groupId, long ownerUserId, long ownerOrganizationId,
        String[] keywords, String templateFileNo, int removed, int partType, int original, int start, int end,
        OrderByComparator obc, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(SEARCH_DOSSIER_FILE_ADVANCE);

        if (partType < 0) {
            sql = StringUtil.replace(sql, "AND opencps_dossierpart.dossierpartId = ?", StringPool.BLANK);
        }

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.displayName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier_file.dossierFileNo)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_dossier_file.displayName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier_file.dossierFileNo) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
        }

        if (Validator.isNull(templateFileNo)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.templateFileNo = ?)", StringPool.BLANK);
        }

        if (ownerUserId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerUserId = ?)", StringPool.BLANK);
        }

        if (ownerOrganizationId <= 0) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier_file.ownerOrganizationId = ?)",
                    StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);
        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("DossierFile", DossierFileImpl.class);

        q.addScalar("serviceInfoId", Type.LONG);
        q.addScalar("receptionNo", Type.STRING);
        q.addScalar("partType", Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        if (partType >= 0) {
            qPos.add(partType);
        }

        qPos.add(groupId);

        qPos.add(removed);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(templateFileNo)) {
            qPos.add(templateFileNo);
        }

        qPos.add(original);

        if (ownerUserId > 0) {
            qPos.add(ownerUserId);
        }

        if (ownerOrganizationId > 0) {
            qPos.add(ownerOrganizationId);
        }

        Iterator<Object[]> itr = (Iterator<Object[]>) QueryUtil.list(q, getDialect(), start, end).iterator();

        List<DossierFileBean> dossierFileBeans = new ArrayList<DossierFileBean>();

        if (itr.hasNext()) {
            while (itr.hasNext()) {
                DossierFileBean dossierFileBean = new DossierFileBean();

                Object[] objects = itr.next();

                DossierFile dossierFile = (DossierFile) objects[0];

                long serviceInfoId = GetterUtil.getLong(objects[1]);

                String receptionNo = (String) objects[2];

                int dossierPartType = GetterUtil.getInteger(objects[3]);

                dossierFileBean.setDossierFileId(dossierFile.getDossierFileId());

                dossierFileBean.setDossierFile(dossierFile);
                dossierFileBean.setDossierId(dossierFile.getDossierId());
                dossierFileBean.setPartType(dossierPartType);
                dossierFileBean.setServiceInfoId(serviceInfoId);

                dossierFileBean.setReceptionNo(receptionNo);

                dossierFileBeans.add(dossierFileBean);
            }
        }

        return dossierFileBeans;
    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return null;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFinderImpl.java

License:Open Source License

/**
 * @param groupId/*w  w w.jav a2  s.  c om*/
 * @param keywords
 * @param dossierStatus
 * @param andOperator
 * @return
 */
private int countDossier(long groupId, String[] keywords, String dossierStatus, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_DOSSIER);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_serviceinfo.serviceName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_service_config.govAgencyName)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_serviceinfo ON opencps_dossier.serviceInfoId = opencps_serviceinfo.serviceInfoId",
                    StringPool.BLANK);
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_service_config ON opencps_dossier.serviceConfigId = opencps_service_config.serviceConfigId",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_serviceinfo.serviceName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_service_config.govAgencyName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.subjectName) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.receptionNo) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);
        }

        if (Validator.isNull(dossierStatus)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier.dossierStatus = ?)", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(dossierStatus)) {
            qPos.add(dossierStatus);
        }

        Iterator<Integer> itr = q.iterate();

        if (itr.hasNext()) {
            Integer count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;

    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return 0;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFinderImpl.java

License:Open Source License

/**
 * @param groupId/*from  ww w.  j  a va 2  s  .  c om*/
 * @param keywords
 * @param domainCode
 * @param dossierStatus
 * @param andOperator
 * @return
 */
private int countDossierByKeywordDomainAndStatus(long groupId, String[] keywords, String domainCode,
        String dossierStatus, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_DOSSIER_BY_KEYWORDDOMAINANDSTATUS);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_serviceinfo.serviceName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_service_config.govAgencyName)",
                    StringPool.LIKE, true, keywords);
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier.subjectName)", StringPool.LIKE,
                    true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_service_config ON opencps_dossier.serviceConfigId = opencps_service_config.serviceConfigId",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_serviceinfo.serviceName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_service_config.govAgencyName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.subjectName) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);
        }

        if ("".equals(domainCode)) {
            sql = StringUtil.replace(sql, "AND (opencps_serviceinfo.domainCode = ?)", StringPool.BLANK);
        } else {
        }
        if (Validator.isNull(dossierStatus)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier.dossierStatus = ?)", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(dossierStatus)) {
            qPos.add(dossierStatus);
        }
        if (!"".equals(domainCode)) {
            qPos.add(domainCode);
        } else {

        }

        Iterator<Integer> itr = q.iterate();

        if (itr.hasNext()) {
            Integer count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;

    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return 0;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFinderImpl.java

License:Open Source License

/**
 * @param groupId//  w w  w  .j  av  a 2s .com
 * @param userId
 * @param keywords
 * @param serviceDomainTreeIndex
 * @param dossierStatus
 * @param andOperator
 * @return
 */
private int countDossierByUser(long groupId, long userId, String[] keywords, String serviceDomainTreeIndex,
        String dossierStatus, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_DOSSIER_BY_USER);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_serviceinfo.serviceName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_service_config.govAgencyName)",
                    StringPool.LIKE, true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier.subjectName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier.receptionNo)", StringPool.LIKE,
                    true, keywords);
        } else {
            sql = StringUtil.replace(sql,
                    "AND ((lower(opencps_serviceinfo.serviceName) LIKE ? [$AND_OR_NULL_CHECK$]) OR (lower(opencps_service_config.govAgencyName) LIKE ? [$AND_OR_NULL_CHECK$]) OR (lower(opencps_dossier.subjectName) LIKE ? [$AND_OR_NULL_CHECK$]) OR (lower(opencps_dossier.receptionNo) LIKE ? [$AND_OR_NULL_CHECK$]))",
                    StringPool.BLANK);
        }

        if (Validator.isNull(serviceDomainTreeIndex)) {

            sql = StringUtil.replace(sql,
                    "AND (opencps_dossier.serviceDomainIndex LIKE ? OR opencps_dossier.serviceDomainIndex = ?)",
                    StringPool.BLANK);
        } else {
            if (StringUtil.contains(serviceDomainTreeIndex, StringPool.PERIOD)) {
                sql = StringUtil.replace(sql,
                        "AND (opencps_dossier.serviceDomainIndex LIKE ? OR opencps_dossier.serviceDomainIndex = ?)",
                        "AND (opencps_dossier.serviceDomainIndex LIKE ?)");

                serviceDomainTreeIndex = serviceDomainTreeIndex.substring(0,
                        serviceDomainTreeIndex.indexOf(StringPool.PERIOD) + 1);

            }

        }

        if (Validator.isNull(dossierStatus)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier.dossierStatus = ?)", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.INTEGER);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        qPos.add(userId);

        if (Validator.isNotNull(serviceDomainTreeIndex)
                && StringUtil.contains(serviceDomainTreeIndex, StringPool.PERIOD)) {
            qPos.add(serviceDomainTreeIndex + StringPool.PERCENT);

        } else if (Validator.isNotNull(serviceDomainTreeIndex)
                && !StringUtil.contains(serviceDomainTreeIndex, StringPool.PERIOD)) {
            qPos.add(serviceDomainTreeIndex + StringPool.PERIOD + StringPool.PERCENT);
            qPos.add(serviceDomainTreeIndex);
        }

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(dossierStatus)) {
            qPos.add(dossierStatus);
        }

        Iterator<Integer> itr = q.iterate();

        if (itr.hasNext()) {
            Integer count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;

    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return 0;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFinderImpl.java

License:Open Source License

/**
 * @param groupId//from  ww w.  j  a  v a2  s .c o m
 * @param keywords
 * @param dossierStatus
 * @param andOperator
 * @param start
 * @param end
 * @param obc
 * @return
 */
private List<Dossier> searchDossier(long groupId, String[] keywords, String dossierStatus, boolean andOperator,
        int start, int end, OrderByComparator obc) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(SEARCH_DOSSIER);

        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_serviceinfo.serviceName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_service_config.govAgencyName)",
                    StringPool.LIKE, true, keywords);
        }

        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_serviceinfo ON opencps_dossier.serviceInfoId = opencps_serviceinfo.serviceInfoId",
                    StringPool.BLANK);
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_service_config ON opencps_dossier.serviceConfigId = opencps_service_config.serviceConfigId",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_serviceinfo.serviceName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_service_config.govAgencyName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.subjectName) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.receptionNo) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);
        }

        if (Validator.isNull(dossierStatus)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier.dossierStatus = ?)", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("Dossier", DossierImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(dossierStatus)) {
            qPos.add(dossierStatus);
        }

        return (List<Dossier>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return null;
}

From source file:org.opencps.dossiermgt.service.persistence.DossierFinderImpl.java

License:Open Source License

/**
 * @param groupId//from  w  ww .  j a  v a  2s  .  c  o  m
 * @param keywords
 * @param domainCode
 * @param dossierStatus
 * @param start
 * @param end
 * @param obc
 * @param andOperator
 * @return
 */
private List<Dossier> searchDossierByKeywordDomainAndStatus(long groupId, String[] keywords, String domainCode,
        String dossierStatus, int start, int end, OrderByComparator obc, boolean andOperator) {

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(SEARCH_DOSSIER_BY_KEYWORDDOMAINANDSTATUS);
        if (keywords != null && keywords.length > 0) {
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_serviceinfo.serviceName)", StringPool.LIKE,
                    true, keywords);

            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_service_config.govAgencyName)",
                    StringPool.LIKE, true, keywords);
            sql = CustomSQLUtil.replaceKeywords(sql, "lower(opencps_dossier.subjectName)", StringPool.LIKE,
                    true, keywords);
        }
        if (keywords == null || keywords.length == 0) {
            sql = StringUtil.replace(sql,
                    "INNER JOIN opencps_service_config ON opencps_dossier.serviceConfigId = opencps_service_config.serviceConfigId",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "AND (lower(opencps_serviceinfo.serviceName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);

            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_service_config.govAgencyName) LIKE ? [$AND_OR_NULL_CHECK$])",
                    StringPool.BLANK);
            sql = StringUtil.replace(sql,
                    "OR (lower(opencps_dossier.subjectName) LIKE ? [$AND_OR_NULL_CHECK$])", StringPool.BLANK);
        }
        if ("".equals(domainCode)) {
            sql = StringUtil.replace(sql, "AND (opencps_serviceinfo.domainCode = ?)", StringPool.BLANK);
        } else {
        }
        if (Validator.isNull(dossierStatus)) {
            sql = StringUtil.replace(sql, "AND (opencps_dossier.dossierStatus = ?)", StringPool.BLANK);
        }
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);
        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("Dossier", DossierImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);

        if (keywords != null && keywords.length > 0) {
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
            qPos.add(keywords, 2);
        }

        if (Validator.isNotNull(dossierStatus)) {
            qPos.add(dossierStatus);
        }

        if (!"".equals(domainCode)) {
            qPos.add(domainCode);
        } else {

        }

        List<Dossier> results = (List<Dossier>) QueryUtil.list(q, getDialect(), start, end);
        List<Dossier> clones = new ArrayList<Dossier>(results);
        Collections.sort(clones, obc);

        return clones;
    } catch (Exception e) {
        _log.error(e);
    } finally {
        closeSession(session);
    }

    return null;
}