0% found this document useful (0 votes)
11 views

cs program

Uploaded by

chomu4648
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

cs program

Uploaded by

chomu4648
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

python

import mysql.connector

# Database connection function

def connect_db():

return mysql.connector.connect(

host="localhost",

user="root",

password="password",

database="company_management"

# Employee Management Functions

def add_employee(name, department, designation, salary):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("INSERT INTO employees (name, department, designation, salary) VALUES (%s, %s, %s, %s)", (name,
department, designation, salary))

connection.commit()

cursor.close()

connection.close()

def view_employees():

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM employees")

results = cursor.fetchall()

cursor.close()

connection.close()

for row in results:


print(row)

def update_employee(employee_id, name=None, department=None, designation=None, salary=None):

connection = connect_db()

cursor = connection.cursor()

query = "UPDATE employees SET"

params = []

if name:

query += " name=%s,"

params.append(name)

if department:

query += " department=%s,"

params.append(department)

if designation:

query += " designation=%s,"

params.append(designation)

if salary:

query += " salary=%s,"

params.append(salary)

query = query.rstrip(',')

query += " WHERE id=%s"

params.append(employee_id)

cursor.execute(query, tuple(params))

connection.commit()

cursor.close()

connection.close()

def delete_employee(employee_id):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("DELETE FROM employees WHERE id=%s", (employee_id,))

connection.commit()
cursor.close()

connection.close()

def search_employee(name):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM employees WHERE name LIKE %s", ('%' + name + '%',))

results = cursor.fetchall()

cursor.close()

connection.close()

return results

# Inventory Management Functions

def add_inventory(item_name, quantity, price):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("INSERT INTO inventory (item_name, quantity, price) VALUES (%s, %s, %s)", (item_name, quantity,
price))

connection.commit()

cursor.close()

connection.close()

def view_inventory():

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM inventory")

results = cursor.fetchall()

cursor.close()

connection.close()

for row in results:

print(row)
def update_inventory(item_id, item_name=None, quantity=None, price=None):

connection = connect_db()

cursor = connection.cursor()

query = "UPDATE inventory SET"

params = []

if item_name:

query += " item_name=%s,"

params.append(item_name)

if quantity:

query += " quantity=%s,"

params.append(quantity)

if price:

query += " price=%s,"

params.append(price)

query = query.rstrip(',')

query += " WHERE id=%s"

params.append(item_id)

cursor.execute(query, tuple(params))

connection.commit()

cursor.close()

connection.close()

def delete_inventory(item_id):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("DELETE FROM inventory WHERE id=%s", (item_id,))

connection.commit()

cursor.close()

connection.close()

def search_inventory(item_name):
connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM inventory WHERE item_name LIKE %s", ('%' + item_name + '%',))

results = cursor.fetchall()

cursor.close()

connection.close()

return results

# Salary Management Functions

def add_salary(employee_id, month, year, amount):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("INSERT INTO salary (employee_id, month, year, amount) VALUES (%s, %s, %s, %s)", (employee_id,
month, year, amount))

connection.commit()

cursor.close()

connection.close()

def view_salaries():

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM salary")

results = cursor.fetchall()

cursor.close()

connection.close()

for row in results:

print(row)

def search_salary(employee_id=None, month=None, year=None, amount=None):

connection = connect_db()

cursor = connection.cursor()
query = "SELECT * FROM salary WHERE"

params = []

if employee_id:

query += " employee_id=%s AND"

params.append(employee_id)

if month:

query += " month=%s AND"

params.append(month)

if year:

query += " year=%s AND"

params.append(year)

if amount:

query += " amount=%s AND"

params.append(amount)

query = query.rstrip('AND')

cursor.execute(query, tuple(params))

results = cursor.fetchall()

cursor.close()

connection.close()

return results

# Leave and Attendance Management Functions

def add_leave(employee_id, start_date, end_date, reason):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("INSERT INTO leaves (employee_id, start_date, end_date, reason) VALUES (%s, %s, %s, %s)",
(employee_id, start_date, end_date, reason))

connection.commit()

cursor.close()

connection.close()
def view_leaves():

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM leaves")

results = cursor.fetchall()

cursor.close()

connection.close()

for row in results:

print(row)

def search_leaves(employee_id):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM leaves WHERE employee_id = %s", (employee_id,))

results = cursor.fetchall()

cursor.close()

connection.close()

return results

def record_attendance(date, employee_id, status):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("INSERT INTO attendance (date, employee_id, status) VALUES (%s, %s, %s)", (date, employee_id,
status))

connection.commit()

cursor.close()

connection.close()

def view_attendance():

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT * FROM attendance")


results = cursor.fetchall()

cursor.close()

connection.close()

for row in results:

print(row)

def mark_attendance(date):

connection = connect_db()

cursor = connection.cursor()

cursor.execute("SELECT id, name FROM employees")

employees = cursor.fetchall()

cursor.execute("SELECT employee_id FROM leaves WHERE %s BETWEEN start_date AND end_date", (date,))

on_leave = cursor.fetchall()

leave_ids = [leave[0] for leave in on_leave]

for employee in employees:

employee_id = employee[0]

employee_name = employee[1]

if employee_id in leave_ids:

status = "On Leave"

else:

status = input(f"Enter status for {employee_name} (Present/Absent): ")

record_attendance(date, employee_id, status)

cursor.close()

connection.close()

print("Attendance recorded successfully.")


# Main Menu Function

def main_menu():

while True:

print("\n--- Main Menu ---")

print("1. Employee Management")

print("2. Inventory Management")

print("3. Salary Management")

print("4. Leave and Attendance Management")

print("5. Exit")

choice = input("Enter your choice: ")

if choice == '1':

employee_menu()

elif choice == '2':

inventory_menu()

elif choice == '3':

salary_menu()

elif choice == '4':

leave_menu()

elif choice == '5':

break

else:

print("Invalid choice. Please try again.")

# Employee Menu Function

def employee_menu():

while True:

print("\n--- Employee Management Menu ---")

print("1. Add Employee")

print("2. View Employees")


print("3. Update Employee")

print("4. Delete Employee")

print("5. Search Employee")

print("6. Back to Main Menu")

choice = input("Enter your choice: ")

if choice == '1':

name = input("Enter employee name: ")

department = input("Enter employee department: ")

designation = input("Enter employee designation: ")

salary = float(input("Enter employee salary: "))

add_employee(name, department, designation, salary)

print("Employee added successfully.")

elif choice == '2':

print("\nEmployee List:")

view_employees()

elif choice == '3':

employee_id = int(input("Enter employee ID to update: "))

name = input("Enter new name (or leave blank to skip): ")

department = input("Enter new department (or leave blank to skip): ")

designation = input("Enter new designation (or leave blank to skip): ")

salary = input("Enter new salary (or leave blank to skip): ")

if salary:

salary = float(salary)

update_employee(employee_id, name if name else None, department if department else None, designation if
designation else None, salary if salary else None)

print("Employee updated successfully.")

elif choice == '4':


employee_id = int(input("Enter employee ID to delete: "))

delete_employee(employee_id)

print("Employee deleted successfully.")

elif choice == '5':

name = input("Enter employee name to search: ")

results = search_employee(name)

if results:

print("\nSearch Results:")

for row in results:

print(row)

else:

print("No employees found.")

elif choice == '6':

break

else:

print("Invalid choice. Please try again.")

# Inventory Menu Function

def inventory_menu():

while True:

print("\n--- Inventory Management Menu ---")

print("1. Add Inventory Item")

print("2. View Inventory")

print("3. Update Inventory Item")

print("4. Delete Inventory Item")

print("5. Search Inventory Item")

print("6. Back to Main Menu")

choice = input("Enter your choice: ")


if choice == '1':

item_name = input("Enter item name: ")

quantity = int(input("Enter item quantity: "))

price = float(input("Enter item price: "))

add_inventory(item_name, quantity, price)

print("Item added successfully.")

elif choice == '2':

print("\nInventory List:")

view_inventory()

elif choice == '3':

item_id = int(input("Enter item ID to update: "))

item_name = input("Enter new item name (or leave blank to skip): ")

quantity = input("Enter new quantity (or leave blank to skip): ")

if quantity:

quantity = int(quantity)

price = input("Enter new price (or leave blank to skip): ")

if price:

price = float(price)

update_inventory(item_id, item_name if item_name else None, quantity if quantity else None, price if price else
None)

print("Item updated successfully.")

elif choice == '4':

item_id = int(input("Enter item ID to delete: "))

delete_inventory(item_id)

print("Item deleted successfully.")

elif choice == '5':

item_name = input("Enter item name to search: ")

results = search_inventory(item_name)
if results:

print("\nSearch Results:")

for row in results:

print(row)

else:

print("No items found.")

elif choice == '6':

break

else:

print("Invalid choice. Please try again.")

# Salary Menu Function

def salary_menu():

while True:

print("\n--- Salary Management Menu ---")

print("1. Add Salary")

print("2. View Salaries")

print("3. Search Salary")

print("4. Back to Main Menu")

choice = input("Enter your choice: ")

if choice == '1':

employee_id = int(input("Enter employee ID: "))

month = input("Enter salary month: ")

year = input("Enter salary year: ")

amount = float(input("Enter salary amount: "))

add_salary(employee_id, month, year, amount)

print("Salary added successfully.")

elif choice == '2':


print("\nSalary List:")

view_salaries()

elif choice == '3':

employee_id = input("Enter employee ID to search (or leave blank): ")

month = input("Enter month to search (or leave blank): ")

year = input("Enter year to search (or leave blank): ")

amount = input("Enter salary amount to search (or leave blank): ")

results = search_salary(employee_id if employee_id else None, month if month else None, year if year else None,
float(amount) if amount else None)

if results:

print("\nSearch Results:")

for row in results:

print(row)

else:

print("No salary records found.")

elif choice == '4':

break

else:

print("Invalid choice. Please try again.")

# Leave and Attendance Menu Function

def leave_menu():

while True:

print("\n--- Leave and Attendance Management Menu ---")

print("1. Add Leave")

print("2. View Leaves")

print("3. Search Leaves")

print("4. Record Attendance")

print("5. View Attendance")

print("6. Back to Main Menu")


choice = input("Enter your choice: ")

if choice == '1':

employee_id = int(input("Enter employee ID: "))

start_date = input("Enter start date (YYYY-MM-DD): ")

end_date = input("Enter end date (YYYY-MM-DD): ")

reason = input("Enter reason for leave: ")

add_leave(employee_id, start_date, end_date, reason)

print("Leave added successfully.")

elif choice == '2':

print("\nLeave List:")

view_leaves()

elif choice == '3':

employee_id = int(input("Enter employee ID to search: "))

results = search_leaves(employee_id)

if results:

print("\nSearch Results:")

for row in results:

print(row)

else:

print("No leaves found.")

elif choice == '4':

date = input("Enter date for attendance (YYYY-MM-DD): ")

mark_attendance(date)

elif choice == '5':

print("\nAttendance Records:")

view_attendance()
elif choice == '6':

break

else:

print("Invalid choice. Please try again.")

# Run the main menu

if __name__ == "__main__":

main_menu()

Sql table
-- Employees Table

CREATE TABLE employees (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(100),

department VARCHAR(100),

designation VARCHAR(100),

salary DECIMAL(10, 2)

);

-- Inventory Table

CREATE TABLE inventory (

id INT AUTO_INCREMENT PRIMARY KEY,

item_name VARCHAR(100),

quantity INT,

price DECIMAL(10, 2)

);
-- Salary Table

CREATE TABLE salary (

id INT AUTO_INCREMENT PRIMARY KEY,

employee_id INT,

month VARCHAR(20),

year VARCHAR(4),

amount DECIMAL(10, 2),

FOREIGN KEY (employee_id) REFERENCES employees(id)

);

-- Leaves Table

CREATE TABLE leaves (

id INT AUTO_INCREMENT PRIMARY KEY,

employee_id INT,

start_date DATE,

end_date DATE,

reason VARCHAR(255),

FOREIGN KEY (employee_id) REFERENCES employees(id)

);

-- Attendance Table

CREATE TABLE attendance (

id INT AUTO_INCREMENT PRIMARY KEY,

date DATE,

employee_id INT,

status VARCHAR(50),

FOREIGN KEY (employee_id) REFERENCES employees(id)

);

You might also like