This commit is contained in:
sidya82 2015-01-12 16:46:50 +01:00
parent 140b1bfe01
commit d411b7e1d1
3 changed files with 23 additions and 16 deletions

View File

@ -1,40 +1,47 @@
import time
import calendar import calendar
import datetime import datetime
from src.m.connexionBDD import connexionBDD from src.m.connexionBDD import connexionBDD
class Service: class Service:
def __init__(self, jourService, moisService, anneeService, jourDemande, moisDemande, anneeDemande, rapport): def __init__(self, jourService, moisService, anneeService, jourDemande, moisDemande, anneeDemande, rapport):
try: try:
dateService = datetime.date(anneeService, moisService, jourService) dateService = datetime.date(anneeService, moisService, jourService)
self.dateService = dateService self.dateService = dateService
except: except:
#Si la date n'est pas un nombre ou bien si ceux ci sont abérrents # Si la date n'est pas un nombre ou bien si ceux ci sont abérrents
print ("la date de service n\'est pas correcte") print("la date de service n\'est pas correcte")
try: try:
dateDemande = datetime.date(anneeDemande, moisDemande, jourDemande) dateDemande = datetime.date(anneeDemande, moisDemande, jourDemande)
self.dateDemande = dateDemande self.dateDemande = dateDemande
except: except:
print ("la date de service n\'est pas correcte") print("la date de service n\'est pas correcte")
self.rapport = rapport self.rapport = rapport
def enregistrerService(self, idClient, categorie, etat): def enregistrerService(self, idClient, categorie, etat):
try: try:
connection = connexionBDD() connection = connexionBDD()
#1.obtenir id service (fonction max de sqlite ne marche pas bien...elle ne prend en compte que le premier chiffre. Ex: max(56,9)= 9... ) # 1.obtenir id service (fonction max de sqlite ne marche pas bien...elle ne prend en compte que le premier chiffre. Ex: max(56,9)= 9... )
connection.cur.execute("SELECT count(service.idSercice) FROM service;") connection.cur.execute("SELECT count(service.idSercice) FROM service;")
#entrée dans la base de donnée #entrée dans la base de donnée
indiceidSer= connection.cur.execute("SELECT count(service.idService) FROM service;") indiceidSer = connection.cur.execute("SELECT count(service.idService) FROM service;")
idService = int(''.join(map(str,indiceidSer))) +1 idService = int(''.join(map(str, indiceidSer))) + 1
#2. obtenir l'idClient: définir une variable globale lors de l'execution du "jeu" #2. obtenir l'idClient: définir une variable globale lors de l'execution du "jeu"
#3.Obtenir l'idVoiturier: en recherchant celui qui est disponible le jour en question #3.Obtenir l'idVoiturier: en recherchant celui qui est disponible le jour en question
jour= calendar.weekday(self.dateService._day, self.dateService._month, self.dateService._year) jour = calendar.weekday(self.dateService._day, self.dateService._month, self.dateService._year)
indiceVoiturier= connection.cur.execute("SELECT voiturier.idVoiturier FROM voiturier WHERE voiturier.joursDisponible = ?; ", (jour) ) indiceVoiturier = connection.cur.execute(
idVoiturier = int(''.join(map(str,indiceVoiturier ))) "SELECT voiturier.idVoiturier FROM voiturier WHERE voiturier.joursDisponible = ?; ", (jour))
connection.cur.execute("INSERT INTO service (idService,dateService,dateDemande,rapport,idClient,idVoiturier,idService, idVoiturier, categorie, etat) VALUES (?,?,?,?,?,?,?,?,?,?);",(idService, self.dateService, self.dateDemande, self.rapport, idClient, idVoiturier, idService, categorie, etat) ) idVoiturier = int(''.join(map(str, indiceVoiturier)))
connection.cur.execute(
"INSERT INTO service (idService,dateService,dateDemande,rapport,idClient,idVoiturier,idService, idVoiturier, categorie, etat) VALUES (?,?,?,?,?,?,?,?,?,?);",
(idService, self.dateService, self.dateDemande, self.rapport, idClient, idVoiturier, idService,
categorie, etat))
connection.seDeconnecter() connection.seDeconnecter()
return idService return idService
except Exception, e: except Exception as e:
print str(e) print
str(e)
pass pass