Package org.mifosplatform.organisation.monetary.domain

Examples of org.mifosplatform.organisation.monetary.domain.Money.zero()


            final Money outstandingBalance, final int periodNumber) {

        Money interest = calculateDecliningInterestDueForInstallmentBeforeApplyingGrace(calculator, mc, daysInPeriod, outstandingBalance);

        if (isInterestPaymentGraceApplicableForThisPeriod(periodNumber)) {
            interest = interest.zero();
        }

        Double fraction = interestCalculationGraceOnRepaymentPeriodFraction;

        if (isInterestFreeGracePeriod(periodNumber)) {
View Full Code Here


        }

        Double fraction = interestCalculationGraceOnRepaymentPeriodFraction;

        if (isInterestFreeGracePeriod(periodNumber)) {
            interest = interest.zero();
        } else if (isInterestFreeGracePeriodFromDate(interestCalculationGraceOnRepaymentPeriodFraction)) {

            if (interestCalculationGraceOnRepaymentPeriodFraction >= Integer.valueOf(1).doubleValue()) {
                interest = interest.zero();
                fraction = fraction - Integer.valueOf(1).doubleValue();
View Full Code Here

        if (isInterestFreeGracePeriod(periodNumber)) {
            interest = interest.zero();
        } else if (isInterestFreeGracePeriodFromDate(interestCalculationGraceOnRepaymentPeriodFraction)) {

            if (interestCalculationGraceOnRepaymentPeriodFraction >= Integer.valueOf(1).doubleValue()) {
                interest = interest.zero();
                fraction = fraction - Integer.valueOf(1).doubleValue();

            } else if (interestCalculationGraceOnRepaymentPeriodFraction > Double.valueOf("0.25")
                    && interestCalculationGraceOnRepaymentPeriodFraction < Integer.valueOf(1).doubleValue()) {
View Full Code Here

        final Integer numberOfPrincipalPaymentPeriods = calculateNumberOfPrincipalPaymentPeriods(this.numberOfRepayments);

        Money principal = this.principal.dividedBy(numberOfPrincipalPaymentPeriods, mc.getRoundingMode());
        if (isPrincipalGraceApplicableForThisPeriod(periodNumber)) {
            principal = principal.zero();
        }
        return principal;
    }

    private Money calculatePrincipalDueForInstallment(final PaymentPeriodsInOneYearCalculator calculator, final MathContext mc,
View Full Code Here

        final Money interestForThisInstallmentBeforeGrace = calculateDecliningInterestDueForInstallmentBeforeApplyingGrace(calculator, mc,
                daysInPeriod, outstandingBalance);

        Money principal = totalDuePerInstallment.minus(interestForThisInstallmentBeforeGrace);
        if (isPrincipalGraceApplicableForThisPeriod(periodNumber)) {
            principal = principal.zero();
        }
        return principal;
    }

    private Money calculateTotalDueForEqualInstallmentRepaymentPeriod(final BigDecimal periodicInterestRate, final Money balance,
View Full Code Here

        Money outstandingBalance = principalDisbursed;
        if (loanApplicationTerms.isMultiDisburseLoan()) {
            BigDecimal disburseAmt = getDisbursementAmount(loanApplicationTerms, periodStartDate, periods, chargesDueAtTimeOfDisbursement);
            principalDisbursed = principalDisbursed.zero().plus(disburseAmt);
            loanApplicationTerms.setPrincipal(loanApplicationTerms.getPrincipal().zero().plus(disburseAmt));
            outstandingBalance = outstandingBalance.zero().plus(disburseAmt);
        }
        Money reducePrincipal = totalCumulativePrincipal.zero();
        Money fixedEmiAmount = totalCumulativePrincipal.zero();
        int daysCalcForInstallmentNumber = 0;
        LocalDate scheduleStartDateAsPerFrequency = periodStartDate;
View Full Code Here

                            loanApplicationTerms.getLoanTermPeriodFrequencyType(), loanApplicationTerms.getRepaymentEvery());
            BigDecimal interestToBeAdded = BigDecimal.ZERO;
            BigDecimal disburseAmt = BigDecimal.ZERO;
            if (loanApplicationTerms.isMultiDisburseLoan()) {
                loanApplicationTerms.setFixedEmiAmountForPeriod(scheduledDueDate);
                fixedEmiAmount = fixedEmiAmount.zero().plus(loanApplicationTerms.getFixedEmiAmount());
                final Collection<DisbursementData> disbursementDatas = new ArrayList<>();
                LocalDate tillDate = scheduledDueDate;
                if (prepayDate != null && prepayDate.isBefore(tillDate)) {
                    tillDate = prepayDate;
                }
View Full Code Here

            }
            // update cumulative fields for principal & interest
            Money interestForThisinstallment = principalInterestForThisPeriod.interest();

            if (daysCalcForInstallmentNumber == periodNumber) {
                interestForThisinstallment = interestForThisinstallment.zero().plus(
                        calculateInterestForDays(daysInPeriodApplicableInFullInstallment, interestForThisinstallment.getAmount(),
                                daysInPeriodApplicableForInterest));
            }
            totalOutstandingInterestPaymentDueToGrace = principalInterestForThisPeriod.interestPaymentDueToGrace();
View Full Code Here

                    if (interestDueToLatePayment.isGreaterThanZero()) {
                        totalInterestCharged = totalInterestCharged.add(interestDueToLatePayment.getAmount());
                        totalRepaymentExpected = totalRepaymentExpected.add(interestDueToLatePayment.getAmount());

                        final LoanScheduleModelPeriod installment = LoanScheduleModelRepaymentPeriod.repayment(instalmentNumber, fromDate,
                                toDate, interestDueToLatePayment.zero(), interestDueToLatePayment.zero(), interestDueToLatePayment,
                                interestDueToLatePayment.zero(), interestDueToLatePayment.zero(), interestDueToLatePayment,
                                recalculatedInterestComponent);
                        periods.add(installment);
                        instalmentNumber++;
                    }
View Full Code Here

                    if (interestDueToLatePayment.isGreaterThanZero()) {
                        totalInterestCharged = totalInterestCharged.add(interestDueToLatePayment.getAmount());
                        totalRepaymentExpected = totalRepaymentExpected.add(interestDueToLatePayment.getAmount());

                        final LoanScheduleModelPeriod installment = LoanScheduleModelRepaymentPeriod.repayment(instalmentNumber, fromDate,
                                toDate, interestDueToLatePayment.zero(), interestDueToLatePayment.zero(), interestDueToLatePayment,
                                interestDueToLatePayment.zero(), interestDueToLatePayment.zero(), interestDueToLatePayment,
                                recalculatedInterestComponent);
                        periods.add(installment);
                        instalmentNumber++;
                    }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.