X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/4bf24350eaa522d4889735ea66b1fe7b370cfef3..8977611190d8b4f699a830afad55f5f34e4ba6f8:/inst/aficonf diff --git a/inst/aficonf b/inst/aficonf old mode 100644 new mode 100755 index e69de29..360441d --- a/inst/aficonf +++ b/inst/aficonf @@ -0,0 +1,163 @@ +#!/bin/sh +# +# Configurador + +# Atajo CTRL+C +#trap "echo -n ''" INT + +# Cargo config +#BASE_DIR="$HOME/.antifraude" +BASE_DIR="$PWD" +echo $BASE_DIR +# Cargo config +#. "/$BASE_DIR/aficonf.conf" + +# Cargo utilidades +. "/$BASE_DIR/util.sh" + +#Valida que exista el pais +existe_pais () { + EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^$1;"`; + if [ "$EXISTE" != "" ] ; then + return 0 + fi + return 1 +} + +menu () { + echo "AFICONF" + echo "=======" + echo + echo " 1) Alta" + echo " 2) Baja" + echo " 3) Buscar" + echo " 4) Salir" + + preguntar "Su opción" "1234" $1 +} + +existe_umbral () { + EXISTE=`cat "$BASE_DIR/umbrales.param" | egrep "$1"`; + if [ "$EXISTE" == "" ] ; then + #No existe + return 1 + fi + #Ya existe un umbral! + return 0 +} + +buscar_id_umbral () { + ID=`cat "$BASE_DIR/umbrales.id"`; + eval "$1=$ID" + let ID=$ID+1 + echo "$ID" > "$BASE_DIR/umbrales.id" +} + +case_altas () { + DONE=0 + while [ $DONE == 0 ] ; do + leer "Número de línea" "" LINEA + #TODO Valido + if ! validar_solo_numeros "$LINEA" ; then + echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS" + else + DONE=1 + fi + if [ "$LINEA" == "" ] ; then + DONE=0 + fi + done + + preguntar "Tipo de llamada" "ES" TIPO + + DONE=0 + while [ $DONE == 0 ] ; do + leer "Pais (código de 2 letras)" "" PAIS + if ! existe_pais "$PAIS" ; then + echo "No existe el país de código $PAIS" + else + DONE=1 + fi + if [ "$PAIS" == "" ] ; then + DONE=0 + fi + done + + # Verifico que el umbral no exista + FECHA=`date +"%Y%m%d"` + HORA=`date +"%H%M%S"` + UMBRAL="$LINEA;$PAIS;$TIPO;A;*;*;*" + + if existe_umbral "$UMBRAL" ; then + echo "Ya existe un umbral con los datos ingresados." + echo "Abortando..." + return + fi + + # Genero el umbral + buscar_id_umbral ID + UMBRAL="$ID;$LINEA;$PAIS;$TIPO;A;$USER;$FECHA;$HORA" + + # Lo guardo + echo "$UMBRAL" >> "$BASE_DIR/umbrales.param" + + echo "" + echo "El Umbral fue grabado con éxito" + echo "" +} + +case_buscar () { + DONE=0 + while [ $DONE == 0 ] ; do + leer "Número de línea" "" LINEA + #TODO Valido + if ! validar_solo_numeros "$LINEA" ; then + echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS" + else + DONE=1 + fi + if [ "$LINEA" == "" ] ; then + DONE=0 + fi + done + + DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA"` + + printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora" + for i in $DATOS ; do + #$echo $i | (read ID CIUDAD TIPO ESTADO USUARIO FECHA HORA RESTO + ID=`echo "$i" | cut -d ';' -f 1` + CIUDAD=`echo "$i" | cut -d ';' -f 3` + TIPO=`echo "$i" | cut -d ';' -f 4` + ESTADO=`echo "$i" | cut -d ';' -f 5` + USUARIO=`echo "$i" | cut -d ';' -f 6` + FECHA=`echo "$i" | cut -d ';' -f 7` + HORA=`echo "$i" | cut -d ';' -f 8` + printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "$ID" "$CIUDAD" "$TIPO" "$ESTADO" "$USUARIO" "$FECHA" "$HORA" + done +} + +# No permito correr 2 instancias de AFICONF +if is_lock "aficonf" ; then + echo "" + echo "Aficonf está corriendo actualmente." + echo "" + exit 1 +fi + +lock "aficonf" + +# Loop Principal +OPT="0" +while [ "$OPT" != "4" ] ; do + menu OPT + + case $OPT in + "1") case_altas ;; + "2") echo "Dos" ;; + "3") case_buscar ;; + esac +done + +unlock "aficonf" +