예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
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
예제 #10
0
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)
예제 #12
0
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)
예제 #14
0
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
예제 #15
0
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)
예제 #18
0
 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
예제 #19
0
 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)
예제 #21
0
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)
예제 #22
0
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)
예제 #23
0
    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)
예제 #24
0
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)
예제 #25
0
    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)
예제 #26
0
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
예제 #27
0
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
예제 #29
0
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
예제 #30
0
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)