Example usage for org.joda.time LocalDate dayOfMonth

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

Introduction

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

Prototype

public Property dayOfMonth() 

Source Link

Document

Get the day of month property which provides access to advanced functionality.

Usage

From source file:org.libreplan.web.calendars.BaseCalendarEditionController.java

License:Open Source License

private Map<String, List<Integer>> getDaysCurrentMonthByColor() {
    LocalDate currentDate = baseCalendarModel.getSelectedDay();

    LocalDate minDate = currentDate.dayOfMonth().withMinimumValue();
    LocalDate maxDate = currentDate.dayOfMonth().withMaximumValue();

    Map<String, List<Integer>> colorsMap = new HashMap<>();

    BaseCalendar calendar = baseCalendarModel.getBaseCalendar();
    if (calendar == null) {
        return colorsMap;
    }/*from  w w  w .java 2  s  .c o m*/

    for (LocalDate date = minDate; date.compareTo(maxDate) <= 0; date = date.plusDays(1)) {
        CalendarExceptionType calendarExceptionType = calendar.getExceptionType(date);

        if (calendarExceptionType != null) {

            if (calendar.getOwnExceptionDay(date) != null) {

                addDayToColor(colorsMap, calendarExceptionType.getColor().getColorOwnException(),
                        date.getDayOfMonth());
            } else {
                addDayToColor(colorsMap, calendarExceptionType.getColor().getColorDerivedException(),
                        date.getDayOfMonth());
            }
        } else {
            if (calendar.getCapacityOn(PartialDay.wholeDay(date)).isZero()) {
                addDayToColor(colorsMap, BACKGROUND_COLOR_ZERO_HOURS_DAY, date.getDayOfMonth());
            }
        }
    }

    return colorsMap;
}

From source file:ru.codemine.ccms.entity.SalesMeta.java

License:Open Source License

public SalesMeta(Shop shop, LocalDate startDate, LocalDate endDate) {
    this.shop = shop;
    this.description = "";
    this.startDate = startDate;
    this.endDate = endDate;
    this.plan = 0.0;
    this.passabilityTotal = 0;
    this.chequeCountTotal = 0;
    this.valueTotal = 0.0;
    this.cashbackTotal = 0.0;
    this.salesTotal = 0.0;
    this.expencesTotal = 0.0;

    this.expences = new TreeMap<>();
    this.sales = new TreeSet<>();
    for (int i = 1; i <= startDate.dayOfMonth().getMaximumValue(); i++) {
        this.sales.add(new Sales(shop, startDate.withDayOfMonth(i)));
    }//from  w  w  w .ja  v  a  2 s.com
}

From source file:ru.codemine.ccms.router.api.ApiRouter.java

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/api/passability", method = RequestMethod.GET)
public @ResponseBody List<PassabilityJson> getPassabilityJson(@RequestParam(required = false) Integer shopid,
        @RequestParam(required = false) String shopname, @RequestParam("startDate") String startDateStr,
        @RequestParam("endDate") String endDateStr, @RequestParam(required = false) String detail) {
    if (shopid == null && shopname == null)
        throw new InvalidParametersException();
    if (shopid != null && shopname != null)
        throw new InvalidParametersException();

    try {//www. j a v a2 s.  c o  m
        Shop shop = shopid == null ? shopService.getByName(shopname) : shopService.getById(shopid);

        DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY");
        List<PassabilityJson> resulList = new ArrayList<>();

        LocalDate startDate = formatter.parseLocalDate(startDateStr);
        LocalDate endDate = formatter.parseLocalDate(endDateStr);

        if (detail == null || "none".equals(detail)) {
            PassabilityJson record = new PassabilityJson();

            record.setStartDate(startDate.toString("dd.MM.YYYY"));
            record.setEndDate(endDate.toString("dd.MM.YYYY"));
            if (shop.isCountersEnabled()) {
                record.setIn(counterService.getInValueByPeriod(shop, startDate, endDate));
                record.setOut(counterService.getOutValueByPeriod(shop, startDate, endDate));
            } else {
                record.setIn(salesService.getPassabilityValueByPeriod(shop, startDate, endDate));
                record.setOut(record.getIn());
            }
            resulList.add(record);
        } else if ("day".equals(detail)) {
            // ? ,  ? 
            List<SalesMeta> smList = salesService.getByPeriod(shop, startDate.withDayOfMonth(1),
                    endDate.dayOfMonth().withMaximumValue());
            List<Sales> allSales = salesService.getAllSalesFromMetaList(smList, startDate, endDate);

            for (Sales s : allSales) {
                PassabilityJson record = new PassabilityJson();

                record.setStartDate(s.getDate().toString("dd.MM.YYYY"));
                record.setEndDate(s.getDate().toString("dd.MM.YYYY"));
                record.setIn(shop.isCountersEnabled()
                        ? counterService.getInValueByPeriod(shop, s.getDate(), s.getDate())
                        : s.getPassability());
                record.setOut(shop.isCountersEnabled()
                        ? counterService.getOutValueByPeriod(shop, s.getDate(), s.getDate())
                        : s.getPassability());

                resulList.add(record);
            }
        } else if ("month".equals(detail)) {
            startDate = startDate.withDayOfMonth(1);
            endDate = endDate.dayOfMonth().withMaximumValue();

            List<SalesMeta> smList = salesService.getByPeriod(shop, startDate, endDate);
            for (SalesMeta sm : smList) {
                PassabilityJson record = new PassabilityJson();

                record.setStartDate(sm.getStartDate().toString("dd.MM.YYYY"));
                record.setEndDate(sm.getEndDate().toString("dd.MM.YYYY"));
                record.setIn(shop.isCountersEnabled()
                        ? counterService.getInValueByPeriod(shop, sm.getStartDate(), sm.getEndDate())
                        : sm.getPassabilityTotal());
                record.setOut(shop.isCountersEnabled()
                        ? counterService.getOutValueByPeriod(shop, sm.getStartDate(), sm.getEndDate())
                        : sm.getPassabilityTotal());

                resulList.add(record);
            }
        }

        return resulList;
    } catch (Exception e) {
        log.warn(" ?  API (?) - "
                + e.getLocalizedMessage());
        return new ArrayList<>();
    }
}

From source file:ru.codemine.ccms.router.ExpencesRouter.java

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/expences/savecell", method = RequestMethod.POST)
public @ResponseBody String expencesSavecell(HttpServletRequest request, @RequestParam Integer shopid,
        @RequestParam String dateYear) {
    Shop shop = shopService.getById(shopid);

    String expenceTypeName = request.getParameterMap().get("extypename")[0];
    if (expenceTypeName == null)
        return "{\"result\": \"error\"}";

    ExpenceType expenceType = expenceTypeService.getByName(expenceTypeName);
    if (expenceType == null)
        return "{\"result\": \"error\"}";

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.M.YYYY");

    for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
        if (entry.getKey().startsWith("c")) {
            String cellname = entry.getKey();
            String cellval = entry.getValue()[0];
            if (cellval == null)
                return "{\"result\": \"error\"}";

            LocalDate startDate = formatter.parseLocalDate("01." + cellname.substring(1) + "." + dateYear);
            LocalDate endDate = startDate.dayOfMonth().withMaximumValue();

            Double value = Double.parseDouble(cellval);

            SalesMeta sm = salesService.getByShopAndDate(shop, startDate, endDate);
            sm.getExpences().put(expenceType, value);
            salesService.update(sm);/*from   ww  w . ja  v  a  2  s .  co m*/
        }
    }

    return "{\"result\": \"success\"}";
}

From source file:ru.codemine.ccms.router.SalesRouter.java

License:Open Source License

@Secured("ROLE_USER")
@RequestMapping(value = "/sales", method = RequestMethod.GET)
public String getSalesPage(@RequestParam Integer shopid, @RequestParam(required = false) String dateMonth,
        @RequestParam(required = false) String dateYear, ModelMap model) {
    Shop shop = shopService.getById(shopid);

    model.addAllAttributes(utils.prepareModel(dateMonth, dateYear));

    LocalDate selectedStartDate;
    LocalDate selectedEndDate;//from  w ww  .  jav  a 2 s . c o m
    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMMM YYYY");
    if (dateMonth != null && dateYear != null) //  
    {
        selectedStartDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear);
        selectedEndDate = selectedStartDate.dayOfMonth().withMaximumValue();
    } else // -  ??,  
    {
        selectedStartDate = LocalDate.now().withDayOfMonth(1);
        selectedEndDate = selectedStartDate.dayOfMonth().withMaximumValue();
    }

    SalesMeta salesMeta = salesService.getByShopAndDate(shop, selectedStartDate, selectedEndDate);

    if (shop.isCountersEnabled()) {
        for (Sales s : salesMeta.getSales()) {
            Counter counter = counterService.getByShopAndDate(shop, s.getDate().toDateTime(LocalTime.MIDNIGHT));
            s.setPassability(counter == null ? 0 : counter.getIn());
        }
    }

    model.addAttribute("salesMeta", salesMeta);
    model.addAttribute("shop", shop);

    return "pages/shops/sales";
}

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) {/*from   w w  w  .j  a va2s .  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/data")
public @ResponseBody List<Map<String, Object>> getSalesPassReportData(
        @RequestParam(required = false) String dateStartStr, @RequestParam(required = false) String dateEndStr,
        ModelMap model) {/*from   w w  w  .jav a 2 s .c o  m*/
    List<Map<String, Object>> recordsList = new ArrayList<>();

    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();

    List<Shop> shopList = shopService.getAllOpen();

    for (Shop shop : shopList) {
        Map<String, Object> record = new HashMap();

        record.put("shopname", shop.getName());
        record.put("passability", salesService.getPassabilityValueByPeriod(shop, dateStart, dateEnd));
        record.put("cheque", salesService.getCqcountValueByPeriod(shop, dateStart, dateEnd));
        record.put("value", salesService.getValueByPeriod(shop, dateStart, dateEnd));
        record.put("cashback", salesService.getCashbackValueByPeriod(shop, dateStart, dateEnd));
        record.put("periodtotal", salesService.getSalesValueByPeriod(shop, dateStart, dateEnd));
        record.put("midPrice", salesService.getMidPriceValueByPeriod(shop, dateStart, dateEnd));
        record.put("plan", salesService.getPlan(shop, dateStart, dateEnd));
        record.put("plancoverage", salesService.getPlanCoverage(shop, dateStart, dateEnd));

        recordsList.add(record);
    }

    return recordsList;
}

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 ww .  j  a  v  a 2s. 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;
}

From source file:ru.codemine.ccms.router.SalesRouter.java

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/reports/graph/sales-pass", method = RequestMethod.GET)
public String getSalesPassGraph(@RequestParam(required = false) String dateStartStr,
        @RequestParam(required = false) String dateEndStr, @RequestParam(required = false) Integer shopid,
        ModelMap model) {//from   w w w.ja v a2 s  .c  o m
    model.addAllAttributes(utils.prepareModel());

    List<Shop> shopList = shopService.getAllOpen();
    List<String> graphDataDayTotal = new ArrayList<>();
    List<String> graphDataPassability = new ArrayList<>();

    Shop shop = shopid == null ? shopList.get(0) : shopService.getById(shopid);

    model.addAttribute("shop", shop);
    model.addAttribute("shopList", shopList);

    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<SalesMeta> smList = salesService.getByPeriod(shop, dateStart, dateEnd);

    for (Sales sales : salesService.getAllSalesFromMetaList(smList)) {
        if (shop.isCountersEnabled()) {
            Counter counter = counterService.getByShopAndDate(shop,
                    sales.getDate().toDateTime(LocalTime.MIDNIGHT));
            if (sales.getPassability() == 0)
                sales.setPassability(counter == null ? 0 : counter.getIn());
        }

        graphDataDayTotal.add(sales.getGraphDataDayTotal());
        graphDataPassability.add(sales.getGraphDataPassability());
    }

    model.addAttribute("graphDataDayTotal", graphDataDayTotal);
    model.addAttribute("graphDataPassability", graphDataPassability);

    return "reports/sales-pass-graph";
}

From source file:ru.codemine.ccms.router.SalesRouter.java

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/management/setPlanCustom", method = RequestMethod.POST)
public @ResponseBody String setPlanCustom(@RequestParam String dateMonth, @RequestParam String dateYear,
        @RequestBody List<SalesPlanForm> salesPlanForms) {
    String resultStr;//from  w w w.  j  a va  2s  .  co  m

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMMM YYYY");
    LocalDate selectedStartDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear);
    LocalDate selectedEndDate = selectedStartDate.dayOfMonth().withMaximumValue();

    for (SalesPlanForm spf : salesPlanForms) {
        Shop shop = shopService.getByName(spf.getShopname());
        SalesMeta salesMeta = salesService.getByShopAndDate(shop, selectedStartDate, selectedEndDate);
        if (!salesMeta.getPlan().equals(spf.getPlan())) {
            salesMeta.setPlan(spf.getPlan());
            salesService.update(salesMeta);
        }
    }

    resultStr = "{\"result\": \"success\"}";

    return resultStr;

}