def procesoReactiva(fechaInput, fechaRangoUno, fechaRangoDos, archivoXlsxInput, archivoCertificacionXls, archivoComplementoCliente, pathArchivoTxt): hora = datetime.datetime.now() pathLogSalida = "REACTIVA/{0}log_{1}{2}_{3}.txt".format( PATH_LOG, 'REACTIVA', fechaInput, hora.strftime("%Y%m%d%H%M")) print("Iniciando proceso REACTIVA...") try: dataReactivaTxt = leerArchivoReactiva(archivoXlsxInput, fechaInput, fechaRangoUno, fechaRangoDos, archivoCertificacionXls, archivoComplementoCliente) logProceso = LOG_PROCESO_REACTIVA if dataReactivaTxt: for data in dataReactivaTxt: salidaTxt = "{0}/{1}{2}.txt".format(pathArchivoTxt, data['NOMBRE_ARCHIVO'], fechaInput) salidaArchivoTxtProactiva(salidaTxt, data['DATA'], data['ENCABEZADO']) if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: {0}\{1} Creado!".format(PATH_RAIZ, pathLogSalida)) except Exception as e: print(e)
def procesoProactiva(fechaInput, archivoXlsxInput, archivoComplementoCliente, pathArchivoTxt): hora = datetime.datetime.now() pathLogSalida = "PROACTIVA/{0}log_{1}{2}_{3}.txt".format( PATH_LOG, 'PROACTIVA', fechaInput, hora.strftime("%Y%m%d%H%M")) print("Iniciando proceso PROACTIVA...") try: dataProactivaXlsx, encabezadoXlsx, reliquidacionesTxt, encabezadoReliquidacionesTxt = leerArchivoProactiva( archivoXlsxInput, fechaInput, archivoComplementoCliente) formatoSalidaTxt = PROACTIVA_CONFIG_XLSX['SALIDA_TXT'] formatoSalidaReliquidaciones = PROACTIVA_CONFIG_XLSX[ 'SALIDA_RELIQUIDACION'] logProceso = LOG_PROCESO_PROACTIVA salidaTxt = "{0}/{1}{2}.txt".format(pathArchivoTxt, formatoSalidaTxt, fechaInput) salidaTxtReliquidaciones = "{0}/{1}{2}.txt".format( pathArchivoTxt, formatoSalidaReliquidaciones, fechaInput) if dataProactivaXlsx: salidaArchivoTxtProactiva(salidaTxt, dataProactivaXlsx, encabezadoXlsx) salidaArchivoTxtProactiva(salidaTxtReliquidaciones, reliquidacionesTxt, encabezadoReliquidacionesTxt) if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: {0}\{1} Creado!".format(PATH_RAIZ, pathLogSalida)) except Exception as e: print(e)
def procesoDotacion(fechaInput, pathArchivoTxt): procesoInput = 'DOTACION' pathLogSalidaDotacion = "CRO/{0}log_{1}{2}_{3}.txt".format(PATH_LOG, procesoInput, fechaInput, hora.strftime("%Y%m%d%H%M")) salidaTxtDotacion = "{0}/{1}{2}.txt".format(pathArchivoTxt, DOTACION_CONFIG_XLSX['SALIDA_TXT'], fechaInput) print("Iniciando proceso de Archivo DOTACION") dataXlsx, encabezadoXlsxDotacion = leerArchivoDotacion(fechaInput) try: if dataXlsx: salidaArchivoTxt(salidaTxtDotacion, dataXlsx, encabezadoXlsxDotacion) logProceso = LOG_PROCESO_DOTACION if salidaLogTxt(pathLogSalidaDotacion, logProceso): print("Archivo: {0}\{1} Creado!".format(PATH_RAIZ, pathLogSalidaDotacion)) except Exception as e: print(e)
def procesoAsistencia(fechaInput, archivoXlsxInput, pathArchivoTxt): procesoInput = 'ASISTENCIA' pathLogSalida = "CRO/{0}log_{1}{2}_{3}.txt".format(PATH_LOG, procesoInput, fechaInput, hora.strftime("%Y%m%d%H%M")) print("Iniciando Lectura del archivo de {0}...".format(archivoXlsxInput)) try: dataXlsx, encabezadoXlsx = leerArchivoAsistencia(archivoXlsxInput, fechaInput) salidaTxtAsistencia = "{0}/{1}{2}.txt".format(pathArchivoTxt, ASISTENCIA_CONFIG_XLSX['SALIDA_TXT'], fechaInput) logProceso = LOG_PROCESO_ASISTENCIA if dataXlsx: salidaArchivoTxt(salidaTxtAsistencia, dataXlsx, encabezadoXlsx) if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: {0}\{1} Creado!".format(PATH_RAIZ, pathLogSalida)) except Exception as e: print(e)
def procesoGenerico(fechaInput, archivoXlsxInput, pathArchivoTxt, procesoInput, *valoresExtraGestion): hora = datetime.datetime.now() pathLogSalida = "CRO/{0}log_{1}{2}_{3}.txt".format( PATH_LOG, procesoInput, fechaInput, hora.strftime("%Y%m%d%H%M")) print("Iniciando Lectura del archivo de {0}...".format(archivoXlsxInput)) try: if procesoInput == 'CALIDAD': dataXlsx, encabezadoXlsx = leerArchivoCalidad( archivoXlsxInput, fechaInput) formatoSalidaTxt = CALIDAD_CONFIG_XLSX['SALIDA_TXT'] logProceso = LOG_PROCESO_CALIDAD elif procesoInput == 'CAMPANHA_ESPECIAL': dataXlsx, encabezadoXlsx = leerArchivoCampanhasEsp( archivoXlsxInput, fechaInput) formatoSalidaTxt = CAMPANHAS_CONFIG_XLSX['SALIDA_TXT'] logProceso = LOG_PROCESO_CAMPANHAS elif procesoInput == 'FUGA': fechaMesAnterior = formatearFechaMesAnterior(fechaInput) dataXlsx, encabezadoXlsx = leerArchivoFuga( archivoXlsxInput, fechaMesAnterior.strftime("%Y%m")) formatoSalidaTxt = FUGA_CONFIG_XLSX['SALIDA_TXT'] logProceso = LOG_PROCESO_FUGA elif procesoInput == 'GESTION': dataXlsx, encabezadoXlsx = leerArchivoGestion( archivoXlsxInput, fechaInput, valoresExtraGestion[0], valoresExtraGestion[1], valoresExtraGestion[2]) formatoSalidaTxt = GESTION_CONFIG_XLSX['SALIDA_TXT'] logProceso = LOG_PROCESO_GESTION salidaTxt = "{0}/{1}{2}.txt".format(pathArchivoTxt, formatoSalidaTxt, fechaInput) if dataXlsx: salidaArchivoTxt(salidaTxt, dataXlsx, encabezadoXlsx) if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: {0}\{1} Creado!".format(PATH_RAIZ, pathLogSalida)) except Exception as e: print(e)
def main(): if procesos.get(procesoInput): if len(sys.argv) == procesos[procesoInput]["ARGUMENTOS_PROCESO"] + 1: if (procesoInput == "FUGA" or procesoInput == "ASISTENCIA" or procesoInput == "CAMPANHA_ESPECIAL" or procesoInput == "CALIDAD"): fechaEntrada = str(sys.argv[2]) archivoXls = str(sys.argv[3]) pathArchivoTxt = str(sys.argv[4]) procesoGeneral(procesoInput, fechaEntrada, archivoXls, pathArchivoTxt) elif procesoInput == "DOTACION": fechaEntrada = str(sys.argv[2]) pathArchivoTxt = str(sys.argv[3]) pathLogSalida = ("%slog_%s%s.txt") % (PATH_LOG, procesoInput, fechaEntrada) dataXlsxDotacion, encabezadoXlsxDotacion = leerArchivoDotacion( fechaEntrada) salidaTxt = "%s%s.txt" % ( DOTACION_CONFIG_XLSX['SALIDA_TXT'], fechaEntrada, ) if dataXlsxDotacion: archivoTxtOutput = '%s/%s' % (pathArchivoTxt, salidaTxt) salidaArchivoTxt(archivoTxtOutput, dataXlsxDotacion, encabezadoXlsxDotacion) logProceso = LOG_PROCESO_DOTACION if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: %s creado !!" % pathLogSalida) elif procesoInput == "GESTION": fechaEntrada = str(sys.argv[2]) fechaRangoUno = str(sys.argv[3]) fechaRangoDos = str(sys.argv[4]) archivoXls = str(sys.argv[5]) archivoPropietariosXls = str(sys.argv[6]) pathSalidaTxt = str(sys.argv[7]) if os.path.isfile(archivoXls): print("Archivo: %s encontrado." % archivoXls) print("Iniciando Lectura...") pathTxtSalida = PATH_TXT archivoTxt = ("%s/%s%s.txt") % ( pathSalidaTxt, GESTION_CONFIG_XLSX["SALIDA_TXT"], fechaEntrada, ) pathLogSalida = ("%slog_%s_%s.txt") % ( PATH_LOG, procesoInput, fechaEntrada, ) dataXlsx, encabezadoXlsx = leerArchivoGestion( archivoXls, fechaEntrada, fechaRangoUno, fechaRangoDos, archivoPropietariosXls) if dataXlsx and salidaArchivoTxt(archivoTxt, dataXlsx, encabezadoXlsx): LOG_PROCESO_GESTION.setdefault( "SALIDA_TXT", { len(LOG_PROCESO_GESTION) + 1: "Archivo: %s creado!! " % archivoTxt }, ) erroresProceso = LOG_PROCESO_GESTION if salidaLogTxt(pathLogSalida, erroresProceso): print("Archivo: %s creado !!" % pathLogSalida) else: print("Error: Archivo %s no encontrado" % archivoXls) else: print("Error: El programa " '"%s"' " necesita %s parametros para su ejecucion" % (procesoInput, procesos[procesoInput]["ARGUMENTOS_PROCESO"])) else: print('Error: Proceso "' "%s" '" no encontrado' % procesoInput)
def procesoGeneral(procesoInput, fechaInput, archivoXlsxInput, pathArchivoTxt): if validaFechaInput(fechaInput): archivoXlsx = archivoXlsxInput pathLogSalida = ("%slog_%s%s.txt") % (PATH_LOG, procesoInput, fechaInput) if os.path.isfile(archivoXlsx): print("Archivo: %s encontrado." % archivoXlsx) print("Iniciando Lectura...") try: if procesoInput == "FUGA": mesSiguiente = formatearFechaMesSiguiente(fechaInput) salidaTxt = "%s%s.txt" % ( FUGA_CONFIG_XLSX['SALIDA_TXT'], mesSiguiente.strftime("%Y%m"), ) dataXlsx, encabezadoXlsx = leerArchivoFuga( archivoXlsx, fechaInput) logProceso = LOG_PROCESO_FUGA elif procesoInput == "ASISTENCIA": dataXlsx, encabezadoXlsx = leerArchivoAsistencia( archivoXlsx, fechaInput) salidaTxt = "%s%s.txt" % ( ASISTENCIA_CONFIG_XLSX['SALIDA_TXT'], fechaInput, ) logProceso = LOG_PROCESO_ASISTENCIA elif procesoInput == "CAMPANHA_ESPECIAL": dataXlsx, encabezadoXlsx = leerArchivoCampanhasEsp( archivoXlsx, fechaInput) salidaTxt = "%s%s.txt" % ( CAMPANHAS_CONFIG_XLSX['SALIDA_TXT'], fechaInput, ) logProceso = LOG_PROCESO_CAMPANHAS elif procesoInput == "CALIDAD": dataXlsx, encabezadoXlsx = leerArchivoCalidad( archivoXlsx, fechaInput) salidaTxt = "%s%s.txt" % ( CALIDAD_CONFIG_XLSX['SALIDA_TXT'], fechaInput, ) logProceso = LOG_PROCESO_CALIDAD if dataXlsx: archivoTxtOutput = '%s/%s' % (pathArchivoTxt, salidaTxt) salidaArchivoTxt(archivoTxtOutput, dataXlsx, encabezadoXlsx) if salidaLogTxt(pathLogSalida, logProceso): print("Archivo: %s creado !!" % pathLogSalida) except Exception as e: print(e) else: print("Error: Archivo %s no encontrado" % archivoXlsx)