#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
}
+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;$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 () {
echo "AFICONF"
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 () {
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
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"`
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
echo ""
echo "El Umbral fue grabado con éxito"
echo ""
+ put_log "$LOGFILE" "aficonf" "Se inserto un nuevo umbral ($UMBRAL)" "$AFIC_LOGSIZE"
}
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"`
- printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora"
+ 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"
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`
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"
+ printf "%3s %2s %1s %1s %10s %8s %6s\n" "$ID" "$CIUDAD" "$TIPO" "$ESTADO" "$USUARIO" "$FECHA" "$HORA"
+ OPCIONES="$OPCIONES $ID"
done
+
+ preguntar "Cual desea borrar (-1 para salir)" "$OPCIONES" OPT
+
+ if [ "$OPT" = "-1" ] ; then
+ return 0
+ fi
+
+ 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 ""
}
# No permito correr 2 instancias de AFICONF
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
# 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