List of usage examples for org.joda.time LocalDate fromDateFields
@SuppressWarnings("deprecation") public static LocalDate fromDateFields(Date date)
java.util.Date
using exactly the same field values. 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 } } }