Java Project for PAO Laboratory; Uses a MariaDB Database.
- fields: id PK, name UNIQUE, category_id FK, price, discount, quantity
- methods: setters and getters, equals(), compareTo(), toString()
- Via ProductService, SQL Linkage with ProductRepository:
- get all products, get products by id/name/category/price/discount/quantity (returned as Set implemented with TreeSet)
- change product name/category/price/discount/quantity
- add a product, remove a product
- Via LogService:
- log actions to Log.csv
- fields: id PK, name UNIQUE
- methods: setters and getters, equals(), compareTo(), toString()
- Via ProductCategoryService, SQL Linkage via ProductCategoryRepository:
- get all categories, get categories by id/name (returned as Set implemented with TreeSet)
- set category name
- add a category, remove a category
- Via LogService:
- log actions to Log.csv
- fields: (receiptId FK + productId FK) PK, quantity
- methods: setters and getters, equals(), compareTo(), toString()
- Via SoldProductService, SQL Linkage via SoldProductRepository:
- get all sold products, get sold products by receiptId/productId/quantity (returned as Set implemented with HashSet)
- add a sold product, remove a sold product
- Via LogService:
- log actions to Log.csv
- fields: id PK, first_name, last_name
- methods: setters and getters, equals(), compareTo(), toString()
- Via CashierService, SQL Linkage via CashierRepository:
- get all cashiers, get cashiers by id/first_name/last_name (returned as Set implemented with TreeSet)
- set cashier first_name, cashier set last_name
- add a cashier, remove a cashier
- Via LogService:
- log actions to Log.csv
- fields: id PK, active, inUse -> inherited from Register base, cashierId OPTIONAL FK
- methods: setters and getters, equals(), compareTo() -> inherited from Register base, toString()
- Via RegisterService, SQL Linkage via RegisterRepository:
- get assisted registers (returned as Set, implemented with TreeSet)
- assign a new cashier, drop the current cashier
- get all registers, get registers by id/active state/inUse state (returned as Set, implemented with TreeSet)
- set register active state/inUse state
- add a register, remove a register
- Via LogService:
- log actions to Log.csv
- fields: id PK, active, inUse -> inherited from Register base, active is always true
- methods: setters and getters, equals(), compareTo() -> inherited from Register base, toString()
- Via RegisterService, SQL Linkage via RegisterRepository:
- get self registers (returned as Set, implemented with TreeSet)
- get all registers, get registers by id/active state/inUse state (returned as Set, implemented with TreeSet)
- set register active state/inUse state
- add a register, remove a register
- Via LogService:
- log actions to Log.csv
- fields: id PK, discount, used -> usage check when id used as FK
- methods: setters and getters, equals(), compareTo(), toString()
- Via CouponService, SQL Linkage via CouponRepository:
- get all coupons (returned as Set, implemented with TreeSet), get coupons by id/discount/used state
- set coupon discount/usedState
- add a coupon, remove a coupon
- Via LogService:
- log actions to Log.csv
- fields: id PK, registerId FK, cashierId OPTIONAL FK, couponId OPTIONAL FK
- methods: setters and getters, equals(), compareTo(), to String()
- Via ReceiptService, SQL Linkage via ReceiptRepository:
- get all receipts, get receipts by id/registerId/cashierId
- add a receipt, remove a receipt
- Via LogService:
- log actions to Log.csv