cs program
cs program
import mysql.connector
def connect_db():
return mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="company_management"
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()
results = cursor.fetchall()
cursor.close()
connection.close()
connection = connect_db()
cursor = connection.cursor()
params = []
if name:
params.append(name)
if department:
params.append(department)
if designation:
params.append(designation)
if salary:
params.append(salary)
query = query.rstrip(',')
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()
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
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()
results = cursor.fetchall()
cursor.close()
connection.close()
print(row)
def update_inventory(item_id, item_name=None, quantity=None, price=None):
connection = connect_db()
cursor = connection.cursor()
params = []
if item_name:
params.append(item_name)
if quantity:
params.append(quantity)
if price:
params.append(price)
query = query.rstrip(',')
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()
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
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()
results = cursor.fetchall()
cursor.close()
connection.close()
print(row)
connection = connect_db()
cursor = connection.cursor()
query = "SELECT * FROM salary WHERE"
params = []
if employee_id:
params.append(employee_id)
if month:
params.append(month)
if year:
params.append(year)
if amount:
params.append(amount)
query = query.rstrip('AND')
cursor.execute(query, tuple(params))
results = cursor.fetchall()
cursor.close()
connection.close()
return results
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()
results = cursor.fetchall()
cursor.close()
connection.close()
print(row)
def search_leaves(employee_id):
connection = connect_db()
cursor = connection.cursor()
results = cursor.fetchall()
cursor.close()
connection.close()
return results
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.close()
connection.close()
print(row)
def mark_attendance(date):
connection = connect_db()
cursor = connection.cursor()
employees = cursor.fetchall()
cursor.execute("SELECT employee_id FROM leaves WHERE %s BETWEEN start_date AND end_date", (date,))
on_leave = cursor.fetchall()
employee_id = employee[0]
employee_name = employee[1]
if employee_id in leave_ids:
else:
cursor.close()
connection.close()
def main_menu():
while True:
print("5. Exit")
if choice == '1':
employee_menu()
inventory_menu()
salary_menu()
leave_menu()
break
else:
def employee_menu():
while True:
if choice == '1':
print("\nEmployee List:")
view_employees()
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)
delete_employee(employee_id)
results = search_employee(name)
if results:
print("\nSearch Results:")
print(row)
else:
break
else:
def inventory_menu():
while True:
print("\nInventory List:")
view_inventory()
item_name = input("Enter new item name (or leave blank to skip): ")
if quantity:
quantity = int(quantity)
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)
delete_inventory(item_id)
results = search_inventory(item_name)
if results:
print("\nSearch Results:")
print(row)
else:
break
else:
def salary_menu():
while True:
if choice == '1':
view_salaries()
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:")
print(row)
else:
break
else:
def leave_menu():
while True:
if choice == '1':
print("\nLeave List:")
view_leaves()
results = search_leaves(employee_id)
if results:
print("\nSearch Results:")
print(row)
else:
mark_attendance(date)
print("\nAttendance Records:")
view_attendance()
elif choice == '6':
break
else:
if __name__ == "__main__":
main_menu()
Sql table
-- Employees Table
name VARCHAR(100),
department VARCHAR(100),
designation VARCHAR(100),
salary DECIMAL(10, 2)
);
-- Inventory Table
item_name VARCHAR(100),
quantity INT,
price DECIMAL(10, 2)
);
-- Salary Table
employee_id INT,
month VARCHAR(20),
year VARCHAR(4),
);
-- Leaves Table
employee_id INT,
start_date DATE,
end_date DATE,
reason VARCHAR(255),
);
-- Attendance Table
date DATE,
employee_id INT,
status VARCHAR(50),
);