From b71efbb59fcbf65b46a5636a077086b7e57f9ca3 Mon Sep 17 00:00:00 2001 From: Vitaliy Labusyuk Date: Wed, 26 Feb 2020 16:04:34 +0200 Subject: [PATCH] add description --- Accounting report.iml | 14 ++- pom.xml | 4 +- src/main/java/sample/Controller.java | 112 +++++++++++++++--- src/main/java/sample/dao/CheckDao.java | 25 ++-- src/main/java/sample/dao/OrderDao.java | 24 ++-- .../java/sample/dao/ProductCategoriesDao.java | 1 - src/main/java/sample/dao/TableDao.java | 39 ++++-- src/main/java/sample/model/Checks.java | 8 +- src/main/java/sample/model/Orders.java | 8 +- src/main/java/sample/model/Tables.java | 4 +- .../java/sample/service/CheckService.java | 28 ++--- .../java/sample/service/OrderService.java | 27 ++--- .../java/sample/service/TableService.java | 22 ++-- .../utils/HibernateSessionFactoryUtil.java | 6 +- src/main/resources/fxml/sample.fxml | 78 ++++++------ src/main/resources/hibernate.cfg.xml | 3 +- 16 files changed, 243 insertions(+), 160 deletions(-) diff --git a/Accounting report.iml b/Accounting report.iml index 3a232b9..3af661f 100644 --- a/Accounting report.iml +++ b/Accounting report.iml @@ -3,7 +3,9 @@ - + + + @@ -20,15 +22,15 @@ - + - - + + @@ -38,8 +40,8 @@ - - + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index dce9ba6..0df193c 100644 --- a/pom.xml +++ b/pom.xml @@ -27,12 +27,12 @@ org.hibernate hibernate-core - 5.4.9.Final + 5.4.8.Final mysql mysql-connector-java - 8.0.11 + 8.0.18 org.projectlombok diff --git a/src/main/java/sample/Controller.java b/src/main/java/sample/Controller.java index 6685e92..22be1b4 100644 --- a/src/main/java/sample/Controller.java +++ b/src/main/java/sample/Controller.java @@ -3,16 +3,20 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.ChoiceBox; import javafx.scene.control.TableView; import javafx.scene.control.TextField; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.input.MouseEvent; -import sample.dao.ProductDao; import sample.model.*; import javafx.scene.control.TableColumn; +import sample.service.CheckService; import sample.service.OrderService; import sample.service.ProductService; +import java.time.LocalTime; +import java.util.Date; + public class Controller { /***PRODUCTS***/ private ProductService productService = new ProductService(); @@ -42,11 +46,60 @@ public class Controller { /***ORDER***/ private OrderService orderService = new OrderService(); - private ObservableList orderList = FXCollections.observableArrayList(); + private ObservableList ordersList = FXCollections.observableArrayList(); + @FXML + public TextField fieldIdOrder; + @FXML + public ChoiceBox fieldDateOrder; + @FXML + public ChoiceBox fieldTimeOrder; + @FXML + public ChoiceBox fieldHallOrder; + @FXML + public ChoiceBox fieldTableOrder; + @FXML + public TextField fieldCustomerOrder; + @FXML + public TextField fieldTelephoneOrder; + @FXML + private TableView tableOrder; + @FXML + private TableColumn idOrderColumn; + @FXML + private TableColumn dateOrderColumn; + @FXML + private TableColumn timeOrderColumn; + @FXML + private TableColumn hallOrderColumn; + @FXML + private TableColumn tableOrderColumn; + @FXML + private TableColumn customerOrderColumn; + @FXML + private TableColumn telephoneOrderColumn; + + /***CHECK***/ + private ObservableList checksList = FXCollections.observableArrayList(); + private CheckService checkService = new CheckService(); + @FXML + public ChoiceBox fieldNameCheck; + @FXML + public TextField fieldCountCheck; + @FXML + public TextField fieldPriceCheck; + @FXML + private TableView tableCheck; + @FXML + private TableColumn nameOrderColumn; + @FXML + private TableColumn countOrderColumn; + @FXML + private TableColumn priceOrderColumn; + + - private ObservableList checkList = FXCollections.observableArrayList(); private ObservableList productCategoriesList = FXCollections.observableArrayList(); - private ObservableList tableList = FXCollections.observableArrayList(); + private ObservableList tablesList = FXCollections.observableArrayList(); @@ -61,23 +114,26 @@ private void initialize() { priceProductColumn.setCellValueFactory(new PropertyValueFactory("price")); countProductColumn.setCellValueFactory(new PropertyValueFactory("count")); tableProduct.setItems(productList); + + idOrderColumn.setCellValueFactory(new PropertyValueFactory("id")); + dateOrderColumn.setCellValueFactory(new PropertyValueFactory("date")); + timeOrderColumn.setCellValueFactory(new PropertyValueFactory("localTime")); + hallOrderColumn.setCellValueFactory(new PropertyValueFactory("table")); + tableOrderColumn.setCellValueFactory(new PropertyValueFactory("table")); + customerOrderColumn.setCellValueFactory(new PropertyValueFactory("сustomer")); + telephoneOrderColumn.setCellValueFactory(new PropertyValueFactory("telephone")); + tableOrder.setItems(ordersList); + } private void initData() { productList.addAll(productService.findAll()); - -/* - productList.add(new Product(1, "Xiaomi A1","Телефон",500,600,0,1)); - productList.add(new Product(2, "Samsung Galaxy S5","Телефон",800,100,0,1)); - productList.add(new Product(3, "Iphone XS", "Телефон", 1000,1200,0,1)); - productList.add(new Product(4, "Nokia", "Телефон", 20,21,0,1)); - productList.add(new Product(5, "Samsung HotBench", "Мікрохвильова піч", 1000,1200,0,1)); - for(Product product:productList) - productDao.create(product); -*/ + ordersList.addAll(orderService.findAll()); } - public void onClickTableView(MouseEvent mouseEvent) { + + + public void onClickProductTableView(MouseEvent mouseEvent) { int index = tableProduct.getSelectionModel().getSelectedIndex(); if(index<0)return; fieldProductId.setText(Integer.toString(tableProduct.getSelectionModel().getTableView().getItems().get(index).getId())); @@ -87,7 +143,7 @@ public void onClickTableView(MouseEvent mouseEvent) { fieldProductCount.setText(Integer.toString(tableProduct.getSelectionModel().getTableView().getItems().get(index).getCount())); } - public void onClickApply(MouseEvent mouseEvent) { + public void onClickProductApply(MouseEvent mouseEvent) { Product product = new Product(Integer.valueOf(fieldProductId.getText()),fieldProductName.getText(),fieldProductType.getText(), Integer.valueOf(fieldProductPrice.getText()),Integer.valueOf(fieldProductCount.getText())); if(!fieldProductId.getText().isEmpty() && productService.findById(Integer.valueOf(fieldProductId.getText()))!=null){ productService.update(product); @@ -98,7 +154,7 @@ public void onClickApply(MouseEvent mouseEvent) { productList.addAll(productService.findAll()); } - public void onClickDelete(MouseEvent mouseEvent) { + public void onClickProductDelete(MouseEvent mouseEvent) { if (!fieldProductId.getText().isEmpty() && productService.findById(Integer.valueOf(fieldProductId.getText())) != null) { productService.deleteById(Integer.valueOf(fieldProductId.getText())); @@ -106,4 +162,26 @@ public void onClickDelete(MouseEvent mouseEvent) { productList.clear(); productList.addAll(productService.findAll()); } + +/* public void onClickOrderApply(MouseEvent mouseEvent) { + Order order = new Order(Integer.valueOf(fieldProductId.getText()),fieldProductName.getText(),fieldProductType.getText(), Integer.valueOf(fieldProductPrice.getText()),Integer.valueOf(fieldProductCount.getText())); + if(!fieldProductId.getText().isEmpty() && productService.findById(Integer.valueOf(fieldProductId.getText()))!=null){ + productService.update(product); + }else{ + productService.save(product); + } + productList.clear(); + productList.addAll(productService.findAll()); + } + + public void onClickOrderDelete(MouseEvent mouseEvent) { + if (!fieldProductId.getText().isEmpty() && productService.findById(Integer.valueOf(fieldProductId.getText())) != null) { + + productService.deleteById(Integer.valueOf(fieldProductId.getText())); + } + productList.clear(); + productList.addAll(productService.findAll()); + }*/ + + } \ No newline at end of file diff --git a/src/main/java/sample/dao/CheckDao.java b/src/main/java/sample/dao/CheckDao.java index f1598ad..1d746f2 100644 --- a/src/main/java/sample/dao/CheckDao.java +++ b/src/main/java/sample/dao/CheckDao.java @@ -2,48 +2,47 @@ import org.hibernate.Session; import org.hibernate.Transaction; -import sample.model.Check; -import sample.model.Product; +import sample.model.Checks; import sample.utils.HibernateSessionFactoryUtil; import java.util.List; -public class CheckDao implements EntityDao { +public class CheckDao implements EntityDao { @Override - public Check findById(Integer id) { - return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Check.class, id); + public Checks findById(Integer id) { + return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Checks.class, id); } @Override - public void save(Check check) { + public void save(Checks checks) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.save(check); + session.save(checks); tx1.commit(); session.close(); } @Override - public void update(Check check) { + public void update(Checks checks) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.update(check); + session.update(checks); tx1.commit(); session.close(); } @Override - public void delete(Check check) { + public void delete(Checks checks) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.delete(check); + session.delete(checks); tx1.commit(); session.close(); } @Override - public List findAll() { - List checks = (List) HibernateSessionFactoryUtil.getSessionFactory().openSession(); + public List findAll() { + List checks = (List) HibernateSessionFactoryUtil.getSessionFactory().openSession(); return checks; } } diff --git a/src/main/java/sample/dao/OrderDao.java b/src/main/java/sample/dao/OrderDao.java index 148119b..346ba26 100644 --- a/src/main/java/sample/dao/OrderDao.java +++ b/src/main/java/sample/dao/OrderDao.java @@ -2,47 +2,47 @@ import org.hibernate.Session; import org.hibernate.Transaction; -import sample.model.Order; +import sample.model.Orders; import sample.utils.HibernateSessionFactoryUtil; import java.util.List; -public class OrderDao implements EntityDao { +public class OrderDao implements EntityDao { @Override - public Order findById(Integer id) { - return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Order.class, id); + public Orders findById(Integer id) { + return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Orders.class, id); } @Override - public void save(Order order) { + public void save(Orders orders) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.save(order); + session.save(orders); tx1.commit(); session.close(); } @Override - public void update(Order order) { + public void update(Orders orders) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.update(order); + session.update(orders); tx1.commit(); session.close(); } @Override - public void delete(Order order) { + public void delete(Orders orders) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.delete(order); + session.delete(orders); tx1.commit(); session.close(); } @Override - public List findAll() { - List orders = (List) HibernateSessionFactoryUtil.getSessionFactory().openSession(); + public List findAll() { + List orders = (List) HibernateSessionFactoryUtil.getSessionFactory().openSession().createQuery("From Orders").list();; return orders; } } diff --git a/src/main/java/sample/dao/ProductCategoriesDao.java b/src/main/java/sample/dao/ProductCategoriesDao.java index 0aa7388..827a1a3 100644 --- a/src/main/java/sample/dao/ProductCategoriesDao.java +++ b/src/main/java/sample/dao/ProductCategoriesDao.java @@ -2,7 +2,6 @@ import org.hibernate.Session; import org.hibernate.Transaction; -import sample.model.Order; import sample.model.ProductCategories; import sample.utils.HibernateSessionFactoryUtil; diff --git a/src/main/java/sample/dao/TableDao.java b/src/main/java/sample/dao/TableDao.java index e09df5b..42060c9 100644 --- a/src/main/java/sample/dao/TableDao.java +++ b/src/main/java/sample/dao/TableDao.java @@ -2,49 +2,62 @@ import org.hibernate.Session; import org.hibernate.Transaction; -import sample.model.Product; -import sample.model.Table; +import org.hibernate.query.Query; +import sample.model.Tables; import sample.utils.HibernateSessionFactoryUtil; import java.util.List; -public class TableDao implements EntityDao { +public class TableDao implements EntityDao { @Override - public Table findById(Integer id) { - return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Table.class, id); + public Tables findById(Integer id) { + return HibernateSessionFactoryUtil.getSessionFactory().openSession().get(Tables.class, id); + } + + public List findByHall(String hall){ + Query query = HibernateSessionFactoryUtil.getSessionFactory().openSession().createQuery("from Table t where t.hall=:hall", Tables.class); + query.setParameter("hall", hall); + return query.list(); + } + + public Tables findByHallAndNameNum(String hall, String nameNum){ + Query query = HibernateSessionFactoryUtil.getSessionFactory().openSession().createQuery("from Table t where t.hall=:hall and t.nameNum=:nameNum", Tables.class); + query.setParameter("hall", hall); + query.setParameter("nameNum", nameNum); + return query.uniqueResult(); } @Override - public void save(Table table) { + public void save(Tables tables) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.save(table); + session.save(tables); tx1.commit(); session.close(); } @Override - public void update(Table table) { + public void update(Tables tables) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.update(table); + session.update(tables); tx1.commit(); session.close(); } @Override - public void delete(Table table) { + public void delete(Tables tables) { Session session = HibernateSessionFactoryUtil.getSessionFactory().openSession(); Transaction tx1 = session.beginTransaction(); - session.delete(table); + session.delete(tables); tx1.commit(); session.close(); } @Override - public List
findAll() { - List
tables = (List
) HibernateSessionFactoryUtil.getSessionFactory().openSession(); + public List findAll() { + List tables = (List) HibernateSessionFactoryUtil.getSessionFactory().openSession().createQuery("From Tables").list();; return tables; } } diff --git a/src/main/java/sample/model/Checks.java b/src/main/java/sample/model/Checks.java index 7715b4e..235fd1f 100644 --- a/src/main/java/sample/model/Checks.java +++ b/src/main/java/sample/model/Checks.java @@ -3,22 +3,20 @@ import lombok.*; import javax.persistence.*; -import java.util.List; -import java.util.Map; @Getter @Setter @AllArgsConstructor @NoArgsConstructor @Data -@Entity(name = "`check`") -public class Check { +@Entity +public class Checks { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //generated DataBase auto_increment when insert value @Column(name = "id", nullable = false, insertable = true, updatable = true) private int id; @OneToOne(cascade=CascadeType.ALL) - private Order order; + private Orders orders; @OneToOne(cascade=CascadeType.ALL) private Product product; } diff --git a/src/main/java/sample/model/Orders.java b/src/main/java/sample/model/Orders.java index 463af5e..cabf554 100644 --- a/src/main/java/sample/model/Orders.java +++ b/src/main/java/sample/model/Orders.java @@ -12,18 +12,18 @@ @AllArgsConstructor @NoArgsConstructor @Data -@Entity(name = "`order`") -public class Order { +@Entity +public class Orders { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //generated DataBase auto_increment when insert value @Column(name = "id", nullable = false, insertable = true, updatable = true) private int id; private Date date; - private LocalTime localTime; + private LocalTime local_time; @ManyToOne(cascade=CascadeType.ALL) private Tables tables; @OneToMany(cascade=CascadeType.ALL) - private List dishes; + private List dishes; private String сustomer; private String telephone; } diff --git a/src/main/java/sample/model/Tables.java b/src/main/java/sample/model/Tables.java index fc713b4..2b43385 100644 --- a/src/main/java/sample/model/Tables.java +++ b/src/main/java/sample/model/Tables.java @@ -9,8 +9,8 @@ @AllArgsConstructor @NoArgsConstructor @Data -@Entity(name = "`table`") -public class Table { +@Entity +public class Tables { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //generated DataBase auto_increment when insert value @Column(name = "id", nullable = false, insertable = true, updatable = true) diff --git a/src/main/java/sample/service/CheckService.java b/src/main/java/sample/service/CheckService.java index bff43ed..76c92e8 100644 --- a/src/main/java/sample/service/CheckService.java +++ b/src/main/java/sample/service/CheckService.java @@ -1,43 +1,41 @@ package sample.service; import sample.dao.CheckDao; -import sample.dao.ProductDao; -import sample.model.Check; -import sample.model.Product; +import sample.model.Checks; import java.util.List; -public class CheckService implements EntityService { +public class CheckService implements EntityService { private CheckDao checkDao = new CheckDao(); @Override - public Check findById(Integer id) { + public Checks findById(Integer id) { return checkDao.findById(id); } @Override - public void save(Check check) { - checkDao.save(check); + public void save(Checks checks) { + checkDao.save(checks); } @Override - public void update(Check check) { - checkDao.update(check); + public void update(Checks checks) { + checkDao.update(checks); } @Override - public void delete(Check check) { - checkDao.delete(check); + public void delete(Checks checks) { + checkDao.delete(checks); } @Override public void deleteById(Integer id) { - Check check = new Check(); - check.setOrder_id(id); - checkDao.delete(check); + Checks checks = new Checks(); + checks.setId(id); + checkDao.delete(checks); } @Override - public List findAll() { + public List findAll() { return checkDao.findAll(); } } diff --git a/src/main/java/sample/service/OrderService.java b/src/main/java/sample/service/OrderService.java index 47c519d..1d175a8 100644 --- a/src/main/java/sample/service/OrderService.java +++ b/src/main/java/sample/service/OrderService.java @@ -1,42 +1,41 @@ package sample.service; import sample.dao.OrderDao; -import sample.model.Check; -import sample.model.Order; +import sample.model.Orders; import java.util.List; -public class OrderService implements EntityService{ +public class OrderService implements EntityService{ private OrderDao orderDao = new OrderDao(); @Override - public Order findById(Integer id) { + public Orders findById(Integer id) { return orderDao.findById(id); } @Override - public void save(Order order) { - orderDao.save(order); + public void save(Orders orders) { + orderDao.save(orders); } @Override - public void update(Order order) { - orderDao.update(order); + public void update(Orders orders) { + orderDao.update(orders); } @Override - public void delete(Order order) { - orderDao.delete(order); + public void delete(Orders orders) { + orderDao.delete(orders); } @Override public void deleteById(Integer id) { - Order order = new Order(); - order.setId(id); - orderDao.delete(order); + Orders orders = new Orders(); + orders.setId(id); + orderDao.delete(orders); } @Override - public List findAll() { + public List findAll() { return orderDao.findAll(); } } diff --git a/src/main/java/sample/service/TableService.java b/src/main/java/sample/service/TableService.java index 514fb6e..a70b212 100644 --- a/src/main/java/sample/service/TableService.java +++ b/src/main/java/sample/service/TableService.java @@ -1,43 +1,41 @@ package sample.service; -import sample.dao.ProductDao; import sample.dao.TableDao; -import sample.model.Product; -import sample.model.Table; +import sample.model.Tables; import java.util.List; -public class TableService implements EntityService { +public class TableService implements EntityService { private TableDao tableDao = new TableDao(); @Override - public Table findById(Integer id) { + public Tables findById(Integer id) { return tableDao.findById(id); } @Override - public void save(Table product) { + public void save(Tables product) { tableDao.save(product); } @Override - public void update(Table product) { + public void update(Tables product) { tableDao.update(product); } @Override - public void delete(Table product) { + public void delete(Tables product) { tableDao.delete(product); } @Override public void deleteById(Integer id) { - Table table = new Table(); - table.setId(id); - tableDao.delete(table); + Tables tables = new Tables(); + tables.setId(id); + tableDao.delete(tables); } @Override - public List
findAll() { + public List findAll() { return tableDao.findAll(); } } diff --git a/src/main/java/sample/utils/HibernateSessionFactoryUtil.java b/src/main/java/sample/utils/HibernateSessionFactoryUtil.java index c4e3556..b1d4b55 100644 --- a/src/main/java/sample/utils/HibernateSessionFactoryUtil.java +++ b/src/main/java/sample/utils/HibernateSessionFactoryUtil.java @@ -16,10 +16,10 @@ public static SessionFactory getSessionFactory() { try { Configuration configuration = new Configuration().configure(); configuration.addAnnotatedClass(Product.class); - configuration.addAnnotatedClass(Check.class); - configuration.addAnnotatedClass(Order.class); + configuration.addAnnotatedClass(Checks.class); + configuration.addAnnotatedClass(Orders.class); configuration.addAnnotatedClass(ProductCategories.class); - configuration.addAnnotatedClass(Table.class); + configuration.addAnnotatedClass(Tables.class); StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()); sessionFactory = configuration.buildSessionFactory(builder.build()); diff --git a/src/main/resources/fxml/sample.fxml b/src/main/resources/fxml/sample.fxml index 7aa6987..ac824af 100644 --- a/src/main/resources/fxml/sample.fxml +++ b/src/main/resources/fxml/sample.fxml @@ -22,23 +22,22 @@ - + - - - - - - - + + + + + + + - - - - + + + - - - -