def checarFecha(): query="select max(fec_bol_exp) from boletoExpedidora;" objetoConexion = con.Conexion() f = objetoConexion.doQuery(query) r = f[0][0].strftime("%d-%m-%Y") print(r) print(tiempo.fechaConFormato()) if r != tiempo.fechaConFormato(): escribeArch = open("/home/pi/Documents/eum/app/expedidora/archivos_config/UltimoFolio.txt","w") res = 0 escribeArch.write(str(res)+"\n") escribeArch.close()
def limpiarBD(self): try: connection = psycopg2.connect(user=usuario, password=contrasenia, database=bd, host='localhost') with connection.cursor() as cursor: fecAct = fechaUTC.fechaConFormato() salto = 0 dAct = "" mAct = "" aAct = "" for linea in fecAct: if salto == 0 and linea != "-": dAct = dAct + linea if salto == 1 and linea != "-": mAct = mAct + linea if salto == 2 and linea != "-": aAct = aAct + linea if linea == "-": salto = salto + 1 mAct = int(mAct) aAct = int(aAct) if mAct > 4: mReg = mAct-4 aReg = aAct else: mReg = 8 + mAct aReg = aReg - 1 if mReg > 9: fechaReg = str(aReg) +"-"+str(mReg)+"-" + dAct +" 01:00:00" else: fechaReg = str(aReg) +"-0"+str(mReg)+"-" + dAct +" 01:00:00" cursor.execute("DELETE FROM boletos WHERE fecha < '{}';".format(fechaReg)) connection.commit() connection.close() except (Exception, psycopg2.DatabaseError) as error: print(error)
def checarFecha(self): try: connection = psycopg2.connect(user=usuario, password=contrasenia, database=bd, host='localhost') with connection.cursor() as cursor: cursor.execute("SELECT max(fecha) FROM boletos;") row2 = cursor.fetchone() if row2[0] is not None: fec = row2[0].strftime("%d-%m-%Y") if fec != fechaUTC.fechaConFormato(): escribeArch = open( "/home/pi/Documents/eum/app/expedidora/archivos_config/UltimoFolio.txt", "w") res = 0 escribeArch.write(str(res) + "\n") escribeArch.close() else: escribeArch = open( "/home/pi/Documents/eum/app/expedidora/archivos_config/UltimoFolio.txt", "w") res = 0 escribeArch.write(str(res) + "\n") escribeArch.close() connection.commit() connection.close() except (Exception, psycopg2.DatabaseError) as error: print(error)
def leerBotones(self): re.setReset() botones.configurarPinesGPIO() botones.configurarPinesGPIOBobina() global boleto_previo print("------Preguntar Botones --------") b1, b2 = botones.leerBotonesEntrada() f1 = botones.validarBotones(b1, b2) f2 = f3 = f4 = f5 = False f6 = botones.leerBobina2Subida( ) #PREGUNTAR POR LA BOBINA EN EL PIN CORRECTO if boleto_previo == True: #IMprimir cabecera() print "Imprimo la cabecera para tener listo el boleto..." imprimir.imprimirHeader() boleto_previo = False else: if f1 == True and f2 == False and f3 == False and f4 == False and f5 == False: noBolF = folio.saberFolio() folioBD = noBolF print "Folio:" + noBolF noBol = noBolF.replace('GM:', '') fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() #imprimir.imprimirQR(noBol,str(terminalEnt),str(fechaIn),str(horaEnt)) imprimir.imprimirQR2(noBol, str(terminalEnt), str(fechaIn), str(horaEnt)) print "Bandera f2=True se termino de imprimir" print "Se agrega Boleto a la base de datos de la expedidora" fechatimestamp = str(fechaIn) + " " + str(horaEnt) conectionBD.insertarBoleto(PATH_NOMBRE_PLAZA, terminalEnt, str(folioBD), fechatimestamp, 'DEFAULT-ESCOM') boleto_previo = True #Se completa la primera face y se puede volver a imprimir unas cabecera. f2 = True if f2 == True and f3 == False and f4 == False and f5 == False: botones.abrir() while (f2 == True and f3 == False): f3 = botones.leerBobina2Subida() f2 = False if f2 == False and f3 == True and f4 == False and f5 == False: while (f3 == True and f4 == False): time.sleep(0.5) print "Barrera Abierta" f4 = botones.abrirBarrera() f3 = False if f2 == False and f3 == False and f4 == True and f5 == False: while (f5 == False): time.sleep(0.5) f5 = botones.CerrarBarrera() f4 = False if f2 == False and f3 == False and f4 == False and f5 == True: print "Ya cerre barrera restablesco fs" f1 = f2 = f3 = f4 = f5 = False if f6 == True: print "Abrir barrera por que se echaron pa tràs" while (f5 == False): f5 = botones.CerrarBarrera() QtCore.QTimer.singleShot(200, self.leerBotones)
def mostrarFechayHora(self): fecha = fechaUTC.fechaConFormato() self.label_7.setText(fecha) self.label_9.setText(fecha) self.label_21.setText(fecha) hora = fechaUTC.tiempoConFormato() self.label.setText(hora) self.label_2.setText(hora) self.label_3.setText(hora)
def inicioImpresion(self): try: connection = psycopg2.connect(user=usuario, password=contrasenia, database=bd, host='localhost') with connection.cursor() as cursor: cursor.execute(" UPDATE estado_impresora SET estado = 1,fecha = '"+ str(fechaUTC.fechaConFormato() + " " + fechaUTC.tiempoConFormato()) +"' WHERE idestadoimpresora = 1") connection.commit() connection.close() except (Exception, psycopg2.DatabaseError) as error: print(error)
def btnAdmin(self): index = self.comboBox.currentIndex() if(index == 0): self.regUsu.pushButton.setText("Agregar") self.registroUsuario.show() elif(index == 1): self.corteCaja = QtGui.QDialog(self.Form) self.corCaj = dcorteCaja(self.corteCaja) self.corCaj.lineEdit.setText(OUTPUT_TERMINAL) self.corCaj.dateEdit.date = fecha.fechaConFormato() self.corCaj.pushButton.clicked.connect(self.btnCorteCaja) self.corCaj.pushButton_2.clicked.connect(self.cancelCorCaj) self.corteCaja.show() elif(index==2): self.dialogoTarifa = QtGui.QDialog(self.Form) self.dTar = dTarifa(self.dialogoTarifa) self.dTar.comboBox.activated.connect(self.showDestar) self.dTar.pushButton_2.clicked.connect(self.closeDialog) self.dTar.pushButton.clicked.connect(self.changeTarifa) self.showDestar() self.dialogoTarifa.show() elif(index==3): if(self.FEDITABLE==True): self.treg = 2 self.txtFechin.setEnabled(True) self.txtFolio.setEnabled(True) self.txtInput.setEnabled(True) self.txtHorain.setEnabled(True) self.pushButton_5.setEnabled(False) self.comboBox.setItemText(3,"Registro Automatico") self.FEDITABLE = False else: self.treg = 1 self.txtFechin.setEnabled(False) self.txtFolio.setEnabled(False) self.txtInput.setEnabled(False) self.txtHorain.setEnabled(False) self.pushButton_5.setEnabled(True) self.comboBox.setItemText(3,"Registro Manual") self.FEDITABLE = True
def imprimirCorte(expedidos, folioInicial, folioFinal, turno, encendidos, apagados, num): print("emp") try: Generic = instanciarImpresora() if Generic == "No esta conectada la impresora": return Generic a = fechaUTC.fechaConFormato() c = fechaUTC.tiempoConFormato() b = a + ' ' + c #a=dateTime() #b=textFromDateTime(a) #Generic.text('Bienvenido \n'+str(nom_plaza)+'\n') Generic.set(align=u'center', font=u'A', text_type=u'B', width=1, height=1) Generic.image("/home/pi/Documents/eum/app/expedidora/logo.png") Generic.text("\n\nREPORTE EXPEDIDORA " + num + "\n") Generic.text('\nFecha: ' + str(b)) #Generic.text(str(pol)) Generic.text('\n\nExpedidos:' + str(expedidos) + ' ' + "\n\nFolio Inicial: " + folioInicial + ' ' + "\n\nFolio Final: " + folioFinal + '\n\nTurno: ' + turno + "--" + encendidos + "--" + apagados + "\n\n\n") content = "Estacionamientos unicos de Mexico\n" + expedidos + "\n" + folioInicial + "\n" + folioFinal + "\n" + turno Generic.qr(content, ec=0, size=4) Generic.cut() #codQR=imagen.cambiarTamQR(PATH_CODIGOS_QR) #Generic.image(codQR) print("QR bien impresa") return "ack" except Exception as error: print("ERROR AL IMPRIMIR QR", error) return "No se pudo imprimir"
import sys import commands, os from escposprinter import * GPIO.setmode(GPIO.BCM) from PyQt4 import QtCore, QtGui PATH_NOMBRE_PLAZA = str(archivoConfiguracion.getName()) DIRECCION_PLAZA = str(archivoConfiguracion.getDireccion()) terminalEnt = int(archivoConfiguracion.getNumTer()) boleto_previo = True fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() horaDeApagado = confFH.getHora() try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8
def leerBotones(self): global boleto_previo, espera, limite_impresiones re.setReset() self.mostrarFechayHora() if self.pantalla == 0: self.stackedWidget.setCurrentIndex(0) elif self.pantalla == 1: if espera == 0: mixer.init() mixer.music.load('/home/pi/Documents/eum/app/expedidora/sonidos/mensaje2.mp3') mixer.music.play() self.stackedWidget.setCurrentIndex(1) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 else: self.stackedWidget.setCurrentIndex(2) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 if self.inicio == 0: self.error = 0 self.inicio = 1 self.checarFecha() self.limpiarBD() self.inicioImpresion() respuesta = imprimir.footer() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 if botones.leerAyuda() == 1: self.pantalla = 2 if self.error == 0: if boleto_previo == True and self.f1 == False: self.inicioImpresion() respuesta = imprimir.imprimirHeader() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: boleto_previo = False else: if botones.leerMasa() == 1: if self.f1 == False: print("------Preguntar Botones --------") self.f1 = botones.leerBotonesEntrada() if self.f1 == True and self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == False: if boleto_previo == False: noBolF = folio.saberFolio() folioBD = noBolF fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() fechatimestamp = str(fechaIn)+" "+str(horaEnt) #self.insertarBoleto(plaza,terminalEnt,noBolF,fechatimestamp,'DEFAULT-ESCOM') ''' Operacion 1.- Registro de boleto''' #mensaje = (idBoleto,idExpedidora,FechaExpedicion, idestado, idtipodescuento, idSalida) mensaje = noBolF + "," + str(terminalEnt) + "," + fechatimestamp + "," + str(1) + "," + str(1) + "," + str(0) #####validacion = clientes.configSocket("registro boleto") validacion = 1 if validacion == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: #####valor = clientes.enviarMensaje(validacion,mensaje) valor = 1 if valor == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: self.insertarBoleto(plaza,terminalEnt,noBolF,fechatimestamp,'DEFAULT-ESCOM') folio.escribirArchivoFolios(noBolF) self.inicioImpresion() respuesta = imprimir.imprimirQR22(noBolF,str(terminalEnt),str(fechaIn),str(horaEnt)) self.finImpresion() if respuesta == -1: imprimir.cutter() #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: papel_cont = self.conteoBoletos() if papel_cont == limite_impresiones: #MANDAR MENSAJE AL SERVIDOR DE PAPEL CASI AGOTADO mensaje = str(terminalEnt) + "," + str(3) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) papel_cont = papel_cont + 1 self.aumentoConteo(papel_cont) mixer.init() mixer.music.load('/home/pi/Documents/eum/app/expedidora/sonidos/mensaje1.mp3') mixer.music.play() boleto_previo = True self.f2 = True if self.f2 == True and self.f3 == False and self.f4 == False and self.f5 == False: if self.f6 == False: time.sleep(0.5) botones.abrir() self.f6 = True self.f3 = botones.leerBobina2Subida() if self.f3 == True: self.f2 = False if self.f2 == False and self.f3 == True and self.f5 == False: self.f4 = botones.abrirBarrera() if self.f4 == True: self.f3 = False if self.f2 == False and self.f3 == False and self.f4 == True: self.f5 = botones.CerrarBarrera() if self.f5 == True: self.f4 = False if self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == True: self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = self.f6 = False elif self.error == 2: respuesta = imprimir.imprimirHeader() if respuesta == "ack": boleto_previo = False self.error = 0 elif self.error == 3: respuesta = imprimir.instanciarImpresora() if respuesta != "No esta conectada la impresora": self.error = 0 QtCore.QTimer.singleShot(200, self.leerBotones)
def updateTime(self): self.labelFechout.setText(""+str(fecha.fechaConFormato())) self.labelHoraout.setText(""+str(fecha.tiempoConFormato())) H=time.strftime("%H:%M:%S") self.apagarExp(H)
def leerBotones(self): global regreso,boleto_previo, espera, limite_impresiones,teclaF3,ser,panelConf,avanza,errImpresora,segundos,comienzaConteo,sensor,leido ##HABILITAR DESHAB ANCHO PAPEL if(self.cimpresora2.currentIndex()==1): self.cpapel2.setEnabled(False) else: self.cpapel2.setEnabled(True) print("PAPEL:",self.cpapel2.currentIndex()) #botonTicket (MASA) DESHABILITADO self.botonTicket.setEnabled(False) re.setReset() self.mostrarFechayHora() if self.pantalla == 0: pass elif self.pantalla == 1: if espera == 0: #mixer.init() #mixer.music.load('/home/pi/Documents/eum/app/expedidora/sonidos/mensaje2.mp3') #mixer.music.play() pass pass espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 else: pass espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 if self.inicio == 0: self.error = 0 self.inicio = 1 #self.checarFecha() #self.limpiarBD() #self.inicioImpresion() respuesta = imprimir.footer() #self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 if botones.leerAyuda() == 1: self.pantalla = 2 if self.error == 0: if boleto_previo == True and self.f1 == False: #self.inicioImpresion() respuesta = imprimir.imprimirHeader() #self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: boleto_previo = False else: if botones.leerMasa() == 1: # -------------Puente sensor de masa #if 1: if self.f1 == False: print("------ PRESENCIA AUTOMOVIL --------") #Habilitando icono presencia self.f1 = botones.leerBotonesEntrada() # -------------Puente boton ticket #self.f1 = 1 #self.botonTicket.setEnabled(True) #self.f1 = teclaF3 if(not panelConf): self.cambia(1) self.F3.setEnabled(True) if(errImpresora==1): self.lpress.setText("Disculpe la molestia\nPresione Nuevamente") else: self.lpress.setText("Presione") print("aaaaa",teclaF3) if self.f1 == True and self.f2 == False and regreso == False and self.f4 == False and self.f5 == False: if boleto_previo == False: self.cambia(7) self.F3.setEnabled(False) teclaF3 = 0 noBolF = folio.saberFolio() folioBD = noBolF fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() fechatimestamp = str(fechaIn)+" "+str(horaEnt) #self.insertarBoleto(plaza,terminalEnt,noBolF,fechatimestamp,'DEFAULT-ESCOM') ''' Operacion 1.- Registro de boleto''' #mensaje = (idBoleto,idExpedidora,FechaExpedicion, idestado, idtipodescuento, idSalida) mensaje = noBolF + "," + str(terminalEnt) + "," + fechatimestamp + "," + str(1) + "," + str(1) + "," + str(0) #####validacion = clientes.configSocket("registro boleto") validacion = 1 if validacion == "error": self.f1 = self.f2 = regreso = self.f4 = self.f5 = False self.pantalla = 1 else: #####valor = clientes.enviarMensaje(validacion,mensaje) valor = 1 if valor == "error": self.f1 = self.f2 = regreso = self.f4 = self.f5 = False self.pantalla = 1 else: #self.insertarBoleto(plaza,terminalEnt,noBolF,fechatimestamp,'DEFAULT-ESCOM') #self.inicioImpresion() #respuesta = imprimir.imprimirQR22(noBolF,str(terminalEnt),str(fechaIn),str(horaEnt),plaza,localidad,costo) self.cambia(7) respuesta = imprimir.imprimirQR22(noBolF,str(terminalEnt),str(fechaIn),str(horaEnt),plaza,localidad,pol) print("respuesta= ",respuesta) #self.finImpresion() if respuesta != "ack": errImpresora=1 print("ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR") print("ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR") print("ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR") print("ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR") print("ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR") boleto_previo = True self.cambia(1) self.F3.setEnabled(True) self.lpress.setText("Disculpe la molestia\nPresione Nuevamente") errImpresora=1 self.f1 = self.f2 = regreso = self.f4 = self.f5 = self.f6 = False else: #papel_cont = self.conteoBoletos() try: self.registrarBoleto(mensaje) except: print("Error al registrar en servidor") self.lpress.setText("Sin Comunicacion",validacion,valor) folio.escribirArchivoFolios(noBolF) papel_cont = 1 errImpresora=0 if papel_cont == limite_impresiones: #MANDAR MENSAJE AL SERVIDOR DE PAPEL CASI AGOTADO mensaje = str(terminalEnt) + "," + str(3) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) papel_cont = papel_cont + 1 ##self.aumentoConteo(papel_cont) #mixer.init() #mixer.music.load('/home/pi/Documents/eum/app/expedidora/sonidos/mensaje1.mp3') #mixer.music.play() boleto_previo = True self.f2 = True self.lpress.setText("Presione") print("f2,regreso,f4,f5.f6= ",self.f2 ,regreso ,self.f4, self.f5,self.f6) if self.f2 == True and regreso == False and self.f4 == False and self.f5 == False: if self.f6 == False: avanza=1 print("Avance") time.sleep(1.5) botones.abrir() print("Abriendo") self.cambia(8) #self.lcabezal.setText("ESPERE") self.f6 = True if(comienzaConteo==0): #segundos=0 comienzaConteo=1 if(int(sensor)==2): print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",sensor) print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",sensor) print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",sensor) comienzaConteo=1 print("NOTTTTTTTTTTTTTTTTTTTTT",regreso) else: comienzaConteo=0 regreso = botones.leerBobina2Subida() print("ERRERERERERERERERE",regreso) #else: print("regresooooooo",regreso) if regreso == True: print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") print("F3=TRUEEEEEEEEEEEEE") self.F3.setEnabled(True) self.cambia(1) #self.lcabezal.setText("BIENVENIDO") self.f2 = False if self.f2 == False and regreso == True and self.f5 == False: self.f4 = botones.abrirBarrera() if self.f4 == True: regreso = False if self.f2 == False and regreso == False and self.f4 == True: self.f5 = botones.CerrarBarrera() if self.f5 == True: teclaF3 = 0 self.f4 = False if self.f2 == False and regreso == False and self.f4 == False and self.f5 == True: teclaF3 = 0 self.f1 = self.f2 = regreso = self.f4 = self.f5 = self.f6 = False elif self.error == 2: respuesta = imprimir.imprimirHeader() if respuesta == "ack": boleto_previo = False self.error = 0 elif self.error == 3: respuesta = imprimir.instanciarImpresora() if respuesta != "No esta conectada la impresora": self.error = 0 QtCore.QTimer.singleShot(100, self.leerBotones)
def fechaLabel(self): fecha = fechaUTC.fechaConFormato() self.ldate2.setText(fecha) hora = fechaUTC.tiempoConFormato() self.ltime2.setText(hora)
def mostrarFechayHora(self): fecha = fechaUTC.fechaConFormato() hora = fechaUTC.tiempoConFormato() self.ldate.setText(fecha) self.ltime.setText(hora)
def leerBotones(self): global boleto_previo, espera, limite_impresiones, red, green, blue, rrr, cont if (red < 50): rrr = 1 if (red > 150): rrr = 0 if (rrr == 0): red = red - 20 green = green - 20 blue = blue - 20 else: red = red + 20 green = green + 20 blue = blue + 20 self.lboleto.setStyleSheet("color:rgb(" + str(red) + ", " + str(green) + ", " + str(blue) + ");background-color:transparent;") #re.setReset() self.mostrarFechayHora() if self.pantalla == 0: #self.stackedWidget.setCurrentIndex(0) pass elif self.pantalla == 1: if espera == 0: mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje2.mp3' ) mixer.music.play() self.stackedWidget.setCurrentIndex(0) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 else: self.stackedWidget.setCurrentIndex(0) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 if self.inicio == 0: self.error = 0 self.inicio = 1 #self.checarFecha() self.limpiarBD() self.inicioImpresion() respuesta = imprimir.footer() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 if botones.leerAyuda() == 1: self.pantalla = 2 if self.error == 0: if boleto_previo == True and self.f1 == False: #self.inicioImpresion() #respuesta = imprimir.imprimirHeader() #self.finImpresion() respuesta = 1 if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str(4) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: boleto_previo = False else: if botones.leerMasa() == 1: if self.f1 == False: print("------Preguntar Botones --------") self.f1 = botones.leerBotonesEntrada() if self.f1 == True and self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == False: if boleto_previo == False: noBolF = folio.saberFolio() folioBD = noBolF fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() fechatimestamp = str(fechaIn) + " " + str(horaEnt) #self.insertarBoleto(plaza,noEquipo,noBolF,fechatimestamp,'DEFAULT-ESCOM') ''' Operacion 1.- Registro de boleto''' #mensaje = (idBoleto,idExpedidora,FechaExpedicion, idestado, idtipodescuento, idSalida) mensaje = noBolF + "," + str( noEquipo) + "," + fechatimestamp + "," + str( 1) + "," + str(1) + "," + str(0) #####validacion = clientes.configSocket("registro boleto") validacion = 1 if validacion == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: #####valor = clientes.enviarMensaje(validacion,mensaje) valor = 1 if valor == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: self.insertarBoleto( plaza, noEquipo, noBolF, fechatimestamp, 'DEFAULT-ESCOM') folio.escribirArchivoFolios(noBolF) self.inicioImpresion() #respuesta = imprimir.imprimirHeader() respuesta = imprimir.imprimirQR2( noBolF, str(noEquipo), str(fechaIn), str(horaEnt)) self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str( 4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: if (respuesta == "ack"): papel_cont = self.conteoBoletos() if papel_cont == limite_impresiones: #MANDAR MENSAJE AL SERVIDOR DE PAPEL CASI AGOTADO mensaje = str( noEquipo) + "," + str( 3) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) papel_cont = papel_cont + 1 self.aumentoConteo(papel_cont) mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje1.mp3' ) mixer.music.play() boleto_previo = True self.f2 = True else: print("PRESIONE NUEVAMENTE") if self.f2 == True and self.f3 == False and self.f4 == False and self.f5 == False: if self.f6 == False: time.sleep(0.5) botones.abrir() print("ABRIENDO....................") cont = cont + 1 print("////////Boletos: ", cont) self.f6 = True self.f3 = botones.leerBobina2Subida() #self.f3 = True; if self.f3 == True: self.f2 = False if self.f2 == False and self.f3 == True and self.f5 == False: self.f4 = botones.abrirBarrera() if self.f4 == True: self.f3 = False if self.f2 == False and self.f3 == False and self.f4 == True: self.f5 = botones.CerrarBarrera() if self.f5 == True: self.f4 = False if self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == True: self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = self.f6 = False elif self.error == 2: #respuesta = imprimir.imprimirHeader() if respuesta == "ack": boleto_previo = False self.error = 0 elif self.error == 3: respuesta = imprimir.instanciarImpresora() if respuesta != "No esta conectada la impresora": self.error = 0 QtCore.QTimer.singleShot(100, self.leerBotones)