Subversion Repositories SmartDukaan

Rev

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

Rev 30153 Rev 30186
Line 347... Line 347...
347
		}
347
		}
348
		return schemeIdSchemeMap;
348
		return schemeIdSchemeMap;
349
	}
349
	}
350
 
350
 
351
	private Map<Integer, Set<Scheme>> toCatalogIdSchemesMap(List<SchemeItem> schemeItems, List<Scheme> schemes) {
351
	private Map<Integer, Set<Scheme>> toCatalogIdSchemesMap(List<SchemeItem> schemeItems, List<Scheme> schemes) {
352
		Map<Integer, Scheme> schemeIdSchemesMap = this.toSchemeIdSchemeMap(schemes);
352
		Map<Integer, Scheme> schemesMap = schemes.stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
353
		Map<Integer, Set<Scheme>> catalogIdSchemesMap = new HashMap<>();
353
		Map<Integer, Set<Scheme>> catalogSchemesMap = new HashMap<>();
354
		for (SchemeItem schemeItem : schemeItems) {
354
		for (SchemeItem schemeItem : schemeItems) {
355
			if (!catalogIdSchemesMap.containsKey(schemeItem.getCatalogId())) {
355
			if (!catalogSchemesMap.containsKey(schemeItem.getCatalogId())) {
356
				Set<Scheme> schemesSet = new HashSet<>();
-
 
357
				schemesSet.add(schemeIdSchemesMap.get(schemeItem.getSchemeId()));
-
 
358
				catalogIdSchemesMap.put(schemeItem.getCatalogId(), schemesSet);
356
				catalogSchemesMap.put(schemeItem.getCatalogId(), new HashSet<>());
359
			} else {
-
 
360
				catalogIdSchemesMap.get(schemeItem.getCatalogId()).add(schemeIdSchemesMap.get(schemeItem.getSchemeId()));
-
 
361
			}
357
			}
-
 
358
			Set<Scheme> schemesSet = catalogSchemesMap.get(schemeItem.getCatalogId());
-
 
359
			schemesSet.add(schemesMap.get(schemeItem.getSchemeId()));
362
		}
360
		}
363
		return catalogIdSchemesMap;
361
		return catalogSchemesMap;
364
	}
362
	}
365
 
363
 
366
	private Map<InventoryItem, Set<Scheme>> toInventoryItemSchemesMap(List<Scheme> schemes,
364
	private Map<InventoryItem, Set<Scheme>> toInventoryItemSchemesMap(List<Scheme> schemes,
367
																	  List<InventoryItem> inventoryItems) {
365
																	  List<InventoryItem> inventoryItems) {
368
		Set<Integer> schemeIds = new HashSet<>();
366
		Set<Integer> schemeIds = schemes.stream().map(x -> x.getId()).collect(Collectors.toSet());
369
		for (Scheme scheme : schemes) {
-
 
370
			schemeIds.add(scheme.getId());
-
 
371
		}
-
 
372
		Set<Integer> itemIds = inventoryItems.stream().map(x -> x.getItemId()).collect(Collectors.toSet());
367
		Set<Integer> itemIds = inventoryItems.stream().map(x -> x.getItemId()).collect(Collectors.toSet());
373
		Set<Integer> catalogIds = itemRepository.selectByIds(itemIds).stream().map(x -> x.getCatalogItemId()).collect(Collectors.toSet());
368
		Set<Integer> catalogIds = itemRepository.selectByIds(itemIds).stream().map(x -> x.getCatalogItemId()).collect(Collectors.toSet());
374
		List<SchemeItem> schemeItems = schemeItemRepository.selectBySchemeIdsAndCatalogIds(schemeIds, catalogIds);
369
		List<SchemeItem> schemeItems = schemeItemRepository.selectBySchemeIdsAndCatalogIds(schemeIds, catalogIds);
375
 
370
 
376
		Map<Integer, Set<Scheme>> itemIdSchemesMap = this.toCatalogIdSchemesMap(schemeItems, schemes);
371
		Map<Integer, Set<Scheme>> catalogIdSchemesMap = this.toCatalogIdSchemesMap(schemeItems, schemes);
377
		Map<InventoryItem, Set<Scheme>> inventoryItemSchemsMap = new HashMap<>();
372
		Map<InventoryItem, Set<Scheme>> inventoryItemSchemsMap = new HashMap<>();
378
		for (InventoryItem inventoryItem : inventoryItems) {
373
		for (InventoryItem inventoryItem : inventoryItems) {
379
			if (itemIdSchemesMap.containsKey(inventoryItem.getItemId())) {
374
			if (catalogIdSchemesMap.containsKey(inventoryItem.getItem().getCatalogItemId())) {
380
				inventoryItemSchemsMap.put(inventoryItem, itemIdSchemesMap.get(inventoryItem.getItemId()));
375
				inventoryItemSchemsMap.put(inventoryItem, catalogIdSchemesMap.get(inventoryItem.getItem().getCatalogItemId()));
381
			}
376
			}
382
		}
377
		}
383
		return inventoryItemSchemsMap;
378
		return inventoryItemSchemsMap;
384
	}
379
	}
385
 
380
 
Line 628... Line 623...
628
				walletService.addAmountToWallet(
623
				walletService.addAmountToWallet(
629
						retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Sales margin for invoice number "
624
						retailerId, fofoOrderId, WalletReferenceType.SCHEME_OUT, "Sales margin for invoice number "
630
								+ fofoOrder.getInvoiceNumber() + ". Total " + count + " pc(s)",
625
								+ fofoOrder.getInvoiceNumber() + ". Total " + count + " pc(s)",
631
						totalCashback, fofoOrder.getCreateTimestamp());
626
						totalCashback, fofoOrder.getCreateTimestamp());
632
				fofoOrder.setCashback(totalCashback);
627
				fofoOrder.setCashback(totalCashback);
633
				fofoOrderRepository.persist(fofoOrder);
-
 
634
			}
628
			}
635
		}
629
		}
636
	}
630
	}
637
 
631
 
638
	@Override
632
	@Override