dmencu 0.3.42 → 0.3.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/client/client.js +6 -6
- package/dist/client/unlogged/render-formulario.tsx +1 -2
- package/dist/server/server/app-dmencu.d.ts +24 -8
- package/dist/server/server/app-dmencu.js +148 -125
- package/dist/server/server/table-areas.d.ts +2 -0
- package/dist/server/server/table-areas.js +47 -55
- package/dist/server/server/table-encuestadores.d.ts +8 -1
- package/dist/server/server/table-encuestadores.js +54 -7
- package/dist/server/server/table-personal.d.ts +1 -1
- package/dist/server/server/table-personal.js +1 -1
- package/dist/server/server/table-tareas.d.ts +1 -1
- package/dist/server/server/table-tareas.js +2 -2
- package/dist/server/server/table-tareas_areas.d.ts +5 -1
- package/dist/server/server/table-tareas_areas.js +37 -13
- package/dist/server/server/table-tareas_tem.js +12 -21
- package/dist/server/server/table-tareas_tem_asignables.d.ts +3 -3
- package/dist/server/server/table-tareas_tem_asignables.js +56 -56
- package/dist/server/server/table-tem.d.ts +2 -2
- package/dist/server/server/table-tem.js +1 -1
- package/dist/server/server/table-tem_asignacion.js +2 -2
- package/dist/server/server/types-dmencu.d.ts +39 -18
- package/dist/server/server/types-dmencu.js +1 -1
- package/dist/unlogged/unlogged/render-formulario.js +1 -2
- package/dist/unlogged/unlogged/render-formulario.tsx +1 -2
- package/install/actualizar-2023-05-14.sql +38 -0
- package/install/asignar_desasignar_tareas_tem_trg.sql +38 -38
- package/install/sincro_tareas_areas_tareas_tem_trg.sql +27 -28
- package/install/validar_tareas_tem_trg.sql +70 -70
- package/package.json +1 -1
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
NO_CAMBIAR__SOLO_TRAER_STATUS
|
|
75
75
|
} from "./bypass-formulario"
|
|
76
76
|
|
|
77
|
-
import {
|
|
77
|
+
import {html, HtmlTag} from "js-to-html";
|
|
78
78
|
|
|
79
79
|
function breakeableText(text:string|null):string|undefined;
|
|
80
80
|
function breakeableText(text:string|null, diccionario?:{[clave:string]:React.ReactNode}){
|
|
@@ -1112,7 +1112,6 @@ function BotonFormularioDespliegue(props:{casillero:BotonFormulario, formulario:
|
|
|
1112
1112
|
var htmlSeccion=document.getElementById(idSeccion)!;
|
|
1113
1113
|
htmlSeccion.innerHTML="";
|
|
1114
1114
|
htmlSeccion.appendChild(html.div(todosLosBotones).create());
|
|
1115
|
-
//arrange(document.getElementById(idSeccion)!, todosLosBotones);
|
|
1116
1115
|
}catch(err){
|
|
1117
1116
|
var error = unexpected(err);
|
|
1118
1117
|
console.log("entra al catch")
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-- Actualizar
|
|
2
|
+
set search_path = base;
|
|
3
|
+
|
|
4
|
+
do $command$
|
|
5
|
+
declare
|
|
6
|
+
vTareasConAsignante boolean;
|
|
7
|
+
begin
|
|
8
|
+
select true
|
|
9
|
+
into vTareasConAsignante
|
|
10
|
+
from information_schema.columns
|
|
11
|
+
where table_schema='base'
|
|
12
|
+
and table_name='tareas_areas'
|
|
13
|
+
and column_name='asignante';
|
|
14
|
+
if vTareasConAsignante or true then
|
|
15
|
+
alter table tareas_areas rename column asignante to recepcionista;
|
|
16
|
+
DROP TRIGGER IF EXISTS sincro_tareas_areas_tareas_tem_trg ON tareas_areas;
|
|
17
|
+
DROP FUNCTION if exists sincro_tareas_areas_tareas_tem_trg();
|
|
18
|
+
alter table tareas_areas drop column fecha_asignacion;
|
|
19
|
+
alter table tareas_areas drop column operacion;
|
|
20
|
+
alter table tareas_areas drop column obs_asignante;
|
|
21
|
+
alter table "tareas_areas" drop constraint "asignante<>''";
|
|
22
|
+
alter table "tareas_areas" add constraint "recepcionista<>''" check ("recepcionista"<>'');
|
|
23
|
+
alter table "tareas_areas" drop constraint "tareas_areas at REL";
|
|
24
|
+
alter table "tareas_areas" add constraint "tareas_areas recepcionista REL" foreign key ("recepcionista") references "usuarios" ("idper") on update cascade;
|
|
25
|
+
alter index "asignante 4 tareas_areas IDX" rename to "recepcionista 4 tareas_areas IDX";
|
|
26
|
+
DROP TRIGGER IF EXISTS asignar_desasignar_tareas_tem_trg ON tareas_tem;
|
|
27
|
+
DROP FUNCTION if exists asignar_desasignar_tareas_tem_trg();
|
|
28
|
+
alter table tareas_tem rename column recepcionista_tarea to recepcionista;
|
|
29
|
+
alter table "tareas_tem" add constraint "recepcionista<>''" check ("recepcionista"<>'');
|
|
30
|
+
alter table "tareas_tem" add constraint "tareas_tem recepcionista REL" foreign key ("recepcionista") references "usuarios" ("idper") on update cascade;
|
|
31
|
+
alter table "tareas" rename column rol_asignante to rol_recepcionista;
|
|
32
|
+
raise notice 'cambios debidos a tareas_areas.asignante realizadas!';
|
|
33
|
+
raise notice 'correr: install/sincro_tareas_areas_tareas_tem_trg.sql';
|
|
34
|
+
raise notice 'correr: install/asignar_desasignar_tareas_tem_trg';
|
|
35
|
+
end if;
|
|
36
|
+
end;
|
|
37
|
+
$command$;
|
|
38
|
+
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
--set search_path=base;
|
|
3
|
-
|
|
4
|
-
DROP FUNCTION if exists asignar_desasignar_tareas_tem_trg();
|
|
5
|
-
CREATE OR REPLACE FUNCTION asignar_desasignar_tareas_tem_trg()
|
|
6
|
-
RETURNS trigger
|
|
7
|
-
LANGUAGE 'plpgsql'
|
|
8
|
-
AS $BODY$
|
|
9
|
-
declare
|
|
10
|
-
v_estado_al_asignar text;
|
|
11
|
-
v_tarea_actual text;
|
|
12
|
-
v_tarea_proxima text;
|
|
13
|
-
begin
|
|
14
|
-
select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_tarea_proxima
|
|
15
|
-
from tem
|
|
16
|
-
where operativo = new.operativo and enc = new.enc;
|
|
17
|
-
select estado_al_asignar into v_estado_al_asignar from estados where operativo = new.operativo and estado = new.estado;
|
|
18
|
-
if new.asignado is null then
|
|
19
|
-
update tem
|
|
20
|
-
set tarea_proxima = new.tarea, tarea_actual = new.tarea_anterior, estado_actual = new.estado
|
|
21
|
-
where operativo = new.operativo and enc = new.enc;
|
|
22
|
-
else
|
|
23
|
-
if v_tarea_actual is distinct from new.tarea then
|
|
24
|
-
update tem
|
|
25
|
-
set tarea_actual = tarea_proxima, tarea_proxima = null , estado_actual = new.estado
|
|
26
|
-
where operativo = new.operativo and enc = new.enc;
|
|
27
|
-
end if;
|
|
28
|
-
end if;
|
|
29
|
-
return new;
|
|
30
|
-
end;
|
|
31
|
-
$BODY$;
|
|
32
|
-
|
|
33
|
-
DROP TRIGGER IF EXISTS asignar_desasignar_tareas_tem_trg ON tareas_tem;
|
|
34
|
-
CREATE TRIGGER asignar_desasignar_tareas_tem_trg
|
|
35
|
-
AFTER UPDATE OF asignado
|
|
36
|
-
ON tareas_tem
|
|
37
|
-
FOR EACH ROW
|
|
38
|
-
EXECUTE PROCEDURE asignar_desasignar_tareas_tem_trg();
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
--set search_path=base;
|
|
3
|
+
|
|
4
|
+
DROP FUNCTION if exists asignar_desasignar_tareas_tem_trg();
|
|
5
|
+
CREATE OR REPLACE FUNCTION asignar_desasignar_tareas_tem_trg()
|
|
6
|
+
RETURNS trigger
|
|
7
|
+
LANGUAGE 'plpgsql'
|
|
8
|
+
AS $BODY$
|
|
9
|
+
declare
|
|
10
|
+
v_estado_al_asignar text;
|
|
11
|
+
v_tarea_actual text;
|
|
12
|
+
v_tarea_proxima text;
|
|
13
|
+
begin
|
|
14
|
+
select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_tarea_proxima
|
|
15
|
+
from tem
|
|
16
|
+
where operativo = new.operativo and enc = new.enc;
|
|
17
|
+
select estado_al_asignar into v_estado_al_asignar from estados where operativo = new.operativo and estado = new.estado;
|
|
18
|
+
if new.asignado is null then
|
|
19
|
+
update tem
|
|
20
|
+
set tarea_proxima = new.tarea, tarea_actual = new.tarea_anterior, estado_actual = new.estado
|
|
21
|
+
where operativo = new.operativo and enc = new.enc;
|
|
22
|
+
else
|
|
23
|
+
if v_tarea_actual is distinct from new.tarea then
|
|
24
|
+
update tem
|
|
25
|
+
set tarea_actual = tarea_proxima, tarea_proxima = null , estado_actual = new.estado
|
|
26
|
+
where operativo = new.operativo and enc = new.enc;
|
|
27
|
+
end if;
|
|
28
|
+
end if;
|
|
29
|
+
return new;
|
|
30
|
+
end;
|
|
31
|
+
$BODY$;
|
|
32
|
+
|
|
33
|
+
DROP TRIGGER IF EXISTS asignar_desasignar_tareas_tem_trg ON tareas_tem;
|
|
34
|
+
CREATE TRIGGER asignar_desasignar_tareas_tem_trg
|
|
35
|
+
AFTER UPDATE OF asignado
|
|
36
|
+
ON tareas_tem
|
|
37
|
+
FOR EACH ROW
|
|
38
|
+
EXECUTE PROCEDURE asignar_desasignar_tareas_tem_trg();
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
--set search_path=base;
|
|
3
|
-
|
|
4
|
-
DROP FUNCTION if exists sincro_tareas_areas_tareas_tem_trg();
|
|
5
|
-
CREATE OR REPLACE FUNCTION sincro_tareas_areas_tareas_tem_trg()
|
|
6
|
-
RETURNS trigger
|
|
7
|
-
LANGUAGE 'plpgsql'
|
|
8
|
-
AS $BODY$
|
|
9
|
-
begin
|
|
10
|
-
update tareas_tem tt
|
|
11
|
-
set
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
and
|
|
17
|
-
and
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
EXECUTE PROCEDURE sincro_tareas_areas_tareas_tem_trg();
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
--set search_path=base;
|
|
3
|
+
|
|
4
|
+
DROP FUNCTION if exists sincro_tareas_areas_tareas_tem_trg();
|
|
5
|
+
CREATE OR REPLACE FUNCTION sincro_tareas_areas_tareas_tem_trg()
|
|
6
|
+
RETURNS trigger
|
|
7
|
+
LANGUAGE 'plpgsql'
|
|
8
|
+
AS $BODY$
|
|
9
|
+
begin
|
|
10
|
+
update tareas_tem tt
|
|
11
|
+
set asignado = case when new.asignado is not null and new.asignado is distinct from old.asignado then new.asignado else asignado end,
|
|
12
|
+
recepcionista = case when new.recepcionista is not null and new.recepcionista is distinct from old.recepcionista then new.recepcionista else recepcionista end
|
|
13
|
+
from tem t
|
|
14
|
+
where tt.operativo=t.operativo
|
|
15
|
+
and tt.enc=t.enc
|
|
16
|
+
and tt.tarea=new.tarea
|
|
17
|
+
and t.area=new.area;
|
|
18
|
+
return new;
|
|
19
|
+
end;
|
|
20
|
+
$BODY$;
|
|
21
|
+
|
|
22
|
+
DROP TRIGGER IF EXISTS sincro_tareas_areas_tareas_tem_trg ON tareas_areas;
|
|
23
|
+
CREATE TRIGGER sincro_tareas_areas_tareas_tem_trg
|
|
24
|
+
AFTER INSERT OR UPDATE OF recepcionista, asignado
|
|
25
|
+
ON tareas_areas
|
|
26
|
+
FOR EACH ROW
|
|
27
|
+
EXECUTE PROCEDURE sincro_tareas_areas_tareas_tem_trg();
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
--set search_path=base;
|
|
3
|
-
|
|
4
|
-
DROP FUNCTION if exists validar_tareas_tem_trg();
|
|
5
|
-
set search_path = base;
|
|
6
|
-
|
|
7
|
-
CREATE OR REPLACE FUNCTION validar_tareas_tem_trg()
|
|
8
|
-
RETURNS trigger
|
|
9
|
-
LANGUAGE 'plpgsql'
|
|
10
|
-
AS $BODY$
|
|
11
|
-
declare
|
|
12
|
-
v_habilitada boolean;
|
|
13
|
-
v_tarea_actual text;
|
|
14
|
-
v_tarea_proxima text;
|
|
15
|
-
v_permite_asignar boolean;
|
|
16
|
-
v_estado_al_asignar text;
|
|
17
|
-
begin
|
|
18
|
-
select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_habilitada, v_tarea_proxima
|
|
19
|
-
from tem
|
|
20
|
-
where operativo = new.operativo and enc = new.enc;
|
|
21
|
-
select permite_asignar, estado_al_asignar into v_permite_asignar, v_estado_al_asignar
|
|
22
|
-
from estados
|
|
23
|
-
where operativo = new.operativo and estado = new.estado;
|
|
24
|
-
if v_habilitada then
|
|
25
|
-
if old.asignado is distinct from new.asignado then
|
|
26
|
-
if not v_permite_asignar then
|
|
27
|
-
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
28
|
-
end if;
|
|
29
|
-
if new.
|
|
30
|
-
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
|
|
31
|
-
end if;
|
|
32
|
-
end if;
|
|
33
|
-
if old.
|
|
34
|
-
if not v_permite_asignar then
|
|
35
|
-
raise exception 'Error: no es posible modificar recepcionista en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
36
|
-
end if;
|
|
37
|
-
if new.
|
|
38
|
-
raise exception 'Error: no es posible quitar el recepcionista de la encuesta % del operativo % ya que se la misma se encuentra asignada', new.enc, new.operativo;
|
|
39
|
-
end if;
|
|
40
|
-
end if;
|
|
41
|
-
if not (new.tarea = coalesce(v_tarea_actual,'nulo') or
|
|
42
|
-
((old.asignado is distinct from new.asignado) or (old.
|
|
43
|
-
and new.tarea = coalesce(v_tarea_proxima,'nulo')) then
|
|
44
|
-
raise exception 'Error: no es posible modificar la encuesta % del operativo % ya que la tarea actual definida en TEM no coincide con la tarea %', new.enc, new.operativo, new.tarea;
|
|
45
|
-
end if;
|
|
46
|
-
if old.asignado is distinct from new.asignado then
|
|
47
|
-
if new.asignado is null then
|
|
48
|
-
new.estado = '0D';
|
|
49
|
-
else
|
|
50
|
-
if v_tarea_actual is distinct from new.tarea then
|
|
51
|
-
if v_estado_al_asignar is not null then
|
|
52
|
-
new.estado = v_estado_al_asignar;
|
|
53
|
-
new.tarea_anterior = v_tarea_actual;
|
|
54
|
-
end if;
|
|
55
|
-
end if;
|
|
56
|
-
end if;
|
|
57
|
-
end if;
|
|
58
|
-
else
|
|
59
|
-
raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
|
|
60
|
-
end if;
|
|
61
|
-
return new;
|
|
62
|
-
end;
|
|
63
|
-
$BODY$;
|
|
64
|
-
|
|
65
|
-
DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
|
|
66
|
-
CREATE TRIGGER validar_tareas_tem_trg
|
|
67
|
-
BEFORE UPDATE
|
|
68
|
-
ON tareas_tem
|
|
69
|
-
FOR EACH ROW
|
|
70
|
-
EXECUTE PROCEDURE validar_tareas_tem_trg();
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
--set search_path=base;
|
|
3
|
+
|
|
4
|
+
DROP FUNCTION if exists validar_tareas_tem_trg();
|
|
5
|
+
set search_path = base;
|
|
6
|
+
|
|
7
|
+
CREATE OR REPLACE FUNCTION validar_tareas_tem_trg()
|
|
8
|
+
RETURNS trigger
|
|
9
|
+
LANGUAGE 'plpgsql'
|
|
10
|
+
AS $BODY$
|
|
11
|
+
declare
|
|
12
|
+
v_habilitada boolean;
|
|
13
|
+
v_tarea_actual text;
|
|
14
|
+
v_tarea_proxima text;
|
|
15
|
+
v_permite_asignar boolean;
|
|
16
|
+
v_estado_al_asignar text;
|
|
17
|
+
begin
|
|
18
|
+
select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_habilitada, v_tarea_proxima
|
|
19
|
+
from tem
|
|
20
|
+
where operativo = new.operativo and enc = new.enc;
|
|
21
|
+
select permite_asignar, estado_al_asignar into v_permite_asignar, v_estado_al_asignar
|
|
22
|
+
from estados
|
|
23
|
+
where operativo = new.operativo and estado = new.estado;
|
|
24
|
+
if v_habilitada then
|
|
25
|
+
if old.asignado is distinct from new.asignado then
|
|
26
|
+
if not v_permite_asignar then
|
|
27
|
+
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
28
|
+
end if;
|
|
29
|
+
if new.recepcionista is null then
|
|
30
|
+
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
|
|
31
|
+
end if;
|
|
32
|
+
end if;
|
|
33
|
+
if old.recepcionista is distinct from new.recepcionista then
|
|
34
|
+
if not v_permite_asignar then
|
|
35
|
+
raise exception 'Error: no es posible modificar recepcionista en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
36
|
+
end if;
|
|
37
|
+
if new.recepcionista is null and new.asignado is not null then
|
|
38
|
+
raise exception 'Error: no es posible quitar el recepcionista de la encuesta % del operativo % ya que se la misma se encuentra asignada', new.enc, new.operativo;
|
|
39
|
+
end if;
|
|
40
|
+
end if;
|
|
41
|
+
if not (new.tarea = coalesce(v_tarea_actual,'nulo') or
|
|
42
|
+
((old.asignado is distinct from new.asignado) or (old.recepcionista is distinct from new.recepcionista))
|
|
43
|
+
and new.tarea = coalesce(v_tarea_proxima,'nulo')) then
|
|
44
|
+
raise exception 'Error: no es posible modificar la encuesta % del operativo % ya que la tarea actual definida en TEM no coincide con la tarea %', new.enc, new.operativo, new.tarea;
|
|
45
|
+
end if;
|
|
46
|
+
if old.asignado is distinct from new.asignado then
|
|
47
|
+
if new.asignado is null then
|
|
48
|
+
new.estado = '0D';
|
|
49
|
+
else
|
|
50
|
+
if v_tarea_actual is distinct from new.tarea then
|
|
51
|
+
if v_estado_al_asignar is not null then
|
|
52
|
+
new.estado = v_estado_al_asignar;
|
|
53
|
+
new.tarea_anterior = v_tarea_actual;
|
|
54
|
+
end if;
|
|
55
|
+
end if;
|
|
56
|
+
end if;
|
|
57
|
+
end if;
|
|
58
|
+
else
|
|
59
|
+
raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
|
|
60
|
+
end if;
|
|
61
|
+
return new;
|
|
62
|
+
end;
|
|
63
|
+
$BODY$;
|
|
64
|
+
|
|
65
|
+
DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
|
|
66
|
+
CREATE TRIGGER validar_tareas_tem_trg
|
|
67
|
+
BEFORE UPDATE
|
|
68
|
+
ON tareas_tem
|
|
69
|
+
FOR EACH ROW
|
|
70
|
+
EXECUTE PROCEDURE validar_tareas_tem_trg();
|
package/package.json
CHANGED