List of usage examples for org.joda.time LocalDate toDateTimeAtStartOfDay
public DateTime toDateTimeAtStartOfDay()
From source file:org.kuali.kpme.core.location.service.LocationInternalServiceImpl.java
License:Educational Community License
protected void populateLocationRoleMembers(LocationBo location, LocalDate asOfDate) { if (location != null && asOfDate != null && CollectionUtils.isEmpty(location.getRoleMembers()) && CollectionUtils.isEmpty(location.getInactiveRoleMembers())) { Set<RoleMember> roleMembers = new HashSet<RoleMember>(); roleMembers.addAll(kpmeRoleService.getRoleMembersInLocation(KPMENamespace.KPME_TK.getNamespaceCode(), KPMERole.TIME_LOCATION_VIEW_ONLY.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(kpmeRoleService.getRoleMembersInLocation(KPMENamespace.KPME_TK.getNamespaceCode(), KPMERole.TIME_LOCATION_ADMINISTRATOR.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(kpmeRoleService.getRoleMembersInLocation(KPMENamespace.KPME_LM.getNamespaceCode(), KPMERole.LEAVE_LOCATION_VIEW_ONLY.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(kpmeRoleService.getRoleMembersInLocation(KPMENamespace.KPME_LM.getNamespaceCode(), KPMERole.LEAVE_LOCATION_ADMINISTRATOR.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); for (RoleMember roleMember : roleMembers) { RoleMemberBo roleMemberBo = RoleMemberBo.from(roleMember); if (roleMemberBo.isActive()) { location.addRoleMember(/*ww w. j a v a 2s . c o m*/ LocationPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { location.addInactiveRoleMember( LocationPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } } } }
From source file:org.kuali.kpme.core.location.service.LocationServiceImpl.java
License:Educational Community License
private void populateLocationRoleMembers(Location location, LocalDate asOfDate) { if (location != null && asOfDate != null && CollectionUtils.isEmpty(location.getRoleMembers()) && CollectionUtils.isEmpty(location.getInactiveRoleMembers())) { Set<RoleMember> roleMembers = new HashSet<RoleMember>(); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInLocation( KPMENamespace.KPME_TK.getNamespaceCode(), KPMERole.TIME_LOCATION_VIEW_ONLY.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInLocation( KPMENamespace.KPME_TK.getNamespaceCode(), KPMERole.TIME_LOCATION_ADMINISTRATOR.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInLocation( KPMENamespace.KPME_LM.getNamespaceCode(), KPMERole.LEAVE_LOCATION_VIEW_ONLY.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInLocation( KPMENamespace.KPME_LM.getNamespaceCode(), KPMERole.LEAVE_LOCATION_ADMINISTRATOR.getRoleName(), location.getLocation(), asOfDate.toDateTimeAtStartOfDay(), false)); for (RoleMember roleMember : roleMembers) { RoleMemberBo roleMemberBo = RoleMemberBo.from(roleMember); if (roleMemberBo.isActive()) { location.addRoleMember(//from w ww . ja v a2 s.c o m LocationPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { location.addInactiveRoleMember( LocationPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } } } }
From source file:org.kuali.kpme.core.workarea.service.WorkAreaInternalServiceImpl.java
License:Educational Community License
protected void populateWorkAreaRoleMembers(WorkAreaBo workArea, LocalDate asOfDate) { if (workArea != null && asOfDate != null && CollectionUtils.isEmpty(workArea.getPrincipalRoleMembers()) && CollectionUtils.isEmpty(workArea.getInactivePrincipalRoleMembers()) && CollectionUtils.isEmpty(workArea.getPositionRoleMembers()) && CollectionUtils.isEmpty(workArea.getInactivePositionRoleMembers())) { Set<RoleMember> roleMembers = new HashSet<RoleMember>(); roleMembers.addAll(kpmeRoleService.getPrimaryRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.REVIEWER.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(kpmeRoleService.getPrimaryRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.APPROVER.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(kpmeRoleService.getPrimaryRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.APPROVER_DELEGATE.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); for (RoleMember roleMember : roleMembers) { RoleMemberBo roleMemberBo = RoleMemberBo.from(roleMember); // position role if (roleMember.getAttributes() .containsKey(KPMERoleMemberAttribute.POSITION.getRoleMemberAttributeName())) { if (roleMemberBo.isActive()) { workArea.addPositionRoleMember( WorkAreaPositionRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { workArea.addInactivePositionRoleMember( WorkAreaPositionRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); }/*from ww w . j a va2 s .com*/ } else { if (roleMemberBo.isActive()) { workArea.addPrincipalRoleMember( WorkAreaPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { workArea.addInactivePrincipalRoleMember( WorkAreaPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } } } } }
From source file:org.kuali.kpme.core.workarea.service.WorkAreaServiceImpl.java
License:Educational Community License
private void populateWorkAreaRoleMembers(WorkArea workArea, LocalDate asOfDate) { if (workArea != null && asOfDate != null && CollectionUtils.isEmpty(workArea.getPrincipalRoleMembers()) && CollectionUtils.isEmpty(workArea.getInactivePrincipalRoleMembers()) && CollectionUtils.isEmpty(workArea.getPositionRoleMembers()) && CollectionUtils.isEmpty(workArea.getInactivePositionRoleMembers())) { Set<RoleMember> roleMembers = new HashSet<RoleMember>(); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.REVIEWER.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.APPROVER.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); roleMembers.addAll(HrServiceLocator.getKPMERoleService().getRoleMembersInWorkArea( KPMENamespace.KPME_HR.getNamespaceCode(), KPMERole.APPROVER_DELEGATE.getRoleName(), workArea.getWorkArea(), asOfDate.toDateTimeAtStartOfDay(), false)); for (RoleMember roleMember : roleMembers) { RoleMemberBo roleMemberBo = RoleMemberBo.from(roleMember); if (!roleMember.getAttributes() .containsKey(KPMERoleMemberAttribute.POSITION.getRoleMemberAttributeName())) { if (roleMemberBo.isActive()) { workArea.addPrincipalRoleMember( WorkAreaPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { workArea.addInactivePrincipalRoleMember( WorkAreaPrincipalRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); }/* w ww . j av a 2 s. c om*/ } else { if (roleMemberBo.isActive()) { workArea.addPositionRoleMember( WorkAreaPositionRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } else { workArea.addInactivePositionRoleMember( WorkAreaPositionRoleMemberBo.from(roleMemberBo, roleMember.getAttributes())); } } } } }
From source file:org.kuali.kpme.tklm.leave.accrual.service.AccrualServiceImpl.java
License:Educational Community License
@Override public void calculateFutureAccrualUsingPlanningMonth(String principalId, LocalDate asOfDate, String runAsPrincipalId) { PrincipalHRAttributes phra = HrServiceLocator.getPrincipalHRAttributeService() .getPrincipalCalendar(principalId, asOfDate); if (phra != null) { // use the date from pay period to get the leave plan LeavePlan lp = HrServiceLocator.getLeavePlanService().getLeavePlan(phra.getLeavePlan(), asOfDate); if (lp != null && StringUtils.isNotEmpty(lp.getPlanningMonths())) { // go back a year LocalDate startDate = asOfDate.minusYears(1); if (startDate.getDayOfMonth() > startDate.dayOfMonth().getMaximumValue()) { startDate = startDate.withDayOfMonth(startDate.dayOfMonth().getMaximumValue()); }//from w w w. j a va2s .c om // go forward using planning months LocalDate endDate = asOfDate.plusMonths(Integer.parseInt(lp.getPlanningMonths())); // max days in months differ, if the date is bigger than the max day, set it to the max day of the month if (endDate.getDayOfMonth() > endDate.dayOfMonth().getMaximumValue()) { endDate = endDate.withDayOfMonth(endDate.dayOfMonth().getMaximumValue()); } runAccrual(principalId, startDate.toDateTimeAtStartOfDay(), endDate.toDateTimeAtStartOfDay(), true, runAsPrincipalId); } } }
From source file:org.kuali.kpme.tklm.leave.accrual.service.AccrualServiceImpl.java
License:Educational Community License
public DateTime getRuleStartDate(String earnInterval, LocalDate serviceDate, Long startAcc) { DateTime ruleStartDate = null;//from ww w. j a v a2 s . c o m String intervalValue = HrConstants.SERVICE_UNIT_OF_TIME.get(earnInterval); if (intervalValue.equals("Months")) { ruleStartDate = serviceDate.toDateTimeAtStartOfDay().plusMonths(startAcc.intValue()); if (ruleStartDate.getDayOfMonth() > ruleStartDate.dayOfMonth().getMaximumValue()) { ruleStartDate = ruleStartDate.withDayOfMonth(ruleStartDate.dayOfMonth().getMaximumValue()); } } else if (intervalValue.equals("Years")) { ruleStartDate = serviceDate.toDateTimeAtStartOfDay().withYear(startAcc.intValue()); } else { ruleStartDate = serviceDate.toDateTimeAtStartOfDay(); } return ruleStartDate; }
From source file:org.kuali.kpme.tklm.leave.approval.web.LeaveApprovalWSAction.java
License:Educational Community License
public ActionForward searchApprovalRows(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LeaveApprovalWSActionForm laaf = (LeaveApprovalWSActionForm) form; List<Map<String, String>> results = new LinkedList<Map<String, String>>(); List<String> workAreaList = new ArrayList<String>(); if (StringUtil.isEmpty(laaf.getSelectedWorkArea())) { String principalId = GlobalVariables.getUserSession().getPrincipalId(); Set<Long> workAreas = new HashSet<Long>(); workAreas.addAll(HrServiceLocator.getKPMERoleService().getWorkAreasForPrincipalInRole( KPMENamespace.KPME_HR.getNamespaceCode(), principalId, KPMERole.APPROVER.getRoleName(), new DateTime(), true)); workAreas.addAll(HrServiceLocator.getKPMERoleService().getWorkAreasForPrincipalInRole( KPMENamespace.KPME_HR.getNamespaceCode(), principalId, KPMERole.APPROVER_DELEGATE.getRoleName(), new DateTime(), true)); for (Long workArea : workAreas) { workAreaList.add(workArea.toString()); }/* w w w .j a va 2 s.c om*/ } else { workAreaList.add(laaf.getSelectedWorkArea()); } LocalDate endDate = laaf.getCalendarEntry().getEndPeriodFullDateTime().toLocalDate(); LocalDate beginDate = laaf.getCalendarEntry().getBeginPeriodFullDateTime().toLocalDate(); List<String> principalIds = LmServiceLocator.getLeaveApprovalService() .getLeavePrincipalIdsWithSearchCriteria(workAreaList, laaf.getSelectedPayCalendarGroup(), endDate, beginDate, endDate); if (StringUtils.equals(laaf.getSearchField(), CalendarApprovalForm.ORDER_BY_PRINCIPAL)) { for (String id : principalIds) { if (StringUtils.contains(id, laaf.getSearchTerm())) { Map<String, String> labelValue = new HashMap<String, String>(); labelValue.put("id", id); labelValue.put("result", id); results.add(labelValue); } } } else if (StringUtils.equals(laaf.getSearchField(), CalendarApprovalForm.ORDER_BY_DOCID)) { Map<String, LeaveCalendarDocumentHeader> principalDocumentHeaders = LmServiceLocator .getLeaveApprovalService().getPrincipalDocumentHeader(principalIds, beginDate.toDateTimeAtStartOfDay(), endDate.toDateTimeAtStartOfDay()); for (Map.Entry<String, LeaveCalendarDocumentHeader> entry : principalDocumentHeaders.entrySet()) { if (StringUtils.contains(entry.getValue().getDocumentId(), laaf.getSearchTerm())) { Map<String, String> labelValue = new HashMap<String, String>(); // labelValue.put("id", entry.getValue().getDocumentId() + " (" + entry.getValue().getPrincipalId() + ")"); //removing principalId to make select/submit the result from dropdown work labelValue.put("id", entry.getValue().getDocumentId()); labelValue.put("result", entry.getValue().getPrincipalId()); results.add(labelValue); } } } laaf.setOutputString(JSONValue.toJSONString(results)); return mapping.findForward("ws"); }
From source file:org.kuali.kpme.tklm.leave.batch.AccrualJob.java
License:Educational Community License
@Override public void execute(JobExecutionContext context) throws JobExecutionException { String batchUserPrincipalId = getBatchUserPrincipalId(); if (batchUserPrincipalId != null) { LocalDate asOfDate = LocalDate.now(); List<Assignment> assignments = getAssignmentService().getActiveAssignments(asOfDate); for (Assignment assignment : assignments) { if (assignment.getJob().isEligibleForLeave()) { String principalId = assignment.getPrincipalId(); PrincipalHRAttributes principalHRAttributes = getPrincipalHRAttributesService() .getPrincipalCalendar(principalId, asOfDate); if (principalHRAttributes != null) { LeavePlan leavePlan = getLeavePlanService().getLeavePlan( principalHRAttributes.getLeavePlan(), principalHRAttributes.getEffectiveLocalDate()); if (leavePlan != null) { DateTime endDate = asOfDate.toDateTimeAtStartOfDay() .plusMonths(Integer.parseInt(leavePlan.getPlanningMonths())); getAccrualService().runAccrual(principalId, asOfDate.toDateTimeAtStartOfDay(), endDate, true, batchUserPrincipalId); }//from w ww. jav a 2s .c om } } } } else { String principalName = ConfigContext.getCurrentContextConfig() .getProperty(TkConstants.BATCH_USER_PRINCIPAL_NAME); LOG.error("Could not run batch jobs due to missing batch user " + principalName); } }
From source file:org.kuali.kpme.tklm.leave.batch.CarryOverSchedulerJob.java
License:Educational Community License
@Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { LocalDate asOfDate = LocalDate.now(); List<LeavePlan> leavePlans = HrServiceLocator.getLeavePlanService() .getLeavePlansNeedsCarryOverScheduled(getLeavePlanPollingWindow(), asOfDate); try {/*from w w w . j ava2 s.c o m*/ if (leavePlans != null && !leavePlans.isEmpty()) { DateTime current = asOfDate.toDateTimeAtStartOfDay(); DateTime windowStart = current.minusDays(getLeavePlanPollingWindow()); DateTime windowEnd = current.plusDays(getLeavePlanPollingWindow()); // schedule batch job for all LeavePlans who fall in leave polling window. for (LeavePlan leavePlan : leavePlans) { if (leavePlan.getBatchPriorYearCarryOverStartDate() != null && leavePlan.getBatchPriorYearCarryOverStartTime() != null) { DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd"); DateTime batchPriorYearCarryOverStartDateTime = formatter .parseDateTime(leavePlan.getBatchPriorYearCarryOverStartDate()) .plus(leavePlan.getBatchPriorYearCarryOverStartTime().getTime()); if (batchPriorYearCarryOverStartDateTime.compareTo(windowStart) >= 0 && batchPriorYearCarryOverStartDateTime.compareTo(windowEnd) <= 0) { getBatchJobService().scheduleLeaveCarryOverJobs(leavePlan); } } } } } catch (SchedulerException se) { LOG.warn("Exception thrown during job scheduling of Carry over for Leave", se); // throw new JobExecutionException("Exception thrown during job scheduling of Carry over for Leave", se); } }
From source file:org.kuali.kpme.tklm.leave.calendar.LeaveCalendar.java
License:Educational Community License
public LeaveCalendar(String principalId, CalendarEntry calendarEntry, List<String> assignmentKeys) { super(calendarEntry); DateTime currentDisplayDateTime = getBeginDateTime(); DateTime endDisplayDateTime = getEndDateTime(); // Fill in the days if the first day or end day is in the middle of the week if (currentDisplayDateTime.getDayOfWeek() != DateTimeConstants.SUNDAY) { currentDisplayDateTime = currentDisplayDateTime.minusDays(currentDisplayDateTime.getDayOfWeek()); }//from w w w . j av a 2s . co m if (endDisplayDateTime.getDayOfWeek() != DateTimeConstants.SATURDAY) { endDisplayDateTime = endDisplayDateTime .plusDays(DateTimeConstants.SATURDAY - endDisplayDateTime.getDayOfWeek()); } LeaveCalendarWeek leaveCalendarWeek = new LeaveCalendarWeek(); Integer dayNumber = 0; List<LeaveBlock> blocks = LmServiceLocator.getLeaveBlockService().getLeaveBlocks(principalId, calendarEntry.getBeginPeriodFullDateTime().toLocalDate(), calendarEntry.getEndPeriodFullDateTime().toLocalDate()); Map<String, List<LeaveBlock>> leaveBlockMap = new HashMap<String, List<LeaveBlock>>(); for (LeaveBlock lb : blocks) { String key = lb.getLeaveLocalDate().toString(); if (leaveBlockMap.containsKey(key)) { leaveBlockMap.get(key).add(lb); } else { leaveBlockMap.put(key, createNewLeaveBlockList(lb)); } } //KPME-2560 If leave calendar document is final status, then User wont be able to add leave blocks to the calendar. Boolean dayEditableFlag = true; LeaveCalendarDocumentHeader header = LmServiceLocator.getLeaveCalendarDocumentHeaderService() .getDocumentHeader(principalId, calendarEntry.getBeginPeriodFullDateTime(), calendarEntry.getEndPeriodFullDateTime()); if (header != null && header.getDocumentStatus().equals(HrConstants.ROUTE_STATUS.FINAL)) dayEditableFlag = false; while (currentDisplayDateTime.isBefore(endDisplayDateTime) || currentDisplayDateTime.isEqual(endDisplayDateTime)) { LeaveCalendarDay leaveCalendarDay = new LeaveCalendarDay(); // If the day is not within the current pay period, mark them as read only (gray) if (currentDisplayDateTime.isBefore(getBeginDateTime()) || currentDisplayDateTime.isEqual(getEndDateTime()) || currentDisplayDateTime.isAfter(getEndDateTime())) { leaveCalendarDay.setGray(true); } else { // This is for the div id of the days on the calendar. // It creates a day id like day_11/01/2011 which will make day parsing easier in the javascript. // leaveCalendarDay.setDayNumberDelta(currDateTime.toString(HrConstants.DT_BASIC_DATE_FORMAT)); // leaveCalendarDay.setDayNumberDelta(currDateTime.getDayOfMonth()); leaveCalendarDay.setDayNumberDelta(dayNumber); LocalDate leaveDate = currentDisplayDateTime.toLocalDate(); List<LeaveBlock> lbs = leaveBlockMap.get(currentDisplayDateTime.toLocalDate().toString()); if (lbs == null) { lbs = Collections.emptyList(); } // use given assignmentKeys to control leave blocks displayed on the calendar if (CollectionUtils.isNotEmpty(lbs) && CollectionUtils.isNotEmpty(assignmentKeys)) { List<LeaveBlock> leaveBlocks = LmServiceLocator.getLeaveBlockService() .filterLeaveBlocksForLeaveCalendar(lbs, assignmentKeys); leaveCalendarDay.setLeaveBlocks(leaveBlocks); } else { leaveCalendarDay.setLeaveBlocks(lbs); } if (HrServiceLocator.getHRPermissionService().canViewLeaveTabsWithNEStatus()) { TimesheetDocumentHeader tdh = TkServiceLocator.getTimesheetDocumentHeaderService() .getDocumentHeaderForDate(principalId, leaveDate.toDateTimeAtStartOfDay()); if (tdh != null) { if (DateUtils.isSameDay(leaveDate.toDate(), tdh.getEndDate()) || leaveDate.isAfter(LocalDate.fromDateFields(tdh.getEndDate()))) { leaveCalendarDay.setDayEditable(true); } } else { leaveCalendarDay.setDayEditable(true); } } else { leaveCalendarDay.setDayEditable(true); } //KPME-2560 If leave calendar document is final status, then User wont be able to add leave blocks to the calendar. if (!dayEditableFlag) leaveCalendarDay.setDayEditable(false); dayNumber++; } leaveCalendarDay.setDayNumberString(currentDisplayDateTime.dayOfMonth().getAsShortText()); leaveCalendarDay.setDateString(currentDisplayDateTime.toString(HrConstants.DT_BASIC_DATE_FORMAT)); leaveCalendarWeek.getDays().add(leaveCalendarDay); if (leaveCalendarWeek.getDays().size() == DateTimeConstants.DAYS_PER_WEEK) { getWeeks().add(leaveCalendarWeek); leaveCalendarWeek = new LeaveCalendarWeek(); } currentDisplayDateTime = currentDisplayDateTime.plusDays(1); } if (!leaveCalendarWeek.getDays().isEmpty()) { getWeeks().add(leaveCalendarWeek); } boolean isPlanningCal = LmServiceLocator.getLeaveCalendarService().isLeavePlanningCalendar(principalId, calendarEntry.getBeginPeriodFullDateTime().toLocalDate(), calendarEntry.getEndPeriodFullDateTime().toLocalDate()); Map<String, String> earnCodes = HrServiceLocator.getEarnCodeService().getEarnCodesForDisplay(principalId, isPlanningCal); setEarnCodeList(earnCodes); }