List of usage examples for org.hibernate.criterion Projections property
public static PropertyProjection property(String propertyName)
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; }