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.