PIVOT 1.1.0
This commit is contained in:
commit
8a53234eb6
161 files changed
+31109
No files matched your search
@@ -0,0 +1,66 @@
|
||||
# CIP_inleveren.py – toestel terug inleveren (en eventueel herstelling registreren)
|
||||
from database import execute_query
|
||||
from datetime import date
|
||||
from services import toestellen as tst
|
||||
|
||||
foutmelding = ""
|
||||
|
||||
|
||||
def Inleveren(internnummer, toestelnummer, action_type, tab2_schade_text):
|
||||
global foutmelding
|
||||
|
||||
# 1. Zoek leerling op (zet om naar officieel Internnummer)
|
||||
leerling = tst.zoek_leerling(internnummer)
|
||||
if not leerling:
|
||||
foutmelding = "Error: Internnummer niet gevonden."
|
||||
return
|
||||
|
||||
# 2. Zoek het toestel en de huidige toekenning aan deze leerling
|
||||
toestel = tst.zoek_toestel(toestelnummer)
|
||||
if not toestel:
|
||||
foutmelding = "Error: Toestelnummer niet gevonden in de toestellenlijst."
|
||||
return
|
||||
eigendom = execute_query(
|
||||
"SELECT Eigendom_ID FROM Eigendom WHERE Toestel_ID = %s AND Internnummer = %s AND Datum_inlevering IS NULL",
|
||||
(toestel['Toestel_ID'], leerling['Internnummer']))
|
||||
if not eigendom:
|
||||
foutmelding = "Error: Dit toestel staat niet als 'uitgeleend' aan deze leerling in de database."
|
||||
return
|
||||
|
||||
# 3. Verwerk de inlevering
|
||||
try:
|
||||
_verwerk_inlevering(eigendom[0]['Eigendom_ID'], leerling, toestel['Toestel_ID'], action_type, tab2_schade_text)
|
||||
foutmelding = "Toestel succesvol ingeleverd."
|
||||
except Exception as e:
|
||||
foutmelding = f"Systeemfout: {str(e)}"
|
||||
|
||||
|
||||
def _verwerk_inlevering(eigendom_id, leerling, toestel_id, action_type, schade_text):
|
||||
vandaag = date.today()
|
||||
|
||||
# A. Toekenning afsluiten (blijft bewaard als geschiedenis)
|
||||
execute_query("UPDATE Eigendom SET Datum_inlevering = %s WHERE Eigendom_ID = %s", (vandaag, eigendom_id), commit=True)
|
||||
|
||||
# B. Status en eventueel herstelling
|
||||
if action_type == "Schade":
|
||||
execute_query(
|
||||
"INSERT INTO Signpost_herstellingen_DB (Toestel_ID, Omschrijving, Status_herstelling, Datum, Leerling_ID) "
|
||||
"VALUES (%s, %s, 'geregistreerd', %s, %s)",
|
||||
(toestel_id, schade_text, vandaag, leerling['Leerling_ID']), commit=True)
|
||||
execute_query("UPDATE Toestellen SET Status = 'Defect' WHERE Toestel_ID = %s", (toestel_id,), commit=True)
|
||||
else:
|
||||
execute_query("UPDATE Toestellen SET Status = 'Beschikbaar' WHERE Toestel_ID = %s", (toestel_id,), commit=True)
|
||||
|
||||
|
||||
def Ingeven_herstelling(toestelnummer, soort_herstelling):
|
||||
"""Herstelling registreren zonder inlevering door een leerling."""
|
||||
global foutmelding
|
||||
toestel = tst.zoek_toestel(toestelnummer)
|
||||
if not toestel:
|
||||
foutmelding = f"Toestel {toestelnummer} niet gevonden."
|
||||
return
|
||||
execute_query(
|
||||
"INSERT INTO Signpost_herstellingen_DB (Toestel_ID, Omschrijving, Status_herstelling, Datum) "
|
||||
"VALUES (%s, %s, 'In afwachting', %s)",
|
||||
(toestel['Toestel_ID'], soort_herstelling, date.today()), commit=True)
|
||||
foutmelding = "Herstelling ingegeven"
|
||||
Reference in new issue
Block a user