コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
	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.