| Line 1964... |
Line 1964... |
| 1964 |
|
1964 |
|
| 1965 |
public void checkfocusedModelInPartnerStock() throws Exception {
|
1965 |
public void checkfocusedModelInPartnerStock() throws Exception {
|
| 1966 |
|
1966 |
|
| 1967 |
List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive()).map(x -> x.getId())
|
1967 |
List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive()).map(x -> x.getId())
|
| 1968 |
.collect(Collectors.toList());
|
1968 |
.collect(Collectors.toList());
|
| - |
|
1969 |
Map<Integer, Map<Integer, List<SaholicCIS>>> warehouseItemAvailabilityMap = saholicInventoryService
|
| - |
|
1970 |
.getSaholicStock();
|
| - |
|
1971 |
|
| - |
|
1972 |
Map<Integer, Map<Integer, List<SaholicPOItem>>> warehousePoItemAvailabilityMap = saholicInventoryService
|
| - |
|
1973 |
.getSaholicPOItems();
|
| - |
|
1974 |
|
| - |
|
1975 |
Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
|
| - |
|
1976 |
|
| 1969 |
Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
|
1977 |
Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
|
| 1970 |
for (Integer fofoId : fofoIds) {
|
1978 |
for (Integer fofoId : fofoIds) {
|
| 1971 |
List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
|
1979 |
List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
|
| 1972 |
focusedModelShortageReportMap.put(fofoId, focusedModelShortageList);
|
1980 |
focusedModelShortageReportMap.put(fofoId, focusedModelShortageList);
|
| 1973 |
CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
|
1981 |
CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
|
| Line 2075... |
Line 2083... |
| 2075 |
|
2083 |
|
| 2076 |
if (totalQty < minQty) {
|
2084 |
if (totalQty < minQty) {
|
| 2077 |
|
2085 |
|
| 2078 |
int shortageQty = minQty - totalQty;
|
2086 |
int shortageQty = minQty - totalQty;
|
| 2079 |
List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
|
2087 |
List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
|
| - |
|
2088 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
| - |
|
2089 |
|
| - |
|
2090 |
Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap
|
| - |
|
2091 |
.get(fofoStore.getWarehouseId());
|
| 2080 |
|
2092 |
|
| 2081 |
Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
|
- |
|
| 2082 |
|
- |
|
| 2083 |
Map<Integer, List<SaholicCIS>> itemAvailabilityMap = saholicInventoryService.getSaholicStock()
|
2093 |
Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap
|
| 2084 |
.get(customRetailer.getWarehouseId());
|
2094 |
.get(fofoStore.getWarehouseId());
|
| 2085 |
|
2095 |
|
| 2086 |
Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = saholicInventoryService
|
- |
|
| 2087 |
.getSaholicPOItems().get(customRetailer.getWarehouseId());
|
- |
|
| 2088 |
for (Item it : item) {
|
2096 |
for (Item it : item) {
|
| 2089 |
List<SaholicCIS> currentAvailability = itemAvailabilityMap.get(it.getId());
|
2097 |
List<SaholicCIS> currentAvailability = itemAvailabilityMap.get(it.getId());
|
| 2090 |
List<SaholicPOItem> poItemAvailability = poItemAvailabilityMap.get(it.getId());
|
2098 |
List<SaholicPOItem> poItemAvailability = poItemAvailabilityMap.get(it.getId());
|
| 2091 |
if (currentAvailability != null) {
|
2099 |
if (currentAvailability != null) {
|
| 2092 |
allColorNetAvailability += currentAvailability.stream()
|
2100 |
allColorNetAvailability += currentAvailability.stream()
|
| Line 2098... |
Line 2106... |
| 2098 |
}
|
2106 |
}
|
| 2099 |
}
|
2107 |
}
|
| 2100 |
|
2108 |
|
| 2101 |
FocusedModelShortageModel fm = new FocusedModelShortageModel();
|
2109 |
FocusedModelShortageModel fm = new FocusedModelShortageModel();
|
| 2102 |
fm.setFofoId(fofoId);
|
2110 |
fm.setFofoId(fofoId);
|
| - |
|
2111 |
fm.setStoreCode(fofoStore.getCode());
|
| 2103 |
fm.setStoreName(customRetailer.getBusinessName());
|
2112 |
fm.setStoreName(customRetailer.getBusinessName());
|
| 2104 |
fm.setBrandName(item.get(0).getBrand());
|
2113 |
fm.setBrandName(item.get(0).getBrand());
|
| 2105 |
fm.setModelName(item.get(0).getModelName());
|
2114 |
fm.setModelName(item.get(0).getModelName());
|
| 2106 |
fm.setModelNumber(item.get(0).getModelNumber());
|
2115 |
fm.setModelNumber(item.get(0).getModelNumber());
|
| 2107 |
fm.setShortageQty(shortageQty);
|
2116 |
fm.setShortageQty(shortageQty);
|
| Line 2151... |
Line 2160... |
| 2151 |
if (!emailRowsMap.containsKey(y.getKey())) {
|
2160 |
if (!emailRowsMap.containsKey(y.getKey())) {
|
| 2152 |
emailRowsMap.put(y.getKey(), new ArrayList<>());
|
2161 |
emailRowsMap.put(y.getKey(), new ArrayList<>());
|
| 2153 |
}
|
2162 |
}
|
| 2154 |
List<List<? extends Serializable>> fms = x.getValue().stream()
|
2163 |
List<List<? extends Serializable>> fms = x.getValue().stream()
|
| 2155 |
.map(r -> Arrays.asList(r.getStoreCode(), r.getStoreName(), r.getBrandName(),
|
2164 |
.map(r -> Arrays.asList(r.getStoreCode(), r.getStoreName(), r.getBrandName(),
|
| 2156 |
r.getModelName(), r.getModelNumber(), r.getShortageQty(), r.getAvailabitiy()))
|
2165 |
r.getModelName(), r.getModelNumber(), r.getWarehouseName(), r.getShortageQty(),
|
| - |
|
2166 |
r.getAvailabitiy()))
|
| 2157 |
.collect(Collectors.toList());
|
2167 |
.collect(Collectors.toList());
|
| 2158 |
emailRowsMap.get(y.getKey()).addAll(fms);
|
2168 |
emailRowsMap.get(y.getKey()).addAll(fms);
|
| 2159 |
|
2169 |
|
| 2160 |
}
|
2170 |
}
|
| 2161 |
|
2171 |
|
| 2162 |
});
|
2172 |
});
|
| 2163 |
|
2173 |
|
| 2164 |
});
|
2174 |
});
|
| 2165 |
|
2175 |
|
| 2166 |
List<String> headers = Arrays.asList("Partner Code", "Partner Name", "Brand", "Model Name", "Model Number",
|
2176 |
List<String> headers = Arrays.asList("Store Code", "Store Name", "Brand", "Model Name", "Model Number",
|
| 2167 |
"Shortage Qty", "Availability");
|
2177 |
"Warehouse Name", "Shortage Qty", "Availability");
|
| 2168 |
emailRowsMap.entrySet().forEach(entry -> {
|
2178 |
emailRowsMap.entrySet().forEach(entry -> {
|
| 2169 |
|
2179 |
|
| 2170 |
ByteArrayOutputStream baos = null;
|
2180 |
ByteArrayOutputStream baos = null;
|
| 2171 |
try {
|
2181 |
try {
|
| 2172 |
baos = FileUtil.getCSVByteStream(headers, entry.getValue());
|
2182 |
baos = FileUtil.getCSVByteStream(headers, entry.getValue());
|