Example usage for org.joda.time LocalDate fromDateFields

List of usage examples for org.joda.time LocalDate fromDateFields

Introduction

In this page you can find the example usage for org.joda.time LocalDate fromDateFields.

Prototype

@SuppressWarnings("deprecation")
public static LocalDate fromDateFields(Date date) 

Source Link

Document

Constructs a LocalDate from a java.util.Date using exactly the same field values.

Usage

From source file:org.kuali.kpme.core.calendar.entry.CalendarEntryBo.java

License:Educational Community License

public void setBatchPayrollApprovalTime(Time batchPayrollApprovalTime) {
    LocalDate localDate = batchPayrollApprovalDateTime != null
            ? LocalDate.fromDateFields(batchPayrollApprovalDateTime)
            : LocalDate.now();/*  w  w  w . java  2 s. co  m*/
    LocalTime localTime = batchPayrollApprovalTime != null ? LocalTime.fromDateFields(batchPayrollApprovalTime)
            : null;
    batchPayrollApprovalDateTime = localTime != null
            ? localTime.toDateTime(localDate.toDateTimeAtStartOfDay()).toDate()
            : null;
}

From source file:org.kuali.kpme.core.principal.PrincipalHRAttributes.java

License:Educational Community License

public LocalDate getServiceLocalDate() {
    return serviceDate != null ? LocalDate.fromDateFields(serviceDate) : null;
}

From source file:org.kuali.kpme.core.util.GroupKeyValueFinder.java

License:Educational Community License

@Override
public List<KeyValue> getKeyValues(ViewModel model) {

    List<KeyValue> keyValues = new ArrayList<KeyValue>();
    MaintenanceDocumentForm docForm = (MaintenanceDocumentForm) model;
    HrBusinessObject anHrKeyObject = (HrBusinessObject) docForm.getDocument().getNewMaintainableObject()
            .getDataObject();/*from www  .  j  a  v  a2s.  c om*/
    LocalDate aDate = LocalDate.fromDateFields(anHrKeyObject.getRelativeEffectiveDate());

    if (aDate != null) {
        List<? extends HrGroupKey> groupKeyList = HrServiceLocator.getHrGroupKeyService()
                .getAllActiveHrGroupKeys(aDate);
        if (CollectionUtils.isNotEmpty(groupKeyList)) {
            for (HrGroupKey groupKey : groupKeyList) {
                keyValues.add(new ConcreteKeyValue((String) groupKey.getGroupKeyCode(),
                        (String) groupKey.getGroupKeyCode()));
            }
        }
    }

    return keyValues;
}

From source file:org.kuali.kpme.core.util.TKUtils.java

License:Educational Community License

public static LocalDate formatDateString(String date) {
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    try {// w w w.ja  va2  s . c  om
        return LocalDate.fromDateFields(sdf.parse(date));
    } catch (ParseException e) {
        return null;
    }
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.AccruedLeaveBalance.java

License:Educational Community License

@Override
public void add(LeaveBlock leaveBlock) throws MaximumBalanceException, NegativeBalanceException {
    //TODO: Is the leave block within the previous calendar year ( carryover ), a current calendar year ( could be planned/future usage ), or 
    // a future calendar year ( is planned/future if usage; no balance action if accrual. )
    //DateTime prevRolloverDate = HrServiceLocator.getLeavePlanService().getRolloverDayOfLeavePlan(principalCalendar.getLeavePlan(), asOfDate);
    if (leaveBlock.getLeaveDate().compareTo(asOfDate.toDate()) <= 0) {

        try {//from w  ww  .  j  a v  a  2s.  com
            ytdUsage.add(leaveBlock);
        } catch (UsageLimitException e) {
            e.printStackTrace();
        }

        ytdEarned.add(leaveBlock);

        try {
            carryOver.add(leaveBlock);
        } catch (MaxCarryoverException e) {
            e.printStackTrace();
        }

        EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
                LocalDate.fromDateFields(leaveBlock.getLeaveDate()));
        if (earnCode != null) {
            if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {

                AccrualCategoryRule accrualRule = getAccrualCategoryRuleForDate(leaveBlock.getLeaveLocalDate());

                if (leaveBlock.getLeaveAmount().signum() < 0) {
                    if (StringUtils.equals(earnCode.getAllowNegativeAccrualBalance(), "N")) {
                        if (BigDecimal.ZERO.compareTo(leaveBlock.getLeaveAmount().add(this.balance)) <= 0) {
                            add(leaveBlock.getLeaveAmount());
                            leaveBlocks.add(leaveBlock);
                        } else if (StringUtils.equals(earnCode.getAllowNegativeAccrualBalance(), "Y")) {
                            add(leaveBlock.getLeaveAmount());
                            leaveBlocks.add(leaveBlock);
                        } else {
                            add(leaveBlock.getLeaveAmount());
                            leaveBlocks.add(leaveBlock);
                            //throw new NegativeBalanceException();
                        }
                    } else {
                        add(leaveBlock.getLeaveAmount());
                        leaveBlocks.add(leaveBlock);
                    }
                } else {
                    if (accrualRule != null && StringUtils.isNotEmpty(accrualRule.getMaxBalFlag())
                            && StringUtils.equals(accrualRule.getMaxBalFlag(), "Y")) {

                        BigDecimal maxBalance = accrualRule.getMaxBalance();
                        BigDecimal fteSum = HrServiceLocator.getJobService()
                                .getFteSumForAllActiveLeaveEligibleJobs(leaveBlock.getPrincipalId(),
                                        leaveBlock.getLeaveLocalDate());
                        maxBalance = maxBalance.multiply(fteSum).setScale(HrConstants.BIG_DECIMAL_SCALE,
                                HrConstants.BIG_DECIMAL_SCALE_ROUNDING);

                        EmployeeOverride employeeOverride = getEmployeeOverride(leaveBlock, "MB");
                        if (employeeOverride != null)
                            maxBalance = new BigDecimal(employeeOverride.getOverrideValue());

                        if (maxBalance.compareTo(leaveBlock.getLeaveAmount().add(this.balance)) <= 0) {
                            add(leaveBlock.getLeaveAmount());
                            leaveBlocks.add(leaveBlock);
                        } else {
                            add(leaveBlock.getLeaveAmount());
                            leaveBlocks.add(leaveBlock);
                            //throw new MaximumBalanceException();
                        }
                    } else {
                        add(leaveBlock.getLeaveAmount());
                        leaveBlocks.add(leaveBlock);
                    }
                }
            } else if (earnCode.getAccrualBalanceAction()
                    .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                //does not validate against balances
                add(leaveBlock.getLeaveAmount());

                leaveBlocks.add(leaveBlock);
            } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                //no balance validations, does not affect balances
                leaveBlocks.add(leaveBlock);
            }

        }
    }
    //this balance should equal carryOver + ytdEarned.balance - ytdUsage.balance 
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.AccruedLeaveBalance.java

License:Educational Community License

@Override
public void remove(LeaveBlock leaveBlock) throws MaximumBalanceException, NegativeBalanceException {

    if (leaveBlock.getLeaveDate().compareTo(asOfDate.toDate()) <= 0) {

        try {/*  ww  w  .  j a v a2s.  c o  m*/
            ytdUsage.remove(leaveBlock);
        } catch (NegativeBalanceException e1) {
            e1.printStackTrace();
        }

        ytdEarned.remove(leaveBlock);

        try {
            carryOver.remove(leaveBlock);
        } catch (MaxCarryoverException e) {
            e.printStackTrace();
        }

        AccrualCategoryRule accrualRule = getAccrualCategoryRuleForDate(leaveBlock.getLeaveLocalDate());
        EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
                LocalDate.fromDateFields(leaveBlock.getLeaveDate()));
        if (earnCode != null) {
            if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {
                //validate and add to / subtract from balances
                if (leaveBlock.getLeaveAmount().signum() < 0) {
                    //removing a negative amount
                    if (accrualRule != null && StringUtils.isNotEmpty(accrualRule.getMaxBalFlag())
                            && StringUtils.equals(accrualRule.getMaxBalFlag(), "Y")) {

                        BigDecimal maxBalance = accrualRule.getMaxBalance();
                        BigDecimal fteSum = HrServiceLocator.getJobService()
                                .getFteSumForAllActiveLeaveEligibleJobs(leaveBlock.getPrincipalId(),
                                        leaveBlock.getLeaveLocalDate());
                        maxBalance = maxBalance.multiply(fteSum).setScale(HrConstants.BIG_DECIMAL_SCALE,
                                HrConstants.BIG_DECIMAL_SCALE_ROUNDING);

                        EmployeeOverride employeeOverride = getEmployeeOverride(leaveBlock, "MB");
                        if (employeeOverride != null)
                            maxBalance = new BigDecimal(employeeOverride.getOverrideValue());

                        if (maxBalance.compareTo(this.balance.subtract(leaveBlock.getLeaveAmount())) <= 0) {
                            remove(leaveBlock.getLeaveAmount());
                            leaveBlocks.remove(leaveBlock);
                            //throw new MaximumBalanceException();
                        } else {
                            remove(leaveBlock.getLeaveAmount());
                            leaveBlocks.remove(leaveBlock);
                        }
                    } else {
                        remove(leaveBlock.getLeaveAmount());
                        leaveBlocks.remove(leaveBlock);
                    }
                } else {
                    //removing a positive amount
                    if (StringUtils.equals(earnCode.getAllowNegativeAccrualBalance(), "N")) {
                        if (BigDecimal.ZERO
                                .compareTo(this.balance.subtract(leaveBlock.getLeaveAmount())) <= 0) {
                            remove(leaveBlock.getLeaveAmount());
                            leaveBlocks.remove(leaveBlock);
                        } else {
                            remove(leaveBlock.getLeaveAmount());
                            leaveBlocks.remove(leaveBlock);
                            //throw new NegativeBalanceException();
                        }
                    } else {
                        remove(leaveBlock.getLeaveAmount());
                        leaveBlocks.remove(leaveBlock);
                    }
                }
            } else if (earnCode.getAccrualBalanceAction()
                    .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                //does not validate against balances
                remove(leaveBlock.getLeaveAmount());
                leaveBlocks.remove(leaveBlock);
            } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                //no balance validations, does not affect balances
                leaveBlocks.remove(leaveBlock);
            }

        }
        //this balance should equal carryOver + ytdEarned.balance - ytdUsage.balance
    }
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.AvailableLeaveBalance.java

License:Educational Community License

@Override
public void add(LeaveBlock leaveBlock) throws NegativeBalanceException {

    DateTime rolloverDate = HrServiceLocator.getLeavePlanService()
            .getFirstDayOfLeavePlan(principalCalendar.getLeavePlan(), asOfDate);

    if ((leaveBlock.getLeaveDate().compareTo(asOfDate.toDate()) <= 0)/*with any signum*/
            || leaveBlock.getLeaveAmount().signum() < 0) {
        try {//  w  w  w.  j  a v  a  2s  .  c  o m
            //AVAILABLE BALANCE = USAGE LIMIT - YTDUSAGE - PENDING/FUTURE USAGE
            ytdUsage.add(leaveBlock);

            EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
                    LocalDate.fromDateFields(leaveBlock.getLeaveDate()));
            if (earnCode != null) {
                if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {
                    //available balance is derived from ytdUsage, usage limit ( if any ), and pendingBalance[usage]
                    add(leaveBlock.getLeaveAmount());
                    leaveBlocks.add(leaveBlock);
                } else if (earnCode.getAccrualBalanceAction()
                        .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                    //does not validate against balances
                    add(leaveBlock.getLeaveAmount());
                    leaveBlocks.add(leaveBlock);
                } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                    //no balance validations, does not affect balances
                    leaveBlocks.add(leaveBlock);
                }

                try {
                    //pendingBalance should never throw BalanceExceptions, so logic below should always execute.
                    //If ytdUsage throws UsageLimitException (above), no calculations should be made on this balance.
                    pendingBalance.add(leaveBlock);

                    /*               AccrualCategoryRule accrualRule = getAccrualCategoryRuleForDate(leaveBlock.getLeaveLocalDate());
                                           
                                   if(accrualRule != null
                                         && ObjectUtils.isNotNull(accrualRule.getMaxUsage())) {
                                              
                                      BigDecimal maxUsage = new BigDecimal(accrualRule.getMaxUsage());
                                      BigDecimal fteSum = HrServiceLocator.getJobService().getFteSumForAllActiveLeaveEligibleJobs(leaveBlock.getPrincipalId(), leaveBlock.getLeaveLocalDate());
                                      maxUsage = maxUsage.multiply(fteSum).setScale(HrConstants.BIG_DECIMAL_SCALE, HrConstants.BIG_DECIMAL_SCALE_ROUNDING);
                                              
                                      EmployeeOverride employeeOverride = getEmployeeOverride(leaveBlock, "MU");
                                      if(employeeOverride != null
                                            && ObjectUtils.isNotNull(employeeOverride.getOverrideValue()))
                                         maxUsage = new BigDecimal(employeeOverride.getOverrideValue());
                                              
                                      if(maxUsage == null) {
                                         this.balance = new BigDecimal(Long.MAX_VALUE);
                                         //no usage limit, available balance should be accrued balance!
                                      }
                                      else
                                         this.balance = maxUsage.subtract(ytdUsage.balance.add(pendingBalance.balance));
                                   }
                                   else
                                      this.balance = new BigDecimal(Long.MAX_VALUE);*/
                } catch (MaximumBalanceException e) {
                    e.printStackTrace();
                } catch (NegativeBalanceException e) {
                    e.printStackTrace();
                }
            }
        } catch (UsageLimitException e) {
            e.printStackTrace();
        }
    }
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.AvailableLeaveBalance.java

License:Educational Community License

@Override
public void remove(LeaveBlock leaveBlock) {

    if ((leaveBlock.getLeaveDate().compareTo(asOfDate.toDate()) <= 0)/*any leave amount signum*/
            || leaveBlock.getLeaveAmount().signum() < 0) {
        try {/*from   www . j  ava 2  s  .c o m*/
            //AVAILABLE BALANCE = USAGE LIMIT - YTDUSAGE - PENDING/FUTURE USAGE
            ytdUsage.remove(leaveBlock);

            EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
                    LocalDate.fromDateFields(leaveBlock.getLeaveDate()));
            if (earnCode != null) {
                if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {
                    //available balance is derived from ytdUsage, usage limit ( if any ), and pendingBalance[usage]
                    remove(leaveBlock.getLeaveAmount());
                    leaveBlocks.remove(leaveBlock);
                } else if (earnCode.getAccrualBalanceAction()
                        .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                    //does not validate against balances
                    remove(leaveBlock.getLeaveAmount());
                    leaveBlocks.remove(leaveBlock);
                } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                    //no balance validations, does not affect balances
                    leaveBlocks.remove(leaveBlock);
                }

                try {
                    //pendingBalance should never throw BalanceExceptions, so logic below should always execute.
                    //If ytdUsage throws UsageLimitException (above), no calculations should be made on this balance.
                    pendingBalance.remove(leaveBlock);

                    /*               AccrualCategoryRule accrualRule = getAccrualCategoryRuleForDate(leaveBlock.getLeaveLocalDate());
                                           
                                   if(accrualRule != null
                                         && ObjectUtils.isNotNull(accrualRule.getMaxUsage())) {
                                              
                                      BigDecimal maxUsage = new BigDecimal(accrualRule.getMaxUsage());
                                      BigDecimal fteSum = HrServiceLocator.getJobService().getFteSumForAllActiveLeaveEligibleJobs(leaveBlock.getPrincipalId(), leaveBlock.getLeaveLocalDate());
                                      maxUsage = maxUsage.multiply(fteSum).setScale(HrConstants.BIG_DECIMAL_SCALE, HrConstants.BIG_DECIMAL_SCALE_ROUNDING);
                                              
                                      EmployeeOverride employeeOverride = getEmployeeOverride(leaveBlock, "MU");
                                      if(employeeOverride != null
                                            && ObjectUtils.isNotNull(employeeOverride.getOverrideValue()))
                                         maxUsage = new BigDecimal(employeeOverride.getOverrideValue());
                                              
                                      if(maxUsage == null) {
                                         this.balance = new BigDecimal(Long.MAX_VALUE);
                                         //no usage limit, available balance should be accrued balance!
                                      }
                                      else
                                         this.balance = maxUsage.subtract(ytdUsage.balance.add(pendingBalance.balance));
                                   }
                                   else
                                      this.balance = new BigDecimal(Long.MAX_VALUE);*/
                } catch (MaximumBalanceException e) {
                    e.printStackTrace();
                } catch (NegativeBalanceException e) {
                    e.printStackTrace();
                }
            }
        } catch (UsageLimitException e) {
            e.printStackTrace();
        } catch (NegativeBalanceException e1) {
            e1.printStackTrace();
        }
    }
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.CarryOverLeaveBalance.java

License:Educational Community License

@Override
public void add(LeaveBlock leaveBlock) throws MaxCarryoverException {

    EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
            LocalDate.fromDateFields(leaveBlock.getLeaveDate()));

    DateTime rolloverDate = HrServiceLocator.getLeavePlanService()
            .getFirstDayOfLeavePlan(principalCalendar.getLeavePlan(), asOfDate);

    if (earnCode != null) {
        if (leaveBlock.getLeaveDate().compareTo(rolloverDate.toDate()) < 0) {

            if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {

                add(leaveBlock.getLeaveAmount());

                leaveBlocks.add(leaveBlock);

            } else if (earnCode.getAccrualBalanceAction()
                    .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                //does not validate against balances
                add(leaveBlock.getLeaveAmount());

                leaveBlocks.add(leaveBlock);
            } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                //no balance validations, does not affect balances
                leaveBlocks.add(leaveBlock);
            }//from   w w  w .ja v  a2  s . c o  m
        }
        //otherwise, the leave block is within the same calendar year as asOfDate
    }
}

From source file:org.kuali.kpme.tklm.leave.accrual.bucket.CarryOverLeaveBalance.java

License:Educational Community License

@Override
public void remove(LeaveBlock leaveBlock) throws MaxCarryoverException {
    EarnCode earnCode = HrServiceLocator.getEarnCodeService().getEarnCode(leaveBlock.getEarnCode(),
            LocalDate.fromDateFields(leaveBlock.getLeaveDate()));

    DateTime rolloverDate = HrServiceLocator.getLeavePlanService()
            .getFirstDayOfLeavePlan(principalCalendar.getLeavePlan(), asOfDate);

    if (earnCode != null) {
        if (leaveBlock.getLeaveDate().compareTo(rolloverDate.toDate()) < 0) {

            if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.USAGE)) {

                remove(leaveBlock.getLeaveAmount());

                leaveBlocks.remove(leaveBlock);
            } else if (earnCode.getAccrualBalanceAction()
                    .equals(HrConstants.ACCRUAL_BALANCE_ACTION.ADJUSTMENT)) {
                //does not validate against balances
                remove(leaveBlock.getLeaveAmount());

                leaveBlocks.remove(leaveBlock);
            } else if (earnCode.getAccrualBalanceAction().equals(HrConstants.ACCRUAL_BALANCE_ACTION.NONE)) {
                //no balance validations, does not affect balances
                leaveBlocks.remove(leaveBlock);
            }//from   w  w w .j av a2  s  . com
        }
    }
}