Package org.fenixedu.academic.domain.accounting.events.gratuity

Examples of org.fenixedu.academic.domain.accounting.events.gratuity.GratuityEvent


                partialAcceptedPercentage);
    }

    @Override
    protected Money calculateDFAGratuityTotalAmountToPay(final Event event) {
        final GratuityEvent gratuityEvent = (GratuityEvent) event;
        final BigDecimal numberOfEnrolments = BigDecimal.valueOf(gratuityEvent.getEnrolmentsEctsForRegistration());
        final BigDecimal ectsCredits =
                BigDecimal.valueOf(gratuityEvent.getStudentCurricularPlan().getCycle(CycleType.THIRD_CYCLE)
                        .getDefaultEcts(gratuityEvent.getExecutionYear()));

        final Money result =
                getDfaTotalAmount().multiply(
                        numberOfEnrolments.divide(ectsCredits, SCALE_FOR_INTERMEDIATE_CALCULATIONS, RoundingMode.HALF_EVEN));
        return result.lessOrEqualThan(getDfaTotalAmount()) ? result : getDfaTotalAmount();
View Full Code Here


                .calculateAmountToPay(when)));
    }

    @Override
    protected Money doCalculationForAmountToPay(Event event, DateTime when, boolean applyDiscount) {
        final GratuityEvent gratuityEvent = (GratuityEvent) event;

        Money result = Money.ZERO;
        for (final Map.Entry<DegreeCurricularPlan, BigDecimal> entry : groupEctsByDegreeCurricularPlan(gratuityEvent).entrySet()) {
            result = result.add(calculateAmountForDegreeCurricularPlan(entry.getKey(), entry.getValue(), gratuityEvent));
        }
View Full Code Here

        return result;
    }

    @Override
    protected Money subtractFromExemptions(Event event, DateTime when, boolean applyDiscount, Money amountToPay) {
        final GratuityEvent gratuityEvent = (GratuityEvent) event;

        if (!gratuityEvent.hasGratuityExemption()) {
            return amountToPay;
        }

        GratuityExemption gratuityExemption = gratuityEvent.getGratuityExemption();

        if (gratuityExemption.isValueExemption()) {
            amountToPay = amountToPay.subtract(((ValueGratuityExemption) gratuityExemption).getValue());
        } else {
            PercentageGratuityExemption percentageGratuityExemption = (PercentageGratuityExemption) gratuityExemption;
View Full Code Here

            return Money.ZERO;
        }
    }

    private DateMidnight getWhenStartToApplyPenalty(final Event event, final DateTime when) {
        final GratuityEvent gratuityEvent = (GratuityEvent) event;
        final DateMidnight startDate = gratuityEvent.getRegistration().getStartDate().toDateMidnight();
        return startDate.plusDays(getNumberOfDaysToStartApplyingPenalty()).plusMonths(1).withDayOfMonth(1);
    }
View Full Code Here

        return true;
    }

    @Override
    public LocalDate getEndDate(final Event event) {
        final GratuityEvent gratuityEvent = (GratuityEvent) event;
        final LocalDate startDate = gratuityEvent.getRegistration().getStartDate().toLocalDate();

        return startDate.plusDays(getNumberOfDaysToStartApplyingPenalty());
    }
View Full Code Here

public class GratuityExemptionJustificationTypeByDegreeTypeProvider implements DataProvider {

    @Override
    public Object provide(Object source, Object currentValue) {
        final GratuityEvent gratuityEvent = getGratuityEvent(source);
        return GratuityExemptionJustificationType.getTypesFor(gratuityEvent.getDegree().getDegreeType());
    }
View Full Code Here

        if (!newStudentCurricularPlan.hasGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class)) {
            correctRegistrationRegime(oldStudentCurricularPlan, newStudentCurricularPlan);
            createGratuityEvent(newStudentCurricularPlan);
        }

        final GratuityEvent firstEvent =
                oldStudentCurricularPlan.getGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class);
        final GratuityEvent secondEvent =
                newStudentCurricularPlan.getGratuityEvent(getExecutionYear(), GratuityEventWithPaymentPlan.class);

        if (!firstEvent.isGratuityEventWithPaymentPlan() || !secondEvent.isGratuityEventWithPaymentPlan()) {
            throw new DomainException("error.SeparationCyclesManagement.unexpected.event.types");
        }

        movePayments((GratuityEventWithPaymentPlan) firstEvent, (GratuityEventWithPaymentPlan) secondEvent);
    }
View Full Code Here

        final GratuityReport report = new GratuityReport();

        for (final AnnualEvent event : executionYear.getAnnualEventsSet()) {

            if (event instanceof GratuityEvent) {
                final GratuityEvent gratuityEvent = (GratuityEvent) event;
                if (!degreeTypes.isEmpty() && !degreeTypes.contains(gratuityEvent.getDegree().getDegreeType())) {
                    continue;
                }

                for (final AccountingTransaction transaction : event.getNonAdjustingTransactions()) {
                    if (startDate != null && endDate != null) {
View Full Code Here

TOP

Related Classes of org.fenixedu.academic.domain.accounting.events.gratuity.GratuityEvent

Copyright © 2018 www.massapicom. 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.