Subversion Repositories SmartDukaan

Rev

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

Rev 25841 Rev 27745
Line 64... Line 64...
64
	private static final Logger LOGGER = LogManager.getLogger(Application.class);
64
	private static final Logger LOGGER = LogManager.getLogger(Application.class);
65
 
65
 
66
	@Autowired
66
	@Autowired
67
	private FofoStoreRepository fofoStoreRepository;
67
	private FofoStoreRepository fofoStoreRepository;
68
 
68
 
-
 
69
	private static final List<WalletReferenceType> reconciliationReferenceTypes = Arrays
-
 
70
			.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT);
-
 
71
 
69
	@Autowired
72
	@Autowired
70
	private PurchaseRepository purchaseRepository;
73
	private PurchaseRepository purchaseRepository;
71
 
74
 
72
	@Autowired
75
	@Autowired
73
	private OrderService orderService;
76
	private OrderService orderService;
Line 122... Line 125...
122
			UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
125
			UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
123
			List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
126
			List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
124
					yesterday);
127
					yesterday);
125
			Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
128
			Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
126
					.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
129
					.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
127
			Arrays.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT)
-
 
128
					.forEach(x -> {
130
			reconciliationReferenceTypes.forEach(x -> {
129
						if (!referenceWiseWalletHistory.containsKey(x)) {
131
				if (!referenceWiseWalletHistory.containsKey(x)) {
130
							referenceWiseWalletHistory.put(x, new ArrayList<>());
132
					referenceWiseWalletHistory.put(x, new ArrayList<>());
131
						}
133
				}
132
					});
134
			});
133
 
135
 
134
			List<Serializable> reconciliation = new ArrayList<>();
136
			List<Serializable> reconciliation = new ArrayList<>();
135
			LocalDate dateToReconcile = yesterday;
137
			LocalDate dateToReconcile = yesterday;
136
			// "PartnerId", "Partner Name", "Reconciliation Date"
138
			// "PartnerId", "Partner Name", "Reconciliation Date"
137
			reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
139
			reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
138
 
140
 
139
			for (Map.Entry<WalletReferenceType, List<UserWalletHistory>> entry : referenceWiseWalletHistory
141
			for (WalletReferenceType walletReferenceType : reconciliationReferenceTypes) {
140
					.entrySet()) {
-
 
141
				List<UserWalletHistory> history = entry.getValue();
142
				List<UserWalletHistory> history = referenceWiseWalletHistory.get(walletReferenceType);
142
				Map<Integer, Integer> referenceWalletMap = entry.getValue().stream().collect(
143
				Map<Integer, Integer> referenceWalletMap = history.stream().collect(
143
						Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
144
						Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
144
				switch (entry.getKey()) {
145
				switch (walletReferenceType) {
145
				case PURCHASE:
146
				case PURCHASE:
146
					reconciliation.addAll(reconcileOrdersAndWallet(dateToReconcile, referenceWalletMap, history));
147
					reconciliation.addAll(reconcileOrdersAndWallet(dateToReconcile, referenceWalletMap, history));
147
					break;
148
					break;
148
				case SCHEME_IN:
149
				case SCHEME_IN:
149
					reconciliation.addAll(reconcileSchemeInAndWallet(dateToReconcile, referenceWalletMap, history,
150
					reconciliation.addAll(reconcileSchemeInAndWallet(dateToReconcile, referenceWalletMap, history,
Line 352... Line 353...
352
	private void checkForDblClickIssues() {
353
	private void checkForDblClickIssues() {
353
		// For all schmes from April onwards
354
		// For all schmes from April onwards
354
	}
355
	}
355
 
356
 
356
	private void dbClickPurchase() {
357
	private void dbClickPurchase() {
357
		List<Purchase> purchases = purchaseRepository.selectAllBetweenPurchaseDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
358
		List<Purchase> purchases = purchaseRepository
358
				LocalDateTime.now());
359
				.selectAllBetweenPurchaseDate(LocalDate.of(2019, 4, 1).atStartOfDay(), LocalDateTime.now());
359
	}
360
	}
360
 
361
 
361
	private void dbClickSale() {
362
	private void dbClickSale() {
362
		List<FofoOrder> sales = fofoOrderRepository.selectBetweenSaleDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
363
		List<FofoOrder> sales = fofoOrderRepository.selectBetweenSaleDate(LocalDate.of(2019, 4, 1).atStartOfDay(),
363
				LocalDateTime.now());
364
				LocalDateTime.now());