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

cs program

Uploaded by

chomu4648
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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