Example usage for java.sql Date after

List of usage examples for java.sql Date after

Introduction

In this page you can find the example usage for java.sql Date after.

Prototype

public boolean after(Date when) 

Source Link

Document

Tests if this date is after the specified date.

Usage

From source file:org.kuali.coeus.common.budget.impl.print.BudgetBaseStream.java

/**
 * This method sets reportType to ReportTypeList for BudgetLASalary and get
 * sum of fringe, calculatedCost, calculatedCostSharing and salary by
 * grouping reportType based on budgetLASalaryKey
 * /*from   w ww .  j  a v a  2 s .  co  m*/
 * @param reportTypeList
 * @param reportTypeVOList
 */
protected void setReportTypeBudgetLASalary(List<ReportType> reportTypeList,
        List<ReportTypeVO> reportTypeVOList) {
    Map<String, ReportTypeVO> reportTypeMap = new HashMap<String, ReportTypeVO>();
    for (ReportTypeVO reportTypeVO : reportTypeVOList) {
        String budgetLASalaryKey = reportTypeVO.getCostElementDesc();
        if (reportTypeMap.containsKey(budgetLASalaryKey)) {
            continue;
        }
        Date startDate = reportTypeVO.getStartDate();
        Date endDate = reportTypeVO.getEndDate();
        ScaleTwoDecimal fringe = ScaleTwoDecimal.ZERO;
        ScaleTwoDecimal calculatedCost = ScaleTwoDecimal.ZERO;
        ScaleTwoDecimal calculatedCostSharing = ScaleTwoDecimal.ZERO;
        ScaleTwoDecimal salary = ScaleTwoDecimal.ZERO;
        for (ReportTypeVO tempReportTypeVO : reportTypeVOList) {
            String budgetLASalaryTempKey = tempReportTypeVO.getCostElementDesc();
            if (budgetLASalaryTempKey.equals(budgetLASalaryKey)) {
                if (startDate.after(tempReportTypeVO.getStartDate())) {
                    startDate = tempReportTypeVO.getStartDate();
                }
                if (endDate.before(tempReportTypeVO.getEndDate())) {
                    endDate = tempReportTypeVO.getEndDate();
                }
                fringe = fringe.add(tempReportTypeVO.getFringe());
                calculatedCost = calculatedCost.add(tempReportTypeVO.getCalculatedCost());
                calculatedCostSharing = calculatedCostSharing.add(tempReportTypeVO.getCostSharingAmount());
                salary = salary.add(tempReportTypeVO.getSalaryRequested());
            }
        }
        ReportType reportType = getReportTypeForLASalary(fringe, salary, calculatedCost, calculatedCostSharing,
                reportTypeVO, startDate, endDate);
        reportTypeList.add(reportType);
        reportTypeMap.put(budgetLASalaryKey, reportTypeVO);
    }
}

From source file:org.kuali.coeus.common.budget.impl.print.BudgetBaseStream.java

/**
 * This method set reportTypeMap from reportTypeVOList by grouping based on
 * reportTypeKey and get sum of salaryRequested, calculatedCost, first
 * startDate, last endDate//from w w  w.  j  a v a  2s  .c  o m
 * 
 * @param tempReportTypeVOList
 * @param reportTypeMap
 */
protected void setReportTypeMapFromReportTypeVOList(List<ReportTypeVO> tempReportTypeVOList,
        Map<String, ReportType> reportTypeMap) {
    for (ReportTypeVO reportTypeVO : tempReportTypeVOList) {
        String reportTypeKey = getKeyForRateBase(reportTypeVO);
        if (reportTypeMap.containsKey(reportTypeKey)) {
            continue;
        }
        Date startDate = reportTypeVO.getStartDate();
        Date endDate = reportTypeVO.getEndDate();
        ScaleTwoDecimal calculatedCost = ScaleTwoDecimal.ZERO;
        ScaleTwoDecimal salaryRequested = ScaleTwoDecimal.ZERO;
        for (ReportTypeVO tempReportTypeVO : tempReportTypeVOList) {
            String reportTypeTempKey = getKeyForRateBase(tempReportTypeVO);
            if (reportTypeTempKey.equals(reportTypeKey)) {
                salaryRequested = salaryRequested.add(tempReportTypeVO.getSalaryRequested());
                calculatedCost = calculatedCost.add(tempReportTypeVO.getCalculatedCost());
                if (startDate.after(tempReportTypeVO.getStartDate())) {
                    startDate = tempReportTypeVO.getStartDate();
                }
                if (endDate.before(tempReportTypeVO.getEndDate())) {
                    endDate = tempReportTypeVO.getEndDate();
                }
            }
        }
        ReportType reportType = getReportTypeForRateAndBase(startDate, endDate, calculatedCost, salaryRequested,
                reportTypeVO);
        reportTypeMap.put(reportTypeKey, reportType);
    }
}

From source file:org.kuali.coeus.common.budget.impl.print.BudgetBaseStream.java

/**
 * This method set reportTypeMap for BudgetOHRateAndBase by grouping based
 * on budgetOHRateBaseKey and get sum of salaryRequested, calculatedCost,
 * first startDate, last endDate//  w ww.  ja  va 2 s  . c o  m
 * 
 * @param tempReportTypeVOList
 * @param reportTypeMap
 */
protected void setReportTypeMapForBudgetOHRateAndBase(List<ReportTypeVO> tempReportTypeVOList,
        Map<String, ReportType> reportTypeMap) {
    for (ReportTypeVO reportTypeVO : tempReportTypeVOList) {
        String budgetOHRateBaseKey = getKeyForBudgetOHRateBase(reportTypeVO);
        if (reportTypeMap.containsKey(budgetOHRateBaseKey)) {
            continue;
        }
        Date startDate = reportTypeVO.getStartDate();
        Date endDate = reportTypeVO.getEndDate();
        ScaleTwoDecimal calculatedCost = ScaleTwoDecimal.ZERO;
        ScaleTwoDecimal salaryRequested = ScaleTwoDecimal.ZERO;
        for (ReportTypeVO tempReportTypeVO : tempReportTypeVOList) {
            String budgetOHRateBaseTempKey = getKeyForBudgetOHRateBase(tempReportTypeVO);
            if (budgetOHRateBaseTempKey.equals(budgetOHRateBaseKey)) {
                salaryRequested = salaryRequested
                        .add(tempReportTypeVO.getSalaryRequested() == null ? ScaleTwoDecimal.ZERO
                                : tempReportTypeVO.getSalaryRequested());
                calculatedCost = calculatedCost.add(tempReportTypeVO.getCalculatedCost());
                if (startDate.after(tempReportTypeVO.getStartDate())) {
                    startDate = tempReportTypeVO.getStartDate();
                }
                if (endDate.before(tempReportTypeVO.getEndDate())) {
                    endDate = tempReportTypeVO.getEndDate();
                }
            }
        }
        ReportType reportType = getReportTypeForBudgetOHRateAndBase(startDate, endDate, calculatedCost,
                salaryRequested, reportTypeVO);
        reportTypeMap.put(budgetOHRateBaseKey, reportType);
    }
}

From source file:org.kuali.coeus.common.budget.impl.summary.BudgetSummaryServiceImpl.java

/**
 * //from www  . j a  va 2s .co  m
 * This method is to be shared by adjusting dates for budgetperiod.lineitem and lineitem.personnellineitem
 * refer to jira-1376 for rules
 */
protected List<Date> getNewStartEndDates(Date parentStartDate, Date oldStartDate, Date parentEndDate,
        Date oldEndDate, List<Date> startEndDates) {
    Date startDate = startEndDates.get(0);
    Date endDate = startEndDates.get(1);
    Date newStartDate = startDate;
    Date newEndDate = endDate;
    if (startDate.compareTo(oldStartDate) == 0 && endDate.compareTo(oldEndDate) == 0) {
        // if initiall, both are matching, then keep matching.
        newStartDate = parentStartDate;
        newEndDate = parentEndDate;
    } else {
        // duration has priority over child start date relative to parent start date
        if (parentStartDate.compareTo(oldStartDate) != 0) {
            // keep the gap between child start date and parent start date
            newStartDate = add(newStartDate,
                    getDateTimeService().dateDiff(oldStartDate, parentStartDate, false));
            if (newStartDate.after(parentEndDate)) {
                newStartDate = parentStartDate;
            } else {
                if (newStartDate.after(parentStartDate)) {
                    // keep the duration, but the item start date relative to period start date is not maintained.
                    int parentDuration = getDateTimeService().dateDiff(parentStartDate, parentEndDate, false);
                    int duration = getDateTimeService().dateDiff(startDate, endDate, false);
                    int daysTOEndDate = getDateTimeService().dateDiff(newStartDate, parentEndDate, false);
                    if (daysTOEndDate < duration) {
                        if (parentDuration > duration) {
                            newEndDate = parentEndDate;
                            newStartDate = add(newEndDate, duration * (-1));
                        } else {
                            // can't keep duration because parent duration is smaller than child initial duration
                            newStartDate = parentStartDate;
                        }
                    }
                }
            }
            newEndDate = add(newStartDate, getDateTimeService().dateDiff(startDate, endDate, false));
            if (newEndDate.after(parentEndDate)) {
                newEndDate = parentEndDate;
            }
        } else {
            // end date changed
            if (parentEndDate.compareTo(oldStartDate) != 0 && parentEndDate.before(endDate)) {
                if (parentEndDate.after(startDate) && parentEndDate.before(endDate)) {
                    newEndDate = parentEndDate;
                    // try to keep duration
                    newStartDate = add(newEndDate, getDateTimeService().dateDiff(endDate, startDate, false));
                    if (newStartDate.before(parentStartDate)) {
                        newStartDate = parentStartDate;
                    }
                } else {
                    if (parentEndDate.before(startDate)) {
                        newStartDate = parentStartDate;
                        newEndDate = add(newStartDate,
                                getDateTimeService().dateDiff(startDate, endDate, false));
                        if (newEndDate.after(parentEndDate)) {
                            newEndDate = parentEndDate;
                        }
                    }
                }
            }
        }
    }
    startEndDates.clear();
    startEndDates.add(0, newStartDate);
    startEndDates.add(1, newEndDate);
    return startEndDates;
}

From source file:org.kuali.coeus.common.budget.impl.summary.BudgetSummaryServiceImpl.java

@Override
public List<Date> getNewStartEndDates(List<Date> startEndDates, int gap, int duration, Date prevDate,
        boolean leapDayInPeriod, boolean leapDayInGap) {
    // duration is < (enddate - start date)
    Date startDate = startEndDates.get(0);
    Date endDate = startEndDates.get(1);
    Date newStartDate = startDate;
    Date newEndDate = endDate;/*from   w w  w  . jav  a2 s. c o  m*/
    boolean endDateAdjusted = false;
    if (gap == 0) {
        newEndDate = add(startDate, duration);
        ;
    } else {
        // keep the gap between child start date and parent start date
        newStartDate = add(startDate, gap);
        newEndDate = add(newStartDate, duration);
        ;
        if (newStartDate.after(endDate)) {
            newStartDate = startDate;
            newEndDate = add(startDate, duration);
        } else if (newEndDate.after(endDate)) {
            endDateAdjusted = true;
            newEndDate = endDate;
            newStartDate = add(endDate, duration * (-1));
        }
    }
    boolean isLeapDayInNewGap = isLeapDaysInPeriod(startDate, newStartDate);

    startEndDates.clear();
    if (leapDayInGap && !endDateAdjusted) {
        if (newStartDate.after(startDate)) {
            // shift non-leap year date
            newStartDate = add(newStartDate, -1);
            newEndDate = add(newEndDate, -1);
        }
    } else if (isLeapDayInNewGap) {
        if (newEndDate.before(endDate)) {
            // shift leap year date
            newStartDate = add(newStartDate, 1);
            newEndDate = add(newEndDate, 1);
        }

    }
    boolean isLeapDayInNewPeriod = isLeapDaysInPeriod(newStartDate, newEndDate);

    if (leapDayInPeriod && !isLeapDayInNewPeriod) {
        newEndDate = add(newEndDate, -1);
    } else if (!leapDayInPeriod && isLeapDayInNewPeriod) {
        if (endDate.after(newEndDate)) {
            newEndDate = add(newEndDate, 1);
        } else if (startDate.before(newStartDate)) {
            newStartDate = add(newStartDate, 1);

        }

    }

    startEndDates.add(0, newStartDate);
    startEndDates.add(1, newEndDate);
    return startEndDates;
}

From source file:org.kuali.coeus.common.committee.impl.bo.CommitteeBase.java

private boolean isChairPerson(CommitteeMembershipBase committeeMembership) {

    boolean isChairRoleFound = false;
    Date currentDate = DateUtils.clearTimeFields(new Date(System.currentTimeMillis()));

    for (CommitteeMembershipRole committeeMembershipRole : committeeMembership.getMembershipRoles()) {
        if (committeeMembershipRole.getMembershipRoleCode().equals(CHAIR_MEMBERSHIP_ROLE_CODE)
                && committeeMembershipRole.getStartDate() != null
                && committeeMembershipRole.getEndDate() != null
                && !currentDate.before(committeeMembershipRole.getStartDate())
                && !currentDate.after(committeeMembershipRole.getEndDate())) {
            isChairRoleFound = true;//from w  w  w  . j  ava2 s  .co m
            break;
        }
    }
    return isChairRoleFound;
}

From source file:org.kuali.coeus.common.committee.impl.bo.CommitteeMembershipBase.java

/**
 * /*from  w  w  w.  j  av a  2 s  .  c o  m*/
 * This method determines if the current committee member is active for the given date
 * @param date
 * @return true if member is active, false otherwise
 */
public boolean isActive(Date date) {
    boolean isActive = false;
    for (CommitteeMembershipRole role : membershipRoles) {
        if (role.getStartDate() != null && role.getEndDate() != null && !date.before(role.getStartDate())
                && !date.after(role.getEndDate())) {
            if (role.getMembershipRoleCode().equals(CommitteeMembershipRole.INACTIVE_ROLE)) {
                isActive = false;
                break;
            } else {
                isActive = true;
            }
        }
    }
    return isActive;
}

From source file:org.kuali.coeus.common.committee.impl.meeting.MeetingServiceImplBase.java

private boolean isActiveForScheduledDate(Date scheduledDate, Date startDate, Date endDate) {
    return startDate.before(scheduledDate) && endDate.after(scheduledDate);
}

From source file:org.kuali.coeus.common.committee.impl.rules.CommitteeDocumentRuleBase.java

/**
 * Check if the date is outside the committee membership term.
 * If any of the date are null the method returns false.
 * //  w  w w  . j a v a 2s .  com
 * @param committeeMembership - the committeeMembership whose term we are comparing against
 * @param date - the date to be checked
 * @return <code>true</code> if the date is outside the committee membership term, <code>false</code> otherwise
 */
private boolean hasDateOutsideCommitteeMembershipTerm(CommitteeMembershipBase committeeMembership, Date date) {
    boolean isOutside = false;
    if ((committeeMembership.getTermStartDate() != null) && (committeeMembership.getTermEndDate() != null)
            && (date != null)) {
        if (date.before(committeeMembership.getTermStartDate())
                || date.after(committeeMembership.getTermEndDate())) {
            isOutside = true;
        }
    }
    return isOutside;
}

From source file:org.kuali.coeus.common.committee.impl.rules.CommitteeDocumentRuleBase.java

/**
 * Verify that a date is within a period
 * //from ww w .ja  va2  s.  c  o m
 * @param date - the date that needs to be within the period
 * @param periodStart - the date on which the period begins
 * @param periodEnd - the date on which the period ends
 * @return <code>true</code> if date is within the period, <code>false</code> otherwise
 */
private boolean isWithinPeriod(Date date, Date periodStart, Date periodEnd) {
    return !(date.before(periodStart) || date.after(periodEnd));
}