Exemple #1
0
def llenarCliente(sesion, cli):
    if isinstance(cli, cliente):
        global lectura
        lectura = sesion.autECLPS.GetText(8, 35, 9).strip()
        cli = cliente()
        cli.ci_ruc = sesion.autECLPS.GetText(4, 10, 13).strip()
        cli.cuenta = sesion.autECLPS.GetText(3, 27, 7).strip()
        cli.nombre = sesion.autECLPS.GetText(3, 35, 30).strip()
        #cli.direccion = sesion.autECLPS.GetText(14, 18, 50)
        #cli.interseccion = sesion.autECLPS.GetText(15, 18, 50)
        #cli.urbanizacion = sesion.autECLPS.GetText(16, 18, 50)
        cli.estado = sesion.autECLPS.GetText(21, 42, 20).strip()
        cli.geocodigo = secuencia(
            num=int(sesion.autECLPS.GetText(20, 73, 7).strip()),
            ruta=ruta(
                num=int(sesion.autECLPS.GetText(20, 7, 3).strip()),
                descripcion=sesion.autECLPS.GetText(20, 11, 30).strip(),
                sector=sector(
                    num=int(sesion.autECLPS.GetText(19, 13, 2).strip()),
                    descripcion=sesion.autECLPS.GetText(19, 16, 40).strip(),
                    canton=canton(
                        num=int(sesion.autECLPS.GetText(18, 45, 2).strip()),
                        descripcion=sesion.autECLPS.GetText(18, 48, 20).strip(),
                        provincia=provincia(
                            id=int(sesion.autECLPS.GetText(18, 13, 2).strip()),
                            descripcion=sesion.autECLPS.GetText(18, 16, 20).strip()
                        )
                    )
                )
            )
        )

        cli.ubicacionGeografica = ubicacion(
            parroquia=parroquia(
                num=int(sesion.autECLPS.GetText(13, 13, 2).strip()),
                descripcion=(sesion.autECLPS.GetText(13, 17, 35)).encode('utf-8').strip()
            ),
            calle=calle(
                descripcion1=(sesion.autECLPS.GetText(14, 18, 50)).encode('utf-8').strip(),
            ),
            interseccion=calle(
                descripcion1=(sesion.autECLPS.GetText(15, 18, 50)).encode('utf-8').strip(),
            ),
            urbanizacion=urbanizacion(
                descripcion=(sesion.autECLPS.GetText(16, 18, 50)).encode('utf-8').strip()
            )
        )
        #print cli.ubicacionGeografica

    sesion.autECLPS.SendKeys('[pf2]')
    sesion.autECLOIA.WaitForAppAvailable()
    sesion.autECLOIA.WaitForInputReady()

    cli.meses = sesion.autECLPS.GetText(12, 45, 3)
    cli.deuda = decimal.Decimal(sesion.autECLPS.GetText(15, 22, 12))

    sesion.autECLPS.SendKeys('[pf12]')
    sesion.autECLOIA.WaitForAppAvailable()
    sesion.autECLOIA.WaitForInputReady()

    for j in range(3):
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

    sesion.autECLPS.SendKeys('[pf12]')
    sesion.autECLOIA.WaitForAppAvailable()
    sesion.autECLOIA.WaitForInputReady()

    return cli
Exemple #2
0
    def porNombre(self, nombre, paraIngreso=False):
        sesion = self.sesion
        sesion.autECLPS.SendKeys('5', 9, 12)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('1', 9, 3)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf8]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys(str(nombre)[:17], 8, 5)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        coincidencias = []
        if not paraIngreso:
            for i in range(9, 21):
                if sesion.autECLPS.GetText(i, 5, 22).strip() != "":
                    coincidencias.append(
                        cliente(
                            id=i - 9,
                            nombre=sesion.autECLPS.GetText(i, 5, 22),

                            ubicacionGeografica=ubicacion(
                                parroquia=parroquia(
                                    descripcion=''
                                ),
                                calle=calle(
                                    descripcion1=sesion.autECLPS.GetText(i, 28, 17),
                                ),
                                interseccion=calle(
                                    descripcion1=''
                                ),
                                urbanizacion=urbanizacion(
                                    descripcion=''
                                )
                            ),
                            #direccion=sesion.autECLPS.GetText(i, 28, 17),
                            cuenta=sesion.autECLPS.GetText(i, 46, 7),
                            deuda=sesion.autECLPS.GetText(i, 59, 8),
                            meses=sesion.autECLPS.GetText(i, 68, 3)
                        )
                    )

        sesion.autECLPS.SendKeys('1', 9, 3)
        for j in range(4):
            sesion.autECLPS.SendKeys('[enter]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf2]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        try:
            coincidencias[0] = llenarCliente(sesion, coincidencias[0])
        except:
            coincidencias.append(llenarCliente(sesion, cliente()))

        sesion.autECLPS.SendKeys('9')
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        medidores = llenarMedidores(sesion, paraIngreso=paraIngreso)

        titulo = sesion.autECLPS.GetText(5, 1, 11)
        while titulo != '5=Programas':
            sesion.autECLPS.SendKeys('[pf12]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
            titulo = sesion.autECLPS.GetText(5, 1, 11)

        formC = ClienteBuscado(coincidencias[0].geocodigo, coincidencias[0].ubicacionGeografica,
                               instance=coincidencias[0])

        data = {
            'cClientes': coincidencias,
            'formCliente': formC,
            'cMedidores': medidores,
        }

        return data
Exemple #3
0
    def porGeocodigo(self, geocodigo, paraIngreso=False):
        sesion = self.sesion
        sesion.autECLPS.SendKeys('5', 9, 12)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('1', 12, 3)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf8]', 9, 5)
        geocodigo = geocodigo.split(".")
        sesion.autECLPS.SendKeys('[up]')
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys(str('%02d' % (int(geocodigo[0]))), 8, 6)
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys(str('%02d' % (int(geocodigo[1]))), 8, 11)
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys(str('%02d' % (int(geocodigo[2]))), 8, 18)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('7', 9, 3)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[up]')
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys('[eraseeof]')
        sesion.autECLPS.SendKeys(str('%03d' % (int(geocodigo[3]))), 8, 6)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('8', 9, 2)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[up]')
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys('[eraseeof]', 8, 5)
        sesion.autECLPS.SendKeys(str('%07d' % (int(geocodigo[4]))), 8, 5)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        ruta = str(sesion.autECLPS.GetText(4, 16, 13)).strip()
        coincidencias = []
        if not paraIngreso:
            for i in range(9, 21):
                if sesion.autECLPS.GetText(i, 5, 7).strip() != "":
                    coincidencias.append(
                        cliente(
                            id=i - 9,

                            ubicacionGeografica=ubicacion(
                                parroquia=parroquia(
                                    descripcion=''
                                ),
                                calle=calle(
                                    descripcion1=sesion.autECLPS.GetText(i, 38, 14)
                                ),
                                interseccion=calle(
                                    descripcion1=ruta + '.' + str(sesion.autECLPS.GetText(i, 5, 7)).strip()
                                ),
                                urbanizacion=urbanizacion(
                                    descripcion=sesion.autECLPS.GetText(i, 53, 10)
                                )
                            ),
                            #interseccion=ruta+'.'+str(sesion.autECLPS.GetText(i, 5, 7)).strip(),
                            #direccion=sesion.autECLPS.GetText(i, 38, 14),
                            #urbanizacion=sesion.autECLPS.GetText(i, 53, 10),
                            cuenta=sesion.autECLPS.GetText(i, 13, 7),
                            nombre=sesion.autECLPS.GetText(i, 21, 16),
                            deuda=sesion.autECLPS.GetText(i, 68, 8)
                        )
                    )

        sesion.autECLPS.SendKeys('1', 9, 3)
        for j in range(4):
            sesion.autECLPS.SendKeys('[enter]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf2]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        try:
            coincidencias.insert(0, llenarCliente(sesion, coincidencias[0]))
        except:
            coincidencias.append(llenarCliente(sesion, cliente()))
        if paraIngreso and coincidencias[0].geocodigo != geocodigo:
            return None

        sesion.autECLPS.SendKeys('9')
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        medidores = llenarMedidores(sesion, paraIngreso=paraIngreso)

        titulo = sesion.autECLPS.GetText(5, 1, 11)
        while titulo != '5=Programas':
            sesion.autECLPS.SendKeys('[pf12]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
            titulo = sesion.autECLPS.GetText(5, 1, 11)

        formC = ClienteBuscado(coincidencias[0].geocodigo, coincidencias[0].ubicacionGeografica,
                               instance=coincidencias[0])

        data = {
            'cClientes': coincidencias,
            'formCliente': formC,
            'cMedidores': medidores,
        }

        return data
Exemple #4
0
    def porMedidor(self, medidor, paraIngreso=False):
        sesion = self.sesion
        sesion.autECLPS.SendKeys('5', 9, 12)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('1', 9, 3)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf9]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        for h in range(3):
            sesion.autECLPS.SendKeys("[up]")
        sesion.autECLPS.SendKeys('[tab]')
        sesion.autECLPS.SendKeys(str(medidor), 4, 43)
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        coincidencias = []
        if not paraIngreso:
            for i in range(7, 18):
                if sesion.autECLPS.GetText(i, 8, 11).strip() != "":
                    coincidencias.append(
                        cliente(
                            id=i - 9,

                            ubicacionGeografica=ubicacion(
                                parroquia=parroquia(
                                    descripcion=''
                                ),
                                calle=calle(
                                    descripcion1=sesion.autECLPS.GetText(i, 58, 20)
                                ),
                                interseccion=calle(
                                    descripcion1=''
                                ),
                                urbanizacion=urbanizacion(
                                    descripcion=sesion.autECLPS.GetText(i, 8, 11)
                                )
                            ),
                            #urbanizacion=sesion.autECLPS.GetText(i, 8, 11),
                            #direccion=sesion.autECLPS.GetText(i, 58, 20),
                            estado=sesion.autECLPS.GetText(i, 20, 3),
                            cuenta=sesion.autECLPS.GetText(i, 24, 7),
                            nombre=sesion.autECLPS.GetText(i, 32, 25),

                        )
                    )

        sesion.autECLPS.SendKeys('2', 7, 4)
        #print 'se pulsoel 2'
        for j in range(4):
            sesion.autECLPS.SendKeys('[enter]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('[pf2]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        try:
            coincidencias.insert(0, llenarCliente(sesion, coincidencias[0]))
        except:
            coincidencias.append(llenarCliente(sesion, cliente()))

        sesion.autECLPS.SendKeys('1')
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()
        sesion.autECLPS.SendKeys('9')
        sesion.autECLPS.SendKeys('[enter]')
        sesion.autECLOIA.WaitForAppAvailable()
        sesion.autECLOIA.WaitForInputReady()

        medidores = llenarMedidores(sesion, paraIngreso=paraIngreso)

        titulo = sesion.autECLPS.GetText(5, 1, 11)
        while titulo != '5=Programas':
            sesion.autECLPS.SendKeys('[pf12]')
            sesion.autECLOIA.WaitForAppAvailable()
            sesion.autECLOIA.WaitForInputReady()
            titulo = sesion.autECLPS.GetText(5, 1, 11)

        formC = ClienteBuscado(coincidencias[0].geocodigo, coincidencias[0].ubicacionGeografica,
                               instance=coincidencias[0])

        data = {
            'cClientes': coincidencias,
            'formCliente': formC,
            'cMedidores': medidores,
        }

        return data