def save_to_database():
try:
unique_number = generate_unique_number()
if unique_number:
sql = "INSERT INTO gate_pass (reference_number, employee_name, employee_code, date, created_by, laptop_tag, charger_tag, mouse_tag, laptop_serial_no, charger_serial_no, mouse_serial_no) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
val = (
unique_number,
name.get(),
Emp.get(),
datetime.strptime(Date.get(), "%m/%d/%y").strftime("%m-%d-%Y"),
Cre_By.get(),
Lap.get(),
Chr_Tag.get(),
Mou.get(),
Rem.get(),
Chr.get(),
Mou_Tag.get()
)
mycursor.execute(sql, val)
mydb.commit()
messagebox.showinfo("Success", "Data saved successfully to MySQL database")
return unique_number # Return the generated unique number
except Exception as e:
messagebox.showerror("Error", f"An error occurred while saving data to MySQL database: {e}")
return None
def generate_unique_number():
try:
year = datetime.now().year
# Fetch the latest reference number from the database
mycursor.execute(“SELECT reference_number FROM gate_pass ORDER BY reference_number DESC LIMIT 1”)
result = mycursor.fetchone()
if result:
last_number = result[0].split('/')[-1]
next_number = int(last_number) + 1
else:
next_number = 1
unique_number = f"HPX/GP/{year}/{next_number:03d}"
return unique_number
except Exception as e:
messagebox.showerror("Error", f"An error occurred while generating unique number: {e}")
return None