Subversion Repositories SmartDukaan

Rev

Rev 33243 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
31906 amit.gupta 1
package com.spice.profitmandi.service.inventory;
2
 
3
import com.spice.profitmandi.dao.entity.inventory.PartnerAgeingModel;
4
import com.spice.profitmandi.dao.repository.fofo.ActivatedImeiRepository;
5
import org.hibernate.Session;
6
import org.hibernate.SessionFactory;
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
9
 
10
import javax.persistence.TypedQuery;
11
import java.util.List;
12
import java.util.Map;
13
import java.util.Set;
14
import java.util.stream.Collectors;
15
 
16
 
17
@Component
18
public class AgeingServiceImpl implements AgeingService {
19
 
20
    @Autowired
21
    ActivatedImeiRepository activatedImeiRepository;
22
    @Autowired
23
    private SessionFactory sessionFactory;
24
 
25
    @Override
26
    public Map<String, AgeingModel> getAllAgeingForSecondary() {
27
        Session session = sessionFactory.getCurrentSession();
28
        final TypedQuery<AgeingModel> typedQuerySimilar = session.createNamedQuery("BrandAgeingLimit.imeisToSecondaryAlert", AgeingModel.class);
29
        List<AgeingModel> ageingModels = typedQuerySimilar.getResultList();
30
        return ageingModels.stream().collect(Collectors.toMap(x -> x.getSerialNumber(), x -> x, (u, v) -> u.getInvoiceDate().isBefore(v.getInvoiceDate()) ? u : v));
31
    }
32
 
33
    @Override
34
    public List<PartnerAgeingModel> getAllAgeingForTertiary() {
35
        Session session = sessionFactory.getCurrentSession();
36
        final TypedQuery<PartnerAgeingModel> imeisToTertiaryQuery = session.createNamedQuery("BrandAgeingLimit.imeisToTertiaryAlert", PartnerAgeingModel.class);
37
        return imeisToTertiaryQuery.getResultList();
38
    }
39
 
40
    @Override
41
    public List<PartnerAgeingModel> filterAgedInventory(Set<Integer> inventoryItemIds) {
42
        Session session = sessionFactory.getCurrentSession();
43
        final TypedQuery<PartnerAgeingModel> imeisToTertiaryQuery = session.createNamedQuery("BrandAgeingLimit.getByInventoryItemIds", PartnerAgeingModel.class);
44
        imeisToTertiaryQuery.setParameter("inventoryItemIds", inventoryItemIds);
45
        return imeisToTertiaryQuery.getResultList();
46
 
47
    }
48
}