Advertisement
Guest User

Untitled

a guest
Feb 15th, 2019
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.35 KB | None | 0 0
  1.  
  2.  
  3. package application;
  4.  
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.time.LocalDate;
  10. import java.time.Month;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.Map;
  14.  
  15. import javafx.beans.property.SimpleObjectProperty;
  16. import javafx.beans.value.ObservableValue;
  17. import javafx.collections.FXCollections;
  18. import javafx.collections.ObservableList;
  19. import javafx.event.ActionEvent;
  20. import javafx.event.EventHandler;
  21. import javafx.scene.Scene;
  22. import javafx.scene.control.Button;
  23. import javafx.scene.control.ScrollPane;
  24. import javafx.scene.control.TableColumn;
  25. import javafx.scene.control.TableView;
  26. import javafx.scene.control.TableColumn.CellDataFeatures;
  27. import javafx.scene.layout.HBox;
  28. import javafx.scene.layout.VBox;
  29. import javafx.stage.Stage;
  30. import javafx.util.Callback;
  31.  
  32. public class Services extends Stage{
  33.     public Services(Stage prev ,int ID) {
  34.         Stage current = this;
  35.          Map<String, Integer> repeated = new HashMap<>();
  36.          ObservableList<ObservableList> data;
  37.          ArrayList<String> columns = new ArrayList<>();
  38.          columns.add("service");
  39.          columns.add("provider");
  40.          columns.add("Day");
  41.          columns.add("Time");
  42.          columns.add("Report");
  43.          columns.add("Payment Method");
  44.          columns.add(" ");
  45.          columns.add(" ");
  46.          
  47.        
  48.          
  49.             TableView tableview = new TableView();
  50.             java.sql.Connection c;
  51.             data = FXCollections.observableArrayList();
  52.             try{
  53.               c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
  54.               //SQL FOR SELECTING ALL OF CUSTOMER
  55.               String SQL;
  56.               PreparedStatement stm;
  57.               ResultSet rs;
  58.               SQL="select serviceID,SName,PName,Day,startTime,monthReport , paymentMethod   from  patientServiceProvider join service on serviceID=SID join provider on providerID = PID  natural join patientService    where patientID = "+ID;
  59.               stm = (PreparedStatement) c.prepareStatement(SQL);
  60.               rs = stm.executeQuery();
  61.              
  62.              
  63.               //ResultSet rs = stm.executeQuery();
  64.        
  65.               /**********************************
  66.                * TABLE COLUMN ADDED DYNAMICALLY *
  67.                **********************************/
  68.               for(int i=0 ; i<8; i++){
  69.                   //We are using non property style for making dynamic table
  70.                   final int j = i;                
  71.                   TableColumn col = new TableColumn(columns.get(i));
  72.                   col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){                    
  73.                       public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {                                                                                              
  74.                           return new SimpleObjectProperty(param.getValue().get(j));                        
  75.                       }                    
  76.                   });
  77.        
  78.                   tableview.getColumns().addAll(col);
  79.                   System.out.println("Column ["+i+"] ");
  80.               }
  81.            
  82.            
  83.              /********************************
  84.                * Data added to ObservableList *
  85.                ********************************/
  86.               while(rs.next()){
  87.                   //Iterate Row
  88.                   ObservableList<Object> row = FXCollections.observableArrayList();
  89.                   int serviceID = rs.getInt(1);
  90.                   String sName = rs.getString(2);
  91.                   String pName = rs.getString(3);
  92.                   String day = rs.getString(4);
  93.                   String time = rs.getString(5);
  94.                   int report = rs.getInt(6);
  95.                   String paymentMethod = rs.getString(7);
  96.                   if(!repeated.containsKey(sName)) {
  97.                       row.add(" ");
  98.                       row.add(" ");
  99.                       row.add(" ");
  100.                       row.add(" ");
  101.                       row.add(" ");
  102.                       row.add(" ");
  103.                       row.add(" ");
  104.                       row.add(" ");
  105.                       data.add(row);
  106.                       row = FXCollections.observableArrayList();
  107.                      
  108.                      
  109.                      
  110.                      
  111.                       row.add(sName);
  112.                       row.add("-");
  113.                       row.add("-");
  114.                       row.add("-");
  115.                       row.add(report);
  116.                       row.add(paymentMethod);
  117.                       Button edit = new Button("Edit");
  118.                       row.add(edit);
  119.                       Button stop = new Button("Stop");
  120.                       row.add(stop);
  121.                      
  122.                    
  123.                      
  124.                       c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
  125.                       PreparedStatement stmt;
  126.                      
  127.                         SQL = "select PID from provider where PName = '"+pName+"'";
  128.                         stmt = (PreparedStatement) c.prepareStatement(SQL);
  129.                         ResultSet rs2 = stmt.executeQuery();
  130.                         rs2.next();
  131.                         final int providerID = rs2.getInt(1);
  132.                        
  133.                        
  134.                        
  135.                       edit.setOnAction(new EventHandler<ActionEvent>() {
  136.                             @Override
  137.                             public void handle(ActionEvent event) {
  138.                                
  139.                                 System.out.println("patient id is "+ID);
  140.                                 System.out.println("service id is "+serviceID);
  141.                  
  142.                  
  143.                             }
  144.                         });
  145.                      
  146.                     stop.setOnAction(new EventHandler<ActionEvent>() {
  147.                         @Override
  148.                         public void handle(ActionEvent event) {
  149.                            
  150.                             System.out.println("patient id is "+ID);   
  151.                             System.out.println("service id is "+serviceID);
  152.              
  153.              
  154.                         }
  155.                     });
  156.                       data.add(row);
  157.                       row = FXCollections.observableArrayList();
  158.                       repeated.put(sName, 0);
  159.                       row.add(" ");
  160.                   }
  161.                   else {
  162.                       row.add(" ");
  163.                   }
  164.                   row.add(pName);
  165.                   row.add(day);
  166.                   row.add(time);
  167.                   row.add("-");
  168.                   row.add("-");
  169.                  
  170.                   Button upload = new Button("upload");
  171.                   row.add(upload);
  172.                   Button finish = new Button("finish");
  173.                   row.add(finish);
  174.                   row.add(new Button("finish"));
  175.                  
  176.                
  177.                  
  178.                   c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
  179.                   PreparedStatement stmt;
  180.                  
  181.                     SQL = "select PID from provider where PName = '"+pName+"'";
  182.                     stmt = (PreparedStatement) c.prepareStatement(SQL);
  183.                     ResultSet rs2 = stmt.executeQuery();
  184.                     rs2.next();
  185.                     final int providerID = rs2.getInt(1);
  186.                    
  187.                    
  188.                    
  189.                   upload.setOnAction(new EventHandler<ActionEvent>() {
  190.                         @Override
  191.                         public void handle(ActionEvent event) {
  192.                            
  193.                             System.out.println("patient id is "+ID);
  194.                             System.out.println("provider id is "+providerID);
  195.                             System.out.println("service id is "+serviceID);
  196.              
  197.              
  198.                         }
  199.                     });
  200.                  
  201.                 finish.setOnAction(new EventHandler<ActionEvent>() {
  202.                     @Override
  203.                     public void handle(ActionEvent event) {
  204.                        
  205.                         System.out.println("patient id is "+ID);
  206.                         System.out.println("provider id is "+providerID);
  207.                         System.out.println("service id is "+serviceID);
  208.                         System.out.println("Day id "+day);
  209.                         System.out.println("Time is "+time);
  210.          
  211.          
  212.                     }
  213.                 });
  214.                  
  215.                  
  216.                  
  217.                   System.out.println("Row [1] added "+row );
  218.                   data.add(row);
  219.        
  220.               }
  221.        
  222.               //FINALLY ADDED TO TableView
  223.               tableview.setItems(data);
  224.        
  225.               //FINALLY ADDED TO TableView
  226.               tableview.setItems(data);
  227.              
  228.             }catch(Exception e){
  229.                 e.printStackTrace();
  230.                 System.out.println("Error on Building Data");            
  231.             }
  232.            
  233.            
  234.            
  235.             VBox root = new VBox();
  236.             Button draw = new Button("Draw Graph");
  237.             tableview.setMinSize(800, 550);
  238.             Button back = new Button("back");
  239.             back.setStyle("-fx-background-color: pink; -fx-text-fill: black;");
  240.          
  241.  
  242.             root.getChildren().add(tableview);
  243.          
  244.             root.getChildren().add(back);
  245.             ScrollPane sp  = new ScrollPane();
  246.             sp.setFitToWidth(true);
  247.             sp.setFitToHeight(true);
  248.             sp.setPrefSize(800, 600);
  249.             sp.setContent(root);
  250.             Scene scene = new Scene(sp);
  251.             //String css = this.getClass().getResource("/assets/double_slider.css").toExternalForm();
  252.             scene.getStylesheets().add("style.css");
  253.             setScene(scene);
  254.            
  255.            
  256.            
  257.             back.setOnAction(new EventHandler<ActionEvent>() {
  258.                 @Override
  259.                 public void handle(ActionEvent event) {
  260.                    
  261.                     current.close();
  262.                     // Displaying the contents of the stage
  263.                     prev.show();
  264.      
  265.      
  266.                 }
  267.             });
  268. }
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement