List of usage examples for org.joda.time DateMidnight getMonthOfYear
public int getMonthOfYear()
From source file:com.stackframe.sarariman.ServiceAgreements.java
License:GNU General Public License
public static Collection<BilledService> getMissingBillings(Sarariman sarariman, int serviceAgreement) throws SQLException { ServiceAgreement a = ServiceAgreement.lookup(sarariman, serviceAgreement); if (a.getPopStart().getDayOfMonth() != 1) { throw new AssertionError("not expecting pop start to be on day other than start of month dom=" + a.getPopStart().getDayOfMonth()); }/*from w w w . j av a2s . com*/ if (!a.getBillingPeriod().equals("monthly")) { throw new AssertionError("not expecting billing period other than monthly"); } DateMidnight now = new DateMidnight(); DateMidnight endOfThisMonth = new DateMidnight(now.getYear(), now.getMonthOfYear(), 1).plusMonths(1) .minusDays(1); Set<BilledService> shouldHave = new TreeSet<BilledService>(); DateMidnight monthStart = a.getPopStart(); while (true) { DateMidnight monthEnd = monthStart.plusMonths(1).minusDays(1); BilledService b = new BilledService(-1, a.getID(), monthStart, monthEnd, null); shouldHave.add(b); monthStart = monthStart.plusMonths(1); if (monthStart.isAfter(endOfThisMonth) || monthStart.isAfter(a.getPopEnd())) { break; } } List<BilledService> existing = BilledService.lookupByServiceAgreement(sarariman, serviceAgreement); shouldHave.removeAll(existing); return shouldHave; }
From source file:net.sourceforge.fenixedu.presentationTier.TagLib.GanttDiagramTagLib.java
License:Open Source License
private StringBuilder generateGanttDiagramInTotalMode(BigDecimal tableWidth) throws JspException { StringBuilder builder = new StringBuilder(); if (!getEvents().isEmpty()) { if (isShowPeriod() && isShowObservations()) { builder.append("<table style=\"width:") .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM))) .append("em;\" class=\"tcalendar thlight\">"); } else {/*from www . ja v a2 s . co m*/ builder.append("<table style=\"width:") .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM - 35))) .append("em;\" class=\"tcalendar thlight\">"); } generateHeaders(builder); int scale = getScale(); String selectedEvent = getRequest().getParameter(getEventParameter()); Object selectedEventObject = getRequest().getAttribute(getEventParameter()); for (GanttDiagramEvent event : getEvents()) { String eventUrl = getRequest().getContextPath() + getEventUrl() + "&" + getEventParameter() + "=" + event.getGanttDiagramEventIdentifier(); String eventName = event.getGanttDiagramEventName().getContent(getGanttDiagramObject().getLocale()); String paddingStyle = "padding-left:" + event.getGanttDiagramEventOffset() * PADDING_LEFT_MULTIPLIER + "px"; if (event.getGanttDiagramEventIdentifier().equals(selectedEvent) || (selectedEventObject != null && event.getGanttDiagramEventIdentifier().equals(selectedEventObject.toString()))) { builder.append("<tr class=\"selected\">"); } else { builder.append("<tr>"); } builder.append("<td class=\"padded\">") .append("<div style=\"overflow:hidden; width: 14.5em;\" class=\"nowrap\">"); builder.append("<span style=\"").append(paddingStyle).append("\" title=\"").append(eventName) .append("\">"); builder.append("<a href=\"").append(eventUrl).append("\">").append("*").append(eventName); builder.append("</a></span></div></td>"); for (DateTime month : getGanttDiagramObject().getMonths()) { DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month; DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1); int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1; BigDecimal entryDays = EMPTY_UNIT, startDay = EMPTY_UNIT; builder.append("<td style=\"width: ").append(convertToEm(monthNumberOfDays * scale)) .append("em;\"><div style=\"position: relative;\">"); for (Interval interval : event.getGanttDiagramEventSortedIntervals()) { DateMidnight intervalStart = interval.getStart().toDateMidnight(); DateMidnight intervalEnd = interval.getEnd().toDateMidnight(); // Started in this month if (intervalStart.getMonthOfYear() == month.getMonthOfYear() && intervalStart.getYear() == month.getYear()) { // Ended in this month if (interval.getEnd().getMonthOfYear() == month.getMonthOfYear() && intervalEnd.getYear() == month.getYear()) { // Started in first day of this month if (intervalStart.getDayOfMonth() == 1) { // Ended in the last day of this month if (intervalEnd.getDayOfMonth() == monthNumberOfDays) { entryDays = convertToEm( (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1) * scale); startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } // Ended before last day of this month else { entryDays = convertToEm( (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1) * scale); startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } } // Started after first day of this month else { // Ended in the last day of this month if (intervalEnd.getDayOfMonth() == monthNumberOfDays) { entryDays = convertToEm( (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1) * scale); startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } // Ended before last day of this month else { entryDays = convertToEm( (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1) * scale); startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } } } // Ended after this month else { entryDays = convertToEm( (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1) * scale); startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } // Not Started in this month } else { // Started before this month if (intervalStart.getYear() < month.getYear() || (intervalStart.getYear() == month.getYear() && intervalStart.getMonthOfYear() < month.getMonthOfYear())) { // Ended after this month if (intervalEnd.getYear() > month.getYear() || (intervalEnd.getYear() == month.getYear() && intervalEnd.getMonthOfYear() > month.getMonthOfYear())) { entryDays = convertToEm( (Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1) * scale); startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } else { // Ended in this month if (intervalEnd.getMonthOfYear() == month.getMonthOfYear() && intervalEnd.getYear() == month.getYear()) { entryDays = convertToEm( (Days.daysBetween(firstDayOfMonth, intervalEnd).getDays() + 1) * scale); startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale); addSpecialDiv(builder, entryDays, startDay); } } } } } builder.append("</div></td>"); } if (isShowPeriod()) { builder.append("<td class=\"padded smalltxt\" title=\"") .append(event.getGanttDiagramEventPeriod()) .append("\"><div style=\"overflow:hidden;\" class=\"nowrap\">") .append(event.getGanttDiagramEventPeriod()).append("</div></td>"); } if (isShowObservations()) { builder.append("<td class=\"padded smalltxt\">") .append(event.getGanttDiagramEventObservations()).append("</td>"); } builder.append("</tr>"); } insertNextAndBeforeLinks(builder); builder.append("</table>"); } return builder; }
From source file:org.projectforge.web.calendar.CalendarPanel.java
License:Open Source License
/** * @see org.projectforge.web.wicket.AbstractSecuredPage#onBeforeRender() *//* w w w . j a v a 2 s . co m*/ @Override protected void onBeforeRender() { super.onBeforeRender(); // Restore current date (e. g. on reload or on coming back from callee page). final MyFullCalendarConfig config = calendar.getConfig(); final DateMidnight startDate = filter.getStartDate(); if (startDate != null) { config.setYear(startDate.getYear()); config.setMonth(startDate.getMonthOfYear() - 1); config.setDate(startDate.getDayOfMonth()); } config.setDefaultView(filter.getViewType().getCode()); if (refresh == true) { refresh = false; timesheetEventsProvider.forceReload(); birthdayEventsProvider.forceReload(); hrPlanningEventsProvider.forceReload(); setConfig(); onRefreshEventProvider(); } }