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
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)
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]
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()
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)
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
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()
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)
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)