Commit 282d5ed6 authored by Sylvain Lesage's avatar Sylvain Lesage

Adición de una columna "observacion" en la tabla de resultados

parent 93dd3da2
......@@ -11,11 +11,17 @@ rm $pdf
rm $txt
wget http://computo2014.oep.org.bo/nal/p${1}.PDF -O $pdf
/usr/bin/pdftotext -raw $pdf $txt
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/MAS-IPSP%/SELECT f_insert_resultado_2014_plurinacional_votos(25, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/PDC%/SELECT f_insert_resultado_2014_plurinacional_votos(43, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/PVB-IEP%/SELECT f_insert_resultado_2014_plurinacional_votos(87, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/UD%/SELECT f_insert_resultado_2014_plurinacional_votos(88, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/MSM%/SELECT f_insert_resultado_2014_plurinacional_votos(86, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos >> $sql
num=$(tail -n 5 $txt | grep '[[:digit:]]\+ de [[:digit:]]\+');
porc=$(tail -n 5 $txt | grep '[[:digit:],]\+%');
fecha=$(tail -n 5 $txt | grep -o '[[:digit:]]\+/[[:digit:]]\+/[[:digit:]]\+ [[:digit:]]\+:[[:digit:]]\+:[[:digit:]]\+');
observacion=$(printf "Conteo parcial: %s (%s) a la fecha: %s" "${porc}" "${num}" "${fecha}");
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/MAS-IPSP%/SELECT f_insert_resultado_2014_plurinacional_votos(25, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos | sed "s@);@,'$observacion');@" >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/PDC%/SELECT f_insert_resultado_2014_plurinacional_votos(43, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos | sed "s@);@,'$observacion');@" >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/PVB-IEP%/SELECT f_insert_resultado_2014_plurinacional_votos(87, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos | sed "s@);@,'$observacion');@" >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/UD%/SELECT f_insert_resultado_2014_plurinacional_votos(88, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos | sed "s@);@,'$observacion');@" >> $sql
cat $txt | sed 's/ [0-9\.,]*\%/\%/' | sed 's/MSM%/SELECT f_insert_resultado_2014_plurinacional_votos(86, '${2}', %/' | sed 's/%[0-9]*/&);/' | sed 's/%//' | grep f_insert_resultado_2014_plurinacional_votos | sed "s@);@,'$observacion');@" >> $sql
}
rm $sql
......
-------------------------------------------
-- Adición de un campo "observacion" en la tabla de resultados
-------------------------------------------
-------------------------------------------
-- Paso 1 - adición de una columna de tipo text "observacion"
-------------------------------------------
ALTER TABLE public.resultados
ADD COLUMN observacion text;
-------------------------------------------
-- Paso 2 - actualización de la función de inserción de un resultado
-------------------------------------------
-- Function: public.f_insert_resultado_2014_plurinacional_votos(integer, integer, integer, string)
-- entradas:
-- * id_partido
-- * id_dpa
-- * resultado
-- * observacion
CREATE OR REPLACE FUNCTION public.f_insert_resultado_2014_plurinacional_votos(
_id_partido integer
, _id_dpa integer
, _resultado integer
, _observacion text) RETURNS int
AS $$
DECLARE
id_val int;
BEGIN
DELETE FROM public.resultados
WHERE id_resultado IN (
SELECT id_resultado
FROM public.resultados AS r
JOIN (
SELECT id_eleccion FROM public.elecciones WHERE ano = 2014 AND id_tipo_eleccion=1
) AS e ON (r.id_eleccion = e.id_eleccion)
JOIN (
SELECT id_eleccion, id_candidato, id_partido, id_tipo_partido FROM public.candidatos WHERE id_partido=_id_partido
) AS c ON (c.id_eleccion=e.id_eleccion AND r.id_candidato=c.id_candidato)
JOIN (
SELECT id_dpa, id_tipo_dpa FROM public.dpa WHERE id_dpa=_id_dpa
) AS d ON r.id_dpa=d.id_dpa);
INSERT INTO public.resultados (id_eleccion, id_candidato, id_partido, id_tipo_partido, id_dpa, id_tipo_dpa, id_tipo_resultado, resultado, observacion)
SELECT e.id_eleccion, c.id_candidato, c.id_partido, c.id_tipo_partido, d.id_dpa, d.id_tipo_dpa, 1, _resultado, _observacion
FROM (
SELECT id_eleccion FROM public.elecciones WHERE ano = 2014 AND id_tipo_eleccion=1
) AS e
JOIN (
SELECT id_eleccion, id_candidato, id_partido, id_tipo_partido FROM public.candidatos WHERE id_partido=_id_partido
) AS c ON (c.id_eleccion=e.id_eleccion)
JOIN (
SELECT id_dpa, id_tipo_dpa FROM public.dpa WHERE id_dpa=_id_dpa
) AS d ON true
RETURNING id_resultado INTO id_val;
RETURN id_val;
END;
$$
LANGUAGE plpgsql;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment