Subversion Repositories SmartDukaan

Rev

Rev 27210 | Rev 27213 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 27210 Rev 27212
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());