List of usage examples for org.joda.time LocalDate toDateMidnight
@Deprecated
public DateMidnight toDateMidnight()
From source file:energy.usef.core.repository.PtuContainerRepository.java
License:Apache License
private int setPhase(String sql, PhaseType phase, LocalDate period, Integer ptuIndex) { return getEntityManager().createQuery(sql).setParameter("phase", phase) .setParameter("period", period.toDateMidnight().toDate()).setParameter("ptuIndex", ptuIndex) .executeUpdate();/* ww w .j av a2 s .co m*/ }
From source file:energy.usef.core.repository.PtuContainerRepository.java
License:Apache License
/** * Delete all {@link PtuContainer}s for a certain date. * * @param period/*from www . ja v a 2s . c o m*/ * @return the number of {@link PtuContainer}s deleted. */ public int cleanup(LocalDate period) { StringBuilder sql = new StringBuilder(); sql.append("DELETE FROM PtuContainer pc WHERE pc.ptuDate = :ptuDate"); return entityManager.createQuery(sql.toString()).setParameter("ptuDate", period.toDateMidnight().toDate()) .executeUpdate(); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Finds the {@link PtuFlexOffer} entities linked to each {@link AcknowledgementStatus#ACCEPTED} * {@link energy.usef.core.model.PtuFlexOrder} for the given period. * * @param startDate {@link LocalDate} starting date of the period. * @param endDate {@link LocalDate} ending date of the period. * @return a {@link Map} of the offers grouped by: * <ol>//from w w w. j ava 2 s . co m * <li>Participant Domain ({@link String})</li> * <li>Flex Offer Sequence number {@link Long})</li> * <li>Period {@link LocalDate})</li> * <li>PTU index ({@link Integer})</li> * </ol> */ public Map<String, Map<Long, Map<LocalDate, Map<Integer, PtuFlexOffer>>>> findPtuFlexOffersOfAcceptedOrdersForPeriodByDomainSequencePeriodAndPtuIndex( LocalDate startDate, LocalDate endDate) { StringBuilder flexOfferSequences = new StringBuilder(); flexOfferSequences.append("SELECT orders.flexOfferSequence FROM PtuFlexOrder orders "); flexOfferSequences.append("WHERE orders.ptuContainer.ptuDate >= :startDate "); flexOfferSequences.append(" AND orders.ptuContainer.ptuDate <= :endDate "); flexOfferSequences.append(" AND orders.acknowledgementStatus = :acknowledgementStatus "); StringBuilder flexOffers = new StringBuilder(); flexOffers.append("SELECT offers FROM PtuFlexOffer offers "); flexOffers.append("WHERE offers.sequence IN (").append(flexOfferSequences).append(") "); return getEntityManager().createQuery(flexOffers.toString(), PtuFlexOffer.class) .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED).getResultList().stream() .collect(groupingBy(Exchange::getParticipantDomain, groupingBy(ptuFlexOffer -> ptuFlexOffer.getSequence(), groupingBy(ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuDate(), Collectors.toMap( ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuIndex(), Function.identity()))))); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Finds the {@link PtuFlexOffer} entities linked to each {@link AcknowledgementStatus#ACCEPTED} * {@link energy.usef.core.model.PtuFlexOrder} for the given period. * * @param startDate {@link LocalDate} starting date of the period. * @param endDate {@link LocalDate} ending date of the period. * @return a {@link Map} of the offers grouped by: * <ol>// w w w . j av a 2 s . co m * <li>Participant Domain ({@link String})</li> * <li>Connection Group USEF Identifier {@link String})</li> * <li>Period {@link LocalDate})</li> * <li>PTU index ({@link Integer})</li> * </ol> */ public Map<String, Map<String, Map<LocalDate, Map<Integer, List<PtuFlexOffer>>>>> findPtuFlexOffersOfAcceptedOrdersForPeriod( LocalDate startDate, LocalDate endDate) { StringBuilder flexOfferSequences = new StringBuilder(); flexOfferSequences.append("SELECT orders.flexOfferSequence FROM PtuFlexOrder orders "); flexOfferSequences.append("WHERE orders.ptuContainer.ptuDate >= :startDate "); flexOfferSequences.append(" AND orders.ptuContainer.ptuDate <= :endDate "); flexOfferSequences.append(" AND orders.acknowledgementStatus = :acknowledgementStatus "); StringBuilder flexOffers = new StringBuilder(); flexOffers.append("SELECT offers FROM PtuFlexOffer offers "); flexOffers.append("WHERE offers.sequence IN (").append(flexOfferSequences).append(") "); return getEntityManager().createQuery(flexOffers.toString(), PtuFlexOffer.class) .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED).getResultList().stream() .collect(groupingBy(Exchange::getParticipantDomain, groupingBy(ptuFlexOffer -> ptuFlexOffer.getConnectionGroup().getUsefIdentifier(), groupingBy(ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuDate(), Collectors.groupingBy( ptuFlexOffer -> ptuFlexOffer.getPtuContainer().getPtuIndex()))))); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Finds the {@link PtuFlexOffer} entities relevant for settlement for a given period. * * @param startDate {@link LocalDate} start date of the settlement period (inclusive). * @param endDate {@link LocalDate} end date of the settlement period (inclusive). * @return a {@link List} of {@link PtuFlexOffer}. *//*w w w. j a v a2 s. c o m*/ public List<PtuFlexOffer> findFlexOffersForSettlement(LocalDate startDate, LocalDate endDate) { StringBuilder sql = new StringBuilder(); sql.append("SELECT offer "); sql.append("FROM PtuFlexOffer offer, PlanboardMessage pm "); sql.append("WHERE offer.ptuContainer.ptuDate >= :startDate "); sql.append(" AND offer.ptuContainer.ptuDate <= :endDate "); sql.append(" AND pm.period = offer.ptuContainer.ptuDate "); sql.append(" AND pm.participantDomain = offer.participantDomain "); sql.append(" AND pm.sequence = offer.sequence "); sql.append(" AND pm.connectionGroup = offer.connectionGroup "); sql.append(" AND pm.documentStatus IN (:statuses) "); sql.append("ORDER BY offer.ptuContainer.ptuDate, offer.participantDomain, offer.ptuContainer.ptuIndex "); return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class) .setParameter("startDate", startDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("endDate", endDate.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("statuses", Arrays.asList(DocumentStatus.ACCEPTED, DocumentStatus.PROCESSED)) .getResultList(); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Finds all the flex offers with are referenced by a flex order during the given period. * * @param period {@link LocalDate} period. * @return a {@link LocalDate} of all the {@link PtuFlexOffer} entities. */// w w w . ja v a 2 s .com public List<PtuFlexOffer> findFlexOffersWithOrderInPeriod(LocalDate period) { StringBuilder sql = new StringBuilder(); sql.append("SELECT foffer "); sql.append("FROM PtuFlexOffer foffer, PtuFlexOrder forder "); sql.append("WHERE foffer.ptuContainer.ptuDate = :period "); sql.append(" AND forder.ptuContainer.ptuDate = :period "); sql.append(" AND forder.participantDomain = foffer.participantDomain "); sql.append(" AND forder.flexOfferSequence = foffer.sequence "); sql.append(" AND forder.ptuContainer.ptuIndex = foffer.ptuContainer.ptuIndex "); return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class) .setParameter("period", period.toDateMidnight().toDate(), TemporalType.DATE).getResultList(); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Finds all the placed flex offers for a period (i.e. valid, active and non-revoked). * * @param period {@link LocalDate} period. * @return a {@link List} of {@link PtuFlexOffer}, ordered by participant domain, sequence number and ptu index. *//* w w w. j a va 2 s .c om*/ public List<PtuFlexOffer> findPlacedFlexOffers(LocalDate period) { StringBuilder sql = new StringBuilder(); sql.append("SELECT foffer "); sql.append("FROM PtuFlexOffer foffer, PlanboardMessage pm "); sql.append("WHERE foffer.ptuContainer.ptuDate = :period "); sql.append(" AND pm.period = :period "); sql.append(" AND pm.sequence = foffer.sequence "); sql.append(" AND pm.participantDomain = foffer.participantDomain "); sql.append(" AND pm.documentStatus IN (:statuses) "); sql.append("ORDER BY foffer.participantDomain, foffer.sequence, foffer.ptuContainer.ptuIndex "); return getEntityManager().createQuery(sql.toString(), PtuFlexOffer.class) .setParameter("period", period.toDateMidnight().toDate(), TemporalType.DATE) .setParameter("statuses", Arrays.asList(DocumentStatus.ACCEPTED, DocumentStatus.SENT)) .getResultList(); }
From source file:energy.usef.core.repository.PtuFlexOfferRepository.java
License:Apache License
/** * Delete all {@link PtuFlexOffer}s for a certain date. * * @param period/*w w w .ja va2 s . c o m*/ * @return the number of {@link PtuFlexOffer}s deleted. */ public int cleanup(LocalDate period) { StringBuilder sql = new StringBuilder(); sql.append("DELETE FROM PtuFlexOffer pfo "); sql.append("WHERE pfo.ptuContainer IN (SELECT pc FROM PtuContainer pc WHERE pc.ptuDate = :ptuDate)"); return entityManager.createQuery(sql.toString()).setParameter("ptuDate", period.toDateMidnight().toDate()) .executeUpdate(); }
From source file:energy.usef.core.repository.PtuFlexOrderRepository.java
License:Apache License
/** * Find flexibility Orders.// www .j a va 2s . com * * @param startDate PTU start day * @param endDate PTU end day * @return flexibility Orders */ public List<PtuFlexOrder> findFlexOrdersByDates(LocalDate startDate, LocalDate endDate) { StringBuilder sql = new StringBuilder(); sql.append("SELECT fo FROM PtuFlexOrder fo "); sql.append("WHERE fo.ptuContainer.ptuDate >= :startDate "); sql.append(" AND fo.ptuContainer.ptuDate <= :endDate "); sql.append(" AND fo.acknowledgementStatus = :acknowledgementStatus "); sql.append("ORDER BY fo.participantDomain, fo.ptuContainer.ptuDate, fo.ptuContainer.ptuIndex, ") .append("fo.connectionGroup.usefIdentifier, fo.sequence "); Query query = entityManager.createQuery(sql.toString()); query.setParameter("acknowledgementStatus", AcknowledgementStatus.ACCEPTED); query.setParameter("startDate", startDate.toDateMidnight().toDate()); query.setParameter("endDate", endDate.toDateMidnight().toDate()); @SuppressWarnings("unchecked") List<PtuFlexOrder> results = query.getResultList(); if (results == null) { results = new ArrayList<>(); } return results; }
From source file:energy.usef.core.repository.PtuFlexOrderRepository.java
License:Apache License
/** * Find flexibility Orders./*from w ww. j a v a 2 s . com*/ * * @param startDate PTU start day * @param endDate PTU end day * @return flexibility Orders */ public List<PtuFlexOrder> findFlexOrdersForSettlement(LocalDate startDate, LocalDate endDate) { StringBuilder sql = new StringBuilder(); sql.append("SELECT fo FROM PtuFlexOrder fo "); sql.append("WHERE fo.ptuContainer.ptuDate >= :startDate "); sql.append(" AND fo.ptuContainer.ptuDate <= :endDate "); sql.append(" AND fo.acknowledgementStatus IN (:statuses) "); sql.append("ORDER BY fo.ptuContainer.ptuDate, fo.participantDomain, fo.ptuContainer.ptuIndex, ") .append("fo.connectionGroup.usefIdentifier, fo.sequence "); Query query = entityManager.createQuery(sql.toString(), PtuFlexOrder.class); query.setParameter("statuses", Arrays.asList(AcknowledgementStatus.ACCEPTED, AcknowledgementStatus.PROCESSED)); query.setParameter("startDate", startDate.toDateMidnight().toDate()); query.setParameter("endDate", endDate.toDateMidnight().toDate()); List<PtuFlexOrder> results = query.getResultList(); if (results == null) { results = new ArrayList<>(); } return results; }