Subversion Repositories SmartDukaan

Rev

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

Rev 24830 Rev 24831
Line 83... Line 83...
83
			UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
83
			UserWallet uw = userWalletRepository.selectByRetailerId(partnerId);
84
			List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
84
			List<UserWalletHistory> walletHistory = userWalletHistoryRepository.selectByWalletIdAndDate(uw.getId(),
85
					yesterday);
85
					yesterday);
86
			Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
86
			Map<WalletReferenceType, List<UserWalletHistory>> referenceWiseWalletHistory = walletHistory.stream()
87
					.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
87
					.collect(Collectors.groupingBy(x -> x.getReferenceType(), Collectors.toList()));
88
			Arrays.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT).forEach(
88
			Arrays.asList(WalletReferenceType.PURCHASE, WalletReferenceType.SCHEME_IN, WalletReferenceType.SCHEME_OUT)
89
					x-> {
89
					.forEach(x -> {
90
						if(!referenceWiseWalletHistory.containsKey(x)) {
90
						if (!referenceWiseWalletHistory.containsKey(x)) {
91
							referenceWiseWalletHistory.put(x, new ArrayList<>());
91
							referenceWiseWalletHistory.put(x, new ArrayList<>());
92
						}
92
						}
93
					});
93
					});
94
 
94
 
-
 
95
			List<Serializable> reconciliation = new ArrayList<>();
-
 
96
			LocalDate dateToReconcile = yesterday;
-
 
97
			reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
-
 
98
 
95
			for (Map.Entry<WalletReferenceType, List<UserWalletHistory>> entry : referenceWiseWalletHistory
99
			for (Map.Entry<WalletReferenceType, List<UserWalletHistory>> entry : referenceWiseWalletHistory
96
					.entrySet()) {
100
					.entrySet()) {
97
				LocalDate dateToReconcile = yesterday;
-
 
98
				List<UserWalletHistory> history = entry.getValue();
101
				List<UserWalletHistory> history = entry.getValue();
99
				List<Serializable> reconciliation = new ArrayList<>();
-
 
100
				reconciliation.addAll(Arrays.asList(partnerId, retailerNameMap.get(partnerId), dateToReconcile));
-
 
101
				Map<Integer, Integer> referenceWalletMap = entry.getValue().stream().collect(
102
				Map<Integer, Integer> referenceWalletMap = entry.getValue().stream().collect(
102
						Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
103
						Collectors.groupingBy(x -> x.getReference(), Collectors.summingInt(x -> x.getAmount())));
103
				switch (entry.getKey()) {
104
				switch (entry.getKey()) {
104
				case PURCHASE:
105
				case PURCHASE:
105
					reconciliation.addAll(
106
					reconciliation.addAll(
Line 115... Line 116...
115
					break;
116
					break;
116
				default:
117
				default:
117
					break;
118
					break;
118
 
119
 
119
				}
120
				}
120
				reconciled = reconciled || Boolean.TRUE.equals(reconciliation.get(0));
-
 
121
				rows.add(reconciliation);
-
 
122
			}
121
			}
-
 
122
			reconciled = reconciled || Boolean.TRUE.equals(reconciliation.get(0));
-
 
123
			rows.add(reconciliation);
123
		}
124
		}
124
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(Arrays.asList("PartnerId", "Store Name",
125
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(Arrays.asList("PartnerId", "Store Name",
125
				"Reconciliation Date", "Purchase Reconciled", "Wallet amount consumed", "Ordered Total",
126
				"Reconciliation Date", "Purchase Reconciled", "Wallet amount consumed", "Ordered Total",
126
				"Cancelled Total", "Refunded Total", "", "Scheme In to Wallet", "Scheme In disbursed",
127
				"Cancelled Total", "Refunded Total", "", "Scheme In to Wallet", "Scheme In disbursed",
127
				"Scheme In rolledback", "Scheme Out to Wallet", "Scheme Out Disbursed", "Scheme Out Rolledback"), rows);
128
				"Scheme In rolledback", "Scheme Out to Wallet", "Scheme Out Disbursed", "Scheme Out Rolledback"), rows);