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
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
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
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