Exemplo n.º 1
0
class Contacto:
    def __init__(self):
        self.id = 0
        self.fullname = ""
        self.phone = ""
        self.mail = ""
        self.db = DBConn()

    def nuevo_contacto(self):
        query = 'INSERT INTO contacts (fullname, phone, email) VALUES (%s, %s, %s)'
        valores = (self.fullname, self.phone, self.email))
        self.db.ejecutar(query, valores)
    
    def elimina_contacto(self):
        query = 'DELETE FROM contacts WHERE id= %s'
        valores = (self.id)
        self.db.ejecutar(query, valores)

    def modifica_contacto(self):
        query = 'UPDATE contacts SET fullname = %s, phone = %s, email = %s WHERE id = %s'
        valores = (self.fullname, self.phone, self.mail, self.id)
        self.db.ejecutar(query, valores)

    def leer_contactos(self):
        query = 'SELECT * FROM contacts'
        self.db.ejecutar(query)

    def leer_contacto(self):
        query = 'SELECT * FROM contacts WHERE id= %s'
        valores = (self.id)
        self.db.ejecutar(query, valores)        
 def __init__(self):
     self.cam_anio = 0  # 4 digitos
     self.cam_num = 0  # 4 digitos
     self.numero = 0  # 4 digitos
     self.fecha = ''
     self.comentario = ''
     self.db = DBConn()
 def __init__(self):
     self.ecam_anio = 0
     self.ecam_num = 0
     self.env_num = 0
     self.env_fecha = "0000-00-00"
     self.env_monto = 0.0
     self.db = DBConn()
class ModeloEnvios:
    def __init__(self):
        self.ecam_anio = 0
        self.ecam_num = 0
        self.env_num = 0
        self.env_fecha = "0000-00-00"
        self.env_monto = 0.0
        self.db = DBConn()

    def create(self):
        query = "CALL agregarEnvio(%s, %s, %s, %s, %s)"
        values = (self.ecam_anio, self.ecam_num, self.env_num, self.env_fecha,
                  self.env_monto)
        return self.db.ejecutar(query, values)

    def update(self):
        query = "CALL modificarEnvio(%s, %s, %s, %s, %s)"
        values = (self.ecam_anio, self.ecam_num, self.env_num, self.env_fecha,
                  self.env_monto)
        return self.db.ejecutar(query, values)

    def delete(self):
        query = "CALL eliminarEnvio(%s, %s, %s)"
        values = (self.ecam_anio, self.ecam_num, self.env_num)
        return self.db.ejecutar(query, values)

    def read_all(self):
        query = "SELECT * FROM envios WHERE ecam_anio = %s AND ecam_num = %s"
        values = (self.ecam_anio, self.ecam_num)
        return self.db.ejecutar(query, values)

    def last_deposit(self):
        query = "SELECT ultimoDeposito(%s, %s);"
        values = (self.ecam_anio, self.ecam_num)
        return self.db.ejecutar(query, values)[0][0]
def main():
    local_tz = time.timezone / (60 * 60)
    current_hour = (datetime.now().hour + (7 + local_tz)) % 24  # to GMT +7
    if 0 < current_hour < 5:
        print 'too late to tweet'
        return
    api = setup_api(consumer_key, consumer_secret, access_key, access_secret)

    dbconn = DBConn()
    post_table = 'tw'
    id_column = 'id'
    name_column = 'tweet'
    q_num_post = 'SELECT COUNT(*) FROM ' + post_table #calculate the total of rows data in the table
    num_post = dbconn.read(q_num_post)
    numb_post = num_post[0][0]
    #print num_post[0][0]

    query = 'SELECT ' + id_column + ',' + name_column + ' FROM ' + post_table #query for selecting the data tweet in the table
    a = dbconn.read(query)
    rand_number = randint(0, numb_post) #generate random number for randoming the data
    id_status = str(a[rand_number][0])
    status = str(a[rand_number][1])
    print id_status, status
    api.update_status(status) #for update status (tweet)
    query_delete = 'DELETE FROM ' + post_table + ' WHERE ' + id_column + ' = ' + id_status #query for deleting the data tweet in the table after updated
    ex = dbconn.delete(query_delete)
    print ex
Exemplo n.º 6
0
 def __init__(self):
     self.idpersona = ''
     self.nombre = ''
     self.apellido = ''
     self.dni = 0
     self.fecha_nacimiento = ''
     self.db = DBConn()
 def __init__(self):
     self.icam_anio = 0
     self.icam_num = 0
     self.i_numero = 0
     self.i_fecha = ""
     self.i_monto = 0.0
     self.i_concepto = ""
     self.db = DBConn()
Exemplo n.º 8
0
 def __init__(self):
     self.dni = ''
     self.nombre = ''
     self.apellidos = ''
     self.genero = ''
     self.direccion = ''
     self.fNacimiento = ''
     self.codPostal = ''
     self.db = DBConn()
Exemplo n.º 9
0
 def __init__(self):
     self.anio = 0  #hasta 4 digitos
     self.num = 0  #hasta 4 digitos
     self.cli_codigo = ''
     self.inicio = ''  #fecha
     self.fin = ''  #fecha
     self.comentario = ''  #hasta 700 caracteres
     self.usuario = 0
     self.db = DBConn()
 def __init__(self):
     self.mcam_anio = 0
     self.mcam_num = 0
     self.mcaj_numero = 0
     self.mov_numero = 0
     self.mov_monto = 0.0
     self.mov_tipo = 0  #1:ingresos varios; 2:egresos varios
     self.mov_comentario = ""
     self.db = DBConn()
    def __init__(self):
        self.mcam_anio = 0
        self.mcam_num = 0
        self.mcaj_numero = 0
        self.mcli_codigo = ""
        self.movcli_monto = 0.0
        self.movcli_entregado = 0
        self.movcli_forma_pago = 0
        self.movcli_diferencia = 0.0

        self.db = DBConn()
 def __init__(self):
     self.cam_anio = 0
     self.cam_num = 0
     self.lis_numero = 0
     self.cli_codigo = ''
     self.deuda = 0.0
     self.cant = 0  # De 0 a 99
     self.camp = ""
     self.entregado = '0000/00/00'  #0000/00/00: No entregado
     self.forma_pago = 0  #0: No pagado; 1:Efectivo; 2:Boleta; 3:Oficina
     self.medio_entr = 0  #0; 1:Caja; 2:Envio
     self.rebote = "#$NINGUNO$#"
     self.db = DBConn()
Exemplo n.º 13
0
def get_link():
    dbconn = DBConn()
    post_table = 'qa_posts'
    post_id_column = 'postid'
    title_column = 'title'
    num_post = 10

    query = 'SELECT ' + post_id_column + ', ' + title_column + ' FROM ' + \
            post_table + ' WHERE ' + title_column + ' is not null ORDER BY ' + \
            post_id_column + ' DESC LIMIT ' + str(num_post)
    a = dbconn.read(query)
    rand_number = randint(0, num_post)
    return str(a[rand_number][1]) + ' | Silahkan baca di ' + create_link(a[rand_number][0])
Exemplo n.º 14
0
 def __init__(self):
     self.anio = 0  #hasta 4 digitos
     self.num = 0  #hasta 4 digitos
     self.cli_codigo = ''
     self.inicio = ''  #fecha
     self.ini_reparto = ''  # fecha de inicio de reparto
     self.fin_reparto = ''  # fecha de fin de reparto
     self.base = 0.00  # base de distribucion
     self.parametro = 0.00  # distribucion = (pedidos a cobrar) x parametro + base
     self.diferencia = 0.00  # monto de diferencia con campania anterior
     self.fin = ''  #fecha
     self.comentario = ''  #hasta 700 caracteres
     self.usuario = 0
     self.db = DBConn()
	def __init__(self):
		self.codigo = ""
		self.apenom = ""
		self.zona = ""
		self.domicilio = ""
		self.telefonos = ""
		self.barrio = ""
		self.localidad = ""
		self.seccion = ""
		self.descripcion = ""
		self.referencia = 0 # 0: Sale a reparto; 1: R/D; 2: N/S 
		self.crut_id = 0
		self.orden = 0
		self.estado = 0
		self.alta = ""
		self.baja = ""
		
		self.db = DBConn()
 def __init__(self, ID=None, nombre='' , director='' , genero ='', anio='', descripcion =''):
     self.nombre = nombre
     self.director = director
     self.genero = genero
     self.anio = anio
     self.descripcion = descripcion
     self.db = DBConn()
     if ID is None:
         self.ID = self.getPeliculaID()
     else:
         self.ID = ID
class Pelicula:

    def __init__(self, ID=None, nombre='' , director='' , genero ='', anio='', descripcion =''):
        self.nombre = nombre
        self.director = director
        self.genero = genero
        self.anio = anio
        self.descripcion = descripcion
        self.db = DBConn()
        if ID is None:
            self.ID = self.getPeliculaID()
        else:
            self.ID = ID

    def getPeliculaID(self):
        """ Obtener el ID del registro de la BD si existe """
        query = "SELECT ID FROM Peliculas WHERE Nombre = %s and Director = %s and Genero = %s and Anio = %s AND Descripcion = %s"
        values = (self.nombre, self.director, self.genero, self.anio, self.descripcion)
        resultado =  self.db.ejecutar(query, values)
        if resultado:
            return resultado[0][0]
        else:
	    return None
        
    def create(self):
        """Insertar un nuevo registro"""
        if self.ID is None:
            query = "INSERT INTO Peliculas (Nombre, Director, Genero, Anio, Descripcion) VALUES (%s, %s, %s, %s, %s)"
            values = (self.nombre, self.director, self.genero, self.anio, self.descripcion)
            self.db.ejecutar(query, values)
            # asignar un ID al objeto
            self.ID = self.getPeliculaID()
            
    def update(self):
        """Actualizar un registro existente"""
        query = "UPDATE Peliculas SET Nombre = %s, Director = %s, Genero = %s, Anio= %s, Descripcion= %s WHERE ID = %s"
        values = (self.nombre, self.director, self.genero, self.anio, self.descripcion, self.ID)
        return self.db.ejecutar(query, values)

    def read(self):
        """ Leer uno o varios registros """
        query = "SELECT * FROM Peliculas WHERE Nombre LIKE %s AND Director LIKE %s AND Genero LIKE %s AND Anio LIKE %s"
        values = ('%'+self.nombre+'%', '%'+self.director+'%', '%'+self.genero+'%', '%'+self.anio+'%')
        return self.db.ejecutar(query, values)

    def delete(self):
        """Elimina uno de los registros"""
        query = "DELETE FROM Peliculas WHERE ID = %s"
        values = self.ID
        return self.db.ejecutar(query, values)

    def read_all(self):
        """Leer todos los registros"""
        query = "SELECT * FROM Peliculas WHERE 1"
        return self.db.ejecutar(query)
Exemplo n.º 18
0
class Pais:

    def __init__(self):
        self.idpersona = 0
        self.nombre = ''
        self.apellido = ''
        self.db = DBConn()

    def create(self):
        """Crear un nuevo registro"""
        query = "INSERT INTO persona (idpersona, nombre, apellido) VALUES (null, %s, %s)"
        values = (self.nombre, self.apellido)
        self.db.ejecutar(query, values)

    def update(self):
        """Actualizar un registro existente"""
        query = "UPDATE paises SET pais = %s, abbr = %s WHERE id = %s"
        values = (self.pais, self.abbr, self.id)
        return self.db.ejecutar(query, values)

    def read_all(self):
        """Leer todos los registros"""
        query = "SELECT id, pais, abbr FROM paises"
        return self.db.ejecutar(query)

    def read(self):
        query = "SELECT id, pais, abbr FROM paises WHERE id = %d"
        values = (self.id)
        return self.db.ejecutar(query, values)

    def delete(self):
        """Elimina uno o todos los registros"""
        query = "DELETE FROM paises WHERE id = %s"
        values = self.id
        return self.db.ejecutar(query, values)
Exemplo n.º 19
0
class iniciarSesion(wx.Panel):
    def imagenes(self, imagen, x, y):
        # pick a .jpg file you have in the working folder
        imageFile = imagen
        data = open(imageFile, "rb").read()
        # convert to a data stream
        stream = cStringIO.StringIO(data)
        # convert to a bitmap
        bmp = wx.BitmapFromImage(wx.ImageFromStream(stream))
        # show the bitmap, (5, 5) are upper left corner coordinates
        wx.StaticBitmap(self, -1, bmp, (x, y))

    def LogIn(self, event):
        self.db_user = self.USER.GetValue()
        self.db_pass = self.PASSWORD.GetValue()
        self.db_host = "localhost"
        self.db_name = "sistema_alumno"
        self.db = DBConn(self.db_host, self.db_user, self.db_pass, self.db_name)
        # Conectando al servidor y base de datos localhost

        # Intentamos conectarnos con el servidor

        try:

            conector = self.db.conectar()
            VentanaMenu(self.db_user, self.db_pass)
            self.db_user = self.USER.SetValue("")
            self.db_pass = self.PASSWORD.SetValue("")
        except:

            wx.MessageBox("\nNo se ha podido establecer coneccion con el servidor.\n")
            self.db_user = self.USER.SetValue("")
            self.db_pass = self.PASSWORD.SetValue("")

    def __init__(self, parent, id):
        # cracion del panel
        wx.Panel.__init__(self, parent, id)

        # label y texbox de usuario
        self.USER = wx.StaticText(self, -1, "USUARIO", pos=(60, 90))
        self.USER = wx.TextCtrl(self, -1, "", pos=(180, 90), size=(100, 20))
        self.USER.SetBackgroundColour("white")

        # label y textbox de contrasena
        self.PASSWORD = wx.StaticText(self, -1, "CONTRASEÑA", pos=(60, 120))
        self.PASSWORD = wx.TextCtrl(self, -1, "", style=wx.TE_PASSWORD, pos=(180, 120), size=(100, 20))
        self.PASSWORD.SetBackgroundColour("white")

        # Boton De LOGIN
        Login = wx.Button(self, -1, "LOGIN", pos=(165, 200), size=(100, 50))
        self.Bind(wx.EVT_BUTTON, self.LogIn, id=Login.GetId())
Exemplo n.º 20
0
def main():
    local_tz = time.timezone / (60 * 60)
    #autotweet at the working time (indonesia)
    current_hour = (datetime.now().hour + (7 + local_tz)) % 24  # to GMT +7
    if 0 < current_hour < 5:
        print 'too late to tweet'
        return
    api = setup_api(consumer_key, consumer_secret, access_key, access_secret)

    dbconn = DBConn()
    post_table = 'tw' #name of table 
    name_column = 'tweet' #name of column
    q_num_post = 'SELECT COUNT(*) FROM ' + post_table #count the rows of data
    num_post = dbconn.read(q_num_post)
    numb_post =num_post[0][0] #get value from count of rows data
    #print num_post[0][0]

    #query for select tweets
    query = 'SELECT ' + name_column + ' FROM ' + post_table
    a = dbconn.read(query)
    rand_number = randint(0, numb_post)

    api.update_status(str(a[rand_number][0]))
Exemplo n.º 21
0
def load_items(start=0, num=-1):

    if num == -1:
        num = int(1e8)
    LOAD_SQL = "SELECT domain FROM {TABLE_NAME} " \
               "WHERE {constraint} LIMIT {START},{LIMIT}" \
               "".format(TABLE_NAME=LOAD_SQL_TABLE,constraint="result_flag is null",START=start,LIMIT=num)  # sql语句导出数据
    db = DBConn()
    db.get_mysql_conns(num=1)
    db.exec_sql(LOAD_SQL)
    result = db.mysql_cur.fetchall()
    items = [item[0] for item in result]
    db.close_mysql_conns()
    print "load %s items" % len(items)

    return items
class ModeloGastosVarios:
    def __init__(self):
        self.icam_anio = 0
        self.icam_num = 0
        self.i_numero = 0
        self.i_fecha = ""
        self.i_monto = 0.0
        self.i_concepto = ""
        self.db = DBConn()

    def create(self):
        query = "Call agregarImprevisto(%s, %s, %s, %s, %s, %s)"
        values = (self.icam_anio, self.icam_num, self.i_numero, self.i_fecha,
                  self.i_monto, self.i_concepto)
        return self.db.ejecutar(query, values)

    def update(self):
        query = "Call modificarImprevisto(%s, %s, %s, %s, %s, %s)"
        values = (self.icam_anio, self.icam_num, self.i_numero, self.i_fecha,
                  self.i_monto, self.i_concepto)
        return self.db.ejecutar(query, values)

    def delete(self):
        query = "Call eliminarImprevisto(%s, %s, %s)"
        values = (self.icam_anio, self.icam_num, self.i_numero)
        return self.db.ejecutar(query, values)

    def read_all(self):
        query = "SELECT * FROM imprevistos WHERE icam_anio = %s AND icam_num = %s;"
        values = (self.icam_anio, self.icam_num)
        return self.db.ejecutar(query, values)

    def last_spending(self):
        query = "SELECT ultimoImprevisto(%s, %s)"
        values = (self.icam_anio, self.icam_num)
        return self.db.ejecutar(query, values)[0][0]
class ModeloHistoriales:
    def __init__(self):
        self.db = DBConn()

    def get_history_costumer_c(self, codigo, anio_ini, num_ini, anio_fin,
                               num_fin):
        'Retorna una tabla con el historial de un clientes en un periodo dado.'
        query = "SELECT cam_anio, cam_num, art_deuda, art_entregado, art_efectivo, art_boleta\
				FROM campanias\
				INNER JOIN articulos ON acam_anio = cam_anio AND acam_num = cam_num\
				INNER JOIN clientes ON acli_codigo = cli_codigo\
				WHERE cli_codigo = %s AND cam_anio BETWEEN %s AND %s \
				AND cam_num BETWEEN %s AND %s;"

        values = (codigo, anio_ini, anio_fin, num_ini, num_fin)
        return self.db.ejecutar(query, values)
class ModeloListados:
    def __init__(self):
        self.cam_anio = 0  # 4 digitos
        self.cam_num = 0  # 4 digitos
        self.numero = 0  # 4 digitos
        self.fecha = ''
        self.comentario = ''
        self.db = DBConn()

    def create(self):
        query = "CALL agregarListado(%s, %s, %s, %s, %s)"
        values = (self.cam_anio, self.cam_num, self.numero, self.fecha,
                  self.comentario)
        return self.db.ejecutar(query, values)

    def update(self):
        query = "CALL actualizarListado(%s, %s, %s, %s)"
        values = (self.cam_anio, self.cam_num, self.numero, self.comentario)
        return self.db.ejecutar(query, values)

    def delete(self):
        query = "CALL eliminarListado(%s, %s, %s)"
        values = (self.cam_anio, self.cam_num, self.numero)
        return self.db.ejecutar(query, values)

    def read(self):
        query = "SELECT * FROM listados WHERE lcam_anio = %s AND lcam_num = %s AND lis_numero = %s"
        values = (self.cam_anio, self.cam_num, self.numero)
        tabla = self.db.ejecutar(query, values)
        if tabla:
            listado = {
                'numero': tabla[0][2],
                'fecha': self.date_format(tabla[0][3]),
                'comentario': tabla[0][4]
            }
        else:
            listado = None
        return listado

    def read_all(self):
        query = "SELECT * FROM listados WHERE lcam_anio = %s AND lcam_num = %s"
        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def count_list(self):
        query = 'SELECT cantidadListados(%s, %s)'
        values = (self.cam_anio, self.cam_num)
        cant = self.db.ejecutar(query, values)
        return cant[0][0]

    def date_format(self, s):
        s = str(s)
        l = s.split("-")
        l[0], l[2] = l[2], l[0]
        return "-".join(l)
Exemplo n.º 25
0
class ModeloTiposUsuario:
    def __init__(self):
        self.tipo = ""
        self.descripcion = ""
        self.estado = 1
        self.db = DBConn()

    def read(self):
        query = "SELECT * FROM tipos_usuario WHERE tusu_tipo = %s AND tusu_estado = 1"
        value = (self.tipo)
        dato = self.db.ejecutar(query, value)
        resp = {
            'tipo': dato[0][0],
            'descripcion': dato[0][1],
            'estado': dato[0][2]
        }
        return resp
Exemplo n.º 26
0
def task(process_id, share_q):

    print 'Run task %s (%s)...' % (process_id, os.getpid())
    UPDATE_SQL = "UPDATE {TABLE_NAME} SET result_flag=%s,illegal_type=%s WHERE domain=%s".format(
        TABLE_NAME=UPDATE_SQL_TABLE)
    start = time.time()
    db = DBConn()
    db.get_mysql_conns(num=1)
    dt = DetectionTools('tencent')
    count = 0
    while (isinstance(share_q, list)
           and len(share_q)) or (hasattr(share_q, 'empty')
                                 and not share_q.empty()):
        count += 1
        if isinstance(share_q, list):
            item = share_q.pop(0)
        else:
            item = share_q.get()
        domain = item
        print "{0}:{1}".format(count, domain)
        result = dt.main(domain)
        if result == "未知".decode("utf8"):
            is_illegal = -1
        elif result == "安全".decode("utf8"):
            is_illegal = 0
        else:
            is_illegal = 1
        print "this domain is a %s website" % result
        db.exec_sql(UPDATE_SQL, data=(is_illegal, result, domain))
        print count
        if count % 10 == 0:
            print "commit %d records" % count
            db.mysql_conn.commit()
    print "commit %d records" % count
    db.mysql_conn.commit()
    db.close_mysql_conns()
    dt.destory_driver()
    del dt, db
    end = time.time()
    print 'Task %s runs %0.2f seconds.' % (process_id, (end - start))
Exemplo n.º 27
0
class Persona:
    def __init__(self):
        self.idpersona = ''
        self.nombre = ''
        self.apellido = ''
        self.dni = 0
        self.fecha_nacimiento = ''
        self.db = DBConn()

    def create(self):
        """Crear un nuevo registro"""
        query = "INSERT INTO persona (idpersona, nombre, apellido, dni) VALUES (null, %s, %s, %s)"
        values = (self.nombre, self.apellido, self.dni)
        self.db.ejecutar(query, values)

    def update(self):
        """Actualizar un registro existente"""
        query = "UPDATE persona SET nombre = %s, apellido = %s, dni = %s WHERE idpersona = %s"
        values = (self.nombre, self.apellido, self.dni, self.idpersona)
        return self.db.ejecutar(query, values)

    def read_all(self):
        """Leer todos los registros"""
        query = "SELECT idpersona, nombre , apellido , dni FROM persona"
        return self.db.ejecutar(query)

    def read(self):
        query = "SELECT idpersona, nombre, apellido, dni FROM persona WHERE idpersona = %s"
        values = (self.idpersona)
        return self.db.ejecutar(query, values)

    def delete_roto(self):
        """Elimina uno o todos los registros"""
        query = "DELETE FROM persona WHERE idpersona = %d"
        values = int(self.idpersona)
        return self.db.ejecutar(query, values)

    def delete(self):
        """Elimina uno o todos los registros"""
        query = 'DELETE FROM persona WHERE idpersona = ' + str(self.idpersona)
        #values = self.idpersona
        #return self.db.ejecutar(query, values)
        return self.db.ejecutar(query)
Exemplo n.º 28
0
    def LogIn(self, event):
        self.db_user = self.USER.GetValue()
        self.db_pass = self.PASSWORD.GetValue()
        self.db_host = "localhost"
        self.db_name = "sistema_alumno"
        self.db = DBConn(self.db_host, self.db_user, self.db_pass, self.db_name)
        # Conectando al servidor y base de datos localhost

        # Intentamos conectarnos con el servidor

        try:

            conector = self.db.conectar()
            VentanaMenu(self.db_user, self.db_pass)
            self.db_user = self.USER.SetValue("")
            self.db_pass = self.PASSWORD.SetValue("")
        except:

            wx.MessageBox("\nNo se ha podido establecer coneccion con el servidor.\n")
            self.db_user = self.USER.SetValue("")
            self.db_pass = self.PASSWORD.SetValue("")
Exemplo n.º 29
0
class Cliente:
    def __init__(self):
        self.dni = ''
        self.nombre = ''
        self.apellidos = ''
        self.genero = ''
        self.direccion = ''
        self.fNacimiento = ''
        self.codPostal = ''
        self.db = DBConn()

    ##OK##
    def create(self):
        """Crear un nuevo registro"""
        query = "INSERT INTO Clientes (DNI, Nombre, Apellidos, Género, Dirección, FNacimiento, CódigoPostal) VALUES (%s, %s, %s, %s, %s, %s, %s)"
        values = (self.dni, self.nombre, self.apellidos, self.genero,
                  self.direccion, self.fNacimiento, self.codPostal)
        self.db.ejecutar(query, values)

    def update(self):
        """Actualizar un registro existente"""
        query = "UPDATE Clientes SET Nombre = %s, Apellidos = %s, Género = %s, Dirección = %s, FNacimiento = %s, CódigoPostal = %s WHERE DNI = %s"
        values = (self.nombre, self.apellidos, self.genero, self.direccion,
                  self.fNacimiento, self.codPostal, self.dni)
        return self.db.ejecutar(query, values)

    def read_all(self):
        """Leer todos los registros"""
        query = "SELECT DNI, Nombre, Apellidos, Género, Dirección, FNacimiento, CódigoPostal FROM Clientes"
        return self.db.ejecutar(query)

    def read(self):
        query = "SELECT DNI"
        values = (self.dni)
        return self.db.ejecutar(query, values)

    def delete(self):
        """Elimina uno o todos los registros"""
        query = "DELETE FROM Clientes WHERE DNI = %s"
        values = self.dni
        return self.db.ejecutar(query, values)
class ModeloClientes:

	def __init__(self):
		self.codigo = ""
		self.apenom = ""
		self.zona = ""
		self.domicilio = ""
		self.telefonos = ""
		self.barrio = ""
		self.localidad = ""
		self.seccion = ""
		self.descripcion = ""
		self.referencia = 0 # 0: Sale a reparto; 1: R/D; 2: N/S 
		self.crut_id = 0
		self.orden = 0
		self.estado = 0
		self.alta = ""
		self.baja = ""
		
		self.db = DBConn()

	def __str__(self):
		return str((self.codigo, self.apenom, self.domicilio, self.barrio, self.localidad, self.crut_id, self.orden))

	def initialize(self):
		self.codigo = ""
		self.apenom = ""
		self.zona = ""
		self.domicilio = ""
		self.barrio = ""
		self.localidad = ""
		self.seccion = ""
		self.descripcion = ""
		self.telefonos = ""

	def create(self):
		query = "CALL insertarCliente(%s, %s, %s, %s, %s, %s, %s, %s, %s);"
		values = (self.codigo, self.apenom, self.domicilio, self.telefonos, self.barrio, self.localidad, self.seccion, self.zona, self.descripcion)
		return self.db.ejecutar(query, values)

	def create_short(self):
		query = "CALL insertarCliente2(%s)"
		values = (self.codigo)
		return self.db.ejecutar(query, values)

	def delete(self):
		query = "CALL eliminarCliente(%s)"
		values = (self.codigo)
		return self.db.ejecutar(query, values)

	def update(self):
		query = "CALL actualizarCliente(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
		values = (self.codigo, self.apenom, self.domicilio, self.telefonos, self.barrio, self.localidad, self.seccion, self.zona, self.descripcion, self.referencia, self.crut_id, self.orden)
		return self.db.ejecutar(query, values)

	def new_update(self):
		if self.apenom:
			query = "UPDATE clientes SET cli_apenom=%s WHERE cli_codigo=%s;" % (self.apenom, self.codigo)
			self.db.ejecutar(query)

		if self.domicilio:
			query = "UPDATE clientes SET cli_domicilio=%s WHERE cli_codigo=%s;" % (self.domicilio, self.codigo)
			self.db.ejecutar(query)

		if self.telefonos:
			query = "UPDATE clientes SET cli_telefono=%s WHERE cli_codigo=%s;" % (self.telefonos, self.codigo)
			self.db.ejecutar(query)

		if self.barrio:
			query = "UPDATE clientes SET cli_barrio=%s WHERE cli_codigo=%s;" % (self.barrio, self.codigo)
			self.db.ejecutar(query)

		if self.localidad:
			query = "UPDATE clientes SET cli_localidad=%s WHERE cli_codigo=%s;" 
			values = (self.localidad, self.codigo)
			self.db.ejecutar(query, values)

		if self.seccion:
			query = "UPDATE clientes SET cli_seccion=%s WHERE cli_codigo=%s;" % (self.seccion, self.codigo)
			self.db.ejecutar(query)

		if self.zona:
			query = "UPDATE clientes SET cli_zona=%s WHERE cli_codigo=%s;" % (self.zona, self.codigo)
			self.db.ejecutar(query)

		if self.descripcion:
			query = "UPDATE clientes SET cli_descripcion=%s WHERE cli_codigo=%s;" % (self.descripcion, self.codigo)
			self.db.ejecutar(query)

		if self.referencia:
			query = "UPDATE clientes SET cli_referencia=%s WHERE cli_codigo=%s;" % (self.referencia, self.codigo)
			self.db.ejecutar(query)


	def read_all_for_code(self):
		query = "SELECT cli_codigo, cli_apenom, cli_domicilio FROM clientes WHERE cli_estado = 1 AND cli_codigo LIKE %s"
		value = (self.codigo+"%")
		return self.db.ejecutar(query, value)

	def read_all_for_name(self):
		query = "SELECT cli_codigo, cli_apenom, cli_domicilio FROM clientes WHERE cli_estado = 1 AND (SELECT locate(%s, cli_apenom))<>0"
		value = (self.apenom)
		return self.db.ejecutar(query, value)

	def read(self):
		query = "SELECT cli_codigo, cli_apenom, cli_zona, cli_domicilio, cli_telefono, cli_barrio, cli_localidad, cli_seccion, cli_descripcion, cli_referencia, crut_id, cli_orden, cli_estado, cli_alta, cli_baja\
				FROM clientes\
				WHERE cli_codigo = %s"
		values = (self.codigo)
		tabla = self.db.ejecutar(query, values)
		resultado = {'codigo': tabla[0][0],
					'nombre': tabla[0][1], 
					'zona': tabla[0][2], 
					'domicilio': tabla[0][3],
					'telefonos': tabla[0][4], 
					'barrio': tabla[0][5],
					'localidad': tabla[0][6],
					'seccion': tabla[0][7],
					'descripcion': tabla[0][8],
					'referencia': tabla[0][9],
					'ruta_id': tabla[0][10],
					'orden': tabla[0][11],
					'estado': tabla[0][12],
					'alta': tabla[0][13],
					'baja': tabla[0][14]}
		return resultado

	def read_with_ruta(self):
		query = "SELECT cli_codigo, cli_apenom, cli_zona, cli_domicilio, cli_telefono, cli_barrio, cli_localidad, cli_seccion, cli_descripcion, cli_referencia, crut_id, rut_nombre, cli_orden, cli_estado, cli_alta, cli_baja\
				FROM clientes INNER JOIN rutas ON crut_id = rut_id\
				WHERE cli_codigo = %s"
		values = (self.codigo)
		tabla = self.db.ejecutar(query, values)
		resultado = {'codigo': tabla[0][0],
					'nombre': tabla[0][1], 
					'zona': tabla[0][2], 
					'domicilio': tabla[0][3],
					'telefonos': tabla[0][4], 
					'barrio': tabla[0][5],
					'localidad': tabla[0][6],
					'seccion': tabla[0][7],
					'descripcion': tabla[0][8],
					'referencia': tabla[0][9],
					'ruta_id': tabla[0][10],
					'ruta_nombre': tabla[0][11],
					'orden': tabla[0][12],
					'estado': tabla[0][13],
					'alta': tabla[0][14],
					'baja': tabla[0][15]}
		return resultado


	def exist(self):
		query = "SELECT existeCliente(%s)"
		value = (self.codigo)
		return self.db.ejecutar(query, value)[0][0] == 1

	def actualizar_orden(self):
		query = 'UPDATE Clientes SET cli_orden = %s WHERE cli_codigo = %s;'
		values = (self.orden, self.codigo)
		return self.db.ejecutar(query, values)
 def __init__(self):
     self.db = DBConn()
class ModeloArticulos:
    def __init__(self):
        self.cam_anio = 0
        self.cam_num = 0
        self.lis_numero = 0
        self.cli_codigo = ''
        self.deuda = 0.0
        self.cant = 0  # De 0 a 99
        self.camp = ""
        self.entregado = '0000/00/00'  #0000/00/00: No entregado
        self.forma_pago = 0  #0: No pagado; 1:Efectivo; 2:Boleta; 3:Oficina
        self.medio_entr = 0  #0; 1:Caja; 2:Envio
        self.rebote = "#$NINGUNO$#"
        self.db = DBConn()

    def create(self):
        'Registra una nuevo articulo en la tabla Articulos.'
        query = "CALL agregarArticulo(%s, %s, %s, %s, %s, %s);"
        values = (self.cam_anio, self.cam_num, self.lis_numero,
                  self.cli_codigo, self.deuda, self.camp)
        return self.db.ejecutar(query, values)

    def update(self):
        'Modifica un articulo de la tabla Articulos.'
        query = "Call actualizarArticulo(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);"
        values = (self.cam_anio, self.cam_num, self.lis_numero,
                  self.cli_codigo, self.deuda, self.camp, self.entregado,
                  self.forma_pago, self.medio_entr, self.rebote)
        return self.db.ejecutar(query, values)

    def updateStock(self):
        query = "CALL actualizarStock(%s, %s, %s, %s);"
        values = (self.cam_anio, self.cam_num, self.cli_codigo, self.cant)
        return self.db.ejecutar(query, values)

    def exist(self):
        query = "SELECT COUNT(*) FROM articulos WHERE acam_anio = %s AND acam_num = %s AND acli_codigo = %s;"
        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        return self.db.ejecutar(query, values)[0][0] != 0

    def read(self):
        """Retorna un registro de articulo."""
        query = "SELECT acam_anio, acam_num, alis_numero, acli_codigo, art_deuda, art_camp, art_entregado, art_forma_pago, art_medio_entr, art_rebote, cli_apenom, cli_zona FROM articulos \
				INNER JOIN clientes ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND acli_codigo = %s "

        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        tabla = self.db.ejecutar(query, values)
        resultado = {}
        if tabla != ():
            resultado['anio'] = tabla[0][0]
            resultado['num'] = tabla[0][1]
            resultado['lis'] = tabla[0][2]
            resultado['codigo'] = tabla[0][3]
            resultado['deuda'] = tabla[0][4]
            resultado['campania'] = tabla[0][5]
            resultado['entregado'] = tabla[0][6]
            resultado['forma_pago'] = tabla[0][7]
            resultado['medio_entr'] = tabla[0][8]
            resultado['rebote'] = tabla[0][9]
            resultado['nombre'] = tabla[0][10]
            resultado['zona'] = tabla[0][11]

        return resultado

    def result_campaign(self):
        values = (self.cam_anio, self.cam_num)
        resultado = {}

        query = "SELECT cantArticulosCampania(%s, %s);"
        resultado["cantArticulosCampania"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT cantArticulosNoEntregados(%s, %s);"
        resultado["cantArticulosNoEntregados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT cantArticulosBoletas(%s, %s);"
        resultado["cantArticulosBoletas"] = self.db.ejecutar(query,
                                                             values)[0][0]

        # Efectivo

        query = "SELECT cantArticulosEntregadosEfectivo(%s, %s);"
        resultado["entregadosEfectivo"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosEfectivo(%s, %s);"
        resultado["noEntregadosEfectivo"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT cantArticulosCobradosEfectivo(%s, %s);"
        resultado["cobradosEfectivo"] = self.db.ejecutar(query, values)[0][0]

        # Boletas

        query = "SELECT cantArticulosEntregadosBoleta(%s, %s);"
        resultado["entregadosBoleta"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosBoleta(%s, %s);"
        resultado["noEntregadosBoleta"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosCobradosBoleta(%s, %s);"
        resultado["cobradosBoleta"] = self.db.ejecutar(query, values)[0][0]

        # Recibo oficina

        query = "SELECT cantArticulosEntregadosOficina(%s, %s);"
        resultado["entregadosOficina"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosOficina(%s, %s);"
        resultado["noEntregadosOficina"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT cantArticulosCobradosOficina(%s, %s);"
        resultado["cobradosOficina"] = self.db.ejecutar(query, values)[0][0]

        # No cobrados
        query = "SELECT cantArticulosEntregadosNoCobrados(%s, %s);"
        resultado["entregadosNoCobrados"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT cantArticulosNoEntregadosNoCobrados(%s, %s);"
        resultado["noEntregadosNoCobrados"] = self.db.ejecutar(query,
                                                               values)[0][0]

        query = "SELECT cantArticulosNoCobrados(%s, %s);"
        resultado["noCobrados"] = self.db.ejecutar(query, values)[0][0]

        # Valores Articulos
        query = "SELECT valArticulosCampania(%s, %s);"
        resultado["valArticulosCampania"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT valArticulosNoEntregados(%s, %s);"
        resultado["valArticulosNoEntregados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT valArticulosBoletas(%s, %s);"
        resultado["valArticulosBoletas"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT valArticulosEntregadosNoCobrados(%s, %s);"
        resultado["valEntregadosNoCobrados"] = self.db.ejecutar(query,
                                                                values)[0][0]

        query = "SELECT valArticulosNoEntregadosNoCobrados(%s, %s);"
        resultado["valNoEntregadosNoCobrados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT valArticulosNoCobrados(%s, %s);"
        resultado["valNoCobrados"] = self.db.ejecutar(query, values)[0][0]

        # efectivo

        query = "SELECT valArticulosEntregadosEfectivo(%s, %s);"
        resultado["valEntregadosEfectivo"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT valArticulosNoEntregadosEfectivo(%s, %s);"
        resultado["valNoEntregadosEfectivo"] = self.db.ejecutar(query,
                                                                values)[0][0]

        query = "SELECT valArticulosEfectivo(%s, %s);"
        resultado["valEfectivo"] = self.db.ejecutar(query, values)[0][0]

        # boleta

        query = "SELECT valArticulosEntregadosBoleta(%s, %s);"
        resultado["valEntregadosBoleta"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT valArticulosNoEntregadosBoleta(%s, %s);"
        resultado["valNoEntregadosBoleta"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT valArticulosBoleta(%s, %s);"
        resultado["valBoleta"] = self.db.ejecutar(query, values)[0][0]

        # oficina

        query = "SELECT valArticulosEntregadosOficina(%s, %s);"
        resultado["valEntregadosOficina"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT valArticulosNoEntregadosOficina(%s, %s);"
        resultado["valNoEntregadosOficina"] = self.db.ejecutar(query,
                                                               values)[0][0]

        query = "SELECT valArticulosOficina(%s, %s);"
        resultado["valOficina"] = self.db.ejecutar(query, values)[0][0]

        return resultado

    def obtenerContenidoCampania(self):
        query = "SELECT cli_zona, cli_codigo, cli_localidad, art_camp, art_deuda, art_entregado, art_forma_pago \
				FROM articulos INNER JOIN clientes ON cli_codigo = acli_codigo\
				WHERE acam_anio = %s AND acam_num = %s\
				ORDER BY 2;"

        values = (self.cam_anio, self.cam_num)

        return self.db.ejecutar(query, values)

    def listarCobradosEfectivo(self):
        "Este modulo retorna una ista de articulos, cobrados en efectivo."
        query = "SELECT cli_codigo, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 1;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def listarCobradosEfectivoNoEntregados(self):
        "Este modulo retorna una lista de articulos cobrados en efectivo, pero no entregados."
        query = "SELECT cli_codigo, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 1 AND art_entregado = 0000-00-00;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def listarCobradosBoleta(self):
        query = "SELECT cli_codigo, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 2;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def listarCobradosRecibo(self):
        query = "SELECT cli_codigo, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 3;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def listarNoCobradosNoEntregados(self):
        "Este modulo retorna una lista de articulos, no cobrados y no entregados (Desmantelado)"
        query = "SELECT cli_codigo, art_cant, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 0 AND art_entregado = 0000-00-00\
				ORDER BY 1;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def listarNoCobradosEntregados(self):
        "Este modulo retorna una lista de articulos, no cobrados pero entregados"
        query = "SELECT cli_codigo, cli_apenom, cli_seccion, cli_telefono, art_camp, art_deuda, cli_barrio, cli_localidad \
				FROM clientes INNER JOIN articulos ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND art_forma_pago = 0 AND art_entregado <> 0000-00-00;"

        values = (self.cam_anio, self.cam_num)
        return self.db.ejecutar(query, values)

    def articulo_pagado(self):
        query = 'SELECT articuloPagado(%s, %s, %s);'
        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        return self.db.ejecutar(query, values)[0][0]

    def articulo_entregado(self):
        query = 'SELECT articuloEntregado(%s, %s, %s);'
        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        return self.db.ejecutar(query, values)[0][0]

    def historialCliente(self, campanias, cod):
        historial = []
        for camp in campanias:
            query = "SELECT art_rebote FROM articulos WHERE acam_anio = %s AND acam_num = %s AND acli_codigo = %s;"
            values = (camp[0], camp[1], cod)
            h = self.db.ejecutar(query, values)
            if len(h) != 0:
                historial.append(h[0][0])
            else:
                historial.append("x")
        return historial

    def historial(self, rango):
        query = "SELECT historial(%s, %s, %s, %s);"
        values = (rango, self.cam_anio, self.cam_num, self.cli_codigo)
        return self.db.ejecutar(query, values)[0][0]
class ModeloMovimientos:
    def __init__(self):
        self.mcam_anio = 0
        self.mcam_num = 0
        self.mcaj_numero = 0
        self.mov_numero = 0
        self.mov_monto = 0.0
        self.mov_tipo = 0  #1:ingresos varios; 2:egresos varios
        self.mov_comentario = ""
        self.db = DBConn()

    def create(self):
        query = "CALL agregarMovimiento(%s, %s, %s, %s, %s, %s, %s);"
        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero,
                  self.mov_numero, self.mov_monto, self.mov_tipo,
                  self.mov_comentario)
        return self.db.ejecutar(query, values)

    def read_all(self):
        query = "SELECT * FROM movimientos WHERE mcam_anio = %s AND mcam_num = %s AND mcaj_numero = %s;"
        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        tabla = self.db.ejecutar(query, values)
        resultados = []
        for fila in tabla:
            resultado = {}
            resultado['monto'] = str(fila[4])
            if fila[5] == 1:
                resultado['tipo'] = 'Igresos Varios'
            elif fila[5] == 2:
                resultado['tipo'] = 'Egresos Varios'
            else:
                resultado['tipo'] = 'Ups!'
            resultado['comentario'] = str(fila[6])

            resultados.append(resultado)

        return resultados

    def get_income(self):
        query = "SELECT mov_comentario, mov_monto FROM movimientos\
				WHERE mcam_anio = %s AND mcam_num = %s AND mcaj_numero = %s AND mov_tipo = 1;"

        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        return self.db.ejecutar(query, values)

    def get_expenses(self):
        query = "SELECT mov_comentario, mov_monto FROM movimientos\
				WHERE mcam_anio = %s AND mcam_num = %s AND mcaj_numero = %s AND mov_tipo = 2;"

        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        return self.db.ejecutar(query, values)

    def count_movs(self):
        query = "SELECT cantidadMovimientos(%s, %s, %s);"
        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        return self.db.ejecutar(query, values)[0][0]

    def totalIngresos(self):
        query = "SELECT totalIngresos(%s, %s, %s)"
        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        return self.db.ejecutar(query, values)[0][0]

    def totalEgresos(self):
        query = "SELECT totalEgresos(%s, %s, %s)"
        values = (self.mcam_anio, self.mcam_num, self.mcaj_numero)
        return self.db.ejecutar(query, values)[0][0]
Exemplo n.º 34
0
class ModeloCampanias:
    def __init__(self):
        self.anio = 0  #hasta 4 digitos
        self.num = 0  #hasta 4 digitos
        self.cli_codigo = ''
        self.inicio = ''  #fecha
        self.ini_reparto = ''  # fecha de inicio de reparto
        self.fin_reparto = ''  # fecha de fin de reparto
        self.base = 0.00  # base de distribucion
        self.parametro = 0.00  # distribucion = (pedidos a cobrar) x parametro + base
        self.diferencia = 0.00  # monto de diferencia con campania anterior
        self.fin = ''  #fecha
        self.comentario = ''  #hasta 700 caracteres
        self.usuario = 0
        self.db = DBConn()

    def create(self):
        query = "CALL agregarCampania(%s, %s, %s, %s, %s, %s, %s, %s, %s)"
        values = (self.anio, self.num, self.inicio, self.ini_reparto,
                  self.diferencia, self.parametro, self.base, self.comentario,
                  self.usuario)
        return self.db.ejecutar(query, values)

    def close(self):
        query = "UPDATE campanias SET cam_fin = %s WHERE cam_anio = %s AND cam_num = %s"
        values = (self.fin, self.anio, self.num)
        return self.db.ejecutar(query, values)

    def update(self):
        query = "Call actualizarCampania(%s, %s, %s, %s, %s, %s, %s, %s)"
        values = (self.anio, self.num, self.ini_reparto, self.fin_reparto,
                  self.diferencia, self.parametro, self.base, self.comentario)
        return self.db.ejecutar(query, values)

    def delete(self):
        query = "Call eliminarCampania(%s, %s)"
        values = (self.anio, self.num)
        return self.db.ejecutar(query, values)

    def read_x_anio_num(self):
        query = "SELECT cam_anio, cam_num, cam_inicio, cam_fin, cam_usuario \
				FROM campanias \
				WHERE cam_anio = %s AND cam_num = %s"

        values = (self.anio, self.num)
        return self.db.ejecutar(query, values)

    def read_x_anio(self):
        query = "SELECT cam_anio, cam_num, cam_inicio, cam_fin, cam_usuario \
				FROM campanias \
				WHERE cam_anio = %s"

        values = (self.anio)
        return self.db.ejecutar(query, values)

    def read_all(self):
        query = "SELECT cam_anio, cam_num, cam_inicio, cam_fin, cam_usuario \
				FROM campanias"

        return self.db.ejecutar(query)

    def exist_campaign(self):
        query = "SELECT existeCampania(%s, %s);"
        values = (self.anio, self.num)
        return self.db.ejecutar(query, values)[0][0] != 0

    def read(self):
        query = "SELECT cam_anio, cam_num, cam_inicio, cam_ini_reparto, cam_fin_reparto, cam_diferencia, cam_parametro, cam_base, cam_comentario, cam_fin, cam_usuario \
				FROM campanias \
				WHERE cam_anio = %s AND cam_num = %s"

        values = (self.anio, self.num)
        tabla = self.db.ejecutar(query, values)
        campania = {}
        if tabla != ():
            campania = {
                'anio': tabla[0][0],
                'num': tabla[0][1],
                'inicio': self.date_format(tabla[0][2]),
                'ini_reparto': tabla[0][3],
                'fin_reparto': tabla[0][4],
                'diferencia': tabla[0][5],
                'parametro': tabla[0][6],
                'base': tabla[0][7],
                'comentario': tabla[0][8],
                'fin': tabla[0][9],
                'usuario': tabla[0][10]
            }
        return campania

    def get_active_campaign(self):
        query = "SELECT cam_anio, cam_num, cam_inicio, cam_ini_reparto, cam_fin_reparto, cam_diferencia, cam_parametro, cam_base, cam_comentario, cam_fin, cam_usuario \
				FROM campanias WHERE cam_fin = %s"

        values = ('0000-00-00')
        datos = self.db.ejecutar(query, values)
        resultado = {}
        if datos != ():
            resultado['anio'] = datos[0][0]
            resultado['numero'] = datos[0][1]
            resultado['inicio'] = self.date_format(datos[0][2])
            resultado['ini_reparto'] = datos[0][3]
            resultado['fin_reparto'] = datos[0][4]
            resultado['diferencia'] = datos[0][5]
            resultado['parametro'] = datos[0][6]
            resultado['base'] = datos[0][7]
            resultado['comentarios'] = datos[0][8]
            resultado['fin'] = datos[0][9]
            resultado['usuario'] = datos[0][10]

        return resultado

    def get_next_number_campaign(self):
        'Retorna el siguinte numero de campania.'
        query = "SELECT siguienteNumeroCampania(%s);"
        values = (self.anio)
        return self.db.ejecutar(query, values)[0][0]

    def codes_campaign(self):
        query = "SELECT c.cli_codigo, c.cod_deuda, c.cod_camp, c.cod_entregado, c.cod_efectivo, c.cod_boleta\
    	FROM listados l\
    	INNER JOIN codigos c ON c.lis_id = l.lis_id\
    	WHERE l.cam_id = %s;"

        values = (self.id)
        codigos = self.db.ejecutar(query, values)
        resultado = []
        for fila in codigos:
            dato = {
                'codigo': fila[0],
                'deuda': str(fila[1]),
                'campania': str(fila[2]),
                'entregado': fila[3],
                'efectivo': fila[4],
                'boleta': fila[5]
            }
            resultado.append(dato)
        return resultado

    def campaign_in_range(self, rng):
        query = "SELECT cam_anio, cam_num FROM campanias ORDER BY 1 DESC LIMIT %s"
        values = (rng)
        return self.db.ejecutar(query, values)

    def date_format(self, s):
        'Formatea una fecha dada (aaaa-mm-dd  >>  dd-mm-aaaa)'
        s = str(s)
        l = s.split("-")
        l[0], l[2] = l[2], l[0]
        return "-".join(l)
Exemplo n.º 35
0
 def __init__(self):
     self.id = 0
     self.fullname = ""
     self.phone = ""
     self.mail = ""
     self.db = DBConn()
Exemplo n.º 36
0
 def __init__(self):
     self.tipo = ""
     self.descripcion = ""
     self.estado = 1
     self.db = DBConn()
Exemplo n.º 37
0
class ModeloArticulos:
    def __init__(self):
        self.cam_anio = 0
        self.cam_num = 0
        self.lis_numero = 0
        self.cli_codigo = ''
        self.cli_apenom = ''
        self.deuda = 0.0
        self.camp = ""
        self.entregado = '0000/00/00'
        self.forma_pago = 0  #0: No pagado; 1:Efectivo; 2:Boleta; 3:Oficina
        self.medio_entr = 0  #0; 1:Caja; 2:Envio
        self.rebote = "#$NINGUNO$#"
        self.db = DBConn()

    def create(self):
        'Registra una nuevo articulo en la tabla Articulos.'
        query = "CALL agregarArticulo(%s, %s, %s, %s, %s, %s);"
        values = (self.cam_anio, self.cam_num, self.lis_numero,
                  self.cli_codigo, self.deuda, self.camp)
        return self.db.ejecutar(query, values)

    def update(self):
        'Modifica un articulo de la tabla Articulos.'
        query = "Call actualizarArticulo(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);"
        values = (self.cam_anio, self.cam_num, self.lis_numero,
                  self.cli_codigo, self.deuda, self.camp, self.entregado,
                  self.forma_pago, self.medio_entr, self.rebote)
        return self.db.ejecutar(query, values)

    def exist(self):
        query = "SELECT COUNT(*) FROM articulos WHERE acam_anio = %s AND acam_num = %s AND acli_codigo = %s;"
        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        return self.db.ejecutar(query, values)[0][0] != 0

    def read_for_name(self):
        """Retorna un registro de articulo."""
        query = "SELECT acam_anio, acam_num, alis_numero, acli_codigo, art_deuda, art_camp, art_entregado, art_forma_pago, art_medio_entr, cli_apenom, cli_domicilio, cli_zona FROM articulos \
				INNER JOIN clientes ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND (SELECT locate(%s, cli_apenom))<>0 "

        values = (self.cam_anio, self.cam_num, self.cli_apenom)
        tabla = self.db.ejecutar(query, values)
        resultados = []
        for columna in tabla:
            resultado = {}
            resultado['anio'] = columna[0]
            resultado['num'] = columna[1]
            resultado['lis'] = columna[2]
            resultado['codigo'] = columna[3]
            resultado['deuda'] = columna[4]
            resultado['campania'] = columna[5]
            resultado['entregado'] = columna[6]
            resultado['forma_pago'] = columna[7]
            resultado['medio_entr'] = columna[8]
            resultado['nombre'] = columna[9]
            resultado['domicilio'] = columna[10]
            resultado['zona'] = columna[11]
            resultados.append(resultado)

        return resultados

    def read(self):
        """Retorna un registro de articulo."""
        query = "SELECT acam_anio, acam_num, alis_numero, acli_codigo, art_deuda, art_camp, art_entregado, art_forma_pago, art_medio_entr, art_rebote, cli_apenom, cli_zona FROM articulos \
				INNER JOIN clientes ON acli_codigo = cli_codigo\
				WHERE acam_anio = %s AND acam_num = %s AND acli_codigo = %s "

        values = (self.cam_anio, self.cam_num, self.cli_codigo)
        tabla = self.db.ejecutar(query, values)
        resultado = {}
        if tabla != ():
            resultado['anio'] = tabla[0][0]
            resultado['num'] = tabla[0][1]
            resultado['lis'] = tabla[0][2]
            resultado['codigo'] = tabla[0][3]
            resultado['deuda'] = tabla[0][4]
            resultado['campania'] = tabla[0][5]
            resultado['entregado'] = tabla[0][6]
            resultado['forma_pago'] = tabla[0][7]
            resultado['medio_entr'] = tabla[0][8]
            resultado['rebote'] = tabla[0][9]
            resultado['nombre'] = tabla[0][10]
            resultado['zona'] = tabla[0][11]

        return resultado

    def result_campaign(self):
        values = (self.cam_anio, self.cam_num)
        resultado = {}

        query = "SELECT cantArticulosCampania(%s, %s);"
        resultado["cantArticulosCampania"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT cantArticulosNoEntregados(%s, %s);"
        resultado["cantArticulosNoEntregados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT cantArticulosBoletas(%s, %s);"
        resultado["cantArticulosBoletas"] = self.db.ejecutar(query,
                                                             values)[0][0]

        # Efectivo

        query = "SELECT cantArticulosEntregadosEfectivo(%s, %s);"
        resultado["entregadosEfectivo"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosEfectivo(%s, %s);"
        resultado["noEntregadosEfectivo"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT cantArticulosCobradosEfectivo(%s, %s);"
        resultado["cobradosEfectivo"] = self.db.ejecutar(query, values)[0][0]

        # Boletas

        query = "SELECT cantArticulosEntregadosBoleta(%s, %s);"
        resultado["entregadosBoleta"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosBoleta(%s, %s);"
        resultado["noEntregadosBoleta"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosCobradosBoleta(%s, %s);"
        resultado["cobradosBoleta"] = self.db.ejecutar(query, values)[0][0]

        # Recibo oficina

        query = "SELECT cantArticulosEntregadosOficina(%s, %s);"
        resultado["entregadosOficina"] = self.db.ejecutar(query, values)[0][0]

        query = "SELECT cantArticulosNoEntregadosOficina(%s, %s);"
        resultado["noEntregadosOficina"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT cantArticulosCobradosOficina(%s, %s);"
        resultado["cobradosOficina"] = self.db.ejecutar(query, values)[0][0]

        # No cobrados
        query = "SELECT cantArticulosEntregadosNoCobrados(%s, %s);"
        resultado["entregadosNoCobrados"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT cantArticulosNoEntregadosNoCobrados(%s, %s);"
        resultado["noEntregadosNoCobrados"] = self.db.ejecutar(query,
                                                               values)[0][0]

        query = "SELECT cantArticulosNoCobrados(%s, %s);"
        resultado["noCobrados"] = self.db.ejecutar(query, values)[0][0]

        # Valores Articulos
        query = "SELECT valArticulosCampania(%s, %s);"
        resultado["valArticulosCampania"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT valArticulosNoEntregados(%s, %s);"
        resultado["valArticulosNoEntregados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT valArticulosBoletas(%s, %s);"
        resultado["valArticulosBoletas"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT valArticulosEntregadosNoCobrados(%s, %s);"
        resultado["valEntregadosNoCobrados"] = self.db.ejecutar(query,
                                                                values)[0][0]

        query = "SELECT valArticulosNoEntregadosNoCobrados(%s, %s);"
        resultado["valNoEntregadosNoCobrados"] = self.db.ejecutar(
            query, values)[0][0]

        query = "SELECT valArticulosNoCobrados(%s, %s);"
        resultado["valNoCobrados"] = self.db.ejecutar(query, values)[0][0]

        # efectivo

        query = "SELECT valArticulosEntregadosEfectivo(%s, %s);"
        resultado["valEntregadosEfectivo"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT valArticulosNoEntregadosEfectivo(%s, %s);"
        resultado["valNoEntregadosEfectivo"] = self.db.ejecutar(query,
                                                                values)[0][0]

        query = "SELECT valArticulosEfectivo(%s, %s);"
        resultado["valEfectivo"] = self.db.ejecutar(query, values)[0][0]

        # boleta

        query = "SELECT valArticulosEntregadosBoleta(%s, %s);"
        resultado["valEntregadosBoleta"] = self.db.ejecutar(query,
                                                            values)[0][0]

        query = "SELECT valArticulosNoEntregadosBoleta(%s, %s);"
        resultado["valNoEntregadosBoleta"] = self.db.ejecutar(query,
                                                              values)[0][0]

        query = "SELECT valArticulosBoleta(%s, %s);"
        resultado["valBoleta"] = self.db.ejecutar(query, values)[0][0]

        # oficina

        query = "SELECT valArticulosEntregadosOficina(%s, %s);"
        resultado["valEntregadosOficina"] = self.db.ejecutar(query,
                                                             values)[0][0]

        query = "SELECT valArticulosNoEntregadosOficina(%s, %s);"
        resultado["valNoEntregadosOficina"] = self.db.ejecutar(query,
                                                               values)[0][0]

        query = "SELECT valArticulosOficina(%s, %s);"
        resultado["valOficina"] = self.db.ejecutar(query, values)[0][0]

        return resultado

    def obtenerContenidoCampania(self):
        query = "SELECT cli_zona, cli_codigo, art_camp, art_deuda, art_entregado, art_forma_pago \
				FROM articulos INNER JOIN clientes ON cli_codigo = acli_codigo\
				WHERE acam_anio = %s AND acam_num = %s\
				ORDER BY 2;"

        values = (self.cam_anio, self.cam_num)

        return self.db.ejecutar(query, values)