Roland Häder [Mon, 19 Mar 2018 23:50:51 +0000 (00:50 +0100)]
Continued:
- Added Receipts.compare() which does a comparison with result as
Comparable.compareTo() would do.
- The difference here is that this method (like all its sisters and brothers)
are truely null-safe.
- added private constructor to IncomeUtils, no instances shall be created from
utilities classes
- also need to compare receipt item's category and receipt instance
- updated reference to Customers utility class
Roland Häder [Tue, 13 Mar 2018 21:56:45 +0000 (22:56 +0100)]
Continued:
- changed copyright to the Free Software Foundation
- itemProductQuantity needs to be BigDecial to have DECIMAL type in database,
FLOAT was not the right one
Roland Häder [Sun, 12 Nov 2017 12:54:50 +0000 (13:54 +0100)]
Don't cherry-pick
- added entity for registering bonus cards, they will connect the buyer's "contact"
entity with receipt entity
- added field for whether the item is a discount
- added field for item's coupon number
- removed percentage/fixed discounts as this should be done with fake products
- removed unique constrain between item's product and receipt as same discounts
may be applied on more than one item
Roland Häder [Sun, 12 Nov 2017 12:53:12 +0000 (13:53 +0100)]
Don't cherry-pick:
- remove depdendency to jcore-logger-lib as this cannot be done from an entity
(remember *-core is the data model AKA entity)
- added new dependency jcustomer-core as bonus cards are coming
Roland Häder [Thu, 2 Nov 2017 21:13:26 +0000 (22:13 +0100)]
Continued:
- items may have own manufacturer, mostly then the product itself is an abstract
product and does not have a direct manufacturer. Example: Milk can be made by
many producers ("manufacturer", I known it isn't the same but here
productProducer sounds a bit strange ...)
- bar code numbers might be very long, resulting an overflow of Long (!), so
let's take String for now
- brand name of products happens very often in for example supermarkets
- manufacturer is now optional
Roland Häder [Sat, 28 Oct 2017 17:18:08 +0000 (19:18 +0200)]
Continued:
- renamed itemProductDiscount -> itemDiscountPercent as this is a percentage
discount on the item
- added fixed discount, like 1 EUR as some receipt items had this discount
Roland Häder [Thu, 26 Oct 2017 19:17:50 +0000 (21:17 +0200)]
Continued:
- the item should store net and gross price and taxes on each item again
- else, all receipt's item prices will be same when the product's price has
been updated
- this way, you can track tax rate and price changes
Roland Häder [Fri, 13 Oct 2017 21:29:17 +0000 (23:29 +0200)]
Continued:
- added event being fired when a receipt item has been added
- moved exception to own package
- added exception for being thrown when receipt item has already been added
Roland Häder [Fri, 13 Oct 2017 20:52:58 +0000 (22:52 +0200)]
Continued:
- renamed <e|E>ntry -> <i|I>tem as this is more convincing
- added new entity property "itemDiscount" which is an optional discount on a
single item
Roland Häder [Sat, 23 Sep 2017 11:18:14 +0000 (13:18 +0200)]
Continued:
- added seller (Employee) reference as some receipts bears it who/only number
has sold the item
- added class fields for receipt register's number and bar-code number
Roland Häder [Tue, 19 Sep 2017 19:06:24 +0000 (21:06 +0200)]
Continued:
- added Receipts utilities class which currently does only compare two receipt
instances with each other: entity-equality or branch office, receipt number
and "owning" user instance must all be the same
- added receiptNumber field
- added 2 named queries for receipts, finding all (any) and all user's receipts
- sorted members a bit
Roland Häder [Mon, 26 Jun 2017 21:43:27 +0000 (23:43 +0200)]
Rewrite continued:
- Now all project-specific abstract web beans (controllers) inherit from BaseFacesBean to have these nice showFacesMessage() methods.
- Also all project-specific abstract EJBs inherit now only BaseDataBean (one was missing in an old project)
- So, if you have a WAR project, inherit from BaseFacesBean, if you have an EJB project, inherit from BaseDatabaseBean
Roland Häder [Mon, 26 Jun 2017 19:16:13 +0000 (21:16 +0200)]
Please cherry-pick:
- had moved copyAll() to new utility classes which is a much better place for
them. Per EJB standards, no "complex" methods in POJOs/entity classes which
makes sense. :-)
Roland Häder [Fri, 23 Jun 2017 22:32:53 +0000 (00:32 +0200)]
Please cherry-pick:
- the user's locale must be set at all times, else the delivering method
(onMessage()) will fail with an NPE because the locale is really required
there to choose localized templates.
Roland Häder [Sat, 10 Jun 2017 20:35:08 +0000 (22:35 +0200)]
No logger in entities, they are not serializable. Strange that the Payara EJB
container didn't directly complain about it, but that FinancialReceipt is no
entity ...
Roland Häder [Wed, 7 Jun 2017 22:13:30 +0000 (00:13 +0200)]
Continued a bit:
- added issue timestamp (Calendar) which is different to creation timestamp
- created is when the entry has been created in database
- issued is the written date on the receipt