| Line 1966... |
Line 1966... |
| 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
|
1969 |
Map<Integer, Map<Integer, List<SaholicCIS>>> warehouseItemAvailabilityMap = saholicInventoryService
|
| 1970 |
.getSaholicStock();
|
1970 |
.getSaholicStock();
|
| - |
|
1971 |
Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
|
| - |
|
1972 |
Map<Integer, FofoReportingModel> partnerIdSalesHeadersMap = this.getPartnerIdSalesHeaders();
|
| 1971 |
|
1973 |
|
| 1972 |
Map<Integer, Map<Integer, List<SaholicPOItem>>> warehousePoItemAvailabilityMap = saholicInventoryService
|
1974 |
Map<Integer, Map<Integer, List<SaholicPOItem>>> warehousePoItemAvailabilityMap = saholicInventoryService
|
| 1973 |
.getSaholicPOItems();
|
1975 |
.getSaholicPOItems();
|
| 1974 |
|
- |
|
| 1975 |
Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
|
- |
|
| 1976 |
|
- |
|
| 1977 |
Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
|
1976 |
Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
|
| 1978 |
for (Integer fofoId : fofoIds) {
|
1977 |
for (Integer fofoId : fofoIds) {
|
| 1979 |
List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
|
1978 |
List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
|
| 1980 |
focusedModelShortageReportMap.put(fofoId, focusedModelShortageList);
|
1979 |
focusedModelShortageReportMap.put(fofoId, focusedModelShortageList);
|
| 1981 |
CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
|
1980 |
CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
|
| Line 2084... |
Line 2083... |
| 2084 |
if (totalQty < minQty) {
|
2083 |
if (totalQty < minQty) {
|
| 2085 |
|
2084 |
|
| 2086 |
int shortageQty = minQty - totalQty;
|
2085 |
int shortageQty = minQty - totalQty;
|
| 2087 |
List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
|
2086 |
List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
|
| 2088 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
2087 |
FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
|
| 2089 |
|
2088 |
|
| 2090 |
Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap
|
2089 |
Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap
|
| 2091 |
.get(fofoStore.getWarehouseId());
|
2090 |
.get(fofoStore.getWarehouseId());
|
| 2092 |
|
2091 |
|
| 2093 |
Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap
|
2092 |
Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap
|
| 2094 |
.get(fofoStore.getWarehouseId());
|
2093 |
.get(fofoStore.getWarehouseId());
|
| Line 2113... |
Line 2112... |
| 2113 |
fm.setBrandName(item.get(0).getBrand());
|
2112 |
fm.setBrandName(item.get(0).getBrand());
|
| 2114 |
fm.setModelName(item.get(0).getModelName());
|
2113 |
fm.setModelName(item.get(0).getModelName());
|
| 2115 |
fm.setModelNumber(item.get(0).getModelNumber());
|
2114 |
fm.setModelNumber(item.get(0).getModelNumber());
|
| 2116 |
fm.setShortageQty(shortageQty);
|
2115 |
fm.setShortageQty(shortageQty);
|
| 2117 |
fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
|
2116 |
fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
|
| - |
|
2117 |
fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
|
| - |
|
2118 |
fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
|
| 2118 |
// fm.setItemName(item.get(0).getBrand() + item.get(0).getModelNumber() +
|
2119 |
// fm.setItemName(item.get(0).getBrand() + item.get(0).getModelNumber() +
|
| 2119 |
// item.get(0).getModelName());
|
2120 |
// item.get(0).getModelName());
|
| 2120 |
fm.setAvailabitiy(allColorNetAvailability);
|
2121 |
fm.setAvailabitiy(allColorNetAvailability);
|
| 2121 |
|
2122 |
|
| 2122 |
focusedModelShortageList.add(fm);
|
2123 |
focusedModelShortageList.add(fm);
|
| Line 2160... |
Line 2161... |
| 2160 |
if (!emailRowsMap.containsKey(y.getKey())) {
|
2161 |
if (!emailRowsMap.containsKey(y.getKey())) {
|
| 2161 |
emailRowsMap.put(y.getKey(), new ArrayList<>());
|
2162 |
emailRowsMap.put(y.getKey(), new ArrayList<>());
|
| 2162 |
}
|
2163 |
}
|
| 2163 |
List<List<? extends Serializable>> fms = x.getValue().stream()
|
2164 |
List<List<? extends Serializable>> fms = x.getValue().stream()
|
| 2164 |
.map(r -> Arrays.asList(r.getStoreCode(), r.getStoreName(), r.getBrandName(),
|
2165 |
.map(r -> Arrays.asList(r.getStoreCode(), r.getStoreName(), r.getBrandName(),
|
| 2165 |
r.getModelName(), r.getModelNumber(), r.getWarehouseName(), r.getShortageQty(),
|
2166 |
r.getModelName(), r.getModelNumber(), r.getWarehouseName(), r.getStateManager(),
|
| 2166 |
r.getAvailabitiy()))
|
2167 |
r.getTerritoryManager(), r.getShortageQty(), r.getAvailabitiy()))
|
| 2167 |
.collect(Collectors.toList());
|
2168 |
.collect(Collectors.toList());
|
| 2168 |
emailRowsMap.get(y.getKey()).addAll(fms);
|
2169 |
emailRowsMap.get(y.getKey()).addAll(fms);
|
| 2169 |
|
2170 |
|
| 2170 |
}
|
2171 |
}
|
| 2171 |
|
2172 |
|
| 2172 |
});
|
2173 |
});
|
| 2173 |
|
2174 |
|
| 2174 |
});
|
2175 |
});
|
| 2175 |
|
2176 |
|
| 2176 |
List<String> headers = Arrays.asList("Store Code", "Store Name", "Brand", "Model Name", "Model Number",
|
2177 |
List<String> headers = Arrays.asList("Store Code", "Store Name", "Brand", "Model Name", "Model Number",
|
| 2177 |
"Warehouse Name", "Shortage Qty", "Availability");
|
2178 |
"Warehouse Name", "State Manager", "Territory Manager", "Shortage Qty", "Availability");
|
| 2178 |
emailRowsMap.entrySet().forEach(entry -> {
|
2179 |
emailRowsMap.entrySet().forEach(entry -> {
|
| 2179 |
|
2180 |
|
| 2180 |
ByteArrayOutputStream baos = null;
|
2181 |
ByteArrayOutputStream baos = null;
|
| 2181 |
try {
|
2182 |
try {
|
| 2182 |
baos = FileUtil.getCSVByteStream(headers, entry.getValue());
|
2183 |
baos = FileUtil.getCSVByteStream(headers, entry.getValue());
|