X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/28570f9c004792e57623df2945c290209f058464..61da78d6c5d6cffa768c39c1ef95b7c5af7fa5d7:/inst/aficonf diff --git a/inst/aficonf b/inst/aficonf index b596186..787dcaa 100755 --- a/inst/aficonf +++ b/inst/aficonf @@ -6,19 +6,26 @@ #trap "echo -n ''" INT # Cargo config -#BASE_DIR="$HOME/.antifraude" -BASE_DIR="$PWD" -echo $BASE_DIR +BASE_DIR="$HOME/.antifraude" # Cargo config -#. "/$BASE_DIR/aficonf.conf" +. "$BASE_DIR/conf/aficonf.conf" # Cargo utilidades -. "/$BASE_DIR/util.sh" +. "$BASE_DIR/util.sh" + +LOGDIR=$AFIC_LOGDIR +LOGNAME=$AFIC_LOGFILE +LOGFILE=$LOGDIR/$LOGNAME #Valida que exista el pais +# Parámetros : +# $1 = Descripcion a buscar +# $2 = Variable donde guardar el código del Pais en caso de existir existe_pais () { - EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^$1;"`; + EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^[A-Z]*;$1" | cut -d ';' -f 1`; if [ "$EXISTE" != "" ] ; then + #Exite!, debo gaurdar el código + eval "$2=$EXISTE" return 0 fi return 1 @@ -28,11 +35,15 @@ poner_estado_umbral () { ID=$1 ESTADO=$2 + FECHA=`date +"%Y%m%d"` + HORA=`date +"%H%M%S"` + if [ "$ESTADO" != "A" ] && [ "$ESTADO" != "I" ] ; then return 1 fi - SALIDA=`sed "s/^$ID\(;[^;]*;[^;]*;[^;]*;\)[^;]*\(;[^;]*;[^;]*;[^;]*\)$/$ID\1I\2/" "$BASE_DIR/umbrales.param"` + SALIDA=`sed "s/^$ID\(;[^;]*;[^;]*;[^;]*;\)[^;]*\(;[^;]*;[^;]*;[^;]*\)$/$ID\1I;$USER;$FECHA;$HORA/" "$BASE_DIR/umbrales.param"` echo "$SALIDA" > "$BASE_DIR/umbrales.param" + put_log "$LOGFILE" "aficonf" "Se ha cambiado el estado de umbral $ID a $ESTADO" "$AFIC_LOGSIZE" } menu () { @@ -40,11 +51,10 @@ menu () { echo "=======" echo echo " 1) Alta" - echo " 2) Baja" - echo " 3) Buscar" - echo " 4) Salir" + echo " 2) Buscar" + echo " 3) Salir" - preguntar "Su opción" "1234" $1 + preguntar "Su opción" "123" $1 } existe_umbral () { @@ -82,10 +92,11 @@ case_altas () { preguntar "Tipo de llamada" "ES" TIPO DONE=0 + CODIGO='' 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" + leer "Pais (descripción)" "" PAIS + if ! existe_pais "$PAIS" CODIGO ; then + echo "No existe el país de descrición '$PAIS'" else DONE=1 fi @@ -94,6 +105,9 @@ case_altas () { fi done + echo "El código de '$PAIS' es '$CODIGO'" + PAIS=$CODIGO + # Verifico que el umbral no exista FECHA=`date +"%Y%m%d"` HORA=`date +"%H%M%S"` @@ -102,6 +116,7 @@ case_altas () { if existe_umbral "$UMBRAL" ; then echo "Ya existe un umbral con los datos ingresados." echo "Abortando..." + put_log "$LOGFILE" "aficonf" "Se trató de insertar un umbral repetido ($UMBRAL)" "$AFIC_LOGSIZE" return fi @@ -115,6 +130,7 @@ case_altas () { echo "" echo "El Umbral fue grabado con éxito" echo "" + put_log "$LOGFILE" "aficonf" "Se inserto un nuevo umbral ($UMBRAL)" "$AFIC_LOGSIZE" } case_buscar () { @@ -132,7 +148,16 @@ case_buscar () { fi done - DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA"` + DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA;[A-Z]*;[E,S];A"` + + if [ "$DATOS" == "" ] ; then + echo "" + echo "No se han encontrado Umbrales activos para la linea $LINEA." + echo "Abortando ..." + echo "" + put_log "$LOGFILE" "aficonf" "No se han encontrado umbrales para la línea $LINEA" "$AFIC_LOGSIZE" + return 0 + fi printf "%3s %2s %1s %1s %10s%8s %6s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora" OPCIONES="-1" @@ -156,6 +181,10 @@ case_buscar () { echo "Borrando el registro $OPT ..." poner_estado_umbral "$OPT" "I" + put_log "$LOGFILE" "aficonf" "No se ha eliminado elumbral de ID $OPT" "$AFIC_LOGSIZE" + echo "" + echo "" + echo "El Umbral fue eliminado con éxito" echo "" } @@ -164,6 +193,7 @@ if is_lock "aficonf" ; then echo "" echo "Aficonf está corriendo actualmente." echo "" + put_log "$LOGFILE" "aficonf" "Se ha intentado ejecutar aficonf cuando este estaba corriendo" "$AFIC_LOGSIZE" exit 1 fi @@ -171,13 +201,12 @@ lock "aficonf" # Loop Principal OPT="0" -while [ "$OPT" != "4" ] ; do +while [ "$OPT" != "3" ] ; do menu OPT case $OPT in "1") case_altas ;; - "2") echo "Dos" ;; - "3") case_buscar ;; + "2") case_buscar ;; esac done