132 lines
6.1 KiB
Python
132 lines
6.1 KiB
Python
import traceback
|
|
|
|
from geruecht.exceptions import DatabaseExecption
|
|
|
|
|
|
class Base:
|
|
def getAllJobKinds(self):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute('select * from job_kind')
|
|
list = cursor.fetchall()
|
|
for item in list:
|
|
item['workgroup'] = self.getWorkgroup(item['workgroup']) if item['workgroup'] != None else None
|
|
return list
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def getJobKind(self, name):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
if type(name) == str:
|
|
sql = "select * from job_kind where name='{}'".format(name)
|
|
elif type(name) == int:
|
|
sql = 'select * from job_kind where id={}'.format(name)
|
|
else:
|
|
raise DatabaseExecption("name as no type int or str. name={}, type={}".format(name, type(name)))
|
|
cursor.execute(sql)
|
|
retVal = cursor.fetchone()
|
|
retVal['workgroup'] = self.getWorkgroup(retVal['workgroup']) if retVal['workgroup'] != None else None
|
|
return retVal
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def setJobKind(self, name, workgroup_id):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("insert into job_kind (name, workgroup) values ('{}', {})".format(name, workgroup_id if workgroup_id != None else 'NULL'))
|
|
self.db.connection.commit()
|
|
return self.getJobKind(name)
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def updateJobKind(self, jobkind):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("update job_kind set name='{}', workgroup={} where id={}".format(jobkind['name'], jobkind['workgroup']['id'] if jobkind['workgroup'] != None else 'NULL', jobkind['id']))
|
|
self.db.connection.commit()
|
|
return self.getJobKind(jobkind['id'])
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def deleteJobKind(self, jobkind):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("delete from job_kind where id={}".format(jobkind['id']))
|
|
self.db.connection.commit()
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def setJobKindDates(self, date, jobkind, maxpersons):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("insert into job_kind_dates (daydate, job_kind, maxpersons) values ('{}', {}, {})".format(date, jobkind['id'] if jobkind != None else 'NULL', maxpersons))
|
|
self.db.connection.commit()
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def updateJobKindDates(self, jobkindDate):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("update job_kind_dates set job_kind={}, maxpersons='{}' where id={}".format(jobkindDate['job_kind']['id'] if jobkindDate['job_kind'] != None else 'NULL', jobkindDate['maxpersons'], jobkindDate['id']))
|
|
self.db.connection.commit()
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
|
|
|
def getJobKindDates(self, date):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("select * from job_kind_dates where daydate='{}'".format(date))
|
|
list = cursor.fetchall()
|
|
for item in list:
|
|
item['job_kind'] = self.getJobKind(item['job_kind']) if item['job_kind'] != None else None
|
|
item['daydate'] = {'year': item['daydate'].year, 'month': item['daydate'].month, 'day': item['daydate'].day}
|
|
return list
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def getJobKindDate(self, date, job_kind):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("select * from job_kind_dates where daydate='{}' and job_kind={}".format(date, job_kind['id']))
|
|
item = cursor.fetchone()
|
|
if item:
|
|
item['job_kind'] = self.getJobKind(item['job_kind']) if item['job_kind'] != None else None
|
|
item['daydate'] = {'year': item['daydate'].year, 'month': item['daydate'].month, 'day': item['daydate'].day}
|
|
else:
|
|
item = {
|
|
'job_kind': self.getJobKind(1),
|
|
'daydate': {'year': date.year, 'month': date.month, 'day': date.day},
|
|
'maxpersons': 2
|
|
}
|
|
return item
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err))
|
|
|
|
def deleteJobKindDates(self, jobkinddates):
|
|
try:
|
|
cursor = self.db.connection.cursor()
|
|
cursor.execute("delete from job_kind_dates where id={}".format(jobkinddates['id']))
|
|
self.db.connection.commit()
|
|
except Exception as err:
|
|
traceback.print_exc()
|
|
self.db.connection.rollback()
|
|
raise DatabaseExecption("Something went worng with Databes: {}".format(err)) |