예제 #1
0
파일: first.py 프로젝트: eumsys/eum
 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)
예제 #2
0
    def leerBotones(self):
        global boleto_previo, espera, limite_impresiones
        ############# ARDUINO ###############################
        '''
		global ser
		sensor_masa1 = False
		sensor_masa2 = False
		sensor_boton = False
		ser.flushInput()
		time.sleep(.2)
		#r=ser.read(ser.inWaiting())
		r=ser.read(1)
		if(r):
			#r=ser.linesep.join([s for s in r.splitlines() if s])
			print("r",r)
		
		if (r[0] == 49):
			sensor_masa1 = True
			sensor_masa2 = False
			sensor_boton = False
		elif (r[0] == 50):
			sensor_masa1 = False
			sensor_masa2 = False
			sensor_boton = True
		elif (r[0] == 51):
			sensor_masa1 = True
			sensor_masa2 = False
			sensor_boton = True
		elif (r[0] == 52):
			sensor_masa1 = False
			sensor_masa2 = True
			sensor_boton = False
		else:
			sensor_masa1 = False
			sensor_masa2 = False
			sensor_boton = False
		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(arduino) == True:
                    if self.f1 == False:
                        print("------Preguntar Botones --------")
                        self.f1 = botones.leerBotonesEntrada(arduino)
                    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()
                            idImpresora = folio.saberIdImpresora()
                            print("ID IMPRESORA EXPEDIDORA: {}".format(
                                idImpresora))
                            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.imprimirQR2(
                                        idImpresora, noBolF, idImpresora,
                                        str(fechaIn), str(horaEnt))
                                    #respuesta = imprimir.imprimirQR2(noBolF,str(terminalEnt),str(fechaIn),str(horaEnt))
                                    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:
                                        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(arduino)
                        self.f6 = True
                    self.f3 = botones.leerBobina2Subida(arduino)
                    if self.f3 == True:
                        self.f2 = False
                if self.f2 == False and self.f3 == True and self.f5 == False:
                    #ser.write(b'O')
                    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)
예제 #3
0
파일: firstLocal.py 프로젝트: eumsys/app
    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)