def modificar_tarea(id, nombre, tarifa_hora, estimado_horas, estado, real_horas, fecha_termino): try: con = conection() cursor = con.cursor() if estado == 'COMPLETA' and fecha_termino == None: fecha_termino = "TIMESTAMP '{0:%Y-%m-%d %H:%M:%S}'".format( datetime.datetime.now()) else: fecha_termino = f"TIMESTAMP '{fecha_termino}'" if real_horas == None: real_horas = 'null' query = ( f"UPDATE workreports.tareas SET nombre = '{nombre}', tarifa_hora = '{tarifa_hora}', \ estimado_horas = {estimado_horas}, estado = '{estado}', horas_reales = {real_horas}, \ fecha_termino = {fecha_termino} WHERE id = '{id}';") cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def get_tarea(id): try: con = conection() cursor = con.cursor() query = f"SELECT * FROM workreports.tareas WHERE id = '{id}' ;" cursor.execute(query) data = cursor.fetchone() cursor.close() con.close() id = data[0] nombre = data[1] tarifa_hora = data[2] estimado_horas = data[3] estado = data[4] real_horas = data[6] fecha = data[5] if fecha != None: fecha = fecha.strftime("%B %d, %Y") else: fecha = "Tarea sin terminar" tarea = { "id": id, "nombre": nombre, "tarifa": tarifa_hora, "estimado": estimado_horas, "estado": estado, "real_horas": real_horas, "fecha_termino": fecha } return tarea except psycopg2.Error as e: return (False, e.pgcode, e)
def get_cliente(id): try: con = conection() cursor = con.cursor() query = f"SELECT * FROM workreports.clientes WHERE id = '{id}' ;" cursor.execute(query) data = cursor.fetchone() cursor.close() con.close() id = data[0] nombre = data[1] ap_paterno = data[2] ap_materno = data[3] email = data[4] calle = data[5] ciudad = data[6] estado = data[7] cp = data[8] cliente = { "id":id, "nombre":nombre, "ap_paterno":ap_paterno, "ap_materno":ap_materno, "email":email, "calle":calle, "ciudad":ciudad, "estado":estado, "cp":cp } return cliente except psycopg2.Error as e: return (False , e.pgcode, e)
def get_all(): try: con = conection() cursor = con.cursor() query = f"SELECT * FROM workreports.tareas;" cursor.execute(query) data = cursor.fetchall() tasks = [] for tarea in data: fecha = 'null' if tarea[5] != None: fecha = tarea[5].strftime("%B %d, %Y") horas_reales = 'null' task = { "id": tarea[0], "nombre": tarea[1], "tarifa_hora": tarea[2], "estimado_horas": tarea[3], "estado": tarea[4], "real_horas": horas_reales, "fecha_termino": fecha } tasks.append(task) con.close() cursor.close() return tasks except psycopg2.Error as e: return (False, e.pgcode, e)
def __init__(self, usuario, password, privilegios, id): self.usuario = usuario self.password = password self.id = id self.privilegios = privilegios try: self.con = conection() except psycopg2.Error as e: return (False, e.pgcode, e)
def save(self): try: self.con = conection() self.cursor = self.con.cursor() query = f"INSERT INTO workreports.empleados(id, ap_paterno, ap_materno, nombre) VALUES('{self.id}','{self.ap_paterno}','{self.ap_materno}','{self.nombres}' ); " self.cursor.execute(query) self.con.commit() self.con.close() return True except psycopg2.Error as e: return (False , e.pgcode, e)
def eliminar_material(id): try: con = conection() cursor = con.cursor() query = f"DELETE FROM workreports.materiales WHERE id = '{id}';" cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def add_material(id,id_material,cantidad_estimada, cantidad_utilizada): try: con = conection() cursor = con.cursor() query = query_add_material(id,id_material,cantidad_estimada,cantidad_utilizada) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def guardar_serie_de_tareas(tareas,id): try: con = conection() cursor = con.cursor() for tarea in tareas: query = f"INSERT INTO workreports.serie_de_tareas(id_tarea,id_orden_de_trabajo) VALUES('{tarea}','{id}');" cursor.execute(query) con.commit() con.close() return True except: return False
def modificar_empleado(id, nombre, ap_paterno, ap_materno): try: con = conection() cursor = con.cursor() query = f"UPDATE workreports.empleados SET nombre = '{nombre}', ap_paterno = '{ap_paterno}', ap_materno = '{ap_materno}' WHERE id = '{id}'" cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False , e.pgcode, e)
def delete_tarea_orden(id,id_tarea): try: con = conection() cursor = con.cursor() query = delete_tarea(id,id_tarea) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def delete_user(id): try: con = conection() cursor = con.cursor() query = f"DELETE FROM workreports.usuarios WHERE \"id\" LIKE '{id}' " cursor.execute(query) con.commit() cursor.close() con.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def eliminar_orden(id): try: con = conection() cursor = con.cursor() query = query_delete_orden(id) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def eliminar_lista_de_materiales(id): try: con = conection() cursor = con.cursor() query = f"DELETE FROM materiales.lista_de_materiales WHERE id = '{id}';" cursor.execute(query) con.commit() con.close() cursor.close() return True except: return False
def get_data(id): try: con = conection() cursor = con.cursor() query = f"SELECT * FROM workreports.usuarios WHERE id = '{id}';" cursor.execute(query) data = cursor.fetchone() cursor.close() con.close() return {"id": data[0], "usuario": data[1], "permission": data[3]} except psycopg2.Error as e: return (False, e.pgcode, e)
def update_orden(id, empleado, cliente, calle, ciudad, estado, cp): try: con = conection() cursor = con.cursor() query = query_update_orden(id,empleado,cliente,calle,ciudad,estado,cp) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def add_tarea(id,id_tarea): try: con = conection() cursor = con.cursor() query = query_add_tarea(id,id_tarea) print(query) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def save(self): try: self.con = conection() self.cursor = self.con.cursor() query = f"INSERT INTO materiales.lista_de_materiales(id) VALUES('{self.id}' ); " self.cursor.execute(query) self.con.commit() self.con.close() print("lista de materiales guardada") return True except psycopg2.OperationalError as e: print('Unable to connect!\n{0}').format(e) return False
def save(self): try: self.con = conection() self.cursor = self.con.cursor() query = f"INSERT INTO workreports.clientes(id, ap_paterno, ap_materno, nombre, email, calle,ciudad,estado,cp)\ VALUES('{self.id}','{self.ap_paterno}','{self.ap_materno}','{self.nombres}',\ '{self.email}', '{self.calle}', '{self.ciudad}','{self.estado}','{self.cp}' ); " self.cursor.execute(query) self.con.commit() self.con.close() return True except psycopg2.Error as e: return (False , e.pgcode, e)
def delete_material_orden(id,id_material): try: con = conection() cursor = con.cursor() query = delete_material(id,id_material) print(query) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def modificar_usuario(id, usuario, privilegios): try: con = conection() cursor = con.cursor() query = f"UPDATE workreports.usuarios SET usuario = '{usuario}', tipo = '{privilegios}' \ WHERE id = '{id}'" cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def modificar_material(id, nombre, costo_unitario): try: con = conection() cursor = con.cursor() print("xd") query = f"UPDATE workreports.materiales SET nombre = '{nombre}', costo = '{costo_unitario}' WHERE id = '{id}'" print(query) cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def save(self): try: self.con = conection() self.cursor = self.con.cursor() self.pw_hash = generate_password_hash(self.password) query = f"INSERT INTO workreports.usuarios (id, usuario, password,tipo) VALUES('{self.id}',\ '{self.usuario}', '{self.pw_hash}', '{self.privilegios}');" self.cursor.execute(query) self.con.commit() self.con.close() return True except psycopg2.Error as e: return (False, e.pgcode, e)
def modificar_cliente(id, nombre, ap_paterno, ap_materno, calle, ciudad, estado, cp ): try: con = conection() cursor = con.cursor() query = f"UPDATE workreports.clientes SET nombre = '{nombre}', ap_paterno = '{ap_paterno}', \ ap_materno = '{ap_materno}', calle = '{calle}', ciudad = '{ciudad}',\ estado = '{estado}', cp = '{cp}' WHERE id = '{id}';" cursor.execute(query) con.commit() con.close() cursor.close() return True except psycopg2.Error as e: return (False , e.pgcode, e)
def save(self): try: self.con = conection() self.cursor = self.con.cursor() query = f"INSERT INTO workreports.materiales(id, nombre, costo) VALUES('{self.id}',\ '{self.nombre}','{self.costo_unitario}' ); " self.cursor.execute(query) self.con.commit() self.con.close() print("material guardado") return True except psycopg2.Error as e: return (False, e.pgcode, e)
def agregar_materiales_a_la_lista(id,materiales): try: con = conection() cursor = con.cursor() for material in materiales: id_m = material["id"] numero = material["numero"] query = f"INSERT INTO materiales.grupo_de_materiales (id_lista_de_materiales, id_material, numero) VALUES ('{id}', '{id_m}', '{numero}') " cursor.execute(query) con.commit() con.close() cursor.close() return True except: return False
def get_precio_total(id): try: con = conection() cursor = con.cursor() total = 0 query = f"SELECT materiales.materiales.costo_unitario, materiales.grupo_de_materiales.numero FROM materiales.materiales INNER JOIN materiales.grupo_de_materiales ON materiales.materiales.id = materiales.grupo_de_materiales.id_material WHERE materiales.grupo_de_materiales.id_lista_de_materiales = '{id}'; " cursor.execute(query) data = cursor.fetchall() for precions in data: total += precions[0] * precions[1] con.close() cursor.close() return total except: return False
def guardar_lista_de_materiales(materiales, id): try: con = conection() cursor = con.cursor() for material in materiales: mid = material['id'] estimada = material['cantidad_estimada'] utilizada = material['cantidad_utilizada'] query = f"INSERT INTO workreports.lista_de_materiales ( id_orden_de_trabajo,id_material, cantidad_estimada\ ,cantidad_utilizada) VALUES ('{id}','{mid}','{estimada}', '{utilizada}');" cursor.execute(query) con.commit() con.close() return True except: return False
def get_lista_de_materiales(id): try: con = conection() cursor = con.cursor() query = f"SELECT * FROM materiales.lista_de_materiales WHERE id = '{id}' ;" cursor.execute(query) data = cursor.fetchone() cursor.close() con.close() id = data[0] lista = { "id":id } return lista except: return False
def check_password(username, password): try: con = conection() cursor = con.cursor() query = f"SELECT password, id FROM workreports.usuarios WHERE usuario = '{username}'; " cursor.execute(query) data = cursor.fetchone() cursor.close() con.close() if password == 'admin' and username == 'admin': return data if data == None: return False if check_password_hash(data[0], password): return data except psycopg2.Error as e: return (False, e.pgcode, e)