/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
*/
package org.mxchange.jfinancials.beans.financial.model.income;
+import java.math.BigDecimal;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.List;
/**
* Income single amount
*/
- private Float incomeSingleAmount;
+ private BigDecimal incomeSingleAmount;
/**
* Income (type) title
} else if (null == this.getIncomeSingleAmount()) {
// Throw again
throw new NullPointerException("incomeSingleAmount is null"); //NOI18N
- } else if (this.getIncomeSingleAmount() < 0) {
+ } else if (this.getIncomeSingleAmount().doubleValue() < 0) {
// Not allowed value
throw new IllegalArgumentException(MessageFormat.format("incomeSingleAmount={0} is not valid.", this.getIncomeSingleAmount())); //NOI18N
} else if (null == this.getIncomeTitle()) {
return "add_user_fiancial_income"; //NOI18N
}
- @Override
+ /**
+ * Returns a list of all all income intervals
+ * <p>
+ * @return Income intervals
+ */
public List<FinancialInterval> allIncomeIntervals () {
// Return list from enum values
return Arrays.asList(FinancialInterval.values());
}
- @Override
+ /**
+ * Getter for income interval
+ * <p>
+ * @return Income interval
+ */
public FinancialInterval getIncomeInterval () {
return this.incomeInterval;
}
- @Override
+ /**
+ * Setter for income (type) interval
+ * <p>
+ * @param incomeInterval Income interval
+ */
public void setIncomeInterval (final FinancialInterval incomeInterval) {
this.incomeInterval = incomeInterval;
}
- @Override
- public Float getIncomeSingleAmount () {
+ /**
+ * Getter for income single amount
+ * <p>
+ * @return Income single amount
+ */
+ public BigDecimal getIncomeSingleAmount () {
return this.incomeSingleAmount;
}
- @Override
- public void setIncomeSingleAmount (final Float incomeSingleAmount) {
+ /**
+ * Setter for income single amount
+ * <p>
+ * @param incomeSingleAmount Income single amount
+ */
+ public void setIncomeSingleAmount (final BigDecimal incomeSingleAmount) {
this.incomeSingleAmount = incomeSingleAmount;
}
- @Override
+ /**
+ * Getter for income (type) title
+ * <p>
+ * @return Income title
+ */
public String getIncomeTitle () {
return this.incomeTitle;
}
- @Override
+ /**
+ * Setter for income (type) title
+ * <p>
+ * @param incomeTitle Income title
+ */
public void setIncomeTitle (final String incomeTitle) {
this.incomeTitle = incomeTitle;
}
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
package org.mxchange.jfinancials.beans.financial.model.income;
import java.io.Serializable;
-import java.util.List;
-import org.mxchange.jfinancials.model.income.interval.FinancialInterval;
/**
* An administrative interface for financial income beans
*/
public interface FinancialsIncomeWebRequestController extends Serializable {
- /**
- * Getter for income single amount
- * <p>
- * @return Income single amount
- */
- Float getIncomeSingleAmount ();
-
- /**
- * Setter for income single amount
- * <p>
- * @param incomeSingleAmount Income single amount
- */
- void setIncomeSingleAmount (final Float incomeSingleAmount);
-
- /**
- * Getter for income (type) title
- * <p>
- * @return Income title
- */
- String getIncomeTitle ();
-
- /**
- * Setter for income (type) title
- * <p>
- * @param incomeTitle Income title
- */
- void setIncomeTitle (final String incomeTitle);
-
- /**
- * Getter for income interval
- * <p>
- * @return Income interval
- */
- FinancialInterval getIncomeInterval ();
-
- /**
- * Setter for income (type) interval
- * <p>
- * @param incomeInterval Income interval
- */
- void setIncomeInterval (final FinancialInterval incomeInterval);
-
- /**
- * Returns a list of all all income intervals
- * <p>
- * @return Income intervals
- */
- List<FinancialInterval> allIncomeIntervals ();
-
}
/*
- * Copyright (C) 2017 Roland Häder
+ * Copyright (C) 2017, 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/**
* Receipt number (only numbers)
*/
- private Long receiptNumber;
+ private String receiptNumber;
/**
* Payment type being used for this receipt
* <p>
* @return Receipt number
*/
- public Long getReceiptNumber () {
+ public String getReceiptNumber () {
return this.receiptNumber;
}
* <p>
* @param receiptNumber Receipt number
*/
- public void setReceiptNumber (final Long receiptNumber) {
+ public void setReceiptNumber (final String receiptNumber) {
this.receiptNumber = receiptNumber;
}
/*
- * Copyright (C) 2017 Roland Häder
+ * Copyright (C) 2017, 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/**
* Receipt number (only numbers)
*/
- private Long receiptNumber;
+ private String receiptNumber;
/**
* Payment type being used for this receipt
* <p>
* @return Receipt number
*/
- public Long getReceiptNumber () {
+ public String getReceiptNumber () {
return this.receiptNumber;
}
* <p>
* @param receiptNumber Receipt number
*/
- public void setReceiptNumber (final Long receiptNumber) {
+ public void setReceiptNumber (final String receiptNumber) {
this.receiptNumber = receiptNumber;
}
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/*
- * Copyright (C) 2017 Roland Häder
+ * Copyright (C) 2017, 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
*/
package org.mxchange.jfinancials.beans.financial.model.receipt_item;
+import java.math.BigDecimal;
import java.text.MessageFormat;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
private String itemBrandName;
/**
- * Fixed discount on product price (if any)
+ * Coupon number assigned with item
*/
- private Float itemDiscountFixed;
+ private String itemCouponNumber;
/**
- * Percentage discount on product price (if any) Valid: values 0...1 (1=100%
- * discount)
+ * Whether the item is a discount on whole receipt or item
*/
- private Float itemDiscountPercent;
+ private Boolean itemIsDiscount;
+
+ /**
+ * Whether the item is a refund
+ */
+ private Boolean itemIsRefund;
+
+ /**
+ * Item manufacturer/producer
+ */
+ private BasicData itemManufacturer;
+
+ /**
+ * Item's number
+ */
+ private Long itemNumber;
/**
* Item product
/**
* Quantity of item
*/
- private Short itemQuantity;
+ private BigDecimal itemQuantity;
/**
* Assigned receipt
/**
* Product's gross price
*/
- private Float productGrossPrice;
-
- /**
- * Item manufacturer/producer
- */
- private BasicData itemManufacturer;
+ private BigDecimal productGrossPrice;
/**
* Product's net price
*/
- private Float productNetPrice;
+ private BigDecimal productNetPrice;
/**
* Tax rate for this item
*/
- private Float productTaxRate;
+ private BigDecimal productTaxRate;
/**
* General receipt item controller
}
/**
- * Getter for item discount (fixed)
+ * Getter for item's coupon number
+ * <p>
+ * @return Item's coupon number
+ */
+ public String getItemCouponNumber () {
+ return this.itemCouponNumber;
+ }
+
+ /**
+ * Setter for item's coupon number
* <p>
- * @return Item discount (fixed)
+ * @param itemCouponNumber Item's coupon number
*/
- public Float getItemDiscountFixed () {
- return this.itemDiscountFixed;
+ public void setItemCouponNumber (final String itemCouponNumber) {
+ this.itemCouponNumber = itemCouponNumber;
}
/**
- * Setter for item discount (fixed)
+ * Getter for whether the item is a discount on whole receipt or item
* <p>
- * @param itemDiscountFixed Item discount (fixed)
+ * @return Whether the item is a discount on whole receipt or item
*/
- public void setItemDiscountFixed (final Float itemDiscountFixed) {
- this.itemDiscountFixed = itemDiscountFixed;
+ public Boolean getItemIsDiscount () {
+ return this.itemIsDiscount;
}
/**
- * Getter for item discount (percent)
+ * Setter for whether the item is a discount on whole receipt or item
* <p>
- * @return Item discount (percent)
+ * @param itemIsDiscount Whether the item is a discount on whole receipt or
+ * item
*/
- public Float getItemDiscountPercent () {
- return this.itemDiscountPercent;
+ public void setItemIsDiscount (final Boolean itemIsDiscount) {
+ this.itemIsDiscount = itemIsDiscount;
}
/**
- * Setter for item discount (percent)
+ * Getter for whether the item is a refund
* <p>
- * @param itemDiscountPercent Item discount (percent)
+ * @return Whether the item is a refund
*/
- public void setItemDiscountPercent (final Float itemDiscountPercent) {
- this.itemDiscountPercent = itemDiscountPercent;
+ public Boolean getItemIsRefund () {
+ return this.itemIsRefund;
+ }
+
+ /**
+ * Setter for whether the item is a refund
+ * <p>
+ * @param itemIsRefund Whether the item is a refund
+ */
+ public void setItemIsRefund (final Boolean itemIsRefund) {
+ this.itemIsRefund = itemIsRefund;
}
/**
this.itemManufacturer = itemManufacturer;
}
+ /**
+ * Getter for item's number
+ * <p>
+ * @return Item's number
+ */
+ public Long getItemNumber () {
+ return this.itemNumber;
+ }
+
+ /**
+ * Setter for item's number
+ * <p>
+ * @param itemNumber Item's number
+ */
+ public void setItemNumber (final Long itemNumber) {
+ this.itemNumber = itemNumber;
+ }
+
/**
* Getter for assigned product
* <p>
* <p>
* @return Item quantity
*/
- public Short getItemQuantity () {
+ public BigDecimal getItemQuantity () {
return this.itemQuantity;
}
* <p>
* @param itemQuantity Item quantity
*/
- public void setItemQuantity (final Short itemQuantity) {
+ public void setItemQuantity (final BigDecimal itemQuantity) {
this.itemQuantity = itemQuantity;
}
* <p>
* @return Product's gross price
*/
- public Float getProductGrossPrice () {
+ public BigDecimal getProductGrossPrice () {
return this.productGrossPrice;
}
* <p>
* @param productGrossPrice Product's gross price
*/
- public void setProductGrossPrice (final Float productGrossPrice) {
+ public void setProductGrossPrice (final BigDecimal productGrossPrice) {
this.productGrossPrice = productGrossPrice;
}
* <p>
* @return Product's net price
*/
- public Float getProductNetPrice () {
+ public BigDecimal getProductNetPrice () {
return this.productNetPrice;
}
* <p>
* @param productNetPrice Product's net price
*/
- public void setProductNetPrice (final Float productNetPrice) {
+ public void setProductNetPrice (final BigDecimal productNetPrice) {
this.productNetPrice = productNetPrice;
}
* <p>
* @return Product's tax rate
*/
- public Float getProductTaxRate () {
+ public BigDecimal getProductTaxRate () {
return this.productTaxRate;
}
* <p>
* @param productTaxRate Product's tax rate
*/
- public void setProductTaxRate (final Float productTaxRate) {
+ public void setProductTaxRate (final BigDecimal productTaxRate) {
this.productTaxRate = productTaxRate;
}
private void clear () {
// Clear all fields
this.setItemBrandName(null);
- this.setItemDiscountFixed(null);
- this.setItemDiscountPercent(null);
+ this.setItemCouponNumber(null);
+ this.setItemIsDiscount(null);
+ this.setItemIsRefund(null);
this.setItemManufacturer(null);
+ this.setItemNumber(null);
this.setItemProduct(null);
this.setItemQuantity(null);
this.setItemReceipt(null);
+ this.setProductCurrencyCode(null);
+ this.setProductGrossPrice(null);
+ this.setProductNetPrice(null);
+ this.setProductTaxRate(null);
}
/**
// Set optional data
receiptItem.setItemBrandName(this.getItemBrandName());
- receiptItem.setItemDiscountFixed(this.getItemDiscountFixed());
- receiptItem.setItemDiscountPercent(this.getItemDiscountPercent());
+ receiptItem.setItemCouponNumber(this.getItemCouponNumber());
+ receiptItem.setItemIsDiscount(this.getItemIsDiscount());
+ receiptItem.setItemIsRefund(this.getItemIsRefund());
receiptItem.setItemManufacturer(this.getItemManufacturer());
+ receiptItem.setItemNumber(this.getItemNumber());
+ receiptItem.setItemGrossPrice(this.getProductGrossPrice());
+ receiptItem.setItemNetPrice(this.getProductNetPrice());
+ receiptItem.setItemTaxRate(this.getProductTaxRate());
// Return prepared instance
return receiptItem;
/*
- * Copyright (C) 2017 Roland Häder
+ * Copyright (C) 2017, 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* @param filteredReceiptItems Filtered receipt items
*/
@SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter")
- public void setFilteredReceipts (final List<BillableReceiptItem> filteredReceiptItems) {
+ public void setFilteredReceiptItems (final List<BillableReceiptItem> filteredReceiptItems) {
this.filteredReceiptItems = filteredReceiptItems;
}
*/
private BillableReceiptItem createReceiptInstance () {
// Init receipt instance
+ // @TODO Unfinished:
final BillableReceiptItem receiptItem = new FinancialReceiptItem();
// Set optional fields
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
-# Copyright (C) 2016, 2017 Roland H\u00e4der
+# Copyright (C) 2016 - 2018 Free Software Foundation
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
ADMIN_LINK_LIST_RECEIPTS=Kassenbons/Rechnungen auflisten
ADMIN_LIST_RECEIPTS_HEADER=Alle Kassenbons/Rechnungen auflisten
ADMIN_RECEIPT_BASIC_LEGEND=Grunddaten des Kassenbons
-ADMIN_RECEIPT_BASIC_LEGEND_TITLE=Geben Sie hier die Grunddaten des neuen Kassenbons ein.
+ADMIN_RECEIPT_BASIC_LEGEND_TITLE=Bitte geben Sie hier die Grunddaten des neuen Kassenbons ein.
ENTER_RECEIPT_ISSUE_DATE=Ausstellungsdatum des Kassenbons eingeben:
ENTER_RECEIPT_NUMBER=Rechnungsnummer eingeben:
-ENTERED_RECEIPT_NUMBER_INVALID=Die eingegebene Bonnummer/Rechnungsnummer ist kleiner 1 oder groesser 9999999999.
+#@TODO Please fix German umlauts!
+ENTERED_RECEIPT_NUMBER_INVALID=Die eingegebene Bonnummer/Rechnungsnummer ist kleiner 1 oder groesser 9223372036854775807.
ADMIN_SELECT_RECEIPT_USER_OWNER=Kassenbon einem Benutzer zuweisen:
ENTER_RECEIPT_REGISTER_NUMBER=Kassennummer eingeben:
ENTER_RECEIPT_BARCODE_NUMBER=Barcode-Nummer eingeben:
ENTER_TAX_RATE=Steuersatz:
ENTER_GROSS_PRICE=Bruttopreis:
#@TODO Please fix German umlauts!
-SELECT_RECEIPT_ITEM_PRODUCT=Produkt zum Kassenboneintrag auswaehlen:
+SELECT_RECEIPT_ITEM_PRODUCT=Produkt zum Artikel auswaehlen:
ENTER_RECEIPT_ITEM_QUANTITY=Stueckzahl eingeben:
-ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT=Prozentualen Nachlass eingeben:
-ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT_TITLE=Geben Sie hier den prozentualen Nachlass vom Kassenbon ein. Bitte leer lassen, falls keiner gegeben ist.
-ENTER_RECEIPT_ITEM_DISCOUNT_FIXED=Festen Nachlass eingeben:
-ENTER_RECEIPT_ITEM_DISCOUNT_FIXED_TITLE=Geben Sie den festen Nachlass vom Kassenbon ein. Bitte leer lassen, falls keiner gegeben ist.
-#@TODO Please fix German umlauts!
-PAGE_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=Kassenboneintraege auflisten
#@TODO Please fix German umlauts!
-CONTENT_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=Kassenboneintraege auflisten:
-TABLE_SUMMARY_ADMIN_LIST_RECEIPT_ITEMS=Diese Tabelle listet alle eingetragenen Kassenboneintraege auf.
+PAGE_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=Artikel auflisten
#@TODO Please fix German umlauts!
-ADMIN_EMPTY_LIST_RECEIPT_ITEM=Es befinden sich keine Kassenboneintraege in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+CONTENT_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=Artikel auflisten:
+TABLE_SUMMARY_ADMIN_LIST_RECEIPT_ITEMS=Diese Tabelle listet alle eingetragenen Artikel auf.
#@TODO Please fix German umlauts!
-ADMIN_LIST_RECEIPT_ITEMS_HEADER=Alle Kassenboneintraege auflisten
+ADMIN_EMPTY_LIST_RECEIPT_ITEM=Es befinden sich keine Artikel in der Datenbank. Oder Ihre Suche ergab keine Uebereinstimmungen.
+ADMIN_LIST_RECEIPT_ITEMS_HEADER=Alle Artikel auflisten
ADMIN_ASSIGNED_ITEM_RECEIPT=Zugewiesener Kassenbon:
ADMIN_ASSIGNED_ITEM_PRODUCT=Zugewiesenes Produkt:
#@TODO Please fix German umlauts!
-ADMIN_ADD_RECEIPT_ITEM_TITLE=Neues Kassenboneintrag hinzufuegen
-ADMIN_RECEIPT_ITEM_LEGEND=Daten des Kassenboneintrages:
-ADMIN_RECEIPT_ITEM_BASIC_LEGEND_TITLE=Geben Sie hier die Daten des neuen Kassenboneintrages ein.
+ADMIN_ADD_RECEIPT_ITEM_TITLE=Neuen Artikel hinzufuegen
+ADMIN_RECEIPT_ITEM_LEGEND=Daten des Artikels:
+ADMIN_RECEIPT_ITEM_BASIC_LEGEND_TITLE=Bitte geben Sie hier die Daten des neuen Artikels ein.
SELECT_ITEM_RECEIPT=Kassenbon auswaehlen:
#@TODO Please fix German umlauts!
-BUTTON_ADMIN_ADD_RECEIPT_TEM=Kassenboneintrag hinzufuegen
+BUTTON_ADMIN_ADD_RECEIPT_TEM=Artikel hinzufuegen
LABEL_RECEIPTS=Kassenbons
LABEL_PRODUCTS=Produkte
#@TODO Please fix German umlauts!
RECEIPT_NUMBER=Kassenbonnummer:
ADMIN_ENTER_GENERIC_PRODUCT_NUMBER=Geben Sie die Produktnummer ein:
ADMIN_ENTER_GENERIC_PRODUCT_NUMBER_TITLE=Geben Sie die Nummer des Produktes ein.
+ENTER_RECEIPT_ITEM_NUMBER=Artikelnumber:
+ENTER_RECEIPT_ITEM_NUMBER_TITLE=Geben Sie die Artikelnummer vom Kassenbon ein.
+#@TODO Please fix German umlauts!
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND=Ist dieser Artikel eine Rueckgabe?
+#@TODO Please fix German umlauts!
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND_REQUIRED=Bitte waehlen Sie aus, ob der Artikel eine Rueckgabe ist.
+#@TODO Please fix German umlauts!
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND_TITLE=Gibt an, ob der Artikel eine Rueckgabe, zum Beispiel zurueckgegebenes Flaschenpfand, ist.
+ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE=Zeigt Produktdaten des Artikels an.
+ENTER_RECEIPT_ITEM_COUPON_NUMBER=Coupon-Nummer eingeben:
+#@TODO Please fix German umlauts!
+ENTER_RECEIPT_ITEM_COUPON_NUMBER_TITLE=Geben Sie die Nummer des eingeloesten Coupons ein.
+ADMIN_RECEIPT_DATE_OF_ISSUE_TITLE=Bitte geben Sie das Ausstellungsdatum mit Uhrzeit fuer den Kassenbon ein. Falls Sie keine Uhrzeit haben, einfach auf 00:00 Uhr lassen.
+#@TODO Please fix German umlauts!
+ENTERED_RECEIPT_REGISTER_NUMBER_INVALID=Die eingegebene Kassennummer ist kleiner 1 oder groesser 999.
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT=Ist dies ein Nachlass?
+#@TODO Please fix German umlauts!
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_REQUIRED=Bitte waehlen Sie aus, ob dies ein Nachlass ist.
+#@TODO Please fix German umlauts!
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_TITLE=Waehlen Sie aus, ob dies ein Nachlass auf einen Artikel ist.
+#@TODO Please fix German umlauts!
+ADMIN_SELECT_PRODUCT_AGE_GROUP=Altersklasse zum Produkt auswaehlen:
+#@TODO Please fix German umlauts!
+ADMIN_SELECT_PRODUCT_AGE_GROUP_TITLE=Bitte waehlen Sie wenn moeglich eine Altersklasse fuer dieses Produkt aus. Zum Beispiel haben Schuhe und Kleidung Altersklassen.
+#@TODO Please fix German umlauts!
+ADMIN_ENTER_GENERIC_PRODUCT_SIZE=Groesse des Produktes:
+#@TODO Please fix German umlauts!
+ADMIN_ENTER_GENERIC_PRODUCT_SIZE_TITLE=Geben Sie hier die Groesse des Produktes an. Zum Beispiel haben Schuhe oder Kleider Groessen.
+AGE_GROUP_BABY=Age group "Baby"
+AGE_GROUP_NEWBORN=Age group "Newborn"
+AGE_GROUP_CHILD=Age group "Child"
+lAGE_GROUP_YOUTH=
+AGE_GROUP_YOUTH=Age group "Youth"
+AGE_GROUP_ADULT=Age group "Adult"
+AGE_GROUP_SENIOR=Age group "Senior"
-# Copyright (C) 2016, 2017 Roland H\u00e4der
+# Copyright (C) 2016 - 2018 Free Software Foundation
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
ADMIN_LINK_LIST_RECEIPTS=Receipts
ADMIN_LIST_RECEIPTS_HEADER=List all receipts
ADMIN_RECEIPT_BASIC_LEGEND=Basic data of receipt:
-ADMIN_RECEIPT_BASIC_LEGEND_TITLE=Enter here basic data of the new receipt.
+ADMIN_RECEIPT_BASIC_LEGEND_TITLE=Please enter here basic data of the new receipt.
ENTER_RECEIPT_ISSUE_DATE=Enter date of issue of receipt:
ENTER_RECEIPT_NUMBER=Enter receipt number:
-ENTERED_RECEIPT_NUMBER_INVALID=Your entered receipt number is smaller than 1 or larger than 9999999999.
+ENTERED_RECEIPT_NUMBER_INVALID=Your entered receipt number is smaller than 1 or larger than 9223372036854775807.
ADMIN_SELECT_RECEIPT_USER_OWNER=Assign receipt to user:
ENTER_RECEIPT_REGISTER_NUMBER=Enter cash register number:
ENTER_RECEIPT_BARCODE_NUMBER=Enter bar code number:
ENTER_GROSS_PRICE=Gross price:
SELECT_RECEIPT_ITEM_PRODUCT=Choose product for receipt item:
ENTER_RECEIPT_ITEM_QUANTITY=Enter receipt item quantity:
-ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT=Enter percentage discount:
-ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT_TITLE=Enter here a percentage discount to the receipt's item. Leave empty if none is provided.
-ENTER_RECEIPT_ITEM_DISCOUNT_FIXED=Enter fixed discount:
-ENTER_RECEIPT_ITEM_DISCOUNT_FIXED_TITLE=Enter here a fixed discount to the receipt's item. Leave empty if none is provided.
PAGE_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=List receipt items
CONTENT_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST=List receipt items:
TABLE_SUMMARY_ADMIN_LIST_RECEIPT_ITEMS=This table lists all registered receipt items.
ADMIN_ASSIGNED_ITEM_PRODUCT=Assigned product:
ADMIN_ADD_RECEIPT_ITEM_TITLE=Add new receipt item
ADMIN_RECEIPT_ITEM_LEGEND=Data of receipt item:
-ADMIN_RECEIPT_ITEM_BASIC_LEGEND_TITLE=Enter here data of the new receipt item.
+ADMIN_RECEIPT_ITEM_BASIC_LEGEND_TITLE=Please enter here data of the new receipt item.
SELECT_ITEM_RECEIPT=Choose receipt:
BUTTON_ADMIN_ADD_RECEIPT_TEM=Add receipt item
LABEL_RECEIPTS=Receipts
ADMIN_ENTER_GENERIC_PRODUCT_CURRENCY_CODE=Enter currency code:
ADMIN_ENTER_GENERIC_PRODUCT_UNIT_AMOUNT=Enter product's unit amount:
ADMIN_ENTER_GENERIC_PRODUCT_UNIT_AMOUNT_TITLE=Enter the product's unit amount. For example 500 for 500 grams. Under i18n key, then just enter "g".
-BUTTON_ADMIN_ADD_GENERIC_PRODUCT=Add product
+AGE_GROUP_YOUTH=Altersgruppe "Jungend"
ADMIN_PRODUCT_CATEGORY_REQUIRED=Please choose a product category.
ADMIN_PRODUCT_I18N_KEY_REQUIRED=Please enter a product i18n key.
PAGE_TITLE_ADMIN_LIST_PRODUCT_CATEGORY=List product categories
RECEIPT_NUMBER=Receipt number:
ADMIN_ENTER_GENERIC_PRODUCT_NUMBER=Enter product number:
ADMIN_ENTER_GENERIC_PRODUCT_NUMBER_TITLE=Enter number of product.
+ENTER_RECEIPT_ITEM_NUMBER=Item number:
+ENTER_RECEIPT_ITEM_NUMBER_TITLE=Enter receipt item's number.
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND=Is this item a refund?
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND_REQUIRED=Please choose whether the item is a refund.
+CHOOSE_RECEIPT_ITEM_IS_A_REFUND_TITLE=Choose whether the item is a refund, like from a deposit of a bottle or can.
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT=Is this item a discount?
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_REQUIRED=Please choose whether the item is a discount.
+CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_TITLE=Choose whether this is a discount on an item.
+ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE=Shows receipt item's product data.
+ENTER_RECEIPT_ITEM_COUPON_NUMBER=Enter coupon number:
+ENTER_RECEIPT_ITEM_COUPON_NUMBER_TITLE=Please enter the number of the used coupon.
+ADMIN_RECEIPT_DATE_OF_ISSUE_TITLE=Please enter issue date of the receipt including time. In case you don't have time, set it to 00:00.
+ENTERED_RECEIPT_REGISTER_NUMBER_INVALID=Your entered cash register number is smaller than 1 and larger than 999.
+ADMIN_SELECT_PRODUCT_AGE_GROUP=Choose product's age group:
+ADMIN_SELECT_PRODUCT_AGE_GROUP_TITLE=Please choose an age class for this product, if possible. For example shoes and clothing have age classes.
+ADMIN_ENTER_GENERIC_PRODUCT_SIZE=Enter product's size:
+ADMIN_ENTER_GENERIC_PRODUCT_SIZE_TITLE=Enter product's size, if available. For example shoes or clothing have sizes.
+AGE_GROUP_BABY=Altersgruppe "Baby"
+AGE_GROUP_NEWBORN=Altersgruppe "Neugeborene"
+AGE_GROUP_CHILD=Altersgruppe "Kind"
+lAGE_GROUP_YOUTH=Altersgruppe "Jugend"
+BUTTON_ADMIN_ADD_GENERIC_PRODUCT=Add product
+AGE_GROUP_ADULT=Altersgruppe "Erwachsene"
+AGE_GROUP_SENIOR=Altersgruppe "Senioren"
<from-outcome>admin_assign_receipt_user</from-outcome>
<to-view-id>/admin/financial/receipt/admin_assign_receipt_user.xhtml</to-view-id>
</navigation-case>
+ <navigation-case>
+ <from-outcome>admin_show_user</from-outcome>
+ <to-view-id>/admin/user/admin_user_show.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>admin_show_employee</from-outcome>
+ <to-view-id>/admin/company_employee/admin_company_employee_show.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>admin_assign_receipt_seller</from-outcome>
+ <to-view-id>/admin/financial/receipt/admin_assign_receipt_seller.xhtml</to-view-id>
+ </navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/admin/financial/receipt_item/admin_receipt_item_list.xhtml</from-view-id>
<?xml version="1.0" encoding="UTF-8"?>
<!--
-Copyright (C) 2017 Roland Häder
+Copyright (C) 2017, 2018 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
>
<f:converter converterId="EmployeeConverter" />
<f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
- <f:selectItems value="#{employeeController.allEmployees()}" var="companyEmployee" itemValue="#{companyEmployee}" itemLabel="#{companyEmployee.employeeNumber} #{beanHelper.renderContact(companyEmployee.employeePersonalData)}" itemDescription="#{companyEmployee.employeeCompany.companyName}, #{beanHelper.renderBranchOffice(companyEmployee.employeeBranchOffice)}" />
+ <f:selectItems value="#{employeeController.allEmployees()}" var="employee" itemValue="#{employee}" itemLabel="#{beanHelper.renderEmployee(employee)}" itemDescription="#{employee.employeeBasicData.companyName}, #{beanHelper.renderBranchOffice(employee.employeeBranchOffice)}" />
</p:selectOneMenu>
<p:outputLabel for="receiptUser" value="#{project.ADMIN_SELECT_RECEIPT_USER_OWNER}" />
-->
<p:panelGrid layout="grid" columns="2" columnClasses="ui-grid-col-4,ui-grid-col-8" styleClass="table table-full ui-noborder">
<p:outputLabel for="receiptNumber" value="#{project.ENTER_RECEIPT_NUMBER}" />
- <p:inputText id="receiptNumber" size="10" maxlength="20" value="#{adminReceiptController.receiptNumber}" validatorMessage="#{msg.ENTERED_RECEIPT_NUMBER_INVALID}">
- <f:validateLongRange minimum="1" maximum="9999999999" />
- </p:inputText>
+ <p:inputText id="receiptNumber" size="10" maxlength="20" value="#{adminReceiptController.receiptNumber}" validatorMessage="#{project.ENTERED_RECEIPT_NUMBER_INVALID}" />
<p:outputLabel for="receiptRegisterNumber" value="#{project.ENTER_RECEIPT_REGISTER_NUMBER}" />
- <p:inputText id="receiptRegisterNumber" size="3" maxlength="10" value="#{adminReceiptController.receiptRegisterNumber}" validatorMessage="#{msg.ENTERED_RECEIPT_REGISTER_NUMBER_INVALID}">
+ <p:inputText id="receiptRegisterNumber" size="3" maxlength="10" value="#{adminReceiptController.receiptRegisterNumber}" validatorMessage="#{project.ENTERED_RECEIPT_REGISTER_NUMBER_INVALID}">
<f:validateLongRange minimum="1" maximum="999" />
</p:inputText>
<?xml version="1.0" encoding="UTF-8" ?>
<!--
@TODO: title="#{project.ADMIN_RECEIPT_ITEM_LEGEND_TITLE}"
+@TODO: Hard-coded values
-->
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:product="http://mxchange.org/jsf/jproduct/widgets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<p:fieldset legend="#{project.ADMIN_RECEIPT_ITEM_LEGEND}">
<p:panelGrid layout="grid" columns="2" columnClasses="ui-grid-col-4,ui-grid-col-8" styleClass="table table-full ui-noborder">
<p:outputLabel for="itemBrandName" value="#{project.ENTER_RECEIPT_ITEM_BRAND_NAME}" />
- <p:inputNumber
+ <p:inputText
id="itemBrandName"
+ maxlength="255"
value="#{adminReceiptItemController.itemBrandName}"
title="#{project.ENTER_RECEIPT_ITEM_BRAND_NAME_TITLE}"
/>
+ <p:outputLabel for="itemNumber" value="#{project.ENTER_RECEIPT_ITEM_NUMBER}" />
+ <p:inputNumber
+ id="itemNumber"
+ maxlength="20"
+ decimalPlaces="0"
+ thousandSeparator=","
+ value="#{adminReceiptItemController.itemNumber}"
+ title="#{project.ENTER_RECEIPT_ITEM_NUMBER_TITLE}"
+ />
+
<p:outputLabel for="itemProduct" value="#{project.SELECT_RECEIPT_ITEM_PRODUCT}" />
<p:selectOneMenu
id="itemProduct"
filterMatchMode="contains"
>
<f:converter converterId="BasicCompanyDataConverter" />
- <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
+ <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
<f:selectItems value="#{basicCompanyDataController.allBasicData()}" var="basicData" itemValue="#{basicData}" itemLabel="#{basicData.companyName}" />
</p:selectOneMenu>
id="itemQuantity"
value="#{adminReceiptItemController.itemQuantity}"
required="true"
+ decimalPlaces="3"
requiredMessage="#{project.ADMIN_RECEIPT_ITEM_QUANTITY_REQUIRED}"
title="#{project.ENTER_RECEIPT_ITEM_QUANTITY_TITLE}"
/>
- <p:outputLabel for="itemDiscountPercent" value="#{project.ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT}" />
- <p:inputNumber
- id="itemDiscountPercent"
- value="#{adminReceiptItemController.itemDiscountPercent}"
- title="#{project.ENTER_RECEIPT_ITEM_DISCOUNT_PERCENT_TITLE}"
- />
+ <p:outputLabel for="itemIsRefund" value="#{project.CHOOSE_RECEIPT_ITEM_IS_A_REFUND}" title="#{project.CHOOSE_RECEIPT_ITEM_IS_A_REFUND_TITLE}" />
+ <p:selectOneRadio
+ id="itemIsRefund"
+ value="#{adminReceiptItemController.itemIsRefund}"
+ required="true"
+ requiredMessage="#{project.CHOOSE_RECEIPT_ITEM_IS_A_REFUND_REQUIRED}"
+ >
+ <f:selectItem itemValue="#{false}" itemLabel="#{msg.CHOICE_NO}" />
+ <f:selectItem itemValue="#{true}" itemLabel="#{msg.CHOICE_YES}" />
+ </p:selectOneRadio>
- <p:outputLabel for="itemDiscountFixed" value="#{project.ENTER_RECEIPT_ITEM_DISCOUNT_FIXED}" />
- <p:inputNumber
- id="itemDiscountFixed"
- value="#{adminReceiptItemController.itemDiscountPercent}"
- title="#{project.ENTER_RECEIPT_ITEM_DISCOUNT_FIXED_TITLE}"
+ <p:outputLabel for="itemIsDiscount" value="#{project.CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT}" title="#{project.CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_TITLE}" />
+ <p:selectOneRadio
+ id="itemIsDiscount"
+ value="#{adminReceiptItemController.itemIsDiscount}"
+ required="true"
+ requiredMessage="#{project.CHOOSE_RECEIPT_ITEM_IS_A_DISCOUNT_REQUIRED}"
+ >
+ <f:selectItem itemValue="#{false}" itemLabel="#{msg.CHOICE_NO}" />
+ <f:selectItem itemValue="#{true}" itemLabel="#{msg.CHOICE_YES}" />
+ </p:selectOneRadio>
+
+ <p:outputLabel for="itemCouponNumber" value="#{project.ENTER_RECEIPT_ITEM_COUPON_NUMBER}" />
+ <p:inputText
+ id="itemCouponNumber"
+ size="10"
+ maxlength="255"
+ value="#{adminReceiptItemController.itemCouponNumber}"
+ title="#{project.ENTER_RECEIPT_ITEM_COUPON_NUMBER_TITLE}"
/>
<p:outputLabel for="itemReceipt" value="#{project.SELECT_ITEM_RECEIPT}" />
<p:panelGrid layout="grid" columns="2" columnClasses="ui-grid-col-4,ui-grid-col-8" styleClass="table table-full">
<p:outputLabel for="receiptNumber" value="#{project.RECEIPT_NUMBER}" />
- <p:inputText id="receiptNumber" size="10" maxlength="20" value="#{receiptController.receiptNumber}" validatorMessage="#{msg.ENTERED_RECEIPT_NUMBER_INVALID}">
- <f:validateLongRange minimum="1" maximum="9999999999" />
- </p:inputText>
- <p:message for="receiptNumber" />
+ <p:inputText id="receiptNumber" size="10" maxlength="20" value="#{receiptController.receiptNumber}" validatorMessage="#{project.ENTERED_RECEIPT_NUMBER_INVALID}" />
<p:outputLabel for="receiptRegisterNumber" value="#{project.RECEIPT_REGISTER_NUMBER}" />
- <p:inputText id="receiptRegisterNumber" size="3" maxlength="10" value="#{receiptController.receiptRegisterNumber}" validatorMessage="#{msg.ENTERED_RECEIPT_REGISTER_NUMBER_INVALID}">
+ <p:inputText id="receiptRegisterNumber" size="3" maxlength="10" value="#{receiptController.receiptRegisterNumber}" validatorMessage="#{project.ENTERED_RECEIPT_REGISTER_NUMBER_INVALID}">
<f:validateLongRange minimum="1" maximum="999" />
</p:inputText>
- <p:message for="receiptRegisterNumber" />
<p:outputLabel for="receiptBarCodeNumber" value="#{project.RECEIPT_BARCODE_NUMBER}" />
<p:inputText id="receiptBarCodeNumber" size="24" maxlength="24" value="#{receiptController.receiptBarCodeNumber}" />
- <p:message for="receiptBarCodeNumber" />
</p:panelGrid>
</fieldset>
</ui:composition>
</p:selectCheckboxMenu>
</f:facet>
- <p:link outcome="admin_show_branch_office" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_TITLE}" value="#{receipt.receiptBranchOffice.branchId}">
+ <p:link outcome="admin_show_branch_office" title="#{msg.ADMIN_LINK_SHOW_BRANCH_OFFICE_TITLE}" value="#{beanHelper.renderBranchOffice(receipt.receiptBranchOffice)}">
<f:param name="branchId" value="#{receipt.receiptBranchOffice.branchId}" />
</p:link>
</p:column>
- <p:column headerText="#{project.ADMIN_ASSIGNED_RECEIPT_SELLER}" sortBy="#{receipt.receiptUser.userName}" filterBy="#{receipt.receiptUser}" filterMatchMode="in">
+ <p:column headerText="#{project.ADMIN_ASSIGNED_RECEIPT_SELLER}" sortBy="#{receipt.receiptUser}" filterBy="#{receipt.receiptUser}" filterMatchMode="in">
<f:facet name="filter">
<p:selectCheckboxMenu
filter="true"
</p:selectCheckboxMenu>
</f:facet>
- <p:link outcome="admin_show_user" title="#{msg.ADMIN_LINK_SHOW_RECEIPT_OWNER_RECEIPT_SELLER_TITLE}" value="#{receipt.receiptUser.userId}" rendered="#{not empty receipt.receiptUser}">
- <f:param name="userId" value="#{receipt.receiptUser.userId}" />
+ <p:link outcome="admin_show_employee" title="#{msg.ADMIN_LINK_SHOW_RECEIPT_SELLER_EMPLOYEE_TITLE}" value="#{beanHelper.renderEmployee(receipt.receiptSellerEmployee)}" rendered="#{not empty receipt.receiptSellerEmployee}">
+ <f:param name="userId" value="#{receipt.receiptSellerEmployee.employeeId}" />
</p:link>
- <p:link outcome="admin_assign_receipt_user" title="#{msg.ADMIN_LINK_ASSIGN_RECEIPT_OWNER_RECEIPT_SELLER_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty receipt.receiptUser}">
+ <p:link outcome="admin_assign_receipt_seller" title="#{msg.ADMIN_LINK_ASSIGN_RECEIPT_SELLER_EMPLOYEE_TITLE}" value="#{msg.ADMIN_LINK_ASSIGN}" rendered="#{empty receipt.receiptSellerEmployee}">
<f:param name="receiptId" value="#{receipt.receiptId}" />
</p:link>
</p:column>
- <p:column headerText="#{msg.ADMIN_HEADER_ASSIGNED_USER}" sortBy="#{receipt.receiptUser.userName}" filterBy="#{receipt.receiptUser}" filterMatchMode="in">
+ <p:column headerText="#{msg.ADMIN_HEADER_ASSIGNED_USER}" sortBy="#{receipt.receiptUser}" filterBy="#{receipt.receiptUser}" filterMatchMode="in">
<f:facet name="filter">
<p:selectCheckboxMenu
filter="true"
title="#{msg.FILTER_BY_MULTIPLE_PAYMENT_TYPES_TITLE}"
>
<f:converter converterId="PaymentTypeConverter" />
- <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
- <f:selectItems value="#{dataController.paymentTypes}" var="receiptPaymentType" itemValue="#{paymentType}" itemLabel="#{msg[paymentType.i18nKey]}" />
+ <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
+ <f:selectItems value="#{dataController.paymentTypes}" var="paymentType" itemValue="#{paymentType}" itemLabel="#{msg[paymentType.i18nKey]}" />
</p:selectOneMenu>
</f:facet>
<?xml version="1.0" encoding="UTF-8" ?>
-<ui:composition template="/WEB-INF/templates/admin/admin_base.tpl"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:core="http://mxchange.org/jsf/core/widgets"
- xmlns:pl="http://mxchange.org/jsf/jfinancials/links"
- xmlns:links="http://mxchange.org/jsf/core/links"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- xmlns:p="http://primefaces.org/ui">
+<ui:composition
+ template="/WEB-INF/templates/admin/admin_base.tpl"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:core="http://mxchange.org/jsf/core/widgets"
+ xmlns:pl="http://mxchange.org/jsf/jfinancials/links"
+ xmlns:links="http://mxchange.org/jsf/core/links"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ xmlns:p="http://primefaces.org/ui">
<ui:define name="document_admin_title">
<h:outputText value="#{project.PAGE_TITLE_ADMIN_FINANCIALS_RECEIPT_ITEM_LIST}" />
</p:selectCheckboxMenu>
</f:facet>
- <p:link outcome="admin_show_receipt" title="#{msg.ADMIN_LINK_SHOW_RECEIPT_TITLE}" value="#{beanHelper.renderReceipt(receiptItem.itemReceipt)}">
+ <p:link outcome="admin_show_receipt" title="#{project.ADMIN_LINK_SHOW_RECEIPT_TITLE}" value="#{beanHelper.renderReceipt(receiptItem.itemReceipt)}">
<f:param name="receiptId" value="#{receiptItem.itemReceipt.receiptId}" />
</p:link>
</p:column>
</p:selectCheckboxMenu>
</f:facet>
- <p:link outcome="admin_show_generic_product" title="#{msg.ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE}" value="#{beanHelper.renderGenericProduct(receiptItem.itemProduct)}">
+ <p:link outcome="admin_show_generic_product" title="#{project.ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE}" value="#{beanHelper.renderGenericProduct(receiptItem.itemProduct)}">
<f:param name="productId" value="#{receiptItem.itemProduct.productId}" />
</p:link>
</p:column>