def prepararDiccionariosDeTrabajo(): global dBanco, dConcepto, dFecha, dPer, dDiv dBanco = ES.cargaDicc("bancos.txt") # [0]Codigo; [1]Descripcion dConcepto = ES.cargaDicc("conceptos.txt") # [0]Codigo; [1]Descripcion dFecha = ES.cargaDicc( "control.txt") # [0]Identificacion del proceso; [1]Fecha dPer = ES.cargaDicc("persona.txt") # [0]Cedula; # [1]Nombre(Nombre|Nucleo|Fecha de nacimiento o P:personal|disponibilidad o No|A/N:extension) dDiv = ES.cargaDicc("dividendos.txt") # [0]Cedula; [1]Monto
def creaDicConceptos(): dConcepto = {} if not bMySQL: if __name__ != '__main__' or bMovil: archTexto = "conceptos.txt" else: archTexto = "../data/conceptos.txt" try: c = -1 dConc = ES.cargaDicc(archTexto) for k, v in dConc.items(): c = k dConcepto[k] = poblarDicConc(k, v) return dConcepto except: if not bMovil: print('Problemas con el archivo de texto: ' + archTexto + '(' + c + ').\n') return {} # Abre la conexion con la base de datos. if oMySQL.conectar(): # Prepara un cursor. cursor = oMySQL.abreCursor() # Prepara una consulta SQL para SELECT registros desde la base de datos. sql = ''' SELECT codigo, descripcion, tx_comprobante, nu_sinca, id_nomina, id_automatico FROM conceptos ''' try: # Ejecuta el comando SQL. cursor.execute(sql) # Alimneta todas las filas en una lista de listas. resultados = cursor.fetchall() for fila in resultados: # Crea diccionario de conceptos. dConcepto[fila[0]] = poblarDicConc(fila[0], fila[1], fila[2], fila[3], fila[4], fila[5]) except: print("Imposible crear diccionario de conceptos.") # disconnect from server oMySQL.cierraCursor(cursor) oMySQL.cierraConexion() else: print("No se pudo conectar a la Base de Datos.") return dConcepto
def creaLstAsesores(): dPersona = {} archTexto = "persona.txt" if not bMySQL: try: c = -1 dPer = ES.cargaDicc(archTexto) for k,v in dPer.items(): c = k (nb, nu, fnac, ds, ex) = v.split('|') dPersona[k] = poblarLstAsesores(k, nb, nu, fnac, ds, ex) return dPersona except: if not bMovil: print('Problemas con el archivo de texto: ' + archTexto + '(' + c + ').\n') return {} # Abre la conexion con la base de datos. if oMySQL.conectar(): # Prepara un cursor. cursor = oMySQL.abreCursor() # Prepara una consulta SQL para SELECT registros desde la base de datos. sql = ''' SELECT s.Cedula AS ci, s.Nombre as nb, SUBSTRING(s.Nucleo, 1, 1) as nu, DATE_FORMAT(IFNULL(s.Fecha_nacimiento, '00000000'), '%d%m%Y') as fnac, IFNULL(a.Monto, '0.00') as ds, IF(IFNULL(e.nu_suma_asegurada, 'N')=1250, 'A', 'a') as ex FROM socios s LEFT JOIN ahorros a ON (a.Cedula = s.Cedula AND a.Concepto = '999') LEFT JOIN extension e ON (e.nu_cedula = s.Cedula AND e.nu_cedula_carga = s.Cedula) # WHERE Estatus = 1 UNION SELECT p.Cedula AS ci, TRIM(TRAILING '.' FROM TRIM(TRAILING ',' FROM p.Nombre)) as nb, Nucleo_1 as nu, 'P' as fnac, 'No' as ds, 'N' as ex FROM personal p INNER JOIN rac r ON (r.Cedula = p.Cedula AND r.Sec_clave = '1') WHERE p.Cedula NOT IN (SELECT s.Cedula FROM socios s WHERE s.Cedula = p.Cedula) ORDER BY 1 ''' try: # Ejecuta el comando SQL. cursor.execute(sql) # Alimneta todas las filas en una lista de listas. resultados = cursor.fetchall() for fila in resultados: # Crea diccionario de conceptos. dPersona[str(int(fila[0]))] = poblarLstAsesores(str(int(fila[0])), fila[1], fila[2], fila[3], fila[4], fila[5]) except: print("Imposible crear diccionario de personas.") # disconnect from server oMySQL.cierraCursor(cursor) oMySQL.cierraConexion() else: print("No se pudo conectar a la Base de Datos.") return dPersona
miDirIP = obtenerIP(IPServ) # Esta rutina fue la unica que encontre para mi IP. print("Mi direccion IP es: %s" % miDirIP) try: if IPServ[0:IPServ.rindex('.')] != miDirIP[0:miDirIP.rindex('.')]: # Las tres primeras partes de ambos IPv4 deben ser iguales. print("El servidor seleccionado %s es errado." % IPServ) ES.muestraFin() sys.exit() except ValueError: # La funcion rindex (busca indece desde el final de la cadena), no consigue el '.'. print("ERROR EXTRA#O DE RED") # Este error NUNCA deberia ocurrir. ES.muestraFin() sys.exit() # Se trata de saber, cuando se actualizo por ultima vez un archivo. En el nuevo control.txt, # ademas de la informacion del sistema, tambien se guardara la fecha de descarga de cada archivo. dControl = ES.cargaDicc("control.txt") # Diccionario de control, antes de recibir el nuevo. URL = "http://" + IPServ + "/" + 'movil/' bImpar = True lBancosHoy = None dHoy = strftime("%Y%m%d", localtime()) try: f = open(DIR + 'control.txt', "r") data = f.read() lControl = [linea.strip().split(';') for linea in data.rstrip().split('\n')] except: lControl = [['0', nombArch] for nombArch in lDATA] dControl = {linea[1].strip():[linea[0].strip(), linea[0].strip()] for linea in lControl if FG.esEntero(linea[0].strip())} lBancosHoy = None # La lista de bancos de hoy esta vacia al principio.