src/hotel/management/system/AddCustomer.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;

public class AddCustomer extends JFrame implements ActionListener {


JTextField t1, t2, t3, t4, t5;
JButton b1, b2;
Choice c1;
JRadioButton r1, r2;

AddCustomer() {

    JLabel l1 = new JLabel("New Customer Form");
    l1.setForeground(Color.BLUE);
    l1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    l1.setBounds(100, 20, 300, 30);
    add(l1);

    JLabel l2 = new JLabel("Name");
    l2.setBounds(35, 80, 100, 20);
    add(l2);

    t1 = new JTextField();
    t1.setBounds(150, 80, 150, 25);
    add(t1);

    JLabel l3 = new JLabel("Phone");
    l3.setBounds(35, 120, 100, 20);
    add(l3);

    t2 = new JTextField();
    t2.setBounds(150, 120, 150, 25);
    add(t2);

    JLabel l4 = new JLabel("Gender");
    l4.setBounds(35, 160, 100, 20);
    add(l4);

    r1 = new JRadioButton("Male");
    r1.setBounds(150, 160, 60, 25);
    r1.setBackground(Color.WHITE);
    add(r1);

    r2 = new JRadioButton("Female");
    r2.setBounds(220, 160, 80, 25);
    r2.setBackground(Color.WHITE);
    add(r2);

    JLabel l6 = new JLabel("Country");
    l6.setBounds(35, 200, 100, 20);
    add(l6);

    t3 = new JTextField();
    t3.setBounds(150, 200, 150, 25);
    add(t3);

    JLabel l7 = new JLabel("Allocated Room");
    l7.setBounds(35, 240, 100, 20);
    add(l7);

    c1 = new Choice();
    try {

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "select * from room where available = 'Available'";

        ResultSet rs = c.s.executeQuery(str);

        while (rs.next()) {

            c1.add(rs.getString("room_number"));

        }

    } catch (Exception e) {

    }

    c1.setBounds(150, 240, 150, 25);
    c1.setBackground(Color.WHITE);
    add(c1);

    JLabel l8 = new JLabel("Checked In");
    l8.setBounds(35, 280, 100, 20);
    add(l8);

    t4 = new JTextField();
    t4.setBounds(150, 280, 150, 25);
    add(t4);

    JLabel l9 = new JLabel("Deposit");
    l9.setBounds(35, 320, 100, 20);
    add(l9);

    t5 = new JTextField();
    t5.setBounds(150, 320, 150, 25);
    add(t5);

    b1 = new JButton("Add Customer");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(50, 370, 120, 30);
    add(b1);

    b2 = new JButton("Back");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(200, 370, 120, 30);
    add(b2);
    
    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/customer.png"));
    Image i2 = i1.getImage().getScaledInstance(250, 250, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l10 = new JLabel(i3);
    l10.setBounds(400, 20, 300, 400);
    add(l10);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 200, 800, 500);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String name = t1.getText();
        String phone = t2.getText();
        String gender = null;
        
        if (r1.isSelected()) {
            
            gender = "Male";
            
        } else if (r2.isSelected()) {
            
            gender = "Female";
            
        }
        
        String country = t3.getText();
        String room = c1.getSelectedItem();
        int roomInt = Integer.parseInt(room);
        String status = t4.getText();
        String deposit = t5.getText();
        int depositInt = Integer.parseInt(deposit);

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "insert into customer values ('" + name + "','" + phone + "','" + gender + "','" + country + "','" + roomInt + "','" + status + "','" + depositInt + "')";

        String str2 = "update room set available = 'Occupied' where room_number = '" + roomInt + "'";

        try {

            c.s.executeUpdate(str);
            c.s.executeUpdate(str2);

            JOptionPane.showMessageDialog(null, "Customer Added");
            
            t1.setText("");
            t2.setText("");
            t3.setText("");
            t4.setText("");
            t5.setText("");

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    }

}

public static void main(String[] args) {
    new AddCustomer().setVisible(true);
}
}

src/hotel/management/system/AddDriver.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;

public class AddDriver extends JFrame implements ActionListener {


JTextField t1, t2, t3, t4, t5;
JComboBox c1, c2;
JButton b1, b2;

AddDriver() {

    JLabel name = new JLabel("Name");
    name.setFont(new Font("Tahoma", Font.BOLD, 17));
    name.setBounds(60, 80, 120, 30);
    add(name);

    t1 = new JTextField();
    t1.setBounds(200, 80, 150, 30);
    add(t1);

    JLabel age = new JLabel("Age");
    age.setFont(new Font("Tahoma", Font.BOLD, 17));
    age.setBounds(60, 130, 120, 30);
    add(age);

    t2 = new JTextField();
    t2.setBounds(200, 130, 150, 30);
    add(t2);

    JLabel gender = new JLabel("Gender");
    gender.setFont(new Font("Tahoma", Font.BOLD, 17));
    gender.setBounds(60, 180, 120, 30);
    add(gender);

    c1 = new JComboBox(new String[]{"Male", "Female"});
    c1.setBackground(Color.WHITE);
    c1.setBounds(200, 180, 150, 30);
    add(c1);

    JLabel model = new JLabel("Car Model");
    model.setFont(new Font("Tahoma", Font.BOLD, 17));
    model.setBounds(60, 230, 120, 30);
    add(model);

    t4 = new JTextField();
    t4.setBounds(200, 230, 150, 30);
    add(t4);

    JLabel available = new JLabel("Availability");
    available.setFont(new Font("Tahoma", Font.BOLD, 17));
    available.setBounds(60, 280, 120, 30);
    add(available);

    c2 = new JComboBox(new String[]{"Available", "Busy"});
    c2.setBackground(Color.WHITE);
    c2.setBounds(200, 280, 150, 30);
    add(c2);

    JLabel location = new JLabel("Location");
    location.setFont(new Font("Tahoma", Font.BOLD, 17));
    location.setBounds(60, 330, 120, 30);
    add(location);

    t5 = new JTextField();
    t5.setBounds(200, 330, 150, 30);
    add(t5);

    b1 = new JButton("Add Driver");
    b1.setForeground(Color.WHITE);
    b1.setBackground(Color.BLACK);
    b1.setBounds(130, 410, 100, 30);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Cancel");
    b2.setForeground(Color.WHITE);
    b2.setBackground(Color.BLACK);
    b2.setBounds(250, 410, 100, 30);
    b2.addActionListener(this);
    add(b2);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/eleven.jpg"));
    Image i2 = i1.getImage().getScaledInstance(500, 400, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l1 = new JLabel(i3);
    l1.setBounds(440, 50, 500, 400);
    add(l1);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(400, 200, 1000, 560);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String name = t1.getText();
        String age = t2.getText();
        int ageInt = Integer.parseInt(age);
        String gender = (String) c1.getSelectedItem();
        String model = t4.getText();
        String available = (String) c2.getSelectedItem();
        String location = t5.getText();

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "insert into driver values('" + name + "','" + ageInt + "','" + gender + "','" + model + "','" + available + "','" + location + "')";

        try {

            c.s.executeUpdate(str);
            JOptionPane.showMessageDialog(null, "Driver Added");

            t1.setText("");
            t2.setText("");
            c1.setSelectedItem(null);
            t4.setText("");
            c2.setSelectedItem(null);
            t5.setText("");

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        this.setVisible(false);

    }

}

public static void main(String[] args) {

    new AddDriver().setVisible(true);

}
}

src/hotel/management/system/AddEmployee.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;

public class AddEmployee extends JFrame implements ActionListener {


JTextField t1, t2, t3, t4, t5, t6;
JRadioButton r1, r2;
JComboBox c1;
JButton b1, b2;

AddEmployee() {

    JLabel name = new JLabel("NAME");
    name.setBounds(60, 30, 120, 30);
    name.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(name);

    t1 = new JTextField();
    t1.setBounds(200, 30, 150, 30);
    add(t1);

    JLabel age = new JLabel("AGE");
    age.setBounds(60, 80, 120, 30);
    age.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(age);

    t2 = new JTextField();
    t2.setBounds(200, 80, 150, 30);
    add(t2);

    JLabel gender = new JLabel("GENDER");
    gender.setBounds(60, 130, 120, 30);
    gender.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(gender);

    r1 = new JRadioButton("Male");
    r1.setFont(new Font("Tahoma", Font.PLAIN, 14));
    r1.setBounds(200, 130, 70, 30);
    r1.setBackground(Color.WHITE);
    add(r1);

    r2 = new JRadioButton("Female");
    r2.setFont(new Font("Tahoma", Font.PLAIN, 14));
    r2.setBounds(280, 130, 70, 30);
    r2.setBackground(Color.WHITE);
    add(r2);

    JLabel job = new JLabel("JOB");
    job.setBounds(60, 180, 120, 30);
    job.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(job);

    String str[] = {"Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"};
    c1 = new JComboBox(str);
    c1.setBounds(200, 180, 150, 30);
    c1.setBackground(Color.WHITE);
    add(c1);

    JLabel salary = new JLabel("SALARY");
    salary.setBounds(60, 230, 120, 30);
    salary.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(salary);

    t3 = new JTextField();
    t3.setBounds(200, 230, 150, 30);
    add(t3);

    JLabel phone = new JLabel("PHONE");
    phone.setBounds(60, 280, 120, 30);
    phone.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(phone);

    t4 = new JTextField();
    t4.setBounds(200, 280, 150, 30);
    add(t4);

    JLabel nid = new JLabel("NID");
    nid.setBounds(60, 330, 120, 30);
    nid.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(nid);

    t5 = new JTextField();
    t5.setBounds(200, 330, 150, 30);
    add(t5);

    JLabel email = new JLabel("EMAIL");
    email.setBounds(60, 380, 120, 30);
    email.setFont(new Font("Tahoma", Font.BOLD, 17));
    add(email);

    t6 = new JTextField();
    t6.setBounds(200, 380, 150, 30);
    add(t6);

    b1 = new JButton("Submit");
    b1.setForeground(Color.WHITE);
    b1.setBackground(Color.BLACK);
    b1.setBounds(250, 440, 100, 30);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Back");
    b2.setForeground(Color.WHITE);
    b2.setBackground(Color.BLACK);
    b2.setBounds(130, 440, 100, 30);
    b2.addActionListener(this);
    add(b2);

    JLabel l1 = new JLabel("ADD EMPLOYEE DETAILS");
    l1.setForeground(Color.darkGray);
    l1.setBounds(420, 50, 400, 30);
    l1.setFont(new Font("Tahoma", Font.BOLD, 28));
    add(l1);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/tenth.jpg"));
    Image i2 = i1.getImage().getScaledInstance(520, 520, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l2 = new JLabel(i3);
    l2.setBounds(380, 55, 450, 450);
    add(l2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(400, 200, 900, 580);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String name = t1.getText();
        String age = t2.getText();
        int ageInt = Integer.parseInt(age);
        String salary = t3.getText();
        int salaryInt = Integer.parseInt(salary);
        String phone = t4.getText();
        String nid = t5.getText();
        String email = t6.getText();

        String gender = "null";

        if (r1.isSelected()) {
            
            gender = "Male";
            
        } else if (r2.isSelected()) {
            
            gender = "Female";
            
        }

        String job = (String) c1.getSelectedItem();

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "insert into employee values('" + name + "','" + ageInt + "','" + gender + "','" + job + "','" + salaryInt + "','" + phone + "','" + nid + "','" + email + "')";

        try {

            c.s.executeUpdate(str);
            
            JOptionPane.showMessageDialog(null, "Employee added");

            t1.setText("");
            t2.setText("");
            t3.setText("");
            t4.setText("");
            t5.setText("");
            t6.setText("");
            r1.setSelected(false);
            r2.setSelected(false);
            c1.setSelectedItem(null);

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        this.setVisible(false);

    }

}

public static void main(String[] args) {
    new AddEmployee().setVisible(true);
}
}

src/hotel/management/system/AddRooms.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.*;

public class AddRooms extends JFrame implements ActionListener {


JTextField t1, t2;
JComboBox c1, c2, c3;
JButton b1, b2;

AddRooms() {

    JLabel available = new JLabel("Availability");
    available.setFont(new Font("Tahoma", Font.BOLD, 17));
    available.setBounds(60, 130, 140, 30);
    add(available);

    c1 = new JComboBox(new String[]{"Available", "Occupied"});
    c1.setBounds(220, 130, 150, 30);
    c1.setBackground(Color.WHITE);
    add(c1);

    JLabel status = new JLabel("Cleaning Status");
    status.setFont(new Font("Tahoma", Font.BOLD, 17));
    status.setBounds(60, 180, 140, 30);
    add(status);

    c2 = new JComboBox(new String[]{"Cleaned", "Dirty"});
    c2.setBounds(220, 180, 150, 30);
    c2.setBackground(Color.WHITE);
    add(c2);

    JLabel price = new JLabel("Price");
    price.setFont(new Font("Tahoma", Font.BOLD, 17));
    price.setBounds(60, 230, 140, 30);
    add(price);

    t2 = new JTextField();
    t2.setBounds(220, 230, 150, 30);
    add(t2);

    JLabel type = new JLabel("Bed Type");
    type.setFont(new Font("Tahoma", Font.BOLD, 17));
    type.setBounds(60, 280, 140, 30);
    add(type);

    c3 = new JComboBox(new String[]{"Single Bed", "Double Bed"});
    c3.setBounds(220, 280, 150, 30);
    c3.setBackground(Color.WHITE);
    add(c3);

    b1 = new JButton("Add Room");
    b1.setForeground(Color.WHITE);
    b1.setBackground(Color.BLACK);
    b1.setBounds(150, 350, 100, 30);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Cancel");
    b2.setForeground(Color.WHITE);
    b2.setBackground(Color.BLACK);
    b2.setBounds(270, 350, 100, 30);
    b2.addActionListener(this);
    add(b2);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/twelve.jpg"));
    JLabel l2 = new JLabel(i1);
    l2.setBounds(440, 30, 500, 350);
    add(l2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(450, 200, 1000, 470);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String available = (String) c1.getSelectedItem();
        String status = (String) c2.getSelectedItem();
        String price = t2.getText();
        int priceInt = Integer.parseInt(price);
        String type = (String) c3.getSelectedItem();

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "insert into room values('" + available + "','" + status + "','" + priceInt + "','" + type + "')";

        try {

            c.s.executeUpdate(str);

            JOptionPane.showMessageDialog(null, "Room Added");

            t2.setText("");

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        this.setVisible(false);

    }

}

public static void main(String[] args) {
    new AddRooms().setVisible(true);
}
}

src/hotel/management/system/CheckOut.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.*;

import java.sql.*;

public class CheckOut extends JFrame implements ActionListener {


Choice c1;
JTextField t1;
JButton b1, b2, b3;

CheckOut() {

    JLabel l1 = new JLabel("Check Out");
    l1.setForeground(Color.BLUE);
    l1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    l1.setBounds(100, 20, 100, 30);
    add(l1);

    JLabel l2 = new JLabel("Customer Phone No.");
    l2.setBounds(30, 80, 120, 30);
    add(l2);

    c1 = new Choice();

    try {

        ConnectMSSQL c = new ConnectMSSQL();

        ResultSet rs = c.s.executeQuery("select * from customer");

        while (rs.next()) {

            c1.add(rs.getString("phone"));

        }

    } catch (Exception e) {

    }

    c1.setBounds(170, 80, 150, 30);
    add(c1);

    JLabel l3 = new JLabel("Room");
    l3.setBounds(30, 130, 120, 30);
    add(l3);

    t1 = new JTextField();
    t1.setBounds(170, 130, 150, 30);
    add(t1);

    b1 = new JButton("Checkout");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(40, 200, 120, 30);
    add(b1);

    b2 = new JButton("Back");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(180, 200, 120, 30);
    add(b2);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/tick.png"));
    Image i2 = i1.getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    b3 = new JButton(i3);
    b3.setBounds(330, 80, 20, 20);
    b3.addActionListener(this);
    add(b3);

    ImageIcon i4 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/sixth.jpg"));
    Image i5 = i4.getImage().getScaledInstance(400, 210, Image.SCALE_DEFAULT);
    ImageIcon i6 = new ImageIcon(i5);
    JLabel l4 = new JLabel(i6);
    l4.setBounds(370, 10, 400, 250);
    add(l4);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 200, 800, 300);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String phone = c1.getSelectedItem();
        String room = t1.getText();

        ConnectMSSQL c = new ConnectMSSQL();

        String str2 = "update room set available = 'Available' where room_number = '" + room + "'";

        try {
            
            c.s.executeUpdate(str2);

            JOptionPane.showMessageDialog(null, "Checkout Done");

        } catch (Exception e) {

            System.out.println(e);

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b3) {

        ConnectMSSQL c = new ConnectMSSQL();

        String s = c1.getSelectedItem();

        try {

            ResultSet rs = c.s.executeQuery("select * from customer where phone = '" + s + "'");

            while (rs.next()) {

                t1.setText(rs.getString("room"));

            }

        } catch (Exception e) {

        }

    }

}

public static void main(String[] args) {

    new CheckOut().setVisible(true);

}
}

src/hotel/management/system/ConnectMSSQL.java
package hotel.management.system;

import java.sql.*;

public class ConnectMSSQL {


Connection c;
Statement s;

public ConnectMSSQL() {

    try {

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=projecthms;selectMethod=cursor", "sa", "123456");
        s = c.createStatement();

    } catch (Exception e) {
        e.printStackTrace();
    }

}
}

src/hotel/management/system/CustomerInfo.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;
import net.proteanit.sql.*;

public class CustomerInfo extends JFrame implements ActionListener {


JTable t1;
JButton b1, b2;
JComboBox c1, c2, c3, c4;

CustomerInfo() {

    t1 = new JTable();
    t1.setBounds(0, 40, 1000, 300);
    add(t1);

    c1 = new JComboBox(new String[]{"Country Region", "Local", "Foreigner"});
    c1.setBounds(160, 400, 150, 25);
    c1.setBackground(Color.WHITE);
    c1.addActionListener(this);
    add(c1);

    c2 = new JComboBox(new String[]{"Sort By", "Room"});
    c2.setBounds(440, 400, 150, 25);
    c2.setBackground(Color.WHITE);
    c2.addActionListener(this);
    add(c2);

    JLabel l1 = new JLabel("Name");
    l1.setBounds(50, 10, 70, 20);
    add(l1);

    JLabel l2 = new JLabel("Phone");
    l2.setBounds(190, 10, 70, 20);
    add(l2);

    JLabel l3 = new JLabel("Gender");
    l3.setBounds(330, 10, 70, 20);
    add(l3);

    JLabel l4 = new JLabel("Country");
    l4.setBounds(470, 10, 70, 20);
    add(l4);

    JLabel l5 = new JLabel("Room");
    l5.setBounds(620, 10, 70, 20);
    add(l5);

    JLabel l6 = new JLabel("Checked In");
    l6.setBounds(750, 10, 70, 20);
    add(l6);

    JLabel l7 = new JLabel("Deposit");
    l7.setBounds(890, 10, 70, 20);
    add(l7);

    b1 = new JButton("Load Data");
    b1.setBounds(350, 560, 120, 30);
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Back");
    b2.setBounds(530, 560, 120, 30);
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    add(b2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(450, 200, 1000, 650);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();
            String str = "select name, phone, gender, country, room, status, deposit from customer";
            ResultSet rs = c.s.executeQuery(str);

            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == c1) {

        if (c1.getSelectedItem() == "Local") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, phone, gender, country, room, status, deposit from customer where country = 'Bangladesh'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c1.getSelectedItem() == "Foreigner") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, phone, gender, country, room, status, deposit from customer where not country = 'Bangladesh'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == c2) {

        if (c2.getSelectedItem() == "Room") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, phone, gender, country, room, status, deposit from customer order by room + 0";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    }

}

public static void main(String[] args) {
    new CustomerInfo().setVisible(true);
}
}

src/hotel/management/system/Dashboard.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.*;

public class Dashboard extends JFrame implements ActionListener {


JButton b1, b2, b3, b4;

Dashboard() {

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/luxury.jpg"));
    Image i2 = i1.getImage().getScaledInstance(1720, 1000, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l1 = new JLabel(i3);
    l1.setBounds(230, 0, 1720, 1000);
    add(l1);

    b1 = new JButton("Admin");
    b1.setFont(new Font("Tahoma", Font.BOLD, 26));
    b1.addActionListener(this);
    b1.setBounds(20, 300, 190, 60);
    add(b1);

    b2 = new JButton("Reception");
    b2.setFont(new Font("Tahoma", Font.BOLD, 26));
    b2.addActionListener(this);
    b2.setBounds(20, 470, 190, 60);
    add(b2);

    b4 = new JButton("Logout");
    b4.setFont(new Font("Tahoma", Font.BOLD, 26));
    b4.addActionListener(this);
    b4.setBounds(20, 640, 190, 60);
    add(b4);

    getContentPane().setBackground(Color.decode("#6e5853"));

    setLayout(null);
    setBounds(0, 0, 1950, 1020);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        new DropDown().setVisible(true);

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);

    } else if (ae.getSource() == b3) {

    } else if (ae.getSource() == b4) {

        new Login().setVisible(true);
        this.setVisible(false);

    }

}

public static void main(String[] args) {

    new Dashboard().setVisible(true);

}
}

src/hotel/management/system/DropDown.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.*;

public class DropDown extends JFrame implements ActionListener {


JButton b1, b2, b3;

DropDown() {

    b1 = new JButton("Add Employee");
    b1.setFont(new Font("Tahoma", Font.BOLD, 16));
    b1.addActionListener(this);
    b1.setBounds(5, 30, 160, 40);
    add(b1);

    b2 = new JButton("Add Room");
    b2.setFont(new Font("Tahoma", Font.BOLD, 16));
    b2.addActionListener(this);
    b2.setBounds(5, 100, 160, 40);
    add(b2);

    b3 = new JButton("Add Driver");
    b3.setFont(new Font("Tahoma", Font.BOLD, 16));
    b3.addActionListener(this);
    b3.setBounds(5, 170, 160, 40);
    add(b3);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(230, 337, 190, 290);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        new AddEmployee().setVisible(true);

    } else if (ae.getSource() == b2) {

        new AddRooms().setVisible(true);

    } else if (ae.getSource() == b3) {

        new AddDriver().setVisible(true);

    }

}

public static void main(String[] args) {

    new DropDown().setVisible(true);

}
}

src/hotel/management/system/EmployeeInfo.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;

import net.proteanit.sql.*;

public class EmployeeInfo extends JFrame implements ActionListener {


JTable t1;
JButton b1, b2, b3, b4;
JComboBox c1, c2, c3, c4, c5, c6, c7, c8;

EmployeeInfo() {

    t1 = new JTable();
    t1.setBounds(0, 40, 1010, 300);
    add(t1);

    c1 = new JComboBox(new String[]{"Sort By", "Name", "Age", "Job"});
    c1.setBounds(10, 400, 100, 25);
    c1.setBackground(Color.WHITE);
    c1.addActionListener(this);
    add(c1);

    c2 = new JComboBox(new String[]{"Salary Range", "1k-20k", "21k-40k", "41k-60k", "60k+"});
    c2.setBounds(140, 400, 100, 25);
    c2.setBackground(Color.WHITE);
    c2.addActionListener(this);
    add(c2);

    c3 = new JComboBox(new String[]{"Job", "Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"});
    c3.setBounds(280, 400, 140, 25);
    c3.setBackground(Color.WHITE);
    c3.addActionListener(this);
    add(c3);

    c4 = new JComboBox(new String[]{"No. of employees according to job", "Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"});
    c4.setBounds(460, 400, 230, 25);
    c4.setBackground(Color.WHITE);
    c4.addActionListener(this);
    add(c4);

    c5 = new JComboBox(new String[]{"Mobile SIM operator", "Grameenphone", "Robi", "Banglalink", "Airtel", "Teletalk"});
    c5.setBounds(730, 400, 160, 25);
    c5.setBackground(Color.WHITE);
    c5.addActionListener(this);
    add(c5);

    c6 = new JComboBox(new String[]{"Average Salary according to job", "Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"});
    c6.setBounds(80, 470, 230, 25);
    c6.setBackground(Color.WHITE);
    c6.addActionListener(this);
    add(c6);

    c7 = new JComboBox(new String[]{"Salary greater than Average Salary", "Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"});
    c7.setBounds(360, 470, 230, 25);
    c7.setBackground(Color.WHITE);
    c7.addActionListener(this);
    add(c7);

    c8 = new JComboBox(new String[]{"Salary less than Average Salary", "Front Desk Clerks", "Porters", "Housekeeping", "Kitchen Stuff", "Room Service", "Waiter", "Manager", "Accountant", "Chef"});
    c8.setBounds(640, 470, 230, 25);
    c8.setBackground(Color.WHITE);
    c8.addActionListener(this);
    add(c8);

    JLabel l1 = new JLabel("Name");
    l1.setBounds(40, 10, 70, 20);
    add(l1);

    JLabel l2 = new JLabel("Age");
    l2.setBounds(170, 10, 70, 20);
    add(l2);

    JLabel l3 = new JLabel("Gender");
    l3.setBounds(290, 10, 70, 20);
    add(l3);

    JLabel l4 = new JLabel("Job");
    l4.setBounds(400, 10, 70, 20);
    add(l4);

    JLabel l5 = new JLabel("Salary");
    l5.setBounds(540, 10, 70, 20);
    add(l5);

    JLabel l6 = new JLabel("Phone");
    l6.setBounds(670, 10, 70, 20);
    add(l6);

    JLabel l7 = new JLabel("NID");
    l7.setBounds(790, 10, 70, 20);
    add(l7);

    JLabel l8 = new JLabel("Email");
    l8.setBounds(910, 10, 70, 20);
    add(l8);

    b1 = new JButton("Load Data");
    b1.setBounds(350, 560, 120, 30);
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Back");
    b2.setBounds(530, 560, 120, 30);
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    add(b2);

    b4 = new JButton("Delete");
    b4.setBounds(680, 560, 120, 30);
    b4.setBackground(Color.BLACK);
    b4.setForeground(Color.WHITE);
    b4.addActionListener(this);
    add(b4);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(450, 200, 1030, 650);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();
            String str = "select name, age, gender, job, salary, phone, nid, email from employee";
            ResultSet rs = c.s.executeQuery(str);

            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == c1) {

        if (c1.getSelectedItem() == "Name") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();
                String str = "select name, age, gender, job, salary, phone, nid, email from employee order by name";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c1.getSelectedItem() == "Age") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();
                String str = "select name, age, gender, job, salary, phone, nid, email from employee order by age + 0";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c1.getSelectedItem() == "Job") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee order by job";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == c2) {

        if (c2.getSelectedItem() == "1k-20k") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary between 1000 and 20000";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c2.getSelectedItem() == "21k-40k") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary between 20001 and 40000";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c2.getSelectedItem() == "41k-60k") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary between 40001 and 60000";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c2.getSelectedItem() == "60k+") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > 60001";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == b4) {

        int row = t1.getSelectedRow();

        String cell = t1.getModel().getValueAt(row, 0).toString();

        System.out.println(cell);

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "delete from employee where name = '" + cell + "'";

            c.s.executeQuery(str);

            JOptionPane.showMessageDialog(null, "Row deleted");

        } catch (Exception e) {

            System.out.println(e);

        }

    } else if (ae.getSource() == c3) {

        if (c3.getSelectedItem() == "Front Desk Clerks") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Front Desk Clerks'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Porters") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Porters'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Housekeeping") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Housekeeping'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Kitchen Stuff") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Kitchen Stuff'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Room Service") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Room Service'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Waiter") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Waiter'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Manager") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Manager'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Accountant") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Accountant'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (c3.getSelectedItem() == "Chef") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Chef'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == c4) {

        if (c4.getSelectedItem() == "Front Desk Clerks") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Front Desk Clerks'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Front Desk Clerks in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Porters") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Porters'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Porters in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Housekeeping") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Housekeeping'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Housekeepers in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Kitchen Stuff") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Kitchen Stuff'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Kitchen Stuffs in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Room Service") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Room Service'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Room Service person in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Waiter") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Waiter'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Waiters in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Manager") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Manager'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Managers in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Accountant") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Accountant'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Accountants in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c4.getSelectedItem() == "Chef") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select count(job) from employee where job = 'Chef'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "There are currently " + String.valueOf(i) + " Chefs in our hotel");

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        }

    } else if (ae.getSource() == c5) {

        if (c5.getSelectedItem() == "Grameenphone") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where ((phone like '017%') or (phone like '013%'))";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c5.getSelectedItem() == "Robi") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where phone like '018%'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c5.getSelectedItem() == "Banglalink") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where ((phone like '019%') or (phone like '014%'))";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c5.getSelectedItem() == "Airtel") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where phone like '016%'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c5.getSelectedItem() == "Teletalk") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where phone like '015%'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        }

    } else if (ae.getSource() == c6) {

        if (c6.getSelectedItem() == "Front Desk Clerks") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Front Desk Clerks';";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Front Desk Clerk is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Porters") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Porters'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Porter is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Housekeeping") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Housekeeping'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Housekeeper is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Kitchen Stuff") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Kitchen Stuff'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Kitchen Stuff is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Room Service") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Room Service'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Room Service is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Waiter") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Waiter'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Waiter is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Manager") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Manager'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Manager is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Accountant") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Accountant'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Accountant is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c6.getSelectedItem() == "Chef") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select AVG(salary) from employee where job = 'Chef'";

                ResultSet rs = c.s.executeQuery(str);

                while (rs.next()) {

                    int i = rs.getInt(1);

                    JOptionPane.showMessageDialog(null, "Average salary of Chef is " + String.valueOf(i));

                }

            } catch (Exception e) {

                System.out.println(e);

            }

        }

    } else if (ae.getSource() == c7) {

        if (c7.getSelectedItem() == "Front Desk Clerks") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Front Desk Clerks') and job = 'Front Desk Clerks'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Porters") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Porters') and job = 'Porters'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Housekeeping") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Housekeeping') and job = 'Housekeeping'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Kitchen Stuff") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Kitchen Stuff') and job = 'Kitchen Stuff'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Room Service") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Room Service') and job = 'Room Service'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Waiter") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Waiter') and job = 'Waiter'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Manager") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Manager') and job = 'Manager'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Accountant") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Accountant') and job = 'Accountant'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c7.getSelectedItem() == "Chef") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary > (select AVG(salary) from employee where job = 'Chef') and job = 'Chef'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        }

    } else if (ae.getSource() == c8) {

        if (c8.getSelectedItem() == "Front Desk Clerks") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Front Desk Clerks') and job = 'Front Desk Clerks'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Porters") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Porters') and job = 'Porters'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Housekeeping") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Housekeeping') and job = 'Housekeeping'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Kitchen Stuff") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Kitchen Stuff') and job = 'Kitchen Stuff'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Room Service") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Room Service') and job = 'Room Service'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Waiter") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Waiter') and job = 'Waiter'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Manager") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Manager') and job = 'Manager'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Accountant") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Accountant') and job = 'Accountant'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        } else if (c8.getSelectedItem() == "Chef") {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, job, salary, phone, nid, email from employee where salary < (select AVG(salary) from employee where job = 'Chef') and job = 'Chef'";

                ResultSet rs = c.s.executeQuery(str);

                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

                System.out.println(e);

            }

        }

    }

}

public static void main(String[] args) {

    new EmployeeInfo().setVisible(true);

}
}

src/hotel/management/system/HotelManagementSystem.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.*;

public class HotelManagementSystem extends JFrame implements ActionListener {


public HotelManagementSystem() {
    
    setBounds(300, 200, 1366, 565);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/hotel.jpg"));
    JLabel l1 = new JLabel(i1);
    l1.setBounds(0, 0, 1366, 565);
    add(l1);

    JLabel l2 = new JLabel("Hotel Management System");
    l2.setBounds(20, 430, 1000, 90);
    l2.setForeground(Color.WHITE);
    l2.setFont(new Font("serif", Font.PLAIN, 70));
    l1.add(l2);

    JButton b1 = new JButton("Next");
    b1.setBackground(Color.WHITE);
    b1.setForeground(Color.BLACK);
    b1.setBounds(1150, 450, 150, 50);
    b1.addActionListener(this);
    l1.add(b1);

    setLayout(null);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {
    new Login().setVisible(true);
    this.setVisible(false);
}

public static void main(String[] args) {
    new HotelManagementSystem().setVisible(true);
}
}

src/hotel/management/system/Login.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;

public class Login extends JFrame implements ActionListener {


JLabel l1, l2;
JTextField t1;
JPasswordField t2;
JButton b1, b2;
JCheckBox check;

Login() {

    l1 = new JLabel("Username");
    l1.setBounds(40, 50, 100, 30);
    add(l1);

    l2 = new JLabel("Password");
    l2.setBounds(40, 100, 100, 30);
    add(l2);

    t1 = new JTextField();
    t1.setBounds(150, 50, 150, 30);
    add(t1);

    t2 = new JPasswordField();
    t2.setBounds(150, 100, 150, 30);
    add(t2);

    check = new JCheckBox("Show Password");
    check.setBounds(185, 140, 140, 30);
    check.setBackground(Color.WHITE);
    check.addActionListener(this);
    add(check);

    b1 = new JButton("Login");
    b1.setBounds(40, 230, 120, 30);
    b1.setForeground(Color.WHITE);
    b1.setBackground(Color.BLACK);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Cancel");
    b2.setBounds(180, 230, 120, 30);
    b2.setForeground(Color.WHITE);
    b2.setBackground(Color.BLACK);
    b2.addActionListener(this);
    add(b2);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/second.jpg"));
    Image i2 = i1.getImage().getScaledInstance(200, 200, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l3 = new JLabel(i3);
    l3.setBounds(350, 10, 200, 200);
    add(l3);

    JMenuItem l4 = new JMenuItem("<HTML><U>Don't have an account? Signup</U></HTML>");
    l4.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    l4.setBackground(Color.WHITE);
    l4.setBounds(360, 310, 200, 30);
    l4.addActionListener(this);
    add(l4);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(700, 300, 600, 400);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String username = t1.getText();
        String password = t2.getText();

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "select * from login where username = '" + username + "' and password = '" + password + "'";

        try {
            ResultSet rs = c.s.executeQuery(str);

            if (rs.next()) {
                new Dashboard().setVisible(true);
                this.setVisible(false);
            } else {
                JOptionPane.showMessageDialog(null, "Invalid username and password");
                t1.setText("");
                t2.setText("");
            }

        } catch (Exception e) {

        }
    } else if (ae.getSource() == b2) {
        this.setVisible(false);
        new HotelManagementSystem().setVisible(true);

    } else if (ae.getActionCommand().equals("<HTML><U>Don't have an account? Signup</U></HTML>")) {

        new SignUp().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == check) {

        if (check.isSelected()) {

            t2.setEchoChar((char) 0);

        } else {

            t2.setEchoChar('*');

        }

    }

}

public static void main(String[] args) {
    new Login();
}
}

src/hotel/management/system/ManagerInfo.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;
import net.proteanit.sql.*;

public class ManagerInfo extends JFrame implements ActionListener {


JTable t1;
JButton b1, b2;

ManagerInfo() {

    t1 = new JTable();
    t1.setBounds(0, 40, 1010, 500);
    add(t1);

    JLabel l1 = new JLabel("Name");
    l1.setBounds(40, 10, 70, 20);
    add(l1);

    JLabel l2 = new JLabel("Age");
    l2.setBounds(170, 10, 70, 20);
    add(l2);

    JLabel l3 = new JLabel("Gender");
    l3.setBounds(290, 10, 70, 20);
    add(l3);

    JLabel l4 = new JLabel("Job");
    l4.setBounds(400, 10, 70, 20);
    add(l4);

    JLabel l5 = new JLabel("Salary");
    l5.setBounds(540, 10, 70, 20);
    add(l5);

    JLabel l6 = new JLabel("Phone");
    l6.setBounds(670, 10, 70, 20);
    add(l6);

    JLabel l7 = new JLabel("NID");
    l7.setBounds(790, 10, 70, 20);
    add(l7);

    JLabel l8 = new JLabel("Email");
    l8.setBounds(910, 10, 70, 20);
    add(l8);

    b1 = new JButton("Load Data");
    b1.setBounds(350, 560, 120, 30);
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Back");
    b2.setBounds(530, 560, 120, 30);
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    add(b2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(450, 200, 1030, 650);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();
            String str = "select name, age, gender, job, salary, phone, nid, email from employee where job = 'Manager';";
            ResultSet rs = c.s.executeQuery(str);

            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    }

}

public static void main(String[] args) {
    new ManagerInfo().setVisible(true);
}
}

src/hotel/management/system/PickUp.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;
import net.proteanit.sql.DbUtils;

public class PickUp extends JFrame implements ActionListener {


Choice c1;
JButton b1, b2, b3;
JTable t1;
JCheckBox cb1, cb2;

PickUp() {

    JLabel l1 = new JLabel("PickUp Service");
    l1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    l1.setBounds(400, 30, 200, 30);
    add(l1);

    JLabel l2 = new JLabel("Type of Car");
    l2.setBounds(50, 100, 100, 20);
    add(l2);

    c1 = new Choice();

    try {

        ConnectMSSQL c = new ConnectMSSQL();

        ResultSet rs = c.s.executeQuery("select distinct model from driver");

        while (rs.next()) {

            c1.addItem(rs.getString("model"));

        }

    } catch (Exception e) {

    }

    c1.setBounds(150, 100, 200, 25);
    add(c1);

    cb1 = new JCheckBox("Available Drivers (At Hotel)");
    cb1.setBackground(Color.WHITE);
    cb1.addActionListener(this);
    cb1.setBounds(650, 100, 200, 25);
    add(cb1);

    cb2 = new JCheckBox("Experienced Drivers");
    cb2.setBackground(Color.WHITE);
    cb2.addActionListener(this);
    cb2.setBounds(400, 100, 200, 25);
    add(cb2);

    JLabel l3 = new JLabel("Name");
    l3.setBounds(50, 170, 100, 20);
    add(l3);

    JLabel l4 = new JLabel("Age");
    l4.setBounds(200, 170, 100, 20);
    add(l4);

    JLabel l5 = new JLabel("Gender");
    l5.setBounds(340, 170, 100, 20);
    add(l5);

    JLabel l7 = new JLabel("Model");
    l7.setBounds(620, 170, 100, 20);
    add(l7);

    JLabel l8 = new JLabel("Availability");
    l8.setBounds(750, 170, 100, 20);
    add(l8);

    JLabel l9 = new JLabel("Location");
    l9.setBounds(890, 170, 100, 20);
    add(l9);

    t1 = new JTable();
    t1.setBounds(0, 200, 1000, 300);
    add(t1);

    b1 = new JButton("Search");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(200, 520, 120, 30);
    add(b1);

    b3 = new JButton("Load Data");
    b3.setBackground(Color.BLACK);
    b3.setForeground(Color.WHITE);
    b3.addActionListener(this);
    b3.setBounds(360, 520, 120, 30);
    add(b3);

    b2 = new JButton("Back");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(520, 520, 120, 30);
    add(b2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 200, 1000, 650);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "select name, age, gender, model, available, location from driver where model = '" + c1.getSelectedItem() + "'";

            ResultSet rs = c.s.executeQuery(str);
            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == cb1) {

        if (cb1.isSelected()) {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, model, available, location from driver where location = 'At Hotel'";

                ResultSet rs = c.s.executeQuery(str);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (!cb1.isSelected()) {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, model, available, location from driver";

                ResultSet rs = c.s.executeQuery(str);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == cb2) {

        if (cb2.isSelected()) {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, model, available, location from driver where age >= 35";

                ResultSet rs = c.s.executeQuery(str);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        } else if (!cb2.isSelected()) {

            try {

                ConnectMSSQL c = new ConnectMSSQL();

                String str = "select name, age, gender, model, available, location from driver";

                ResultSet rs = c.s.executeQuery(str);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } catch (Exception e) {

            }

        }

    } else if (ae.getSource() == b3) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "select name, age, gender, model, available, location from driver";

            ResultSet rs = c.s.executeQuery(str);
            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    }

}

public static void main(String[] args) {

    new PickUp().setVisible(true);

}
}

src/hotel/management/system/Reception.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.*;

public class Reception extends JFrame implements ActionListener {


JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12;

Reception() {

    b1 = new JButton("New Customer Form");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.setBounds(10, 30, 200, 30);
    b1.addActionListener(this);
    add(b1);
    
    b4 = new JButton("All Employee Info");
    b4.setBackground(Color.BLACK);
    b4.setForeground(Color.WHITE);
    b4.setBounds(10, 110, 200, 30);
    b4.addActionListener(this);
    add(b4);

    b5 = new JButton("Customer Info");
    b5.setBackground(Color.BLACK);
    b5.setForeground(Color.WHITE);
    b5.setBounds(10, 150, 200, 30);
    b5.addActionListener(this);
    add(b5);

    b6 = new JButton("Manager Info");
    b6.setBackground(Color.BLACK);
    b6.setForeground(Color.WHITE);
    b6.setBounds(10, 190, 200, 30);
    b6.addActionListener(this);
    add(b6);

    b7 = new JButton("Check Out");
    b7.setBackground(Color.BLACK);
    b7.setForeground(Color.WHITE);
    b7.setBounds(10, 230, 200, 30);
    b7.addActionListener(this);
    add(b7);

    b8 = new JButton("Update Check Status");
    b8.setBackground(Color.BLACK);
    b8.setForeground(Color.WHITE);
    b8.setBounds(10, 270, 200, 30);
    b8.addActionListener(this);
    add(b8);

    b9 = new JButton("Update Room Status");
    b9.setBackground(Color.BLACK);
    b9.setForeground(Color.WHITE);
    b9.setBounds(10, 310, 200, 30);
    b9.addActionListener(this);
    add(b9);

    b10 = new JButton("Pick up Service");
    b10.setBackground(Color.BLACK);
    b10.setForeground(Color.WHITE);
    b10.setBounds(10, 350, 200, 30);
    b10.addActionListener(this);
    add(b10);

    b11 = new JButton("Search Room");
    b11.setBackground(Color.BLACK);
    b11.setForeground(Color.WHITE);
    b11.setBounds(10, 390, 200, 30);
    b11.addActionListener(this);
    add(b11);

    b12 = new JButton("Back");
    b12.setBackground(Color.BLACK);
    b12.setForeground(Color.WHITE);
    b12.setBounds(10, 430, 200, 30);
    b12.addActionListener(this);
    add(b12);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/fourth.jpg"));
    JLabel l1 = new JLabel(i1);
    l1.setBounds(250, 30, 530, 430);
    add(l1);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(550, 200, 800, 530);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        new AddCustomer().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b4) {

        new EmployeeInfo().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b5) {

        new CustomerInfo().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b6) {

        new ManagerInfo().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b7) {

        new CheckOut().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b8) {

        new UpdateStatus().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b9) {

        new UpdateRoom().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b10) {

        new PickUp().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b11) {

        new SearchRoom().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == b12) {
        
        this.setVisible(false);
        
    }

}

public static void main(String[] args) {
    new Reception().setVisible(true);
}
}

src/hotel/management/system/SearchRoom.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;
import net.proteanit.sql.DbUtils;

public class SearchRoom extends JFrame implements ActionListener {


JComboBox c1;
JCheckBox c2;
JButton b1, b2, b3, b4;
JTable t1;
JTextField t2, t3;

SearchRoom() {

    JLabel l1 = new JLabel("Search For Room");
    l1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    l1.setBounds(400, 30, 200, 30);
    add(l1);

    JLabel l2 = new JLabel("Room Bed Type");
    l2.setBounds(50, 100, 100, 20);
    add(l2);

    c1 = new JComboBox(new String[]{"Single Bed", "Double Bed"});
    c1.setBounds(150, 100, 150, 25);
    c1.setBackground(Color.WHITE);
    add(c1);

    JLabel l8 = new JLabel("Room Price");
    l8.setBounds(450, 80, 120, 20);
    add(l8);

    t2 = new JTextField();
    t2.addActionListener(this);
    t2.setBounds(360, 120, 100, 25);
    add(t2);

    t3 = new JTextField();
    t3.addActionListener(this);
    t3.setBounds(480, 120, 100, 25);
    add(t3);

    c2 = new JCheckBox("Only Display Available");
    c2.setBackground(Color.WHITE);
    c2.setBounds(650, 100, 150, 25);
    add(c2);

    JLabel l3 = new JLabel("Room");
    l3.setBounds(90, 170, 100, 20);
    add(l3);

    JLabel l4 = new JLabel("Availability");
    l4.setBounds(270, 170, 100, 20);
    add(l4);

    JLabel l5 = new JLabel("Cleaning Status");
    l5.setBounds(450, 170, 100, 20);
    add(l5);

    JLabel l6 = new JLabel("Price");
    l6.setBounds(680, 170, 100, 20);
    add(l6);

    JLabel l7 = new JLabel("Bed Type");
    l7.setBounds(850, 170, 100, 20);
    add(l7);

    t1 = new JTable();
    t1.setBounds(0, 200, 1000, 380);
    add(t1);

    b1 = new JButton("Search");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(250, 610, 120, 30);
    add(b1);

    b4 = new JButton("Load Data");
    b4.setBackground(Color.BLACK);
    b4.setForeground(Color.WHITE);
    b4.addActionListener(this);
    b4.setBounds(430, 610, 120, 30);
    add(b4);

    b2 = new JButton("Back");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(610, 610, 120, 30);
    add(b2);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 150, 1000, 720);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "select * from room where bed_type = '" + c1.getSelectedItem() + "' AND price between " + t2.getText() + " and " + t3.getText() + "";

            String str2 = "select * from room where available = 'Available' AND bed_type = '" + c1.getSelectedItem() + "'  and price between " + t2.getText() + " AND " + t3.getText() + "";

            ResultSet rs;

            if (c2.isSelected()) {

                rs = c.s.executeQuery(str2);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            } else {

                rs = c.s.executeQuery(str);
                t1.setModel(DbUtils.resultSetToTableModel(rs));

            }

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        new Reception().setVisible(true);
        this.setVisible(false);

    } /*else if (ae.getSource() == b3) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "select * from room where price between " + t2.getText() + " and " + t3.getText() + "";

            ResultSet rs = c.s.executeQuery(str);
            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

            System.out.println(e);

        }

    }*/ else if (ae.getSource() == b4) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String str = "select * from room";

            ResultSet rs = c.s.executeQuery(str);

            t1.setModel(DbUtils.resultSetToTableModel(rs));

        } catch (Exception e) {

        }

    }

}

public static void main(String[] args) {

    new SearchRoom().setVisible(true);

}
}

src/hotel/management/system/SignUp.java
package hotel.management.system;

import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.sql.;

public class SignUp extends JFrame implements ActionListener {


JLabel l1, l2;
JTextField t1;
JPasswordField t2;
JButton b1, b2;
JCheckBox check;

SignUp() {

    l1 = new JLabel("Username");
    l1.setBounds(40, 50, 100, 30);
    add(l1);

    l2 = new JLabel("Password");
    l2.setBounds(40, 100, 100, 30);
    add(l2);

    t1 = new JTextField();
    t1.setBounds(150, 50, 150, 30);
    add(t1);

    t2 = new JPasswordField();
    t2.setBounds(150, 100, 150, 30);
    add(t2);

    check = new JCheckBox("Show Password");
    check.setBounds(185, 140, 140, 30);
    check.setBackground(Color.WHITE);
    check.addActionListener(this);
    add(check);

    b1 = new JButton("Signup");
    b1.setBounds(40, 230, 120, 30);
    b1.setForeground(Color.WHITE);
    b1.setBackground(Color.BLACK);
    b1.addActionListener(this);
    add(b1);

    b2 = new JButton("Cancel");
    b2.setBounds(180, 230, 120, 30);
    b2.setForeground(Color.WHITE);
    b2.setBackground(Color.BLACK);
    b2.addActionListener(this);
    add(b2);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/second.jpg"));
    Image i2 = i1.getImage().getScaledInstance(200, 200, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel l3 = new JLabel(i3);
    l3.setBounds(350, 10, 200, 200);
    add(l3);

    JMenuItem l4 = new JMenuItem("<HTML><U>Already have an account? Login</U></HTML>");
    l4.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    l4.setBackground(Color.WHITE);
    l4.setBounds(360, 310, 200, 30);
    l4.addActionListener(this);
    add(l4);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(700, 300, 600, 400);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String username = t1.getText();
        String password = t2.getText();

        ConnectMSSQL c = new ConnectMSSQL();

        String str = "insert into login values('" + username + "','" + password + "')";

        try {

            c.s.executeUpdate(str);
            JOptionPane.showMessageDialog(null, "Account Created");

            new Login().setVisible(true);

        } catch (Exception e) {

        }
    } else if (ae.getSource() == b2) {
        this.setVisible(false);
        new HotelManagementSystem().setVisible(true);

    } else if (ae.getActionCommand().equals("<HTML><U>Already have an account? Login</U></HTML>")) {

        new Login().setVisible(true);
        this.setVisible(false);

    } else if (ae.getSource() == check) {

        if (check.isSelected()) {

            t2.setEchoChar((char) 0);

        } else {

            t2.setEchoChar('*');

        }

    }

}

public static void main(String[] args) {
    new SignUp().setVisible(true);
}
}

src/hotel/management/system/UpdateRoom.java
package hotel.management.system;

import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;

public class UpdateRoom extends JFrame implements ActionListener {


Choice c1;
JTextField t1, t2, t3;
JButton b1, b2, b3;

UpdateRoom() {

    JLabel l1 = new JLabel("Update Room Status");
    l1.setFont(new Font("Tahoma", Font.PLAIN, 25));
    l1.setForeground(Color.BLUE);
    l1.setBounds(30, 20, 250, 30);
    add(l1);

    JLabel l2 = new JLabel("Customer Phone No.");
    l2.setBounds(30, 80, 120, 20);
    add(l2);

    c1 = new Choice();

    try {

        ConnectMSSQL c = new ConnectMSSQL();

        ResultSet rs = c.s.executeQuery("select * from customer");

        while (rs.next()) {

            c1.add(rs.getString("phone"));

        }

    } catch (Exception e) {

    }

    c1.setBounds(160, 80, 150, 25);
    add(c1);

    JLabel l3 = new JLabel("Room");
    l3.setBounds(30, 130, 120, 20);
    add(l3);

    t1 = new JTextField();
    t1.setBounds(160, 130, 150, 25);
    add(t1);

    JLabel l4 = new JLabel("Availability");
    l4.setBounds(30, 180, 120, 20);
    add(l4);

    t2 = new JTextField();
    t2.setBounds(160, 180, 150, 25);
    add(t2);

    JLabel l5 = new JLabel("Cleaning Status");
    l5.setBounds(30, 230, 120, 20);
    add(l5);

    t3 = new JTextField();
    t3.setBounds(160, 230, 150, 25);
    add(t3);

    b1 = new JButton("Check");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(30, 300, 100, 30);
    add(b1);

    b2 = new JButton("Update");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(140, 300, 100, 30);
    add(b2);

    b3 = new JButton("Back");
    b3.setBackground(Color.BLACK);
    b3.setForeground(Color.WHITE);
    b3.addActionListener(this);
    b3.setBounds(250, 300, 100, 30);
    add(b3);
    
    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/seventh.jpg"));
    Image i2 = i1.getImage().getScaledInstance(500, 300, Image.SCALE_DEFAULT);
    ImageIcon i3 = new ImageIcon(i2);
    JLabel icon = new JLabel(i3);
    icon.setBounds(400, 0, 500, 400);
    add(icon);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 200, 970, 430);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        String room = null;
        String s1 = c1.getSelectedItem();

        ConnectMSSQL c = new ConnectMSSQL();

        try {

            ResultSet rs = c.s.executeQuery("select * from customer where phone = '" + s1 + "'");

            while (rs.next()) {

                t1.setText(rs.getString("room"));
                room = rs.getString("room");

            }

            ResultSet rs2 = c.s.executeQuery("select * from room where room_number = '" + room + "'");

            while (rs2.next()) {

                t2.setText(rs2.getString("available"));
                t3.setText(rs2.getString("status"));

            }

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String room = t1.getText();
            String available = t2.getText();
            String status = t3.getText();

            String str = "update room set available = '" + available + "', status = '" + status + "' where room_number = '" + room + "'";
            
            c.s.executeUpdate(str);
            
            JOptionPane.showMessageDialog(null, "Room Updated Successfully");

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b3) {

        new Reception().setVisible(true);
        this.setVisible(false);

    }

}

public static void main(String[] args) {

    new UpdateRoom().setVisible(true);

}
}

src/hotel/management/system/UpdateStatus.java
package hotel.management.system;

import java.awt.;
import javax.swing.;
import java.awt.event.;
import java.sql.;

public class UpdateStatus extends JFrame implements ActionListener {


JButton b1, b2, b3;
Choice c1;
JTextField t1, t2, t3, t4, t5;

UpdateStatus() {

    JLabel l1 = new JLabel("Check-in Details");
    l1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    l1.setForeground(Color.BLUE);
    l1.setBounds(80, 30, 200, 30);
    add(l1);

    JLabel l2 = new JLabel("Customer Phone No.");
    l2.setBounds(30, 80, 120, 20);
    add(l2);

    c1 = new Choice();

    try {

        ConnectMSSQL c = new ConnectMSSQL();

        ResultSet rs = c.s.executeQuery("select * from customer");

        while (rs.next()) {

            c1.add(rs.getString("phone"));

        }

    } catch (Exception e) {

    }

    c1.setBounds(160, 80, 150, 25);
    add(c1);

    JLabel l3 = new JLabel("Room");
    l3.setBounds(30, 130, 100, 20);
    add(l3);

    t1 = new JTextField();
    t1.setBounds(160, 130, 150, 25);
    add(t1);

    JLabel l4 = new JLabel("Name");
    l4.setBounds(30, 180, 100, 20);
    add(l4);

    t2 = new JTextField();
    t2.setBounds(160, 180, 150, 25);
    add(t2);

    JLabel l5 = new JLabel("Check-in");
    l5.setBounds(30, 230, 100, 20);
    add(l5);

    t3 = new JTextField();
    t3.setBounds(160, 230, 150, 25);
    add(t3);

    JLabel l6 = new JLabel("Amount Paid");
    l6.setBounds(30, 280, 100, 20);
    add(l6);

    t4 = new JTextField();
    t4.setBounds(160, 280, 150, 25);
    add(t4);

    JLabel l7 = new JLabel("Pending Amount");
    l7.setBounds(30, 330, 100, 20);
    add(l7);

    t5 = new JTextField();
    t5.setBounds(160, 330, 150, 25);
    add(t5);

    b1 = new JButton("Check");
    b1.setBackground(Color.BLACK);
    b1.setForeground(Color.WHITE);
    b1.addActionListener(this);
    b1.setBounds(30, 390, 100, 30);
    add(b1);

    b2 = new JButton("Update");
    b2.setBackground(Color.BLACK);
    b2.setForeground(Color.WHITE);
    b2.addActionListener(this);
    b2.setBounds(150, 390, 100, 30);
    add(b2);

    b3 = new JButton("Back");
    b3.setBackground(Color.BLACK);
    b3.setForeground(Color.WHITE);
    b3.addActionListener(this);
    b3.setBounds(270, 390, 100, 30);
    add(b3);

    ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("hotel/management/system/images/nine.jpg"));
    JLabel l9 = new JLabel(i1);
    l9.setBounds(400, 50, 500, 300);
    add(l9);

    getContentPane().setBackground(Color.WHITE);

    setLayout(null);
    setBounds(500, 200, 960, 500);
    setVisible(true);

}

public void actionPerformed(ActionEvent ae) {

    if (ae.getSource() == b1) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String room = null;
            
            String deposit = null;
            
            int amountPaid;
            
            String price = null;
            
            String id = c1.getSelectedItem();

            String str = "select * from customer where phone = '" + id + "'";

            ResultSet rs = c.s.executeQuery(str);

            while (rs.next()) {

                t1.setText(rs.getString("room"));
                t2.setText(rs.getString("name"));
                t3.setText(rs.getString("status"));
                t4.setText(rs.getString("deposit"));

                room = rs.getString("room");
                deposit = rs.getString("deposit");

            }

            ResultSet rs2 = c.s.executeQuery("select * from room where room_number = '" + room + "'");

            while (rs2.next()) {

                price = rs2.getString("price");

                amountPaid = Integer.parseInt(price) - Integer.parseInt(deposit);

                t5.setText(Integer.toString(amountPaid));

            }

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b2) {

        try {

            ConnectMSSQL c = new ConnectMSSQL();

            String s1 = c1.getSelectedItem();
            String s2 = t1.getText();
            int s3 = Integer.parseInt(s2);
            String s4 = t2.getText();
            String s5 = t3.getText();
            String s6 = t4.getText();
            int s7 = Integer.parseInt(s6);

            String str = "update customer set room = '" + s3 + "', name = '" + s4 + "', status = '" + s5 + "', deposit = '" + s7 + "' where phone = '" + s1 + "'";

            c.s.executeUpdate(str);

            JOptionPane.showMessageDialog(null, "Data Updated Successfully");

        } catch (Exception e) {

        }

    } else if (ae.getSource() == b3) {

        new Reception().setVisible(true);
        this.setVisible(false);

    }

}

public static void main(String[] args) {

    new UpdateStatus().setVisible(true);

}
}

Hotel-Management-System
A Java based desktop application that allows you to log in as an admin or receptionist. As an admin, you can create and manage rooms, employees and drivers. As a receptionist, you can add new clients, access room information, all employee information, client information, manager information, manage client pickup service, search for avalaible rooms, update room status and check out clients.

CREATE DATABASE projecthms;
USE projecthms;

CREATE TABLE login (
username VARCHAR(50) PRIMARY KEY,
password VARCHAR(50) NOT NULL
);

CREATE TABLE room (
room_number INT PRIMARY KEY AUTO_INCREMENT,
available VARCHAR(20),
status VARCHAR(20),
price INT,
bed_type VARCHAR(20)
);

CREATE TABLE customer (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
phone VARCHAR(15) UNIQUE,
gender VARCHAR(10),
country VARCHAR(50),
room_number INT,
status VARCHAR(20),
deposit INT,
FOREIGN KEY (room_number) REFERENCES room(room_number)
);

CREATE TABLE driver (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
age INT,
gender VARCHAR(10),
model VARCHAR(50),
available VARCHAR(20),
location VARCHAR(50)
);

CREATE TABLE employee (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
age INT,
gender VARCHAR(10),
job VARCHAR(50),
salary INT,
phone VARCHAR(15) UNIQUE,
nid VARCHAR(20) UNIQUE,
email VARCHAR(100) UNIQUE
);

нужно написать ТЗ по этому коду чтобы моей овощной группе было понятно что я собираюсь разработать
при этом надо немного улучшить все