Example usage for org.hibernate.criterion Projections property

List of usage examples for org.hibernate.criterion Projections property

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections property.

Prototype

public static PropertyProjection property(String propertyName) 

Source Link

Document

A property value projection

Usage

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?//from w  w  w  .j  av a  2 s.  com
 */
@Override
public void doChasePlan(long curPeriodId, Boolean iswonStop) {
    DetachedCriteria criteria = DetachedCriteria.forClass(ChasePlan.class);
    criteria.setProjection(Projections.property("id"));
    if (iswonStop != null)
        criteria.add(Restrictions.eq("wonStop", iswonStop));
    criteria.add(Restrictions.eq("lotteryType", getLottery()));
    criteria.add(Restrictions.eq("curPeriodId", curPeriodId));
    criteria.add(Restrictions.eq("state", ChaseState.RUNNING));
    List<Long> list = queryService.findByDetachedCriteria(criteria);
    if (list != null && !list.isEmpty()) {
        for (Long chasePlanId : list) {
            this.handChasePlan(chasePlanId);
        }
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * //w  ww.j av  a  2s. c  om
 * 
 * @param issueData
 * @throws DataException
 */
public void saleAnalye(I issueData) throws DataException {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.setProjection(Projections.property("id"));
    criteria.add(Restrictions.eq("periodId", issueData.getId()));
    List<Long> schemeIdList = schemeDao.findByDetachedCriteria(criteria);
    SaleAnalyse saleAnalyse = null;
    Integer playType = null;
    Map<String, SaleAnalyse> saleAnalyeMap = new HashMap<String, SaleAnalyse>();
    S s;
    SdEl11to5Scheme sdEl11to5Scheme = null;
    SscScheme sscScheme = null;
    AhKuai3Scheme ahKuai3Scheme = null;
    XjEl11to5Scheme xjEl11to5Scheme = null;
    Set<Long> updateSchemeSet = Sets.newHashSet();
    for (Long id : schemeIdList) {
        // ///keyplayType key=userId_ key=userId_0userId_1
        s = getScheme(id);
        saleAnalyse = saleAnalyeMap.get(s.getSponsorId() + "_" + (null == playType ? "" : playType));
        if (null == saleAnalyse) {
            saleAnalyse = new SaleAnalyse();
        }
        updateSchemeSet.add(s.getId());
        if (Lottery.SDEL11TO5.equals(s.getLotteryType())) {
            sdEl11to5Scheme = (SdEl11to5Scheme) s;
            playType = sdEl11to5Scheme.getBetType().ordinal();
        } else if (Lottery.SSC.equals(s.getLotteryType())) {
            sscScheme = (SscScheme) s;
            playType = sscScheme.getBetType().ordinal();
        } else if (Lottery.AHKUAI3.equals(s.getLotteryPlayType())) {
            ahKuai3Scheme = (AhKuai3Scheme) s;
            playType = ahKuai3Scheme.getBetType().ordinal();
        } else if (Lottery.XJEL11TO5.equals(s.getLotteryPlayType())) {
            xjEl11to5Scheme = (XjEl11to5Scheme) s;
            playType = xjEl11to5Scheme.getBetType().ordinal();
        }
        // //
        saleAnalyse.setPeriodId(issueData.getId());
        saleAnalyse.setLottery(s.getLotteryType());
        saleAnalyse.setPeriodNumber(issueData.getPeriodNumber());
        saleAnalyse.setPlayType(playType);
        saleAnalyse.setUserId(s.getSponsorId());
        saleAnalyse.setUserName(s.getSponsorName());
        saleAnalyse.setEndedTime(issueData.getEndedTime());
        saleAnalyse.setYearNum(DateUtil.getYear(issueData.getEndedTime()));
        saleAnalyse.setQuarterNum(DateUtil.getQuarter(issueData.getEndedTime()));
        saleAnalyse.setMonthNum(DateUtil.getMonth(issueData.getEndedTime()));
        saleAnalyse.setWeekNum(DateUtil.getWeek(issueData.getEndedTime()));
        saleAnalyse.setSendCurrency(Boolean.FALSE);

        saleAnalyse.addSchemeCount(1);
        saleAnalyse.addSchemeCost(s.getSchemeCost().intValue());
        saleAnalyse.addSchemeWonPrize(s.getPrize());
        saleAnalyse.addSubscriptionCount(1);
        saleAnalyse.addSubscriptionCost(new BigDecimal(s.getSchemeCost()));
        saleAnalyse.addSubscriptionWonPrize(s.getPrize());
        if (SchemeState.SUCCESS.equals(s.getState())) {
            // ?
            saleAnalyse.addSchemeSuccessCount(1);
            saleAnalyse.addSchemeSuccessCost(s.getSchemeCost().intValue());
            saleAnalyse.addSchemeSuccessWonPrize(s.getPrize());

            saleAnalyse.addSubscriptionSuccessCount(1);
            saleAnalyse.addSubscriptionSuccessCost(new BigDecimal(s.getSchemeCost()));
            saleAnalyse.addSubscriptionSuccessWonPrize(s.getPrize());

        } else if (SchemeState.CANCEL.equals(s.getState())) {
            // 
            saleAnalyse.addSchemeCancelCount(1);
            saleAnalyse.addSchemeCancelCost(s.getSchemeCost().intValue());
            saleAnalyse.addSchemeCancelWonPrize(s.getPrize());

            saleAnalyse.addSubscriptionCancelCount(1);
            saleAnalyse.addSubscriptionCancelCost(new BigDecimal(s.getSchemeCost()));
            saleAnalyse.addSubscriptionCancelWonPrize(s.getPrize());
        } else {
            // ?
            throw new DataException("?");
        }
        saleAnalyeMap.put(s.getSponsorId() + "_" + (null == playType ? "" : playType), saleAnalyse);
    }
    Set<String> keySet = saleAnalyeMap.keySet();
    List<SaleAnalyse> updateSaleAnalyse = Lists.newArrayList();
    for (String key : keySet) {
        updateSaleAnalyse.add(saleAnalyeMap.get(key));
    }
    saleAnalyseEntityManager.updateSaleAnalyse(updateSaleAnalyse, updateSchemeSet, issueData.getLotteryType());
}

From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java

License:Apache License

private List<Integer> getListWithSampleFilters(final List<DsSearchParam> params) {

    final List<Integer> studyIdList = this.getHibernateTemplate()
            .execute(new HibernateCallback<List<Integer>>() {
                @SuppressWarnings("unchecked")
                public List<Integer> doInHibernate(Session session) throws HibernateException, SQLException {
                    List<DsSearchParam> sampleParams = new ArrayList<DsSearchParam>();
                    for (DsSearchParam p : params) {
                        if (p.getElement().equals(VALUE_SAMPLE)) {
                            sampleParams.add(p);
                        }//  ww  w. j  a  v  a 2  s  .  com
                    }
                    params.removeAll(sampleParams);

                    DetachedCriteria criteria = DetachedCriteria.forClass(LabStudy.class, VALUE_STUDY);
                    addCriteria(criteria, sampleParams, true);
                    criteria.setProjection(Projections.distinct(Projections.property("labstudyid")));
                    return (List<Integer>) (sampleParams.size() > 0
                            ? getHibernateTemplate().findByCriteria(criteria)
                            : null);
                }
            });
    return studyIdList;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

public List<String> getPlatesNotInShipmentSet(final Integer idLabStudy, final List<String> excludingPlates) {

    List<String> listPlate = (List<String>) getHibernateTemplate()
            .execute(new HibernateCallback<List<String>>() {

                public List<String> doInHibernate(Session session) throws HibernateException, SQLException {
                    Criteria criteria = session.createCriteria(SampleDetail.class);
                    criteria.add(Restrictions.eq("labstudyid.labstudyid", idLabStudy));
                    if (excludingPlates != null && !excludingPlates.isEmpty())
                        criteria.add(Restrictions.not(Restrictions.in("platename", excludingPlates)));

                    criteria.add(Restrictions.eq("selforsend", "N"));
                    criteria.setProjection(Projections.distinct(Projections.property("platename")));
                    criteria.addOrder(Order.asc("platename"));

                    @SuppressWarnings("unchecked")
                    List<String> results = criteria.list();
                    return results;
                }/* w w w  .j a  v  a  2 s. c o m*/

            });
    return listPlate;
}

From source file:com.cms.utils.BaseFWDAOImpl.java

License:Open Source License

public List<T> findDistinct(String[] pros, Criterion[] crits) {
    ProjectionList listProjections = Projections.projectionList();
    ProjectionList listProperties = Projections.projectionList();
    Order[] orders = new Order[pros.length];
    int index = 0;
    for (String property : pros) {
        listProperties.add(Projections.property(property));
        orders[index++] = Order.asc(property);
    }/* ww w  . j ava 2 s .com*/
    listProjections.add(Projections.distinct(listProperties));
    return findByCriteria("default session", 0, 0, listProjections, crits, orders);
}

From source file:com.court.controller.AssignNewLoanFxmlController.java

private ObservableList<Loan> getAllLoans() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Criteria c = session.createCriteria(Loan.class);
    c.add(Restrictions.eq("status", true));
    c.setProjection(Projections.projectionList().add(Projections.property("loanId"), "loanId")
            .add(Projections.property("loanName"), "loanName"));
    c.setResultTransformer(Transformers.aliasToBean(Loan.class));
    List<Loan> lList = c.list();
    ObservableList<Loan> loans = FXCollections.observableArrayList(lList);
    session.close();/*from   w  w  w .jav a 2  s .com*/
    return loans;
}

From source file:com.court.controller.AssignNewLoanFxmlController.java

private Set<Member> getAvailableGuarantors() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Criteria c1 = session.createCriteria(MemberLoan.class);
    c1.setProjection(Projections.projectionList().add(Projections.property("isComplete"), "isComplete")
            .add(Projections.property("guarantors"), "guarantors")
            .add(Projections.property("member"), "member"));
    c1.setResultTransformer(Transformers.aliasToBean(MemberLoan.class));
    List<MemberLoan> ml = c1.list();
    //GET ALL GUARANTORS OF ONGOING LOANS
    List<String> guarantors = ml.stream().filter(p -> !p.isIsComplete())
            .map(m -> m.getGuarantors() + "-" + m.getMember().getMemberId()).collect(Collectors.toList());

    Set<String> lkm = new HashSet<>(guarantors);
    List<String> guarantor_filtered = lkm.stream().map(r -> r = r.split("-")[0]).collect(Collectors.toList());

    //GET ALREADY GUARANTED MEMBERS OF THE GARNTOR
    List<String> alreadyGurantedMembers = ml.stream().filter(p -> !p.isIsComplete())
            .filter(p -> p.getMember().getMemberId().equalsIgnoreCase(getMember().getMemberId()))
            .map(MemberLoan::getGuarantors).collect(Collectors.toList());

    //========================
    Set<Member> set = new HashSet<>();
    //========================

    //GET ALL MEMBERS EXCEPT THE LOAN GRANTOR
    Criteria c2 = session.createCriteria(Member.class);
    c2.add(Restrictions.ne("memberId", getMember().getMemberId()));
    c2.add(Restrictions.eq("status", true));
    c2.setProjection(Projections.projectionList().add(Projections.property("memberId"), "memberId")
            .add(Projections.property("fullName"), "fullName"));
    c2.setResultTransformer(Transformers.aliasToBean(Member.class));

    //IF NO GURANTORS FOUND THEN ALL MEMBERS CAN GUARANT FOR THE LOAN EXCEPT THE LOAN GRANTOR
    if (getUniqueGuarantors(guarantor_filtered, UNIQUE_GUR_FRQUENCY).isEmpty()) {
        List<Member> list = c2.list();
        set.addAll(list);/*from ww w  .jav a2  s  .  c o  m*/
        //
    } else {
        List<Member> list = c2.add(Restrictions
                .not(Restrictions.in("memberId", getUniqueGuarantors(guarantor_filtered, UNIQUE_GUR_FRQUENCY))))
                .list();
        set.addAll(list);
    }

    //IF NO GUARANTORS AVAILABLE THEY CAN GURANT THE GRANTOR ULTIMATELY UNTIL ALL GUARANTED LOANS END
    if (!alreadyGurantedMembers.isEmpty()) {
        Set<Member> arlm = getAlreadyGurantedMembers(alreadyGurantedMembers, session);
        set.addAll(arlm);
    }

    session.close();
    return set;
}

From source file:com.court.controller.AssignNewLoanFxmlController.java

private Set<Member> getAlreadyGurantedMembers(List<String> agm, Session s) {
    Set<String> ug = new HashSet<>();
    for (String string : agm) {
        Type type = new TypeToken<List<String>>() {
        }.getType();//from www .j a  v  a2 s  .  c  o m
        List<String> yourList = new Gson().fromJson(string, type);
        for (String yl : yourList) {
            ug.add(yl);
        }
    }
    Criteria cc2 = s.createCriteria(Member.class);
    cc2.add(Restrictions.in("memberId", ug));
    cc2.setProjection(Projections.projectionList().add(Projections.property("memberId"), "memberId")
            .add(Projections.property("fullName"), "fullName"));
    cc2.setResultTransformer(Transformers.aliasToBean(Member.class));
    List<Member> list = cc2.list();
    Set<Member> mbrs = new HashSet(list);
    return mbrs;
}

From source file:com.court.controller.CollectionSheetFxmlController.java

private void figureNLoadSearchTextSuggestions(int selectedIndex) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Criteria c = session.createCriteria(Branch.class);
    c.add(Restrictions.eq("status", true));
    switch (selectedIndex) {
    case 0://ww  w . java 2  s.  c om
        // c.setProjection(Projections.property("branchName"));
        c.add(Restrictions.eq("parentId", 0));
        List<Branch> bNames = c.list();
        //=== ADDED NEW RESTRICTION TO GET ONLY PAYMENT OFFICES INTO AUTO-COMPLETE==========
        autoCompletionList(bNames);
        break;
    case 1:
        c.setProjection(Projections.property("memberId"));
        List<String> mIds = c.list();
        // autoCompletionList(mIds);
        break;
    case 2:
        c.setProjection(Projections.property("nameWithIns"));
        List<String> mNames = c.list();
        // autoCompletionList(mNames);
        break;
    }
    session.close();
}

From source file:com.court.controller.HomeFXMLController.java

private Map<String, Number> getLoanReleasedData() {
    LocalDate now = LocalDate.now();
    Map<String, Number> map = new HashMap<>();
    Session s = HibernateUtil.getSessionFactory().openSession();
    Criteria c = s.createCriteria(MemberLoan.class);

    ProjectionList pList = Projections.projectionList();
    ClassMetadata lpMeta = s.getSessionFactory().getClassMetadata(MemberLoan.class);
    pList.add(Projections.property(lpMeta.getIdentifierPropertyName()));
    for (String prop : lpMeta.getPropertyNames()) {
        pList.add(Projections.property(prop), prop);
    }/*from w  w  w  .  ja  v a  2  s.c o  m*/
    c.add(Restrictions.eq("status", true));
    c.add(Restrictions.between("grantedDate", FxUtilsHandler.getDateFrom(now.with(firstDayOfYear())),
            FxUtilsHandler.getDateFrom(now.with(lastDayOfYear()))));
    c.setProjection(pList
            .add(Projections.sqlGroupProjection("DATE_FORMAT(granted_date, '%Y-%m-01') AS groupPro", "groupPro",
                    new String[] { "groupPro" }, new Type[] { StringType.INSTANCE }))
            .add(Projections.sqlProjection("SUM(loan_amount) AS lSum", new String[] { "lSum" },
                    new Type[] { DoubleType.INSTANCE })));

    c.addOrder(Order.asc("grantedDate"));
    c.setResultTransformer(Transformers.aliasToBean(MemberLoan.class));
    List<MemberLoan> list = (List<MemberLoan>) c.list();
    for (MemberLoan ml : list) {
        map.put(ml.getGroupPro(), ml.getlSum());
    }
    s.close();
    return map;
}