Subversion Repositories SmartDukaan

Rev

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

Rev 31175 Rev 31177
Line 3580... Line 3580...
3580
 
3580
 
3581
					LOGGER.info("loanStatements {}", loanStatements);
3581
					LOGGER.info("loanStatements {}", loanStatements);
3582
 
3582
 
3583
					Map<LoanReferenceType, Double> loanStatusAmount = loanStatements.stream()
3583
					Map<LoanReferenceType, Double> loanStatusAmount = loanStatements.stream()
3584
							.collect(Collectors.groupingBy(x -> x.getLoanReferenceType(),
3584
							.collect(Collectors.groupingBy(x -> x.getLoanReferenceType(),
3585
									Collectors.summingDouble(x -> x.getAmount().doubleValue())));
3585
									Collectors.summingDouble(x -> FormattingUtils.serialize(x.getAmount()))));
3586
 
3586
 
3587
					LOGGER.info("loanStatusAmount {}", loanStatusAmount);
3587
					LOGGER.info("loanStatusAmount {}", loanStatusAmount);
3588
					Double interestAmount = loanStatusAmount.get(LoanReferenceType.INTEREST);
3588
					Double interestAmount = loanStatusAmount.get(LoanReferenceType.INTEREST);
3589
 
3589
 
3590
					if (interestAmount == null) {
3590
					if (interestAmount == null) {
Line 3595... Line 3595...
3595
					double paidAmount = 0;
3595
					double paidAmount = 0;
3596
					if (userWallet.getAmount() > Math.abs(interestAmount)) {
3596
					if (userWallet.getAmount() > Math.abs(interestAmount)) {
3597
 
3597
 
3598
						LOGGER.info("interestAmount b {}", interestAmount);
3598
						LOGGER.info("interestAmount b {}", interestAmount);
3599
 
3599
 
3600
						if (interestAmount != 0) {
3600
						if (interestAmount < 0) {
3601
							LOGGER.info("interestAmount a {}", interestAmount);
3601
							LOGGER.info("interestAmount a {}", interestAmount);
3602
 
3602
 
3603
							settledLoanStatement(LoanReferenceType.INTEREST, BigDecimal.valueOf(interestAmount),
3603
							settledLoanStatement(LoanReferenceType.INTEREST, BigDecimal.valueOf(interestAmount),
3604
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3604
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3605
									LocalDateTime.now());
3605
									LocalDateTime.now());
Line 3608... Line 3608...
3608
							paidAmount += Math.abs(interestAmount);
3608
							paidAmount += Math.abs(interestAmount);
3609
						}
3609
						}
3610
 
3610
 
3611
						double userWalletAmount = userWallet.getAmount() - Math.abs(interestAmount);
3611
						double userWalletAmount = userWallet.getAmount() - Math.abs(interestAmount);
3612
 
3612
 
3613
						if (userWalletAmount > Math.abs(principalAmount) && principalAmount != 0) {
3613
						if (userWalletAmount > Math.abs(principalAmount) && principalAmount < 0) {
3614
 
3614
 
3615
							settledLoanStatement(LoanReferenceType.PRINCIPAL, BigDecimal.valueOf(principalAmount),
3615
							settledLoanStatement(LoanReferenceType.PRINCIPAL, BigDecimal.valueOf(principalAmount),
3616
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3616
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3617
									LocalDateTime.now());
3617
									LocalDateTime.now());
3618
							double amount = userWalletAmount - Math.abs(principalAmount);
3618
							double amount = userWalletAmount - Math.abs(principalAmount);
Line 3632... Line 3632...
3632
							creditAccount.setAvailableAmount(sdCreditRequirement.getAvailableLimit().floatValue());
3632
							creditAccount.setAvailableAmount(sdCreditRequirement.getAvailableLimit().floatValue());
3633
							creditAccount.setUpdatedOn(LocalDateTime.now());
3633
							creditAccount.setUpdatedOn(LocalDateTime.now());
3634
 
3634
 
3635
							loan.setPendingAmount(BigDecimal.ZERO);
3635
							loan.setPendingAmount(BigDecimal.ZERO);
3636
 
3636
 
3637
						} else if (principalAmount != 0) {
3637
						} else if (principalAmount < 0) {
3638
 
3638
 
3639
							settledLoanStatement(LoanReferenceType.PRINCIPAL, BigDecimal.valueOf(userWalletAmount),
3639
							settledLoanStatement(LoanReferenceType.PRINCIPAL, BigDecimal.valueOf(userWalletAmount),
3640
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3640
									loan.getFofoId(), loan.getId(), "Amount adjusted against loan",
3641
									LocalDateTime.now());
3641
									LocalDateTime.now());
3642
 
3642
 
Line 3914... Line 3914...
3914
			throws ProfitMandiBusinessException, MessagingException, IOException {
3914
			throws ProfitMandiBusinessException, MessagingException, IOException {
3915
		String subject = "Default Partners";
3915
		String subject = "Default Partners";
3916
 
3916
 
3917
		List<AuthUser> authUsers = csService
3917
		List<AuthUser> authUsers = csService
3918
				.getAuthUserByCategoryId(ProfitMandiConstants.TICKET_CATEGORY_FINANCIAL_SERVICES);
3918
				.getAuthUserByCategoryId(ProfitMandiConstants.TICKET_CATEGORY_FINANCIAL_SERVICES);
-
 
3919
 
-
 
3920
		authUsers.addAll(csService.getAuthUserByCategoryId(ProfitMandiConstants.TICKET_CATEGORY_ACCOUNTS));
3919
		if (!authUsers.isEmpty()) {
3921
		if (!authUsers.isEmpty()) {
3920
			List<String> financeEmails = authUsers.stream().map(x -> x.getEmailId()).collect(Collectors.toList());
3922
			List<String> financeEmails = authUsers.stream().map(x -> x.getEmailId()).collect(Collectors.toList());
3921
			String messageText = this.getMessageForDueDateExtend(defaultLoans);
3923
			String messageText = this.getMessageForDueDateExtend(defaultLoans);
3922
 
3924
 
3923
			String[] email = financeEmails.toArray(new String[financeEmails.size()]);
3925
			String[] email = financeEmails.toArray(new String[financeEmails.size()]);