def inicializacion(self):
     archNCV = abrir('NCV')
     archCliente = abrir('Cliente')
     
     total = 0
     pago = 0
     impago = 0
     for i in range (len(archNCV)):
         reg = leer(archNCV,i)
         total +=reg.importe
         if (reg.pagado):
             pago+=reg.importe
         else:
             impago+=reg.importe
     self.empresaTotalPrecio.setText('TOTAL $ '+str(total))
     self.empresaPagoPrecio.setText('PAGO $ '+str(pago))
     self.empresaImpagoPrecio.setText('IMPAGO $ '+str(impago))
     
     self.eTotalBar.setValue(100)
     self.ePagoBar.setValue(101*pago/total)
     self.eImpagoBar.setValue(101*impago/total)
     
     for j in range (len(archCliente)):
         reg = leer(archCliente,j)
         self.clienteCombo.addItem(str(reg.idCliente)+' '+reg.nomCliente)
     
     cerrar(archNCV)
     cerrar(archCliente)
    def altaBajaModif(self):
        #print('entro')   
        #print(self.tabla.currentRow())
        #print(self.tabla.item(self.tabla.currentRow(), 2).text())
        idSeleccionado = self.tabla.item(self.tabla.currentRow(), 2).text()
        j = self.tabla.currentRow()
        self.tabla.clearSelection()
        for i in range (0,7):
            self.tabla.item(j,i).setBackground(QColor("cyan"))
        idCliente=abrir('id')
        guardarid(idCliente,int(idSeleccionado))
               
        dial = AltaBajaModif()       
        dial.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        dial.setModal(True)   
        dial.exec_()
        
        self.generarArboles()
        #print(leer(archNCV,len(archNCV)-1).ncv)
        self.clienteCombo.clear()
        
        archCliente = abrir('Cliente')

        for j in range (len(archCliente)):
            reg = leer(archCliente,j)
            self.clienteCombo.addItem(str(reg.idCliente)+' '+reg.nomCliente)
        
        cerrar(archCliente)
        
        self.inicializacion()
        self.generarReporte()
 def postordenNCV(self, arbol, lista, archivo):
     if(arbol != None):
         lista = self.postordenNCV(arbol.der, lista, archivo)
         reg = leer(archivo, arbol.nrr)
         lista.append(reg)       
         lista = self.postordenNCV(arbol.izq, lista, archivo)
     return lista
Esempio n. 4
0
def cargarArbolNCV(file):
    raiz = None
    for i in range(0, len(file)):
        r = leer(file, i)
        raiz = insertarNCV(raiz, r.ncv, i)

    return raiz
 def barrasVendedor(self,idVendedor):
     archNCV = abrir('NCV')
     archCliente = abrir('Cliente')
     
     self.groupBox_7.setEnabled(True)
     total = 0
     pago = 0
     impago = 0
     for i in range (len(archNCV)):
         reg = leer(archNCV,i)
         if (reg.idVendedor==idVendedor):
             total +=reg.importe
             if (reg.pagado):
                 pago+=reg.importe
             else:
                 impago+=reg.importe
     self.vendedorTotalPrecio.setText('TOTAL $ '+str(total))
     self.vendedorPagoPrecio.setText('PAGO $ '+str(pago))
     self.vendedorImpagoPrecio.setText('IMPAGO $ '+str(impago))
     
     self.vTotalBar.setValue(100)
     self.vPagoBar.setValue(101*pago/total)
     self.vImpagoBar.setValue(101*impago/total)
     
     cerrar(archNCV)
     cerrar(archCliente)
 def inicializar(self):
     for i in range(len(archCliente)):
         reg = leer(archCliente, i)
         if (reg.idCliente == self.idBuscar):
             self.registro = reg
             self.pos = i
     self.clienteLabel.setText('Cliente: ' + self.registro.nomCliente)
     if (self.registro.activo):
         self.activoButton.setChecked(True)
     else:
         self.bajaButton.setChecked(True)
Esempio n. 7
0
def main():
    ####### Ingresar los path a las carpeta destino incluyendo a final el nombre del archivo y su extension  (e.g.: "G:\TF Complejidad\in.txt"') ########
    direc_in = "G:\TF Complejidad\in.txt"
    direc_out = "G:\TF Complejidad\out.txt"

    archivos.crear(direc_in)
    c, h = archivos.leer(direc_in)

    arr = h.copy()
    n_connt = acomodar(c, h)

    archivos.salida(direc_out, n_connt, c, arr)
 def cargararboles(self):  #no funca
     self.azona, self.acodigo, self.afecha = None, None, None
     a = abrir('clima')
     pos = 0
     #reg = clima()
     while (pos < len(a)):
         self.reg = leer(a, pos)
         self.azona = insertar(self.azona, self.reg.zona, pos)
         self.acodigo = insertar(self.acodigo, self.reg.id, pos)
         self.afecha = insertar(self.afecha, self.reg.date, pos)
         pos += 1
     cerrar(a)
     return [self.azona, self.acodigo, self.afecha]
Esempio n. 9
0
def cargarDiccionario():
    """Funcionamiento: Comprueba que los datos ingresados sean correctos y carga el diccionario desde un archivo
    Entradas: N/A
    Salidas: diccionario """
    while True:
        pregunta = input("¿desea cargar un archivo previo? (Si/No): ")
        if pregunta.upper() == "SI":
            pregunta = input("Ingrese el nombre del archivo a cargar: ")
            dic = leer(pregunta)
            print("Datos extraidos desde el archivo correctamente.")
            return dic
        elif pregunta.upper() == "NO":
            return {}
        else:
            print("Ingrese un valor correcto.")
 def modificardato(self):  #ver si funciona
     arbolfecha = self.aux1[2]
     arbolzona = self.aux1[0]
     arbolid = self.aux1[1]
     lid = self.altaid.text()
     lfecha = self.altafecha.text()
     lhora = self.altahora.text()
     ltemp = self.altatemperatura.text()
     lpresion = self.altapresion.text()
     lviento = self.altaviento.text()
     lhumedad = self.altahumedad.text()
     lestado = self.altaestado.text()
     lzona = self.altazona.text()
     a = abrir('clima')
     #reg = clima()
     #pos = 0
     #control = True
     #while(pos<len(a) and control):
     if (lid != ''):
         pos = buscar(arbolid, lid)
         if (pos != None):
             reg = leer(a, pos)
             if (reg.activo == True):
                 if (lfecha != ''):
                     arbolfecha = eliminar(arbolfecha, reg.date, pos)
                     reg.date = lfecha
                     arbolfecha = insertar(
                         arbolfecha[0], lfecha,
                         pos)  #esta fallando en esta insercion
                 if (lhora != ''):
                     reg.time = (lhora)
                 if (ltemp != ''):
                     reg.temp = (ltemp)
                 if (lpresion != ''):
                     reg.presion = (lpresion)
                 if (lviento != ''):
                     reg.viento = (lviento)
                 if (lhumedad != ''):
                     reg.humedad = (lhumedad)
                 if (lestado != ''):
                     reg.estado = (lestado)
                 if (lzona != ''):
                     arbolzona = eliminar(arbolzona, reg.zona, pos)
                     reg.zona = lzona
                     arbolzona = insertar(arbolzona[0], lzona, pos)
                 modificar(a, reg, pos)  #ver como modificar el arbol
     cerrar(a)
     self.mostrarlista()
    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.setupUi(self)
        self.setWindowTitle("Alta-Baja-Modificación")
        self.setWindowIcon(QtGui.QIcon('bar-chart.png'))

        self.nuevoNombre.setEnabled(False)

        self.cerrar.clicked.connect(self.hide)
        self.idBuscar = leer(archivoId, 0)
        self.pos = None
        self.registro = None
        self.inicializar()
        self.nombreCheckBox.clicked.connect(self.modifNombreChecked)
        self.guardar.clicked.connect(self.guardarRegistro)
        self.cargarVentaBox.clicked.connect(self.inicializarVenta)
 def insertardato(self):
     arbolid = self.aux1[1]
     arbolfecha = self.aux1[2]
     arbolzona = self.aux1[0]
     lid = self.altaid.text()
     lfecha = self.altafecha.text()
     lhora = self.altahora.text()
     ltemp = self.altatemperatura.text()
     lpresion = self.altapresion.text()
     lviento = self.altaviento.text()
     lhumedad = self.altahumedad.text()
     lestado = self.altaestado.text()
     lzona = self.altazona.text()
     a = abrir('clima')
     reg = clima()
     pos = 0
     control = False
     while (pos < len(a)):
         reg = leer(a, pos)
         if (reg.id == lid):
             if (reg.activo != True):
                 reg.activo = True
                 modificar(a, reg, pos)
                 arbolzona = insertar(arbolzona, lzona, pos)
                 arbolid = insertar(arbolid, lid, pos)
                 arbolfecha = insertar(arbolfecha, lfecha, pos)
                 control = True
             else:
                 control = True  #es para ver si existe y esta dado de alta
         pos = pos + 1
     if (control != True):
         reg.id = (lid)
         arbolid = insertar(arbolid, lid, pos)
         reg.date = (lfecha)
         arbolfecha = insertar(arbolfecha, lfecha, pos)
         reg.time = (lhora)
         reg.temp = (ltemp)
         reg.presion = (lpresion)
         reg.viento = (lviento)
         reg.humedad = (lhumedad)
         reg.estado = (lestado)
         reg.zona = (lzona)
         arbolzona = insertar(arbolzona, lzona, pos)
         reg.activo = True
         agregar(a, reg)
     cerrar(a)
     self.mostrarlista()
Esempio n. 13
0
def busqueda(raiz, x, tabla, a):
    if raiz != None:
        busqueda(raiz.izq, x, tabla, a)
        if (raiz.dato[0:len(x)] == x):
            reg = leer(a, raiz.pos)
            if (reg.activo == True):
                tabla.insertRow(tabla.rowCount())
                pos1 = tabla.rowCount() - 1
                tabla.setItem(pos1, 0, QTableWidgetItem(reg.id))
                tabla.setItem(pos1, 1, QTableWidgetItem(reg.date))
                tabla.setItem(pos1, 2, QTableWidgetItem(reg.time))
                tabla.setItem(pos1, 3, QTableWidgetItem(reg.temp))
                tabla.setItem(pos1, 4, QTableWidgetItem(reg.presion))
                tabla.setItem(pos1, 5, QTableWidgetItem(reg.viento))
                tabla.setItem(pos1, 6, QTableWidgetItem(reg.humedad))
                tabla.setItem(pos1, 7, QTableWidgetItem(reg.estado))
                tabla.setItem(pos1, 8, QTableWidgetItem(reg.zona))
        busqueda(raiz.der, x, tabla, a)
Esempio n. 14
0
def inordena(raiz, tabla, a):
    aux = []
    if raiz != None:
        inordena(raiz.izq, tabla, a)
        reg = leer(a, raiz.pos)
        if (reg.activo == True):
            tabla.insertRow(tabla.rowCount())
            pos1 = tabla.rowCount() - 1
            tabla.setItem(pos1, 0, QTableWidgetItem(reg.id))
            tabla.setItem(pos1, 1, QTableWidgetItem(reg.date))
            tabla.setItem(pos1, 2, QTableWidgetItem(reg.time))
            tabla.setItem(pos1, 3, QTableWidgetItem(reg.temp))
            tabla.setItem(pos1, 4, QTableWidgetItem(reg.presion))
            tabla.setItem(pos1, 5, QTableWidgetItem(reg.viento))
            tabla.setItem(pos1, 6, QTableWidgetItem(reg.humedad))
            tabla.setItem(pos1, 7, QTableWidgetItem(reg.estado))
            tabla.setItem(pos1, 8, QTableWidgetItem(reg.zona))
        inordena(raiz.der, tabla, a)
    return aux
Esempio n. 15
0
    def cargar_cfgs(self):

        self.lista_cfg = leer()

        self.ui.tableWidget.setColumnCount(1)
        self.ui.tableWidget.setRowCount(len(self.lista_cfg))
        self.ui.tableWidget.setColumnWidth(0, 280)
        self.ui.tableWidget.setHorizontalHeaderLabels(['Descripción'])
        self.ui.tableWidget.resizeRowsToContents()

        row = 0

        for cfg in self.lista_cfg:

            descripcion = QtWidgets.QTableWidgetItem(cfg['descripcion'])
            descripcion.setFlags(QtCore.Qt.ItemIsSelectable
                                 | QtCore.Qt.ItemIsEnabled)

            self.ui.tableWidget.setItem(row, 0, descripcion)

            row += 1
 def eliminardato(self):
     arbolid = self.aux1[1]
     arbolfecha = self.aux1[2]
     arbolzona = self.aux1[0]
     lid = self.altaid.text()
     a = abrir('clima')
     #reg = clima()
     pos = 0
     control = True
     while (pos < len(a) and control):
         reg = leer(a, pos)
         if (reg.id == lid):
             if (reg.activo == True):
                 reg.activo = False
                 modificar(a, reg, pos)
                 arbolzona = eliminar(arbolzona, reg.zona, pos)
                 arbolid = eliminar(arbolid, reg.id, pos)
                 arbolfecha = eliminar(arbolfecha, reg.date, pos)
                 control = False
         pos = pos + 1
     cerrar(a)
     self.mostrarlista()
Esempio n. 17
0
def busqueda2(raiz, x, tabla, a):
    if raiz == None:
        return None
        tabla.setRowCount(0)
    elif raiz.dato == x:
        reg = leer(a, raiz.pos)
        if (reg.activo == True):
            tabla.insertRow(tabla.rowCount())
            pos1 = tabla.rowCount() - 1
            tabla.setItem(pos1, 0, QTableWidgetItem(reg.id))
            tabla.setItem(pos1, 1, QTableWidgetItem(reg.date))
            tabla.setItem(pos1, 2, QTableWidgetItem(reg.time))
            tabla.setItem(pos1, 3, QTableWidgetItem(reg.temp))
            tabla.setItem(pos1, 4, QTableWidgetItem(reg.presion))
            tabla.setItem(pos1, 5, QTableWidgetItem(reg.viento))
            tabla.setItem(pos1, 6, QTableWidgetItem(reg.humedad))
            tabla.setItem(pos1, 7, QTableWidgetItem(reg.estado))
            tabla.setItem(pos1, 8, QTableWidgetItem(reg.zona))
        return raiz.dato
    elif x < raiz.dato:
        return busqueda2(raiz.izq, x, tabla, a)
    else:
        return busqueda2(raiz.der, x, tabla, a)
 def barrasCliente(self,idCliente):
     archNCV = abrir('NCV')
     
     self.groupBox_10.setEnabled(True)
     total = 0
     pago = 0
     impago = 0
     for i in range (len(archNCV)):
         reg = leer(archNCV,i)
         if (reg.idCliente==idCliente):
             total +=reg.importe
             if (reg.pagado):
                 pago+=reg.importe
             else:
                 impago+=reg.importe
     self.clienteTotalPrecio.setText('TOTAL $ '+str(total))
     self.clientePagoPrecio.setText('PAGO $ '+str(pago))
     self.clienteImpagoPrecio.setText('IMPAGO $ '+str(impago))
     
     self.cTotalBar.setValue(100)
     self.cPagoBar.setValue(101*pago/total)
     self.cImpagoBar.setValue(101*impago/total)
     
     cerrar(archNCV)
Esempio n. 19
0
def cargarArbolCliente(file):
    raiz = None
    for i in range(0, len(file)):
        r = leer(file, i)
        raiz = insertarCliente(raiz, r.idCliente, r.idVendedor, i)
    return raiz
 def cargarFila(self,seleccionados,fila,lista,i):
     archCliente = abrir('Cliente')
     
     if (seleccionados[1]=='vendedorTodos'):
         if (seleccionados[2]=='clienteTodos'):
             self.tabla.insertRow(fila)
             
             self.tabla.setItem(fila, 0, QTableWidgetItem(str(lista[i].ncv)))
             self.tabla.setItem(fila, 1, QTableWidgetItem(str(lista[i].idVendedor)))
             self.tabla.setItem(fila, 2, QTableWidgetItem(str(lista[i].idCliente)))
             self.tabla.setItem(fila, 5, QTableWidgetItem(str(lista[i].importe)))
             if (lista[i].pagado):
                 self.tabla.setItem(fila, 6, QTableWidgetItem('PAGADO'))
                 self.tabla.item(fila,6).setBackground(QColor("lightgreen"))
             else:
                 self.tabla.setItem(fila, 6, QTableWidgetItem('IMPAGO'))
                 self.tabla.item(fila,6).setBackground(QColor("red"))
             pos = busquedaCliente(self.arbolCliente,lista[i].idCliente)
             reg = leer(archCliente,pos)
             self.tabla.setItem(fila, 3, QTableWidgetItem(reg.nomCliente))
             if (reg.activo):
                 self.tabla.setItem(fila, 4, QTableWidgetItem('ACTIVO'))
                 self.tabla.item(fila,4).setBackground(QColor("lightgreen"))
             else:
                 self.tabla.setItem(fila, 4, QTableWidgetItem('BAJA'))
                 self.tabla.item(fila,4).setBackground(QColor("red")) 
         else:
             if (lista[i].idCliente==int(seleccionados[2])):
                 self.barrasCliente(lista[i].idCliente)
                 self.tabla.insertRow(fila)
             
                 self.tabla.setItem(fila, 0, QTableWidgetItem(str(lista[i].ncv)))
                 self.tabla.setItem(fila, 1, QTableWidgetItem(str(lista[i].idVendedor)))
                 self.tabla.setItem(fila, 2, QTableWidgetItem(str(lista[i].idCliente)))
                 self.tabla.setItem(fila, 5, QTableWidgetItem(str(lista[i].importe)))
                 if (lista[i].pagado):
                     self.tabla.setItem(fila, 6, QTableWidgetItem('PAGADO'))
                     self.tabla.item(fila,6).setBackground(QColor("lightgreen"))
                 else:
                     self.tabla.setItem(fila, 6, QTableWidgetItem('IMPAGO'))
                     self.tabla.item(fila,6).setBackground(QColor("red"))
                 pos = busquedaCliente(self.arbolCliente,lista[i].idCliente)
                 reg = leer(archCliente,pos)
                 self.tabla.setItem(fila, 3, QTableWidgetItem(reg.nomCliente))
                 if (reg.activo):
                     self.tabla.setItem(fila, 4, QTableWidgetItem('ACTIVO'))
                     self.tabla.item(fila,4).setBackground(QColor("lightgreen"))
                 else:
                     self.tabla.setItem(fila, 4, QTableWidgetItem('BAJA'))
                     self.tabla.item(fila,4).setBackground(QColor("red"))
             
     elif (lista[i].idVendedor==int(seleccionados[1])):
         self.barrasVendedor(lista[i].idVendedor)
         if (seleccionados[2]=='clienteTodos'):
             self.tabla.insertRow(fila)
             
             self.tabla.setItem(fila, 0, QTableWidgetItem(str(lista[i].ncv)))
             self.tabla.setItem(fila, 1, QTableWidgetItem(str(lista[i].idVendedor)))
             self.tabla.setItem(fila, 2, QTableWidgetItem(str(lista[i].idCliente)))
             self.tabla.setItem(fila, 5, QTableWidgetItem(str(lista[i].importe)))
             if (lista[i].pagado):
                 self.tabla.setItem(fila, 6, QTableWidgetItem('PAGADO'))
                 self.tabla.item(fila,6).setBackground(QColor("lightgreen"))
             else:
                 self.tabla.setItem(fila, 6, QTableWidgetItem('IMPAGO'))
                 self.tabla.item(fila,6).setBackground(QColor("red"))
             pos = busquedaCliente(self.arbolCliente,lista[i].idCliente)
             reg = leer(archCliente,pos)
             self.tabla.setItem(fila, 3, QTableWidgetItem(reg.nomCliente))
             if (reg.activo):
                 self.tabla.setItem(fila, 4, QTableWidgetItem('ACTIVO'))
                 self.tabla.item(fila,4).setBackground(QColor("lightgreen"))
             else:
                 self.tabla.setItem(fila, 4, QTableWidgetItem('BAJA'))
                 self.tabla.item(fila,4).setBackground(QColor("red"))
         else:
             if (lista[i].idCliente==int(seleccionados[2])):
                 self.barrasCliente(lista[i].idCliente)
                 self.tabla.insertRow(fila)
             
                 self.tabla.setItem(fila, 0, QTableWidgetItem(str(lista[i].ncv)))
                 self.tabla.setItem(fila, 1, QTableWidgetItem(str(lista[i].idVendedor)))
                 self.tabla.setItem(fila, 2, QTableWidgetItem(str(lista[i].idCliente)))
                 self.tabla.setItem(fila, 5, QTableWidgetItem(str(lista[i].importe)))
                 if (lista[i].pagado):
                     self.tabla.setItem(fila, 6, QTableWidgetItem('PAGADO'))
                     self.tabla.item(fila,6).setBackground(QColor("lightgreen"))
                 else:
                     self.tabla.setItem(fila, 6, QTableWidgetItem('IMPAGO'))
                     self.tabla.item(fila,6).setBackground(QColor("red"))
                 pos = busquedaCliente(self.arbolCliente,lista[i].idCliente)
                 reg = leer(archCliente,pos)
                 self.tabla.setItem(fila, 3, QTableWidgetItem(reg.nomCliente))
                 if (reg.activo):
                     self.tabla.setItem(fila, 4, QTableWidgetItem('ACTIVO'))
                     self.tabla.item(fila,4).setBackground(QColor("lightgreen"))
                 else:
                     self.tabla.setItem(fila, 4, QTableWidgetItem('BAJA'))
                     self.tabla.item(fila,4).setBackground(QColor("red"))
     cerrar(archCliente)