Example usage for org.joda.time.format DateTimeFormatter parseLocalDate

List of usage examples for org.joda.time.format DateTimeFormatter parseLocalDate

Introduction

In this page you can find the example usage for org.joda.time.format DateTimeFormatter parseLocalDate.

Prototype

public LocalDate parseLocalDate(String text) 

Source Link

Document

Parses only the local date from the given text, returning a new LocalDate.

Usage

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

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/reports/graph/expences")
public String getExpencesGraph(@RequestParam(required = false) Integer shopid,
        @RequestParam(required = false) String dateStartStr, @RequestParam(required = false) String dateEndStr,
        ModelMap model) {/*from w  w w  .  j av  a2s.  c  o m*/
    model.addAllAttributes(utils.prepareModel());

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY");
    LocalDate dateStart = dateStartStr == null ? LocalDate.now().withMonthOfYear(1).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;

    model.addAttribute("dateStartStr", dateStart.toString("dd.MM.YYYY"));
    model.addAttribute("dateEndStr", dateEnd.toString("dd.MM.YYYY"));

    List<Shop> shopList = shopService.getAllOpen();
    List<String> graphDataSalesTotal = new ArrayList<>();
    List<String> graphDataExpencesTotal = new ArrayList<>();

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

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

    List<SalesMeta> smList = salesService.getByPeriod(shop, dateStart, dateEnd);

    for (SalesMeta sm : smList) {

        graphDataSalesTotal.add(sm.getGraphDataSalesTotal());
        graphDataExpencesTotal.add(sm.getGraphDataExpencesTotal());
    }

    model.addAttribute("graphDataSalesTotal", graphDataSalesTotal);
    model.addAttribute("graphDataExpencesTotal", graphDataExpencesTotal);

    return "reports/expences-graph";
}

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;//  ww  w.j  av a  2  s .com
    LocalDate selectedEndDate;
    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_USER")
@RequestMapping(value = "/salesUpd", method = RequestMethod.POST)
public @ResponseBody String updateSales(@RequestParam(required = false) Integer smid,
        @RequestParam(required = false) Integer shopid, @RequestBody List<SalesForm> salesForms,
        ModelMap model) {/*w w  w .j  a v  a 2  s .c om*/

    if (smid == null && shopid == null)
        throw new ResourceNotFoundException();

    String resultStr;
    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY");

    if (smid != null) //  ?? 
    {
        SalesMeta salesMeta = salesService.getById(smid);

        for (SalesForm sf : salesForms) {
            Sales sales = salesMeta.getByDate(formatter.parseLocalDate(sf.getDate()));

            sales.setPassability(sf.getPassability());
            sales.setChequeCount(sf.getChequeCount());
            sales.setValue(sf.getValue());
            sales.setCashback(sf.getCashback());
        }

        salesService.update(salesMeta);

        resultStr = "{\"result\": \"success\"}";
    } else // ? 
    {
        Shop shop = shopService.getById(shopid);
        Set<Sales> newSalesSet = new TreeSet<>();

        LocalDate startDate = formatter.parseLocalDate(salesForms.get(0).getDate());
        LocalDate endDate = formatter.parseLocalDate(salesForms.get(salesForms.size() - 1).getDate());

        for (SalesForm sf : salesForms) {
            Sales sales = new Sales(shop, formatter.parseLocalDate(sf.getDate()));

            sales.setPassability(sf.getPassability());
            sales.setChequeCount(sf.getChequeCount());
            sales.setValue(sf.getValue());
            sales.setCashback(sf.getCashback());

            newSalesSet.add(sales);
        }

        SalesMeta newSalesMeta = new SalesMeta(shop);
        newSalesMeta.setSales(newSalesSet);
        newSalesMeta.setStartDate(startDate);
        newSalesMeta.setEndDate(endDate);
        newSalesMeta.setDescription(" : " + shop.getName() + " ("
                + startDate.toString("MMMM YYYY") + ")");

        salesService.create(newSalesMeta);

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

    return resultStr;
}

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  ww .j a va  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/data")
public @ResponseBody List<Map<String, Object>> getSalesPassReportData(
        @RequestParam(required = false) String dateStartStr, @RequestParam(required = false) String dateEndStr,
        ModelMap model) {//www.java2  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  w  w  . j  a v  a2  s.  co  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) {//  w  w w  .  j a  va  2s.c  om
    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/setPlanAll", method = RequestMethod.POST)
public String setPlanAll(@RequestParam String dateMonth, @RequestParam String dateYear,
        @RequestParam String value, ModelMap model) {
    String status;//from   w ww  .  ja v  a 2 s  .c  om
    Double plan = 0.0;
    try {
        plan = Double.valueOf(value.replace(",", "."));

        DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMMM YYYY");
        LocalDate startDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear);
        LocalDate endDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear).dayOfMonth()
                .withMaximumValue();
        List<Shop> shopList = shopService.getAllOpen();
        for (Shop shop : shopList) {
            SalesMeta sm = salesService.getByShopAndDate(shop, startDate, endDate);
            if (sm.getId() == null)
                salesService.update(sm);
        }

        if (salesService.updatePlanAll(plan, startDate, endDate)) {
            status = "ok";
        } else {
            status = "error-server";
        }

    } catch (NumberFormatException e) {
        status = "error-all";
    }

    model.addAttribute("dateMonth", dateMonth);
    model.addAttribute("dateYear", dateYear);
    model.addAttribute("status", status);

    return "redirect:/management/setPlan";
}

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

License:Open Source License

@Secured("ROLE_OFFICE")
@RequestMapping(value = "/management/setPlanByOrg", method = RequestMethod.POST)
public String setPlanByOrg(@RequestParam String dateMonth, @RequestParam String dateYear,
        @RequestParam Integer orgId, @RequestParam String value, ModelMap model) {
    String status;//from w w w . j  a  v a 2s.  com
    Double plan = 0.0;
    try {
        plan = Double.valueOf(value.replace(",", "."));

        DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMMM YYYY");
        LocalDate startDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear);
        LocalDate endDate = formatter.parseLocalDate("01 " + dateMonth + " " + dateYear).dayOfMonth()
                .withMaximumValue();
        Set<Shop> shopList = organisationService.getById(orgId).getShops();
        for (Shop shop : shopList) {
            SalesMeta sm = salesService.getByShopAndDate(shop, startDate, endDate);
            sm.setPlan(plan);
            salesService.update(sm);

        }
        status = "ok";
    } catch (NumberFormatException e) {
        status = "error-org";
    }

    model.addAttribute("dateMonth", dateMonth);
    model.addAttribute("dateYear", dateYear);
    model.addAttribute("status", status);

    return "redirect:/management/setPlan";

}

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 2  s.c  o 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;

}