Rev 33243 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.service.inventory;import com.spice.profitmandi.dao.entity.inventory.PartnerAgeingModel;import com.spice.profitmandi.dao.repository.fofo.ActivatedImeiRepository;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import javax.persistence.TypedQuery;import java.util.List;import java.util.Map;import java.util.Set;import java.util.stream.Collectors;@Componentpublic class AgeingServiceImpl implements AgeingService {@AutowiredActivatedImeiRepository activatedImeiRepository;@Autowiredprivate SessionFactory sessionFactory;@Overridepublic Map<String, AgeingModel> getAllAgeingForSecondary() {Session session = sessionFactory.getCurrentSession();final TypedQuery<AgeingModel> typedQuerySimilar = session.createNamedQuery("BrandAgeingLimit.imeisToSecondaryAlert", AgeingModel.class);List<AgeingModel> ageingModels = typedQuerySimilar.getResultList();return ageingModels.stream().collect(Collectors.toMap(x -> x.getSerialNumber(), x -> x, (u, v) -> u.getInvoiceDate().isBefore(v.getInvoiceDate()) ? u : v));}@Overridepublic List<PartnerAgeingModel> getAllAgeingForTertiary() {Session session = sessionFactory.getCurrentSession();final TypedQuery<PartnerAgeingModel> imeisToTertiaryQuery = session.createNamedQuery("BrandAgeingLimit.imeisToTertiaryAlert", PartnerAgeingModel.class);return imeisToTertiaryQuery.getResultList();}@Overridepublic List<PartnerAgeingModel> filterAgedInventory(Set<Integer> inventoryItemIds) {Session session = sessionFactory.getCurrentSession();final TypedQuery<PartnerAgeingModel> imeisToTertiaryQuery = session.createNamedQuery("BrandAgeingLimit.getByInventoryItemIds", PartnerAgeingModel.class);imeisToTertiaryQuery.setParameter("inventoryItemIds", inventoryItemIds);return imeisToTertiaryQuery.getResultList();}}