List of usage examples for org.joda.time LocalDate plusMonths
public LocalDate plusMonths(int months)
From source file:org.libreplan.web.users.dashboard.PersonalTimesheetsAreaModel.java
License:Open Source License
@Override @Transactional(readOnly = true)//from w w w .ja v a 2s . c o m public List<PersonalTimesheetDTO> getPersonalTimesheets() { User user = UserUtil.getUserFromSession(); if (!user.isBound()) { return Collections.emptyList(); } Resource resource = user.getWorker(); BaseCalendarModel.forceLoadBaseCalendar(resource.getCalendar()); LocalDate activationDate = getActivationDate(user.getWorker()); LocalDate currentDate = new LocalDate(); return getPersonalTimesheets(user.getWorker(), activationDate, currentDate.plusMonths(1), getPersonalTimesheetsPeriodicity()); }
From source file:org.mifos.accounts.savings.interest.schedule.internal.DailyInterestScheduledEvent.java
License:Open Source License
@Override public LocalDate nextMatchingDateAfter(LocalDate baseDate, LocalDate after) { LocalDate cutOff = after.plusMonths(every + 1); List<LocalDate> allMatchingDates = findAllMatchingDatesFromBaseDateUpToAndIncludingNearestMatchingEndDate( baseDate, cutOff);/*www. ja v a 2 s. c o m*/ return findNextMatchingDateFromList(after, allMatchingDates); }
From source file:org.mifos.accounts.savings.interest.schedule.internal.MonthlyOnLastDayOfMonthInterestScheduledEvent.java
License:Open Source License
@Override public LocalDate nextMatchingDateFromAlreadyMatchingDate(LocalDate validMatchingDate) { return lastDayOfMonthFor(validMatchingDate.plusMonths(every)); }
From source file:org.mifos.application.meeting.business.MeetingBO.java
License:Open Source License
public boolean queryDateIsInMeetingIntervalForFixedDate(LocalDate queryDate, LocalDate fixedDate) { LocalDate startOfMeetingInterval = startDateForMeetingInterval(fixedDate); LocalDate endOfMeetingInterval; if (isWeekly()) { endOfMeetingInterval = startOfMeetingInterval.plusWeeks(getRecurAfter()); } else if (isMonthly()) { endOfMeetingInterval = startOfMeetingInterval.plusMonths(getRecurAfter()); } else {// www . j av a2 s. c om // we don't handle meeting intervals in days return false; } return (queryDate.isEqual(startOfMeetingInterval) || queryDate.isAfter(startOfMeetingInterval)) && queryDate.isBefore(endOfMeetingInterval); }
From source file:org.surfnet.cruncher.resource.CruncherResource.java
License:Apache License
@GET @Path("/versstats") public Response getVersStatistics(@QueryParam("month") Integer month, @QueryParam("year") Integer year, @QueryParam("spEntityId") String spEntityId) { invariant(month, year, spEntityId);//from w w w . j a v a 2 s . co m VersStatistic result = new VersStatistic(); LocalDate startDate = new LocalDate(year, month, 1); LocalDate endDate = startDate.plusMonths(1); VersStatistic queryResult = statisticsRepository.getVersStats(startDate, endDate, spEntityId); Map<String, String> idpInstitutions = getInstitutionIdsFromJanus(); Iterator<String> keyIterator = queryResult.getInstitutionLogins().keySet().iterator(); while (keyIterator.hasNext()) { String key = keyIterator.next(); Long institutionCount = queryResult.getInstitutionLogins().get(key); String institutionId = idpInstitutions.get(key); result.addInstitutionLoginCount(institutionId, institutionCount); result.setTotalLogins(result.getTotalLogins() + institutionCount); } // add total unique users on this SP result.setTotalUniqueLogins(statisticsRepository.getTotalUniqueLogins(spEntityId, month, year)); return Response.ok(result).build(); }
From source file:org.zkoss.ganttz.timetracker.zoom.DetailFourTimeTrackerState.java
License:Open Source License
@Override protected LocalDate round(LocalDate date, boolean down) { if (date.getDayOfMonth() == 1) { return date; }//from w w w.ja v a2 s . c o m return down ? date.withDayOfMonth(1) : date.plusMonths(1).withDayOfMonth(1); }
From source file:ru.codemine.ccms.router.SalesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/reports/sales-pass", method = RequestMethod.GET) public String getSalesPassReport(@RequestParam(required = false) String dateStartStr, @RequestParam(required = false) String dateEndStr, @RequestParam(required = false) String mode, ModelMap model) {//ww w. ja v a 2 s . c o m model.addAllAttributes(utils.prepareModel()); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate dateStart = dateStartStr == null ? LocalDate.now().withDayOfMonth(1) : formatter.parseLocalDate(dateStartStr).withDayOfMonth(1); LocalDate dateEnd = dateEndStr == null ? LocalDate.now().dayOfMonth().withMaximumValue() : formatter.parseLocalDate(dateEndStr).dayOfMonth().withMaximumValue(); if (dateEnd.isBefore(dateStart)) dateEnd = dateStart.dayOfMonth().withMaximumValue(); model.addAttribute("dateStartStr", dateStart.toString("dd.MM.YYYY")); model.addAttribute("dateEndStr", dateEnd.toString("dd.MM.YYYY")); List<String> subgridColNames = new ArrayList<>(); subgridColNames.add("?"); if (dateStart.getMonthOfYear() == dateEnd.getMonthOfYear()) { for (int i = 1; i <= dateEnd.getDayOfMonth(); i++) { subgridColNames.add(String.valueOf(i) + dateStart.toString(".MM.YY")); } } else { LocalDate printDate = dateStart; while (printDate.isBefore(dateEnd)) { subgridColNames.add(printDate.toString("MMM YYYY")); printDate = printDate.plusMonths(1); } } subgridColNames.add(""); model.addAttribute("subgridColNames", subgridColNames); return "print".equals(mode) ? "printforms/reports/salesAllFrm" : "reports/sales-pass"; }
From source file:ru.codemine.ccms.router.SalesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/reports/sales-pass/details") public @ResponseBody List<Map<String, Object>> getSalesPassReportDetails(@RequestParam String dateStartStr, @RequestParam String dateEndStr, @RequestParam String shopname, ModelMap model) { List<Map<String, Object>> recordsList = new ArrayList<>(); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate dateStart = formatter.parseLocalDate(dateStartStr).withDayOfMonth(1); LocalDate dateEnd = formatter.parseLocalDate(dateEndStr).dayOfMonth().withMaximumValue(); if (dateEnd.isBefore(dateStart)) dateEnd = dateStart.dayOfMonth().withMaximumValue(); Integer daysCount = dateEnd.getDayOfMonth(); Integer counterTotals = 0;/*from w w w . ja v a 2 s.c o m*/ List<String> recordNames = new ArrayList<>(); recordNames.add("?"); recordNames.add("- "); recordNames.add(" "); recordNames.add(""); recordNames.add(""); recordNames.add(" "); Shop shop = shopService.getByName(shopname); if (dateStart.getMonthOfYear() == dateEnd.getMonthOfYear()) { SalesMeta salesMeta = salesService.getByShopAndDate(shop, dateStart, dateEnd); for (int row = 1; row <= recordNames.size(); row++) { Map<String, Object> record = new HashMap(); record.put("info", recordNames.get(row - 1)); for (int cell = 1; cell <= daysCount; cell++) { String cellname = "c" + String.valueOf(cell); Sales sale = salesMeta.getByDate(dateStart.withDayOfMonth(cell)); switch (row) { case 1: //? if (shop.isCountersEnabled()) { Counter counter = counterService.getByShopAndDate(shop, dateStart.withDayOfMonth(cell).toDateTime(LocalTime.MIDNIGHT)); Integer counterValue = counter == null ? 0 : counter.getIn(); record.put(cellname, counterValue); counterTotals += counterValue; if (cell == daysCount) record.put("totals", counterTotals); } else { record.put(cellname, sale.getPassability()); counterTotals += sale.getPassability(); if (cell == daysCount) record.put("totals", counterTotals); } break; case 2: //- record.put(cellname, sale.getChequeCount()); if (cell == daysCount) record.put("totals", salesMeta.getChequeCountTotal()); break; case 3: // record.put(cellname, sale.getValue()); if (cell == daysCount) record.put("totals", salesMeta.getValueTotal()); break; case 4: // record.put(cellname, sale.getCashback()); if (cell == daysCount) record.put("totals", salesMeta.getCashbackTotal()); break; case 5: // record.put(cellname, sale.getDayTotal()); if (cell == daysCount) record.put("totals", salesMeta.getSalesTotal()); break; case 6: // Integer chequeCount = sale.getChequeCount(); Double midPrice = chequeCount == 0 ? 0 : sale.getMidPrice(); record.put(cellname, midPrice); if (cell == daysCount) record.put("totals", salesMeta.getPeriodMidPrice()); break; } } recordsList.add(record); } } else // ?? { List<SalesMeta> smList = new ArrayList<>(); LocalDate tempStartDate = dateStart; while (tempStartDate.isBefore(dateEnd)) { smList.add(salesService.getByShopAndDate(shop, tempStartDate, tempStartDate.dayOfMonth().withMaximumValue())); tempStartDate = tempStartDate.plusMonths(1); } for (int row = 1; row <= recordNames.size(); row++) { Map<String, Object> record = new HashMap(); record.put("info", recordNames.get(row - 1)); for (int cell = 1; cell <= smList.size(); cell++) { String cellname = "c" + String.valueOf(cell); SalesMeta sm = smList.get(cell - 1); switch (row) { case 1: //? if (shop.isCountersEnabled()) { record.put(cellname, counterService.getPassabilityValueByPeriod(shop, sm.getStartDate(), sm.getEndDate())); if (cell == smList.size()) record.put("totals", counterService.getPassabilityValueByPeriod(shop, dateStart, dateEnd)); } else { record.put(cellname, sm.getPassabilityTotal()); if (cell == smList.size()) record.put("totals", salesService.getPassabilityValueByPeriod(shop, dateStart, dateEnd)); } break; case 2: //- record.put(cellname, sm.getChequeCountTotal()); if (cell == smList.size()) record.put("totals", salesService.getCqcountValueByPeriod(shop, dateStart, dateEnd)); break; case 3: // record.put(cellname, sm.getValueTotal()); if (cell == smList.size()) record.put("totals", salesService.getValueByPeriod(shop, dateStart, dateEnd)); break; case 4: // record.put(cellname, sm.getCashbackTotal()); if (cell == smList.size()) record.put("totals", salesService.getCashbackValueByPeriod(shop, dateStart, dateEnd)); break; case 5: // record.put(cellname, sm.getSalesTotal()); if (cell == smList.size()) record.put("totals", salesService.getSalesValueByPeriod(shop, dateStart, dateEnd)); break; case 6: // record.put(cellname, sm.getPeriodMidPrice()); if (cell == smList.size()) record.put("totals", salesService.getMidPriceValueByPeriod(shop, dateStart, dateEnd)); break; } } recordsList.add(record); } } return recordsList; }