Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package application;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.time.LocalDate;
- import java.time.Month;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import javafx.beans.property.SimpleObjectProperty;
- import javafx.beans.value.ObservableValue;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.ScrollPane;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableView;
- import javafx.scene.control.TableColumn.CellDataFeatures;
- import javafx.scene.layout.HBox;
- import javafx.scene.layout.VBox;
- import javafx.stage.Stage;
- import javafx.util.Callback;
- public class Services extends Stage{
- public Services(Stage prev ,int ID) {
- Stage current = this;
- Map<String, Integer> repeated = new HashMap<>();
- ObservableList<ObservableList> data;
- ArrayList<String> columns = new ArrayList<>();
- columns.add("service");
- columns.add("provider");
- columns.add("Day");
- columns.add("Time");
- columns.add("Report");
- columns.add("Payment Method");
- columns.add(" ");
- columns.add(" ");
- TableView tableview = new TableView();
- java.sql.Connection c;
- data = FXCollections.observableArrayList();
- try{
- c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
- //SQL FOR SELECTING ALL OF CUSTOMER
- String SQL;
- PreparedStatement stm;
- ResultSet rs;
- 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;
- stm = (PreparedStatement) c.prepareStatement(SQL);
- rs = stm.executeQuery();
- //ResultSet rs = stm.executeQuery();
- /**********************************
- * TABLE COLUMN ADDED DYNAMICALLY *
- **********************************/
- for(int i=0 ; i<8; i++){
- //We are using non property style for making dynamic table
- final int j = i;
- TableColumn col = new TableColumn(columns.get(i));
- col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
- public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {
- return new SimpleObjectProperty(param.getValue().get(j));
- }
- });
- tableview.getColumns().addAll(col);
- System.out.println("Column ["+i+"] ");
- }
- /********************************
- * Data added to ObservableList *
- ********************************/
- while(rs.next()){
- //Iterate Row
- ObservableList<Object> row = FXCollections.observableArrayList();
- int serviceID = rs.getInt(1);
- String sName = rs.getString(2);
- String pName = rs.getString(3);
- String day = rs.getString(4);
- String time = rs.getString(5);
- int report = rs.getInt(6);
- String paymentMethod = rs.getString(7);
- if(!repeated.containsKey(sName)) {
- row.add(" ");
- row.add(" ");
- row.add(" ");
- row.add(" ");
- row.add(" ");
- row.add(" ");
- row.add(" ");
- row.add(" ");
- data.add(row);
- row = FXCollections.observableArrayList();
- row.add(sName);
- row.add("-");
- row.add("-");
- row.add("-");
- row.add(report);
- row.add(paymentMethod);
- Button edit = new Button("Edit");
- row.add(edit);
- Button stop = new Button("Stop");
- row.add(stop);
- c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
- PreparedStatement stmt;
- SQL = "select PID from provider where PName = '"+pName+"'";
- stmt = (PreparedStatement) c.prepareStatement(SQL);
- ResultSet rs2 = stmt.executeQuery();
- rs2.next();
- final int providerID = rs2.getInt(1);
- edit.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- System.out.println("patient id is "+ID);
- System.out.println("service id is "+serviceID);
- }
- });
- stop.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- System.out.println("patient id is "+ID);
- System.out.println("service id is "+serviceID);
- }
- });
- data.add(row);
- row = FXCollections.observableArrayList();
- repeated.put(sName, 0);
- row.add(" ");
- }
- else {
- row.add(" ");
- }
- row.add(pName);
- row.add(day);
- row.add(time);
- row.add("-");
- row.add("-");
- Button upload = new Button("upload");
- row.add(upload);
- Button finish = new Button("finish");
- row.add(finish);
- row.add(new Button("finish"));
- c = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?useSSL=false","root", "ahmed666");
- PreparedStatement stmt;
- SQL = "select PID from provider where PName = '"+pName+"'";
- stmt = (PreparedStatement) c.prepareStatement(SQL);
- ResultSet rs2 = stmt.executeQuery();
- rs2.next();
- final int providerID = rs2.getInt(1);
- upload.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- System.out.println("patient id is "+ID);
- System.out.println("provider id is "+providerID);
- System.out.println("service id is "+serviceID);
- }
- });
- finish.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- System.out.println("patient id is "+ID);
- System.out.println("provider id is "+providerID);
- System.out.println("service id is "+serviceID);
- System.out.println("Day id "+day);
- System.out.println("Time is "+time);
- }
- });
- System.out.println("Row [1] added "+row );
- data.add(row);
- }
- //FINALLY ADDED TO TableView
- tableview.setItems(data);
- //FINALLY ADDED TO TableView
- tableview.setItems(data);
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Error on Building Data");
- }
- VBox root = new VBox();
- Button draw = new Button("Draw Graph");
- tableview.setMinSize(800, 550);
- Button back = new Button("back");
- back.setStyle("-fx-background-color: pink; -fx-text-fill: black;");
- root.getChildren().add(tableview);
- root.getChildren().add(back);
- ScrollPane sp = new ScrollPane();
- sp.setFitToWidth(true);
- sp.setFitToHeight(true);
- sp.setPrefSize(800, 600);
- sp.setContent(root);
- Scene scene = new Scene(sp);
- //String css = this.getClass().getResource("/assets/double_slider.css").toExternalForm();
- scene.getStylesheets().add("style.css");
- setScene(scene);
- back.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- current.close();
- // Displaying the contents of the stage
- prev.show();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement