List of usage examples for org.joda.time.format DateTimeFormatter parseLocalDate
public LocalDate parseLocalDate(String text)
From source file:org.vaadin.addons.tuningdatefield.TuningDateField.java
License:Apache License
/** * Initialize the {@link LocalDate} converter for the text field. *//*from w ww . j a v a 2s. c om*/ private void initConverter() { Converter<String, LocalDate> converter = new Converter<String, LocalDate>() { private static final long serialVersionUID = -2161506497954814519L; @Override public LocalDate convertToModel(String value, Class<? extends LocalDate> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { if (value == null) { return null; } LocalDate modelValue = null; try { DateTimeFormatter dateTimeFormatter; if (dateTimeFormatterPattern == null) { dateTimeFormatter = DateTimeFormat.shortDate().withLocale(locale); } else { dateTimeFormatter = DateTimeFormat.forPattern(dateTimeFormatterPattern).withLocale(locale); } modelValue = dateTimeFormatter.parseLocalDate(value); } catch (IllegalArgumentException e) { throw new ConversionException("Cannot convert to model", e); } return modelValue; } @Override public String convertToPresentation(LocalDate value, Class<? extends String> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { if (value == null) { return null; } String presentationValue = null; try { DateTimeFormatter dateTimeFormatter; if (dateTimeFormatterPattern == null) { dateTimeFormatter = DateTimeFormat.shortDate().withLocale(locale); } else { dateTimeFormatter = DateTimeFormat.forPattern(dateTimeFormatterPattern).withLocale(locale); } presentationValue = dateTimeFormatter.print(value); } catch (IllegalArgumentException e) { throw new ConversionException("Cannot convert to presentation", e); } return presentationValue; } @Override public Class<LocalDate> getModelType() { return LocalDate.class; } @Override public Class<String> getPresentationType() { return String.class; } }; setConverter(converter); }
From source file:org.vaadin.addons.tuningdatefield.TuningDateField.java
License:Apache License
protected void registerRpc() { registerRpc(new TuningDateFieldRpc() { private static final long serialVersionUID = 3572898507878457932L; @Override/*w w w .jav a 2 s . c om*/ public void onCalendarOpen() { TuningDateField.this.onCalendarOpen(); } @Override public void onCalendarClosed() { calendarOpen = false; markAsDirty(); } @Override public void calendarItemClicked(Integer itemIndex, Integer relativeDateIndex, MouseEventDetails mouseDetails) { onCalendarItemClicked(itemIndex, relativeDateIndex, mouseDetails); } @Override public void dateTextChanged(String dateText) { try { // First try to convert to model in order to check if text is parseable if (dateText != null) { DateTimeFormatter dateTimeFormatter; if (dateTimeFormatterPattern == null) { dateTimeFormatter = DateTimeFormat.shortDate().withLocale(getLocale()); } else { dateTimeFormatter = DateTimeFormat.forPattern(dateTimeFormatterPattern) .withLocale(getLocale()); } dateTimeFormatter.parseLocalDate(dateText); } // If parsing text is successful, set value uiHasValidDateString = true; setComponentError(null); setValue(dateText); } catch (IllegalArgumentException e) { // Date is not parseable, keep previous value uiHasValidDateString = false; markAsDirty(); } } @Override public void previousControlClicked() { if (controlsEnabled) { goToPreviousCalendarPage(); } else { // wtf ? should never happen } } @Override public void nextControlClicked() { if (controlsEnabled) { goToNextCalendarPage(); } else { // wtf ? should never happen } } @Override public void resolutionControlClicked() { if (controlsEnabled) { swithToHigherCalendarResolution(); } else { // wtf ? should never happen } } }); }
From source file:ru.codemine.ccms.converter.StringToLocalDateConverter.java
License:Open Source License
@Override public LocalDate convert(String s) { DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); return formatter.parseLocalDate(s); }
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 {/* ww w .jav a 2s . com*/ 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", method = RequestMethod.GET) public String getExpencesPage(@RequestParam(required = false) Integer shopid, @RequestParam(required = false) String dateYear, @RequestParam(required = false) String mode, ModelMap model) {// w ww .j a v a 2s .c om if (dateYear == null) dateYear = LocalDate.now().toString("YYYY"); if (shopid == null) shopid = shopService.getAll().get(0).getId(); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate startDate = formatter.parseLocalDate("01.01." + dateYear); LocalDate endDate = formatter.parseLocalDate("31.12." + dateYear); Shop shop = shopService.getById(shopid); List<Shop> shopList = shopService.getAllOpen(); List<ExpenceType> allExpTypes = expenceTypeService.getAll(); Set<ExpenceType> addedExpTypes = salesService.getExpenceTypesByPeriod(shop, startDate, endDate); model.addAllAttributes(utils.prepareModel()); model.addAttribute("shop", shop); model.addAttribute("shopList", shopList); model.addAttribute("selectedYear", dateYear); model.addAttribute("yearList", utils.getYearStrings()); model.addAttribute("allExpTypes", allExpTypes); model.addAttribute("addedExpTypes", addedExpTypes); model.addAttribute("expenceTypesForm", new ExpenceTypesForm()); return "print".equals(mode) ? "printforms/expences" : "pages/shops/expences"; }
From source file:ru.codemine.ccms.router.ExpencesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/expences/data", method = RequestMethod.GET) public @ResponseBody List<Map<String, Object>> getExpencesData(@RequestParam Integer shopid, @RequestParam String dateYear) { List<Map<String, Object>> records = new ArrayList<>(); Shop shop = shopService.getById(shopid); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate startDate = formatter.parseLocalDate("01.01." + dateYear); LocalDate endDate = formatter.parseLocalDate("31.12." + dateYear); List<SalesMeta> smList = salesService.getByPeriod(shop, startDate, endDate); Set<ExpenceType> expenceTypes = salesService.getExpenceTypesByPeriod(shop, startDate, endDate); for (ExpenceType type : expenceTypes) { Map<String, Object> record = new HashMap<>(); for (SalesMeta sm : smList) { Double val = sm.getExpences().get(type); String month = sm.getStartDate().toString("M"); record.put("c" + month, val); }//ww w .j ava 2 s .c om record.put("expencetype", type.getName()); record.put("expencenote", type.getComment()); record.put("totals", salesService.getTotalExpenceValueForPeriod(shop, startDate, endDate, type)); records.add(record); } return records; }
From source file:ru.codemine.ccms.router.ExpencesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/expences/addtype", method = RequestMethod.POST) public String addExpenceTypeToShop(@RequestParam Integer shopid, @RequestParam String dateYear, @ModelAttribute ExpenceTypesForm expenceTypesForm) { Shop shop = shopService.getById(shopid); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate startDate = formatter.parseLocalDate("01.01." + dateYear); LocalDate endDate = formatter.parseLocalDate("31.01." + dateYear); SalesMeta januarySalesMeta = salesService.getByShopAndDate(shop, startDate, endDate); for (ExpenceType type : expenceTypesForm.getTypes()) { if (!januarySalesMeta.getExpences().containsKey(type)) januarySalesMeta.getExpences().put(type, 0.0); }//from w ww . java 2 s .co m salesService.update(januarySalesMeta); return "redirect:/expences?shopid=" + shop.getId() + "&dateYear=" + dateYear; }
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 . c o m*/ } } return "{\"result\": \"success\"}"; }
From source file:ru.codemine.ccms.router.ExpencesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/reports/expences/data", method = RequestMethod.GET) public @ResponseBody List<Map<String, Object>> getExpencesReportData(@RequestParam String dateYear) { DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate startDate = formatter.parseLocalDate("01.01." + dateYear); LocalDate endDate = formatter.parseLocalDate("31.12." + dateYear); List<Shop> shopList = shopService.getAllOpen(); List<Map<String, Object>> recordList = new ArrayList<>(); for (Shop shop : shopList) { Map<String, Object> record = new HashMap<>(); Double sales = salesService.getSalesValueByPeriod(shop, startDate, endDate); Double expences = salesService.getTotalExpenceValueForPeriod(shop, startDate, endDate); Double cleanSales = (sales == null || expences == null) ? 0 : sales - expences; Double midExpences = salesService.getMidExpences(shop, 6); Double midCleanSales = salesService.getMidCleanSales(shop, 6); record.put("shopname", shop.getName()); record.put("sales", sales); record.put("expences", expences); record.put("cleanSales", cleanSales); record.put("midExpences", midExpences); record.put("midCleanSales", midCleanSales); recordList.add(record);//from w w w . j ava 2 s . c o m } return recordList; }
From source file:ru.codemine.ccms.router.ExpencesRouter.java
License:Open Source License
@Secured("ROLE_OFFICE") @RequestMapping(value = "/reports/expences/details", method = RequestMethod.GET) public @ResponseBody List<Map<String, Object>> getExpencesReportDetails(@RequestParam String dateYear, @RequestParam String shopname) { List<Map<String, Object>> records = new ArrayList<>(); Shop shop = shopService.getByName(shopname); DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.YYYY"); LocalDate startDate = formatter.parseLocalDate("01.01." + dateYear); LocalDate endDate = formatter.parseLocalDate("31.12." + dateYear); List<SalesMeta> smList = salesService.getByPeriod(shop, startDate, endDate); Set<ExpenceType> expenceTypes = salesService.getExpenceTypesByPeriod(shop, startDate, endDate); Map<String, Object> totalExpences = new HashMap<>(); Map<String, Object> totalSales = new HashMap<>(); Map<String, Object> totalCleanSales = new HashMap<>(); for (ExpenceType type : expenceTypes) { Map<String, Object> record = new HashMap<>(); for (SalesMeta sm : smList) { Double val = sm.getExpences().get(type); String month = sm.getStartDate().toString("M"); record.put("c" + month, val); totalExpences.put("c" + month, sm.getExpencesTotal()); totalSales.put("c" + month, sm.getSalesTotal()); totalCleanSales.put("c" + month, sm.getSalesTotal() - sm.getExpencesTotal()); }/*www . j a v a 2 s. co m*/ record.put("expencetype", type.getName()); record.put("expencenote", type.getComment()); record.put("totals", salesService.getTotalExpenceValueForPeriod(shop, startDate, endDate, type)); records.add(record); } totalExpences.put("expencetype", ":"); totalSales.put("expencetype", ""); totalCleanSales.put("expencetype", "?? "); Double totalExpencesValue = salesService.getTotalExpenceValueForPeriod(shop, startDate, endDate); Double totalSalesValue = salesService.getSalesValueByPeriod(shop, startDate, endDate); totalExpences.put("totals", totalExpencesValue); totalSales.put("totals", totalSalesValue); totalCleanSales.put("totals", totalSalesValue - totalExpencesValue); records.add(totalExpences); records.add(totalSales); records.add(totalCleanSales); return records; }