Subversion Repositories SmartDukaan

Rev

Rev 33124 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
27176 tejbeer 1
package com.spice.profitmandi.service;
2
 
3
import com.spice.profitmandi.common.model.ProfitMandiConstants;
33124 ranu 4
import com.spice.profitmandi.dao.entity.logistics.*;
5
import com.spice.profitmandi.dao.repository.inventory.StateRepository;
27176 tejbeer 6
import com.spice.profitmandi.dao.repository.logistics.PostOfficeRepository;
30671 amit.gupta 7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
27176 tejbeer 9
 
30671 amit.gupta 10
import java.util.*;
11
 
27176 tejbeer 12
@Component
13
public class PostOfficeServiceImpl implements PostOfficeService {
14
 
31602 amit.gupta 15
    private static final Map<Integer, List<String>> pincodeCitiesMap = new HashMap<Integer, List<String>>();
30830 amit.gupta 16
 
31602 amit.gupta 17
    static {
18
        pincodeCitiesMap.put(160104, Arrays.asList("Ludhiana"));
19
        pincodeCitiesMap.put(232101, Arrays.asList("Padao", "Mughalsarai"));
20
        pincodeCitiesMap.put(261151, Arrays.asList("Pisawa"));
21
        pincodeCitiesMap.put(231304, Arrays.asList("Chunar"));
22
        pincodeCitiesMap.put(224129, Arrays.asList("Tanda"));
23
        pincodeCitiesMap.put(204213, Arrays.asList("Hathras"));
24
        pincodeCitiesMap.put(323305, Arrays.asList("Rawatbhata"));
25
        pincodeCitiesMap.put(311030, Arrays.asList("Kanwaliyas"));
26
        pincodeCitiesMap.put(326021, Arrays.asList("Asnawar"));
27
        pincodeCitiesMap.put(326022, Arrays.asList("Bakani"));
28
        pincodeCitiesMap.put(303313, Arrays.asList("BandiKui"));
29
        pincodeCitiesMap.put(303301, Arrays.asList("Bassi"));
30
        pincodeCitiesMap.put(323802, Arrays.asList("Dei"));
31
        pincodeCitiesMap.put(322201, Arrays.asList("Gangapur City"));
32
        pincodeCitiesMap.put(327021, Arrays.asList("Ganoda"));
33
        pincodeCitiesMap.put(321204, Arrays.asList("GopalGarh"));
34
        pincodeCitiesMap.put(342902, Arrays.asList("Gotan"));
35
        pincodeCitiesMap.put(311201, Arrays.asList("Jahaajpur"));
36
        pincodeCitiesMap.put(326519, Arrays.asList("Julmi"));
37
        pincodeCitiesMap.put(321022, Arrays.asList("Kamaan"));
38
        pincodeCitiesMap.put(323603, Arrays.asList("Lakheri"));
39
        pincodeCitiesMap.put(301408, Arrays.asList("Machari"));
40
        pincodeCitiesMap.put(321608, Arrays.asList("Mahwa"));
41
        pincodeCitiesMap.put(301406, Arrays.asList("Malakhera"));
42
        pincodeCitiesMap.put(325221, Arrays.asList("Chhipabarod"));
43
        pincodeCitiesMap.put(326519, Arrays.asList("Morak"));
44
        pincodeCitiesMap.put(326514, Arrays.asList("Dag"));
45
        pincodeCitiesMap.put(341031, Arrays.asList("Padukallan"));
46
        pincodeCitiesMap.put(326034, Arrays.asList("Pirawa"));
27553 amit.gupta 47
 
31602 amit.gupta 48
    }
30830 amit.gupta 49
 
31602 amit.gupta 50
    @Autowired
51
    private PostOfficeRepository postOfficeRepository;
27176 tejbeer 52
 
33124 ranu 53
    @Autowired
54
    private ASTRepository astRepository;
55
 
56
    @Autowired
57
    private StateRepository stateRepository;
58
 
59
    @Autowired
60
    private AreaRepository areaRepository;
61
 
62
    @Autowired
63
    private TerritoryRepository territoryRepository;
64
 
31602 amit.gupta 65
    @Override
66
    public Map<String, Object> getPOPincode(int pinCode) {
67
        List<PostOffice> postOffices = postOfficeRepository.selectByPinCode(pinCode);
68
        Set<String> cities = new HashSet<>();
69
        Map<String, Object> map = new HashMap<>(3);
27176 tejbeer 70
 
31602 amit.gupta 71
        map.put(ProfitMandiConstants.PIN_CODE, pinCode);
72
        for (PostOffice postOffice : postOffices) {
73
            String city = postOffice.getCity();
74
            if (city.equals("NA")) {
75
                cities.add(postOffice.getDistrict());
27176 tejbeer 76
 
31602 amit.gupta 77
            } else {
78
                cities.add(postOffice.getCity());
79
            }
80
            map.put(ProfitMandiConstants.STATE, postOffice.getState());
31737 tejbeer 81
            cities.add(postOffice.getCodeName().substring(0, postOffice.getCodeName().lastIndexOf(" ")));
82
 
31602 amit.gupta 83
        }
84
        map.put(ProfitMandiConstants.CITIES, cities);
85
        return map;
86
    }
87
 
33124 ranu 88
    @Override
33128 amit.gupta 89
    //Get descriptions
90
    public List<AST> getAreasAndTerritoriesByStateName(String stateName) {
33124 ranu 91
        int stateId = stateRepository.selectByName(stateName).getId();
92
        List<AST> astList = astRepository.selectByStateId(stateId);
93
 
94
        for (AST ast : astList) {
95
            // Fetch territory descriptions from repository
33128 amit.gupta 96
            Territory territory = territoryRepository.selectByName(ast.getTerritory());
97
            ast.setTerritoryDescription(territory.getDescription());
33124 ranu 98
 
33128 amit.gupta 99
            Area area = areaRepository.selectByName(ast.getArea());
100
            ast.setAreaDescription(area.getDescription());
33124 ranu 101
 
102
        }
33128 amit.gupta 103
        return astList;
33124 ranu 104
    }
27176 tejbeer 105
}