]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - inst/aficonf
360441dbcd376b0102c7f37daf6fc030f880dae2
[z.facultad/75.08/llamadas.git] / inst / aficonf
1 #!/bin/sh
2 #
3 # Configurador
4
5 # Atajo CTRL+C 
6 #trap "echo -n ''" INT
7
8 # Cargo config
9 #BASE_DIR="$HOME/.antifraude"
10 BASE_DIR="$PWD"
11 echo $BASE_DIR
12 # Cargo config
13 #. "/$BASE_DIR/aficonf.conf"
14
15 # Cargo utilidades
16 . "/$BASE_DIR/util.sh"
17
18 #Valida que exista el pais
19 existe_pais () {
20         EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^$1;"`;
21         if [ "$EXISTE" != "" ] ; then
22                 return 0
23         fi
24         return 1
25 }
26
27 menu () {
28         echo "AFICONF"
29         echo "======="
30         echo
31         echo "  1) Alta"
32         echo "  2) Baja"
33         echo "  3) Buscar"
34         echo "  4) Salir"
35
36         preguntar "Su opción" "1234" $1
37 }
38
39 existe_umbral () {
40         EXISTE=`cat "$BASE_DIR/umbrales.param" | egrep "$1"`;
41         if [ "$EXISTE" == "" ] ; then
42                 #No existe
43                 return 1
44         fi
45         #Ya existe un umbral!
46         return 0
47 }
48         
49 buscar_id_umbral () {
50         ID=`cat "$BASE_DIR/umbrales.id"`;
51         eval "$1=$ID"
52         let ID=$ID+1
53         echo "$ID" > "$BASE_DIR/umbrales.id"
54 }
55
56 case_altas () {
57         DONE=0
58         while [ $DONE == 0 ] ; do
59                 leer "Número de línea" "" LINEA
60                 #TODO Valido
61                 if ! validar_solo_numeros "$LINEA" ; then
62                         echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS"
63                 else
64                         DONE=1
65                 fi
66                 if [ "$LINEA" == "" ] ; then
67                         DONE=0
68                 fi
69         done
70
71         preguntar "Tipo de llamada" "ES" TIPO
72
73         DONE=0
74         while [ $DONE == 0 ] ; do
75                 leer "Pais (código de 2 letras)" "" PAIS 
76                 if ! existe_pais "$PAIS" ; then
77                         echo "No existe el país de código $PAIS"
78                 else
79                         DONE=1
80                 fi
81                 if [ "$PAIS" == "" ] ; then
82                         DONE=0
83                 fi
84         done
85
86         # Verifico que el umbral no exista
87         FECHA=`date +"%Y%m%d"`
88         HORA=`date +"%H%M%S"`
89         UMBRAL="$LINEA;$PAIS;$TIPO;A;*;*;*"
90
91         if existe_umbral "$UMBRAL" ; then
92                 echo "Ya existe un umbral con los datos ingresados."
93                 echo "Abortando..."
94                 return
95         fi
96         
97         # Genero el umbral
98         buscar_id_umbral ID
99         UMBRAL="$ID;$LINEA;$PAIS;$TIPO;A;$USER;$FECHA;$HORA"
100
101         # Lo guardo
102         echo "$UMBRAL" >> "$BASE_DIR/umbrales.param"
103
104         echo ""
105         echo "El Umbral fue grabado con éxito"
106         echo ""
107 }
108
109 case_buscar () {
110         DONE=0
111         while [ $DONE == 0 ] ; do
112                 leer "Número de línea" "" LINEA
113                 #TODO Valido
114                 if ! validar_solo_numeros "$LINEA" ; then
115                         echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS"
116                 else
117                         DONE=1
118                 fi
119                 if [ "$LINEA" == "" ] ; then
120                         DONE=0
121                 fi
122         done
123
124         DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA"`
125
126         printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora"
127         for i in $DATOS ; do
128                 #$echo $i | (read ID CIUDAD TIPO ESTADO USUARIO FECHA HORA RESTO
129                 ID=`echo "$i" | cut -d ';' -f 1`
130                 CIUDAD=`echo "$i" | cut -d ';' -f 3`
131                 TIPO=`echo "$i" | cut -d ';' -f 4`
132                 ESTADO=`echo "$i" | cut -d ';' -f 5`
133                 USUARIO=`echo "$i" | cut -d ';' -f 6`
134                 FECHA=`echo "$i" | cut -d ';' -f 7`
135                 HORA=`echo "$i" | cut -d ';' -f 8`
136                 printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "$ID" "$CIUDAD" "$TIPO" "$ESTADO" "$USUARIO" "$FECHA" "$HORA"
137         done
138 }
139
140 # No permito correr 2 instancias de AFICONF
141 if is_lock "aficonf" ; then
142         echo ""
143         echo "Aficonf está corriendo actualmente."
144         echo ""
145         exit 1
146 fi
147
148 lock "aficonf"
149
150 # Loop Principal
151 OPT="0"
152 while [ "$OPT" != "4" ] ; do 
153         menu OPT
154
155         case $OPT in
156                 "1") case_altas ;;
157                 "2") echo "Dos" ;;
158                 "3") case_buscar ;;
159         esac
160 done
161
162 unlock "aficonf"
163