dmencu 0.8.49 → 0.8.50
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.d.ts +0 -0
- package/dist/client/client.js +2 -0
- package/dist/client/menu.d.ts +0 -0
- package/dist/client/menu.js +3 -0
- package/dist/client/unlogged/bypass-formulario.js +12 -6
- package/dist/client/unlogged/render-formulario.tsx +1 -1
- package/dist/server/server/app-dmencu.js +4 -6
- package/dist/server/server/table-casilleros_variables.d.ts +3 -0
- package/dist/server/server/table-casilleros_variables.js +26 -0
- package/dist/server/server/table-historial_tem copy.d.ts +15 -0
- package/dist/server/server/table-historial_tem copy.js +187 -0
- package/dist/server/server/{table-variables_c.d.ts → table-roles copy.d.ts } +1 -1
- package/dist/server/server/table-roles copy.js +34 -0
- package/dist/server/server/table-s_tem copy.d.ts +15 -0
- package/dist/server/server/table-s_tem copy.js +187 -0
- package/dist/server/server/table-tareas_tem copy.d.ts +15 -0
- package/dist/server/server/table-tareas_tem copy.js +187 -0
- package/dist/server/server/table-tareas_tem_asignables.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_asignables.js +57 -0
- package/dist/server/server/table-tareas_tem_fin_campo copy.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_fin_campo copy.js +28 -0
- package/dist/server/server/table-tareas_tem_ingreso copy.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_ingreso copy.js +32 -0
- package/dist/server/server/table-tareas_tem_procesamiento copy.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_procesamiento copy.js +32 -0
- package/dist/server/server/table-tareas_tem_recepcion copy.d.ts +8 -0
- package/dist/server/server/table-tareas_tem_recepcion copy.js +82 -0
- package/dist/server/server/table-tem_asignacion copy.d.ts +3 -0
- package/dist/server/server/table-tem_asignacion copy.js +51 -0
- package/dist/server/server/table-tem_recepcion.d.ts +3 -0
- package/dist/server/server/table-tem_recepcion.js +19 -0
- package/dist/unlogged/unlogged/bypass-formulario.js +12 -6
- package/dist/unlogged/unlogged/render-formulario.js +2 -2
- package/dist/unlogged/unlogged/render-formulario.tsx +1 -1
- package/install/carga_inicial_tareas_tem.sql.bak +30 -0
- package/package.json +1 -1
- package/dist/server/server/table-varcal.d.ts +0 -1
- package/dist/server/server/table-varcal.js +0 -26
- package/dist/server/server/table-variables_c.js +0 -24
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.tareas_tem_supe = exports.tareas_tem_recu = exports.tareas_tem_encu = exports.tareas_tem = exports.getReaFields = exports.getDiasAPasarQuery = void 0;
|
|
13
|
+
var getDiasAPasarQuery = (tareasTemAlias) => `extract(day from ${tareasTemAlias ? tareasTemAlias + '.' : ''}ts_entrada - current_timestamp) + (select dias_finc from parametros where unico_registro)`;
|
|
14
|
+
exports.getDiasAPasarQuery = getDiasAPasarQuery;
|
|
15
|
+
var getReaFields = (puedeEditar) => [
|
|
16
|
+
{ name: 'rea', typeName: 'integer', editable: puedeEditar, label: 'rea_dm' },
|
|
17
|
+
{ name: 'norea', typeName: 'integer', editable: puedeEditar, label: 'norea_dm' },
|
|
18
|
+
//{name:'cod_no_rea' , typeName:'text' , editable: false , inTable:false },
|
|
19
|
+
{ name: 'resumen_estado', typeName: 'text', editable: false, label: 'resumen_estado_dm' },
|
|
20
|
+
{ name: 'ult_rea', typeName: 'integer', editable: false, inTable: false },
|
|
21
|
+
{ name: 'ult_norea', typeName: 'integer', editable: false, inTable: false },
|
|
22
|
+
{ name: 'ult_gru_no_rea', typeName: 'text', editable: false, inTable: false },
|
|
23
|
+
{ name: 'ult_resumen_estado', typeName: 'text', editable: false, inTable: false }
|
|
24
|
+
];
|
|
25
|
+
exports.getReaFields = getReaFields;
|
|
26
|
+
function tareas_tem(context, opts) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
if (opts == null) {
|
|
29
|
+
opts = {
|
|
30
|
+
rol: null,
|
|
31
|
+
name: 'relevador'
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
(_a = opts.abre) !== null && _a !== void 0 ? _a : (opts.abre = true);
|
|
35
|
+
(_b = opts.consiste) !== null && _b !== void 0 ? _b : (opts.consiste = true);
|
|
36
|
+
var be = context.be;
|
|
37
|
+
var db = be.db;
|
|
38
|
+
var puedeEditar = context.forDump || ((_d = (_c = context.puede) === null || _c === void 0 ? void 0 : _c.campo) === null || _d === void 0 ? void 0 : _d.administrar) || context.user.rol === 'recepcionista';
|
|
39
|
+
var fields = [
|
|
40
|
+
{ name: 'operativo', typeName: 'text', isPk: 2, editable: false },
|
|
41
|
+
{ name: 'enc', typeName: 'text', isPk: 3, editable: false },
|
|
42
|
+
{ name: 'tarea', typeName: 'text', isPk: 1, editable: false },
|
|
43
|
+
{ name: 'ts_entrada', typeName: 'timestamp', editable: false, visible: false },
|
|
44
|
+
{ name: 'adelantar', typeName: 'boolean', editable: true, visible: false },
|
|
45
|
+
{ name: 'dias_a_pasar', typeName: 'integer', editable: false, inTable: false, visible: false },
|
|
46
|
+
{ name: 'estado', typeName: 'text', editable: false, nullable: false, defaultDbValue: "'0D'" },
|
|
47
|
+
{ name: 'proie', typeName: 'text', editable: true, table: 'tem', visible: false }
|
|
48
|
+
];
|
|
49
|
+
if (opts.abre) {
|
|
50
|
+
fields.push({ name: 'abrir', typeName: 'text', editable: false, inTable: false, clientSide: 'abrirRecepcion' });
|
|
51
|
+
}
|
|
52
|
+
if (opts.consiste) {
|
|
53
|
+
fields.push({ name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' });
|
|
54
|
+
}
|
|
55
|
+
fields = fields.concat([
|
|
56
|
+
{ name: 'area', typeName: 'integer', editable: false, inTable: false },
|
|
57
|
+
{ name: 'tarea_asignar', typeName: 'text', inTable: false, editable: false, serverSide: true },
|
|
58
|
+
{ name: 'tarea_anterior', typeName: 'text', editable: false },
|
|
59
|
+
// {name:'ok' , typeName: 'text' , editable:false , inTable:false },
|
|
60
|
+
{ name: 'recepcionista', typeName: 'text', editable: true },
|
|
61
|
+
{ name: 'asignado', typeName: 'text', editable: true, title: opts.name },
|
|
62
|
+
{ name: 'fecha_asignacion', typeName: 'date' }, // cargar/descargar
|
|
63
|
+
]);
|
|
64
|
+
fields = fields.concat(...(0, exports.getReaFields)(puedeEditar), [
|
|
65
|
+
//{name:'resultado' , typeName:'text'}, // fk tareas_resultados
|
|
66
|
+
//{name:'fecha_resultado' , typeName:'date'}, // fk tareas_resultados
|
|
67
|
+
{ name: 'modalidad', typeName: 'text', editable: false, inTable: false },
|
|
68
|
+
{ name: 'supervision_dirigida', typeName: 'integer', editable: false, inTable: false },
|
|
69
|
+
{ name: 'supervision_aleatoria', typeName: 'integer', editable: false, inTable: false },
|
|
70
|
+
{ name: 'result_sup', typeName: 'integer', editable: puedeEditar, inTable: false, table: 'tem' },
|
|
71
|
+
{ name: 'verificado', typeName: 'text', editable: false, },
|
|
72
|
+
{ name: 'a_recuperacion', typeName: 'text', editable: false, inTable: false },
|
|
73
|
+
{ name: 'obs_verificado', typeName: 'text' },
|
|
74
|
+
{ name: 'rea_sup', typeName: 'integer', editable: puedeEditar, label: 'rea_sup_dm' },
|
|
75
|
+
{ name: 'norea_sup', typeName: 'integer', editable: puedeEditar, label: 'norea_sup_dm' },
|
|
76
|
+
{ name: 'resumen_estado_sup', typeName: 'text', editable: false, label: 'resumen_estado_sup_dm' },
|
|
77
|
+
{ name: 'ult_rea_sup', typeName: 'integer', editable: false, inTable: false },
|
|
78
|
+
{ name: 'ult_norea_sup', typeName: 'integer', editable: false, inTable: false },
|
|
79
|
+
{ name: 'ult_resumen_estado_sup', typeName: 'text', editable: false, inTable: false },
|
|
80
|
+
{ name: 'operacion', typeName: 'text', editable: false, },
|
|
81
|
+
{ name: "carga_observaciones", typeName: "text", editable: true },
|
|
82
|
+
{ name: 'cargado_dm', typeName: 'text', editable: false },
|
|
83
|
+
{ name: "cargado", typeName: "boolean", editable: false },
|
|
84
|
+
{ name: 'notas', typeName: 'text' }, // viene de la hoja de ruta
|
|
85
|
+
]);
|
|
86
|
+
return {
|
|
87
|
+
name: `tareas_tem`,
|
|
88
|
+
tableName: `tareas_tem`,
|
|
89
|
+
allow: {
|
|
90
|
+
insert: false,
|
|
91
|
+
delete: false,
|
|
92
|
+
},
|
|
93
|
+
editable: puedeEditar,
|
|
94
|
+
fields,
|
|
95
|
+
primaryKey: ['tarea', 'operativo', 'enc'],
|
|
96
|
+
hiddenColumns: ['cargado_dm', 'notas', 'estados__permite_editar_encuesta', 'tarea_anterior', 'tarea_asginar'],
|
|
97
|
+
foreignKeys: [
|
|
98
|
+
{ references: 'tem', fields: ['operativo', 'enc'], displayFields: [] },
|
|
99
|
+
{ references: 'tareas', fields: ['operativo', 'tarea'] },
|
|
100
|
+
{ references: 'tareas', fields: [{ source: 'operativo', target: 'operativo' }, { source: 'tarea_anterior', target: 'tarea' }], alias: 'tarea_anterior' },
|
|
101
|
+
{ references: 'usuarios', fields: [{ source: 'asignado', target: 'idper' }], alias: 'asignado', displayFields: ['nombre', 'apellido'] },
|
|
102
|
+
{ references: 'operaciones', fields: ['operacion'] },
|
|
103
|
+
{ references: 'estados', fields: ['operativo', 'estado'] },
|
|
104
|
+
{ references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'recepcionista' },
|
|
105
|
+
],
|
|
106
|
+
softForeignKeys: [
|
|
107
|
+
{ references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'at' },
|
|
108
|
+
{ references: 'tem_recepcion', fields: ['operativo', 'enc'], displayAllFields: true, displayAfterFieldName: 'resumen_estado_sup', alias: "tem_rec" },
|
|
109
|
+
{ references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' },
|
|
110
|
+
{ references: 'recepcionistas', fields: [{ source: 'recepcionista', target: 'persona' }], alias: 'rec' },
|
|
111
|
+
],
|
|
112
|
+
detailTables: [
|
|
113
|
+
{ table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }], refreshParent: true, refreshFromParent: true }
|
|
114
|
+
],
|
|
115
|
+
sql: {
|
|
116
|
+
isTable: true,
|
|
117
|
+
from: `(
|
|
118
|
+
select *
|
|
119
|
+
from (
|
|
120
|
+
select tt.tarea, t.operativo, t.enc, t.area, ${(0, exports.getDiasAPasarQuery)('tt')} as dias_a_pasar,
|
|
121
|
+
case when tarea_proxima is not null then tarea_proxima when tt.estado='A' then tt.tarea else null end as tarea_asignar
|
|
122
|
+
${fields.filter(x => !(x.isPk || x.table || x.inTable === false || x.name == 'area')).map(x => `, tt.${db.quoteIdent(x.name)}`).join('')}
|
|
123
|
+
, y.grupo as ult_gru_no_rea
|
|
124
|
+
, case when tt.tarea='recu' and y.grupo0 in ('ausentes','rechazos') then 'recuperacion' else null end a_recuperacion
|
|
125
|
+
, t.supervision_aleatoria
|
|
126
|
+
, t.supervision_dirigida
|
|
127
|
+
, case when y.grupo0='no encuestable' or t.supervision_dirigida = 1 or t.supervision_aleatoria = 1 then 'presencial'
|
|
128
|
+
when t.supervision_dirigida = 2 or t.supervision_aleatoria = 2 then 'telefónica'
|
|
129
|
+
else null end as modalidad
|
|
130
|
+
, t.rea ult_rea, t.norea as ult_norea, t.resumen_estado ult_resumen_estado
|
|
131
|
+
, t.rea_sup ult_rea_sup, t.norea_sup as ult_norea_sup, t.resumen_estado_sup ult_resumen_estado_sup
|
|
132
|
+
, t.proie
|
|
133
|
+
, dominio
|
|
134
|
+
, v.consistido
|
|
135
|
+
, e.visible_en_recepcion
|
|
136
|
+
, e.visible_en_ingreso
|
|
137
|
+
, e.visible_en_fin_campo
|
|
138
|
+
, e.visible_en_analisis_campo
|
|
139
|
+
, e.visible_en_procesamiento
|
|
140
|
+
, t.result_sup
|
|
141
|
+
, t.codcalle
|
|
142
|
+
, t.nomcalle
|
|
143
|
+
, t.nrocatastral
|
|
144
|
+
, t.piso
|
|
145
|
+
, t.departamento
|
|
146
|
+
, t.habitacion
|
|
147
|
+
, t.sector
|
|
148
|
+
, t.edificio
|
|
149
|
+
, t.entrada
|
|
150
|
+
, t.barrio
|
|
151
|
+
, '__implementar_en_operativo_final' as telefono
|
|
152
|
+
from
|
|
153
|
+
tem t left join tareas_tem tt
|
|
154
|
+
on t.operativo = tt.operativo and t.enc = tt.enc
|
|
155
|
+
left join tareas ta on tt.operativo = ta.operativo and tt.tarea = ta.tarea
|
|
156
|
+
left join areas a on tt.operativo = a.operativo and t.area = a.area
|
|
157
|
+
left join no_rea y on t.norea=y.no_rea::integer
|
|
158
|
+
left join viviendas v on v.operativo=t.operativo and v.vivienda=t.enc
|
|
159
|
+
join estados e on t.operativo = e.operativo and tt.estado = e.estado
|
|
160
|
+
) x
|
|
161
|
+
)`,
|
|
162
|
+
},
|
|
163
|
+
//refrescable: true, //no está permitido aún
|
|
164
|
+
//clientSide:'tareasTemRow' //desactivo para borrar los íconos de las celdas
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
exports.tareas_tem = tareas_tem;
|
|
168
|
+
function tareas_tem_encu(context) {
|
|
169
|
+
var tableDef = tareas_tem(context, { rol: 'encu', name: 'encuestador', abre: false, consiste: false });
|
|
170
|
+
tableDef.sql.isTable = false;
|
|
171
|
+
return tableDef;
|
|
172
|
+
}
|
|
173
|
+
exports.tareas_tem_encu = tareas_tem_encu;
|
|
174
|
+
function tareas_tem_recu(context) {
|
|
175
|
+
var tableDef = tareas_tem(context, { rol: 'recu', name: 'recuperador', abre: true, consiste: false });
|
|
176
|
+
tableDef.sql.isTable = false;
|
|
177
|
+
return tableDef;
|
|
178
|
+
}
|
|
179
|
+
exports.tareas_tem_recu = tareas_tem_recu;
|
|
180
|
+
function tareas_tem_supe(context) {
|
|
181
|
+
var tableDef = tareas_tem(context, { rol: 'supe', name: 'supervisor', abre: true, consiste: false });
|
|
182
|
+
tableDef.sql.isTable = false;
|
|
183
|
+
return tableDef;
|
|
184
|
+
}
|
|
185
|
+
exports.tareas_tem_supe = tareas_tem_supe;
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGlzdG9yaWFsX3RlbSBjb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS1oaXN0b3JpYWxfdGVtIGNvcHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFZTixJQUFJLGtCQUFrQixHQUFHLENBQUMsY0FBc0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLGNBQWMsQ0FBQSxDQUFDLENBQUEsY0FBYyxHQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRSwyRkFBMkYsQ0FBQTtJQUFwTSxRQUFBLGtCQUFrQixzQkFBa0w7SUFFeE0sSUFBSSxZQUFZLEdBQUcsQ0FBQyxXQUFtQixFQUFvQixFQUFFLENBQUM7UUFDakUsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUEyQixRQUFRLEVBQUMsU0FBUyxFQUFPLFFBQVEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLFFBQVEsRUFBQztRQUNyRyxFQUFDLElBQUksRUFBQyxPQUFPLEVBQXlCLFFBQVEsRUFBQyxTQUFTLEVBQU8sUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsVUFBVSxFQUFDO1FBQ3ZHLG9HQUFvRztRQUNwRyxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBZ0IsUUFBUSxFQUFDLE1BQU0sRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFLLEtBQUssRUFBRSxtQkFBbUIsRUFBQztRQUM5RyxFQUFDLElBQUksRUFBQyxTQUFTLEVBQXVCLFFBQVEsRUFBQyxTQUFTLEVBQU8sUUFBUSxFQUFFLEtBQUssRUFBTSxPQUFPLEVBQUMsS0FBSyxFQUFDO1FBQ2xHLEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBcUIsUUFBUSxFQUFDLFNBQVMsRUFBTyxRQUFRLEVBQUUsS0FBSyxFQUFNLE9BQU8sRUFBQyxLQUFLLEVBQUM7UUFDbEcsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQWdCLFFBQVEsRUFBQyxNQUFNLEVB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O2NBdUNsSTthQUNMO1lBQ0QsNENBQTRDO1lBQzVDLDRFQUE0RTtTQUMvRSxDQUFDO0lBQ04sQ0FBQztJQTNJRCxnQ0EySUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQ2hHLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQy9GLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQzlGLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5pbXBvcnQgeyBGaWVsZERlZmluaXRpb24gfSBmcm9tIFwicmVsLWVuY1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0c1RhcmVhc1RlbSA9IHtcclxuICAgIHJvbDogJ2VuY3UnfCdyZWN1J3wnc3VwZSd8bnVsbFxyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBhYnJlPzpib29sZWFuXHJcbiAgICBjb25zaXN0ZT86Ym9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdmFyIGdldERpYXNBUGFzYXJRdWVyeSA9ICh0YXJlYXNUZW1BbGlhcz86c3RyaW5nKSA9PiBgZXh0cmFjdChkYXkgZnJvbSAke3RhcmVhc1RlbUFsaWFzP3RhcmVhc1RlbUFsaWFzKycuJzonJ310c19lbnRyYWRhIC0gY3VycmVudF90aW1lc3RhbXApICsgKHNlbGVjdCBkaWFzX2ZpbmMgZnJvbSBwYXJhbWV0cm9zIHdoZXJlIHVuaWNvX3JlZ2lzdHJvKWBcclxuXHJcbmV4cG9ydCB2YXIgZ2V0UmVhRmllbGRzID0gKHB1ZWRlRWRpdGFyOmJvb2xlYW4pOkZpZWxkRGVmaW5pdGlvbltdID0+IFtcclxuICAgIHtuYW1lOidyZWEnICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciwgbGFiZWw6J3JlYV9kbSd9LFxyXG4gICAge25hbWU6J25vcmVhJyAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLCBsYWJlbDonbm9yZWFfZG0nfSxcclxuICAgIC8ve25hbWU6J2NvZF9ub19yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSAgfSxcclxuICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgbGFiZWw6ICdyZXN1bWVuX2VzdGFkb19kbSd9LFxyXG4gICAge25hbWU6J3VsdF9yZWEnICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICB7bmFtZTondWx0X25vcmVhJyAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgICAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgIHtuYW1lOid1bHRfZ3J1X25vX3JlYScgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAge25hbWU6J3VsdF9yZXN1bWVuX2VzdGFkbycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCAgaW5UYWJsZTpmYWxzZX1cclxuXVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW0oY29udGV4dDpUYWJsZUNvbnRleHQsb3B0cz86T3B0c1RhcmVhc1RlbSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIGlmIChvcHRzID09IG51bGwpIHtcclxuICAgICAgICBvcHRzID0ge1xyXG4gICAgICAgICAgICByb2w6IG51bGwsXHJcbiAgICAgICAgICAgIG5hbWU6ICdyZWxldmFkb3InXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3B0cy5hYnJlID8/PSB0cnVlO1xyXG4gICAgb3B0cy5jb25zaXN0ZSA/Pz0gdHJ1ZTtcclxuICAgIHZhciBiZT1jb250ZXh0LmJlO1xyXG4gICAgdmFyIGRiPWJlLmRiOyBcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGNvbnRleHQuZm9yRHVtcCB8fCBjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQudXNlci5yb2w9PT0ncmVjZXBjaW9uaXN0YSc7ICAgICAgIFxyXG4gICAgdmFyIGZpZWxkczpGaWVsZERlZmluaXRpb25bXT1bXHJcbiAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcsIGlzUGs6MiwgZWRpdGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidlbmMnICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjMsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondGFyZWEnICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JywgaXNQazoxLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3RzX2VudHJhZGEnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGltZXN0YW1wJyAgICwgZWRpdGFibGU6ZmFsc2UgICAgICAgICAgICAgICAsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidhZGVsYW50YXInICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICAgICAsIGVkaXRhYmxlOnRydWUgICAgICAgICAgICAgICAgLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonZGlhc19hX3Bhc2FyJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTpmYWxzZSwgaW5UYWJsZTpmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J2VzdGFkbycgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdERiVmFsdWU6XCInMEQnXCJ9LFxyXG4gICAgICAgIHtuYW1lOidwcm9pZScgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOnRydWUgLCB0YWJsZTogJ3RlbScgLCB2aXNpYmxlOmZhbHNlIH1cclxuICAgIF07XHJcbiAgICBpZihvcHRzLmFicmUpe1xyXG4gICAgICAgIGZpZWxkcy5wdXNoKHtuYW1lOidhYnJpcicgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpclJlY2VwY2lvbid9KTtcclxuICAgIH1cclxuICAgIGlmKG9wdHMuY29uc2lzdGUpe1xyXG4gICAgICAgIGZpZWxkcy5wdXNoKHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2NvbnNpc3Rpcid9KTtcclxuICAgIH1cclxuICAgIGZpZWxkcz1maWVsZHMuY29uY2F0KFtcclxuICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiAnaW50ZWdlcicgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSB9LFxyXG4gICAgICAgIHtuYW1lOid0YXJlYV9hc2lnbmFyJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGluVGFibGU6ZmFsc2UgICAgLCBlZGl0YWJsZTpmYWxzZSwgc2VydmVyU2lkZTp0cnVlfSxcclxuICAgICAgICB7bmFtZTondGFyZWFfYW50ZXJpb3InICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgIC8vICB7bmFtZTonb2snICAgICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSB9LFxyXG4gICAgICAgIHtuYW1lOidyZWNlcGNpb25pc3RhJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOnRydWUgfSwgXHJcbiAgICAgICAge25hbWU6J2FzaWduYWRvJyAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6dHJ1ZSwgdGl0bGU6IG9wdHMubmFtZX0sIC8vIHZhIGEgbGEgaG9qYSBkZSBydXRhXHJcbiAgICAgICAge25hbWU6J2ZlY2hhX2FzaWduYWNpb24nICAgICAgICAgICAgLCB0eXBlTmFtZTonZGF0ZSd9LCAvLyBjYXJnYXIvZGVzY2FyZ2FyXHJcbiAgICBdKTtcclxuICAgIGZpZWxkcyA9IGZpZWxkcy5jb25jYXQoLi4uZ2V0UmVhRmllbGRzKHB1ZWRlRWRpdGFyKSxbXHJcbiAgICAgICAgLy97bmFtZToncmVzdWx0YWRvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LCAvLyBmayB0YXJlYXNfcmVzdWx0YWRvcyBcclxuICAgICAgICAvL3tuYW1lOidmZWNoYV9yZXN1bHRhZG8nICAgICAgICAgICAsIHR5cGVOYW1lOidkYXRlJ30sIC8vIGZrIHRhcmVhc19yZXN1bHRhZG9zIFxyXG4gICAgICAgIHtuYW1lOidtb2RhbGlkYWQnICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSwgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2RpcmlnaWRhJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fYWxlYXRvcmlhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidyZXN1bHRfc3VwJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciAgLCAgaW5UYWJsZTpmYWxzZSwgdGFibGU6J3RlbSd9LFxyXG4gICAgICAgIHtuYW1lOid2ZXJpZmljYWRvJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlLH0sIFxyXG4gICAgICAgIHtuYW1lOidhX3JlY3VwZXJhY2lvbicgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICwgaW5UYWJsZTpmYWxzZX0sIFxyXG4gICAgICAgIHtuYW1lOidvYnNfdmVyaWZpY2FkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICB7bmFtZToncmVhX3N1cCcgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIsIGxhYmVsOidyZWFfc3VwX2RtJ30sXHJcbiAgICAgICAge25hbWU6J25vcmVhX3N1cCcgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLCBsYWJlbDonbm9yZWFfc3VwX2RtJ30sXHJcbiAgICAgICAge25hbWU6J3Jlc3VtZW5fZXN0YWRvX3N1cCcgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlLCAgICAgICBsYWJlbDogJ3Jlc3VtZW5fZXN0YWRvX3N1cF9kbSd9LFxyXG4gICAgICAgIHtuYW1lOid1bHRfcmVhX3N1cCcgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondWx0X25vcmVhX3N1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3VsdF9yZXN1bWVuX2VzdGFkb19zdXAnICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidvcGVyYWNpb24nICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlLH0sIC8vIGNhcmdhci9kZXNjYXJnYXJcclxuICAgICAgICB7bmFtZTpcImNhcmdhX29ic2VydmFjaW9uZXNcIiAgICAgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgICAgICwgZWRpdGFibGU6IHRydWV9LCAgICAgICAgXHJcbiAgICAgICAge25hbWU6J2NhcmdhZG9fZG0nICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSwgLy9jYXJnYXIvZGVzY2FyZ2FyIFxyXG4gICAgICAgIHtuYW1lOlwiY2FyZ2Fkb1wiICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogXCJib29sZWFuXCIgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidub3RhcycgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSwgLy8gdmllbmUgZGUgbGEgaG9qYSBkZSBydXRhXHJcbiAgICBdKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTpgdGFyZWFzX3RlbWAsXHJcbiAgICAgICAgdGFibGVOYW1lOmB0YXJlYXNfdGVtYCxcclxuICAgICAgICBhbGxvdzp7XHJcbiAgICAgICAgICAgIGluc2VydDpmYWxzZSxcclxuICAgICAgICAgICAgZGVsZXRlOmZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXHJcbiAgICAgICAgZmllbGRzLFxyXG4gICAgICAgIHByaW1hcnlLZXk6Wyd0YXJlYScsJ29wZXJhdGl2bycsJ2VuYyddLFxyXG4gICAgICAgIGhpZGRlbkNvbHVtbnM6WydjYXJnYWRvX2RtJywnbm90YXMnLCAnZXN0YWRvc19fcGVybWl0ZV9lZGl0YXJfZW5jdWVzdGEnLCd0YXJlYV9hbnRlcmlvcicsJ3RhcmVhX2FzZ2luYXInXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0ZW0nICwgZmllbGRzOlsnb3BlcmF0aXZvJywnZW5jJ10sIGRpc3BsYXlGaWVsZHM6W119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondGFyZWFzJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ3RhcmVhJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondGFyZWFzJyAsIGZpZWxkczpbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSwge3NvdXJjZTogJ3RhcmVhX2FudGVyaW9yJywgdGFyZ2V0Oid0YXJlYSd9XSwgYWxpYXM6J3RhcmVhX2FudGVyaW9yJ30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonYXNpZ25hZG8nICwgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J2FzaWduYWRvJywgZGlzcGxheUZpZWxkczpbJ25vbWJyZScsJ2FwZWxsaWRvJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonb3BlcmFjaW9uZXMnICwgZmllbGRzOlsnb3BlcmFjaW9uJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonZXN0YWRvcycgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCdlc3RhZG8nXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZToncmVjZXBjaW9uaXN0YScgLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczoncmVjZXBjaW9uaXN0YSd9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidyZWNlcGNpb25pc3RhJywgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J2F0J30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0ZW1fcmVjZXBjaW9uJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ2VuYyddLCBkaXNwbGF5QWxsRmllbGRzOnRydWUsIGRpc3BsYXlBZnRlckZpZWxkTmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJywgYWxpYXM6XCJ0ZW1fcmVjXCJ9LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondG9rZW5zJywgZmllbGRzOlt7c291cmNlOidjYXJnYWRvX2RtJywgdGFyZ2V0Oid0b2tlbid9XSwgZGlzcGxheUZpZWxkczpbJ3VzZXJuYW1lJ10sIGRpc3BsYXlBZnRlckZpZWxkTmFtZTonY2FyZ2Fkbyd9LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczoncmVjZXBjaW9uaXN0YXMnLCBmaWVsZHM6W3tzb3VyY2U6J3JlY2VwY2lvbmlzdGEnLCB0YXJnZXQ6J3BlcnNvbmEnfV0sIGFsaWFzOidyZWMnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGRldGFpbFRhYmxlczogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XSwgcmVmcmVzaFBhcmVudDp0cnVlLCByZWZyZXNoRnJvbVBhcmVudDp0cnVlfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3FsOntcclxuICAgICAgICAgICAgaXNUYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZnJvbTpgKFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0ICpcclxuICAgICAgICAgICAgICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgICAgIHNlbGVjdCB0dC50YXJlYSwgdC5vcGVyYXRpdm8sIHQuZW5jLCB0LmFyZWEsICR7Z2V0RGlhc0FQYXNhclF1ZXJ5KCd0dCcpfSAgYXMgZGlhc19hX3Bhc2FyLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2Ugd2hlbiB0YXJlYV9wcm94aW1hIGlzIG5vdCBudWxsIHRoZW4gdGFyZWFfcHJveGltYSB3aGVuIHR0LmVzdGFkbz0nQScgdGhlbiB0dC50YXJlYSBlbHNlIG51bGwgZW5kIGFzIHRhcmVhX2FzaWduYXJcclxuICAgICAgICAgICAgICAgICAgICAke2ZpZWxkcy5maWx0ZXIoeD0+ISh4LmlzUGsgfHx4LnRhYmxlfHwgeC5pblRhYmxlPT09ZmFsc2V8fHgubmFtZT09J2FyZWEnKSkubWFwKHg9PmAsIHR0LiR7ZGIucXVvdGVJZGVudCh4Lm5hbWUpfWApLmpvaW4oJycpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgeS5ncnVwbyBhcyB1bHRfZ3J1X25vX3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICwgY2FzZSB3aGVuIHR0LnRhcmVhPSdyZWN1JyBhbmQgeS5ncnVwbzAgaW4gKCdhdXNlbnRlcycsJ3JlY2hhem9zJykgdGhlbiAncmVjdXBlcmFjaW9uJyBlbHNlIG51bGwgZW5kIGFfcmVjdXBlcmFjaW9uICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnN1cGVydmlzaW9uX2FsZWF0b3JpYVxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYVxyXG4gICAgICAgICAgICAgICAgICAgICwgY2FzZSB3aGVuIHkuZ3J1cG8wPSdubyBlbmN1ZXN0YWJsZScgb3IgdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYSA9IDEgb3IgdC5zdXBlcnZpc2lvbl9hbGVhdG9yaWEgPSAxIHRoZW4gJ3ByZXNlbmNpYWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYSA9IDIgb3IgdC5zdXBlcnZpc2lvbl9hbGVhdG9yaWEgPSAyIHRoZW4gJ3RlbGVmw7NuaWNhJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBudWxsIGVuZCBhcyBtb2RhbGlkYWRcclxuICAgICAgICAgICAgICAgICAgICAsIHQucmVhIHVsdF9yZWEsIHQubm9yZWEgYXMgdWx0X25vcmVhLCB0LnJlc3VtZW5fZXN0YWRvIHVsdF9yZXN1bWVuX2VzdGFkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdC5yZWFfc3VwIHVsdF9yZWFfc3VwLCB0Lm5vcmVhX3N1cCBhcyB1bHRfbm9yZWFfc3VwLCB0LnJlc3VtZW5fZXN0YWRvX3N1cCB1bHRfcmVzdW1lbl9lc3RhZG9fc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnByb2llXHJcbiAgICAgICAgICAgICAgICAgICAgLCBkb21pbmlvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB2LmNvbnNpc3RpZG9cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9yZWNlcGNpb25cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9pbmdyZXNvXHJcbiAgICAgICAgICAgICAgICAgICAgLCBlLnZpc2libGVfZW5fZmluX2NhbXBvXHJcbiAgICAgICAgICAgICAgICAgICAgLCBlLnZpc2libGVfZW5fYW5hbGlzaXNfY2FtcG9cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9wcm9jZXNhbWllbnRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnJlc3VsdF9zdXBcclxuICAgICAgICAgICAgICAgICAgICAsIHQuY29kY2FsbGVcclxuICAgICAgICAgICAgICAgICAgICAsIHQubm9tY2FsbGVcclxuICAgICAgICAgICAgICAgICAgICAsIHQubnJvY2F0YXN0cmFsXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnBpc29cclxuICAgICAgICAgICAgICAgICAgICAsIHQuZGVwYXJ0YW1lbnRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmhhYml0YWNpb25cclxuICAgICAgICAgICAgICAgICAgICAsIHQuc2VjdG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmVkaWZpY2lvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmVudHJhZGFcclxuICAgICAgICAgICAgICAgICAgICAsIHQuYmFycmlvXHJcbiAgICAgICAgICAgICAgICAgICAgLCAnX19pbXBsZW1lbnRhcl9lbl9vcGVyYXRpdm9fZmluYWwnIGFzIHRlbGVmb25vICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBmcm9tIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW0gdCBsZWZ0IGpvaW4gdGFyZWFzX3RlbSB0dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gdC5vcGVyYXRpdm8gPSB0dC5vcGVyYXRpdm8gYW5kIHQuZW5jID0gdHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB0YXJlYXMgdGEgb24gdHQub3BlcmF0aXZvID0gdGEub3BlcmF0aXZvIGFuZCB0dC50YXJlYSA9IHRhLnRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBhcmVhcyBhIG9uIHR0Lm9wZXJhdGl2byA9IGEub3BlcmF0aXZvIGFuZCB0LmFyZWEgPSBhLmFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIG5vX3JlYSB5IG9uIHQubm9yZWE9eS5ub19yZWE6OmludGVnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHZpdmllbmRhcyB2IG9uIHYub3BlcmF0aXZvPXQub3BlcmF0aXZvIGFuZCB2LnZpdmllbmRhPXQuZW5jIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqb2luIGVzdGFkb3MgZSBvbiB0Lm9wZXJhdGl2byA9IGUub3BlcmF0aXZvIGFuZCB0dC5lc3RhZG8gPSBlLmVzdGFkb1xyXG4gICAgICAgICAgICAgICAgICAgICkgeFxyXG4gICAgICAgICAgICApYCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vcmVmcmVzY2FibGU6IHRydWUsIC8vbm8gZXN0w6EgcGVybWl0aWRvIGHDum5cclxuICAgICAgICAvL2NsaWVudFNpZGU6J3RhcmVhc1RlbVJvdycgLy9kZXNhY3Rpdm8gcGFyYSBib3JyYXIgbG9zIMOtY29ub3MgZGUgbGFzIGNlbGRhc1xyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW1fZW5jdShjb250ZXh0OlRhYmxlQ29udGV4dCl7XHJcbiAgICB2YXIgdGFibGVEZWYgPSB0YXJlYXNfdGVtKGNvbnRleHQsIHtyb2w6J2VuY3UnLCBuYW1lOidlbmN1ZXN0YWRvcicsIGFicmU6ZmFsc2UsIGNvbnNpc3RlOmZhbHNlfSkgXHJcbiAgICB0YWJsZURlZi5zcWwhLmlzVGFibGUgPSBmYWxzZTtcclxuICAgIHJldHVybiB0YWJsZURlZjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW1fcmVjdShjb250ZXh0OlRhYmxlQ29udGV4dCl7XHJcbiAgICB2YXIgdGFibGVEZWYgPSB0YXJlYXNfdGVtKGNvbnRleHQsIHtyb2w6J3JlY3UnLCBuYW1lOidyZWN1cGVyYWRvcicsIGFicmU6dHJ1ZSwgY29uc2lzdGU6ZmFsc2V9KSBcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRhYmxlRGVmO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9zdXBlKGNvbnRleHQ6VGFibGVDb250ZXh0KXtcclxuICAgIHZhciB0YWJsZURlZiA9IHRhcmVhc190ZW0oY29udGV4dCwge3JvbDonc3VwZScsIG5hbWU6J3N1cGVydmlzb3InLCBhYnJlOnRydWUsIGNvbnNpc3RlOmZhbHNlfSkgXHJcbiAgICB0YWJsZURlZi5zcWwhLmlzVGFibGUgPSBmYWxzZTtcclxuICAgIHJldHVybiB0YWJsZURlZjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.roles = void 0;
|
|
13
|
+
function roles(context) {
|
|
14
|
+
var esEditable = context.user.rol === 'admin';
|
|
15
|
+
return {
|
|
16
|
+
name: 'roles',
|
|
17
|
+
elementName: 'role',
|
|
18
|
+
editable: esEditable,
|
|
19
|
+
fields: [
|
|
20
|
+
{ name: 'rol', typeName: 'text', nullable: false },
|
|
21
|
+
{ name: 'superuser', typeName: 'boolean', nullable: false, defaultValue: false },
|
|
22
|
+
{ name: 'nombre', typeName: 'text', nullable: false },
|
|
23
|
+
],
|
|
24
|
+
primaryKey: ['rol'],
|
|
25
|
+
detailTables: [
|
|
26
|
+
{ table: 'roles_permisos', fields: ['rol'], abr: 'P', label: 'Permisos' },
|
|
27
|
+
{ table: 'roles_subordinados', fields: ['rol'], abr: 'S' },
|
|
28
|
+
{ table: 'usuarios', fields: ['rol'], abr: 'U' },
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.roles = roles;
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm9sZXMgY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtcm9sZXMgY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLFNBQWdCLEtBQUssQ0FBQyxPQUFvQjtRQUN0QyxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxPQUFPLENBQUM7UUFDNUMsT0FBTztZQUNILElBQUksRUFBQyxPQUFPO1lBQ1osV0FBVyxFQUFDLE1BQU07WUFDbEIsUUFBUSxFQUFDLFVBQVU7WUFDbkIsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUFRLFFBQVEsRUFBQyxLQUFLLEVBQXdCO2dCQUN2RixFQUFDLElBQUksRUFBQyxXQUFXLEVBQVMsUUFBUSxFQUFDLFNBQVMsRUFBSyxRQUFRLEVBQUMsS0FBSyxFQUFJLFlBQVksRUFBRSxLQUFLLEVBQUM7Z0JBQ3ZGLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBWSxRQUFRLEVBQUMsTUFBTSxFQUFRLFFBQVEsRUFBQyxLQUFLLEVBQXdCO2FBQzFGO1lBQ0QsVUFBVSxFQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2xCLFlBQVksRUFBQztnQkFDVCxFQUFDLEtBQUssRUFBQyxnQkFBZ0IsRUFBTyxNQUFNLEVBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxVQUFVLEVBQUM7Z0JBQ3hFLEVBQUMsS0FBSyxFQUFDLG9CQUFvQixFQUFHLE1BQU0sRUFBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBQyxHQUFHLEVBQUM7Z0JBQ3RELEVBQUMsS0FBSyxFQUFDLFVBQVUsRUFBYSxNQUFNLEVBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFDO2FBQ3pEO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFsQkQsc0JBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByb2xlcyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBlc0VkaXRhYmxlID0gY29udGV4dC51c2VyLnJvbD09PSdhZG1pbic7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6J3JvbGVzJyxcclxuICAgICAgICBlbGVtZW50TmFtZToncm9sZScsXHJcbiAgICAgICAgZWRpdGFibGU6ZXNFZGl0YWJsZSxcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICB7bmFtZToncm9sJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICwgbnVsbGFibGU6ZmFsc2UgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnVzZXInICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICAgLCBudWxsYWJsZTpmYWxzZSAgLCBkZWZhdWx0VmFsdWU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWJyZScgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAsIG51bGxhYmxlOmZhbHNlICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpbJ3JvbCddLFxyXG4gICAgICAgIGRldGFpbFRhYmxlczpbXHJcbiAgICAgICAgICAgIHt0YWJsZToncm9sZXNfcGVybWlzb3MnICAgICAsIGZpZWxkczpbJ3JvbCddLCBhYnI6J1AnLCBsYWJlbDonUGVybWlzb3MnfSxcclxuICAgICAgICAgICAge3RhYmxlOidyb2xlc19zdWJvcmRpbmFkb3MnICwgZmllbGRzOlsncm9sJ10sIGFicjonUyd9LFxyXG4gICAgICAgICAgICB7dGFibGU6J3VzdWFyaW9zJyAgICAgICAgICAgLCBmaWVsZHM6Wydyb2wnXSwgYWJyOidVJ30sXHJcbiAgICAgICAgXSxcclxuICAgIH07XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="backend-plus" />
|
|
2
|
+
import { TableDefinition, TableContext } from "./types-dmencu";
|
|
3
|
+
import { FieldDefinition } from "rel-enc";
|
|
4
|
+
export type OptsTareasTem = {
|
|
5
|
+
rol: 'encu' | 'recu' | 'supe' | null;
|
|
6
|
+
name: string;
|
|
7
|
+
abre?: boolean;
|
|
8
|
+
consiste?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare var getDiasAPasarQuery: (tareasTemAlias?: string) => string;
|
|
11
|
+
export declare var getReaFields: (puedeEditar: boolean) => FieldDefinition[];
|
|
12
|
+
export declare function tareas_tem(context: TableContext, opts?: OptsTareasTem): TableDefinition;
|
|
13
|
+
export declare function tareas_tem_encu(context: TableContext): TableDefinition;
|
|
14
|
+
export declare function tareas_tem_recu(context: TableContext): TableDefinition;
|
|
15
|
+
export declare function tareas_tem_supe(context: TableContext): TableDefinition;
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.tareas_tem_supe = exports.tareas_tem_recu = exports.tareas_tem_encu = exports.tareas_tem = exports.getReaFields = exports.getDiasAPasarQuery = void 0;
|
|
13
|
+
var getDiasAPasarQuery = (tareasTemAlias) => `extract(day from ${tareasTemAlias ? tareasTemAlias + '.' : ''}ts_entrada - current_timestamp) + (select dias_finc from parametros where unico_registro)`;
|
|
14
|
+
exports.getDiasAPasarQuery = getDiasAPasarQuery;
|
|
15
|
+
var getReaFields = (puedeEditar) => [
|
|
16
|
+
{ name: 'rea', typeName: 'integer', editable: puedeEditar, label: 'rea_dm' },
|
|
17
|
+
{ name: 'norea', typeName: 'integer', editable: puedeEditar, label: 'norea_dm' },
|
|
18
|
+
//{name:'cod_no_rea' , typeName:'text' , editable: false , inTable:false },
|
|
19
|
+
{ name: 'resumen_estado', typeName: 'text', editable: false, label: 'resumen_estado_dm' },
|
|
20
|
+
{ name: 'ult_rea', typeName: 'integer', editable: false, inTable: false },
|
|
21
|
+
{ name: 'ult_norea', typeName: 'integer', editable: false, inTable: false },
|
|
22
|
+
{ name: 'ult_gru_no_rea', typeName: 'text', editable: false, inTable: false },
|
|
23
|
+
{ name: 'ult_resumen_estado', typeName: 'text', editable: false, inTable: false }
|
|
24
|
+
];
|
|
25
|
+
exports.getReaFields = getReaFields;
|
|
26
|
+
function tareas_tem(context, opts) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
if (opts == null) {
|
|
29
|
+
opts = {
|
|
30
|
+
rol: null,
|
|
31
|
+
name: 'relevador'
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
(_a = opts.abre) !== null && _a !== void 0 ? _a : (opts.abre = true);
|
|
35
|
+
(_b = opts.consiste) !== null && _b !== void 0 ? _b : (opts.consiste = true);
|
|
36
|
+
var be = context.be;
|
|
37
|
+
var db = be.db;
|
|
38
|
+
var puedeEditar = context.forDump || ((_d = (_c = context.puede) === null || _c === void 0 ? void 0 : _c.campo) === null || _d === void 0 ? void 0 : _d.administrar) || context.user.rol === 'recepcionista';
|
|
39
|
+
var fields = [
|
|
40
|
+
{ name: 'operativo', typeName: 'text', isPk: 2, editable: false },
|
|
41
|
+
{ name: 'enc', typeName: 'text', isPk: 3, editable: false },
|
|
42
|
+
{ name: 'tarea', typeName: 'text', isPk: 1, editable: false },
|
|
43
|
+
{ name: 'ts_entrada', typeName: 'timestamp', editable: false, visible: false },
|
|
44
|
+
{ name: 'adelantar', typeName: 'boolean', editable: true, visible: false },
|
|
45
|
+
{ name: 'dias_a_pasar', typeName: 'integer', editable: false, inTable: false, visible: false },
|
|
46
|
+
{ name: 'estado', typeName: 'text', editable: false, nullable: false, defaultDbValue: "'0D'" },
|
|
47
|
+
{ name: 'proie', typeName: 'text', editable: true, table: 'tem', visible: false }
|
|
48
|
+
];
|
|
49
|
+
if (opts.abre) {
|
|
50
|
+
fields.push({ name: 'abrir', typeName: 'text', editable: false, inTable: false, clientSide: 'abrirRecepcion' });
|
|
51
|
+
}
|
|
52
|
+
if (opts.consiste) {
|
|
53
|
+
fields.push({ name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' });
|
|
54
|
+
}
|
|
55
|
+
fields = fields.concat([
|
|
56
|
+
{ name: 'area', typeName: 'integer', editable: false, inTable: false },
|
|
57
|
+
{ name: 'tarea_asignar', typeName: 'text', inTable: false, editable: false, serverSide: true },
|
|
58
|
+
{ name: 'tarea_anterior', typeName: 'text', editable: false },
|
|
59
|
+
// {name:'ok' , typeName: 'text' , editable:false , inTable:false },
|
|
60
|
+
{ name: 'recepcionista', typeName: 'text', editable: true },
|
|
61
|
+
{ name: 'asignado', typeName: 'text', editable: true, title: opts.name },
|
|
62
|
+
{ name: 'fecha_asignacion', typeName: 'date' }, // cargar/descargar
|
|
63
|
+
]);
|
|
64
|
+
fields = fields.concat(...(0, exports.getReaFields)(puedeEditar), [
|
|
65
|
+
//{name:'resultado' , typeName:'text'}, // fk tareas_resultados
|
|
66
|
+
//{name:'fecha_resultado' , typeName:'date'}, // fk tareas_resultados
|
|
67
|
+
{ name: 'modalidad', typeName: 'text', editable: false, inTable: false },
|
|
68
|
+
{ name: 'supervision_dirigida', typeName: 'integer', editable: false, inTable: false },
|
|
69
|
+
{ name: 'supervision_aleatoria', typeName: 'integer', editable: false, inTable: false },
|
|
70
|
+
{ name: 'result_sup', typeName: 'integer', editable: puedeEditar, inTable: false, table: 'tem' },
|
|
71
|
+
{ name: 'verificado', typeName: 'text', editable: false, },
|
|
72
|
+
{ name: 'a_recuperacion', typeName: 'text', editable: false, inTable: false },
|
|
73
|
+
{ name: 'obs_verificado', typeName: 'text' },
|
|
74
|
+
{ name: 'rea_sup', typeName: 'integer', editable: puedeEditar, label: 'rea_sup_dm' },
|
|
75
|
+
{ name: 'norea_sup', typeName: 'integer', editable: puedeEditar, label: 'norea_sup_dm' },
|
|
76
|
+
{ name: 'resumen_estado_sup', typeName: 'text', editable: false, label: 'resumen_estado_sup_dm' },
|
|
77
|
+
{ name: 'ult_rea_sup', typeName: 'integer', editable: false, inTable: false },
|
|
78
|
+
{ name: 'ult_norea_sup', typeName: 'integer', editable: false, inTable: false },
|
|
79
|
+
{ name: 'ult_resumen_estado_sup', typeName: 'text', editable: false, inTable: false },
|
|
80
|
+
{ name: 'operacion', typeName: 'text', editable: false, },
|
|
81
|
+
{ name: "carga_observaciones", typeName: "text", editable: true },
|
|
82
|
+
{ name: 'cargado_dm', typeName: 'text', editable: false },
|
|
83
|
+
{ name: "cargado", typeName: "boolean", editable: false },
|
|
84
|
+
{ name: 'notas', typeName: 'text' }, // viene de la hoja de ruta
|
|
85
|
+
]);
|
|
86
|
+
return {
|
|
87
|
+
name: `tareas_tem`,
|
|
88
|
+
tableName: `tareas_tem`,
|
|
89
|
+
allow: {
|
|
90
|
+
insert: false,
|
|
91
|
+
delete: false,
|
|
92
|
+
},
|
|
93
|
+
editable: puedeEditar,
|
|
94
|
+
fields,
|
|
95
|
+
primaryKey: ['tarea', 'operativo', 'enc'],
|
|
96
|
+
hiddenColumns: ['cargado_dm', 'notas', 'estados__permite_editar_encuesta', 'tarea_anterior', 'tarea_asginar'],
|
|
97
|
+
foreignKeys: [
|
|
98
|
+
{ references: 'tem', fields: ['operativo', 'enc'], displayFields: [] },
|
|
99
|
+
{ references: 'tareas', fields: ['operativo', 'tarea'] },
|
|
100
|
+
{ references: 'tareas', fields: [{ source: 'operativo', target: 'operativo' }, { source: 'tarea_anterior', target: 'tarea' }], alias: 'tarea_anterior' },
|
|
101
|
+
{ references: 'usuarios', fields: [{ source: 'asignado', target: 'idper' }], alias: 'asignado', displayFields: ['nombre', 'apellido'] },
|
|
102
|
+
{ references: 'operaciones', fields: ['operacion'] },
|
|
103
|
+
{ references: 'estados', fields: ['operativo', 'estado'] },
|
|
104
|
+
{ references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'recepcionista' },
|
|
105
|
+
],
|
|
106
|
+
softForeignKeys: [
|
|
107
|
+
{ references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'at' },
|
|
108
|
+
{ references: 'tem_recepcion', fields: ['operativo', 'enc'], displayAllFields: true, displayAfterFieldName: 'resumen_estado_sup', alias: "tem_rec" },
|
|
109
|
+
{ references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' },
|
|
110
|
+
{ references: 'recepcionistas', fields: [{ source: 'recepcionista', target: 'persona' }], alias: 'rec' },
|
|
111
|
+
],
|
|
112
|
+
detailTables: [
|
|
113
|
+
{ table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }], refreshParent: true, refreshFromParent: true }
|
|
114
|
+
],
|
|
115
|
+
sql: {
|
|
116
|
+
isTable: true,
|
|
117
|
+
from: `(
|
|
118
|
+
select *
|
|
119
|
+
from (
|
|
120
|
+
select tt.tarea, t.operativo, t.enc, t.area, ${(0, exports.getDiasAPasarQuery)('tt')} as dias_a_pasar,
|
|
121
|
+
case when tarea_proxima is not null then tarea_proxima when tt.estado='A' then tt.tarea else null end as tarea_asignar
|
|
122
|
+
${fields.filter(x => !(x.isPk || x.table || x.inTable === false || x.name == 'area')).map(x => `, tt.${db.quoteIdent(x.name)}`).join('')}
|
|
123
|
+
, y.grupo as ult_gru_no_rea
|
|
124
|
+
, case when tt.tarea='recu' and y.grupo0 in ('ausentes','rechazos') then 'recuperacion' else null end a_recuperacion
|
|
125
|
+
, t.supervision_aleatoria
|
|
126
|
+
, t.supervision_dirigida
|
|
127
|
+
, case when y.grupo0='no encuestable' or t.supervision_dirigida = 1 or t.supervision_aleatoria = 1 then 'presencial'
|
|
128
|
+
when t.supervision_dirigida = 2 or t.supervision_aleatoria = 2 then 'telefónica'
|
|
129
|
+
else null end as modalidad
|
|
130
|
+
, t.rea ult_rea, t.norea as ult_norea, t.resumen_estado ult_resumen_estado
|
|
131
|
+
, t.rea_sup ult_rea_sup, t.norea_sup as ult_norea_sup, t.resumen_estado_sup ult_resumen_estado_sup
|
|
132
|
+
, t.proie
|
|
133
|
+
, dominio
|
|
134
|
+
, v.consistido
|
|
135
|
+
, e.visible_en_recepcion
|
|
136
|
+
, e.visible_en_ingreso
|
|
137
|
+
, e.visible_en_fin_campo
|
|
138
|
+
, e.visible_en_analisis_campo
|
|
139
|
+
, e.visible_en_procesamiento
|
|
140
|
+
, t.result_sup
|
|
141
|
+
, t.codcalle
|
|
142
|
+
, t.nomcalle
|
|
143
|
+
, t.nrocatastral
|
|
144
|
+
, t.piso
|
|
145
|
+
, t.departamento
|
|
146
|
+
, t.habitacion
|
|
147
|
+
, t.sector
|
|
148
|
+
, t.edificio
|
|
149
|
+
, t.entrada
|
|
150
|
+
, t.barrio
|
|
151
|
+
, '__implementar_en_operativo_final' as telefono
|
|
152
|
+
from
|
|
153
|
+
tem t left join tareas_tem tt
|
|
154
|
+
on t.operativo = tt.operativo and t.enc = tt.enc
|
|
155
|
+
left join tareas ta on tt.operativo = ta.operativo and tt.tarea = ta.tarea
|
|
156
|
+
left join areas a on tt.operativo = a.operativo and t.area = a.area
|
|
157
|
+
left join no_rea y on t.norea=y.no_rea::integer
|
|
158
|
+
left join viviendas v on v.operativo=t.operativo and v.vivienda=t.enc
|
|
159
|
+
join estados e on t.operativo = e.operativo and tt.estado = e.estado
|
|
160
|
+
) x
|
|
161
|
+
)`,
|
|
162
|
+
},
|
|
163
|
+
//refrescable: true, //no está permitido aún
|
|
164
|
+
//clientSide:'tareasTemRow' //desactivo para borrar los íconos de las celdas
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
exports.tareas_tem = tareas_tem;
|
|
168
|
+
function tareas_tem_encu(context) {
|
|
169
|
+
var tableDef = tareas_tem(context, { rol: 'encu', name: 'encuestador', abre: false, consiste: false });
|
|
170
|
+
tableDef.sql.isTable = false;
|
|
171
|
+
return tableDef;
|
|
172
|
+
}
|
|
173
|
+
exports.tareas_tem_encu = tareas_tem_encu;
|
|
174
|
+
function tareas_tem_recu(context) {
|
|
175
|
+
var tableDef = tareas_tem(context, { rol: 'recu', name: 'recuperador', abre: true, consiste: false });
|
|
176
|
+
tableDef.sql.isTable = false;
|
|
177
|
+
return tableDef;
|
|
178
|
+
}
|
|
179
|
+
exports.tareas_tem_recu = tareas_tem_recu;
|
|
180
|
+
function tareas_tem_supe(context) {
|
|
181
|
+
var tableDef = tareas_tem(context, { rol: 'supe', name: 'supervisor', abre: true, consiste: false });
|
|
182
|
+
tableDef.sql.isTable = false;
|
|
183
|
+
return tableDef;
|
|
184
|
+
}
|
|
185
|
+
exports.tareas_tem_supe = tareas_tem_supe;
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc190ZW0gY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtc190ZW0gY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQVlOLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsY0FBYyxDQUFBLENBQUMsQ0FBQSxjQUFjLEdBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLDJGQUEyRixDQUFBO0lBQXBNLFFBQUEsa0JBQWtCLHNCQUFrTDtJQUV4TSxJQUFJLFlBQVksR0FBRyxDQUFDLFdBQW1CLEVBQW9CLEVBQUUsQ0FBQztRQUNqRSxFQUFDLElBQUksRUFBQyxLQUFLLEVBQTJCLFFBQVEsRUFBQyxTQUFTLEVBQU8sUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsUUFBUSxFQUFDO1FBQ3JHLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBeUIsUUFBUSxFQUFDLFNBQVMsRUFBTyxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxVQUFVLEVBQUM7UUFDdkcsb0dBQW9HO1FBQ3BHLEVBQUMsSUFBSSxFQUFDLGdCQUFnQixFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFVLFFBQVEsRUFBRSxLQUFLLEVBQUssS0FBSyxFQUFFLG1CQUFtQixFQUFDO1FBQzlHLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBdUIsUUFBUSxFQUFDLFNBQVMsRUFBTyxRQUFRLEVBQUUsS0FBSyxFQUFNLE9BQU8sRUFBQyxLQUFLLEVBQUM7UUFDbEcsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFxQixRQUFRLEVBQUMsU0FBUyxFQUFPLFFBQVEsRUFBRSxLQUFLLEVBQU0sT0FBTyxFQUFDLEtBQUssRUFBQztRQUNsRyxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBZ0IsUUFBUSxFQUFDLE1BQU0sRUFBVSxRQUFRLEVBQUUsS0FB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RCw0Q0FBNEM7WUFDNUMsNEVBQTRFO1NBQy9FLENBQUM7SUFDTixDQUFDO0lBM0lELGdDQTJJQztJQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDaEcsUUFBUSxDQUFDLEdBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFKRCwwQ0FJQztJQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDL0YsUUFBUSxDQUFDLEdBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFKRCwwQ0FJQztJQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDOUYsUUFBUSxDQUFDLEdBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFKRCwwQ0FJQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dH0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcbmltcG9ydCB7IEZpZWxkRGVmaW5pdGlvbiB9IGZyb20gXCJyZWwtZW5jXCI7XHJcblxyXG5leHBvcnQgdHlwZSBPcHRzVGFyZWFzVGVtID0ge1xyXG4gICAgcm9sOiAnZW5jdSd8J3JlY3UnfCdzdXBlJ3xudWxsXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIGFicmU/OmJvb2xlYW5cclxuICAgIGNvbnNpc3RlPzpib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgZ2V0RGlhc0FQYXNhclF1ZXJ5ID0gKHRhcmVhc1RlbUFsaWFzPzpzdHJpbmcpID0+IGBleHRyYWN0KGRheSBmcm9tICR7dGFyZWFzVGVtQWxpYXM/dGFyZWFzVGVtQWxpYXMrJy4nOicnfXRzX2VudHJhZGEgLSBjdXJyZW50X3RpbWVzdGFtcCkgKyAoc2VsZWN0IGRpYXNfZmluYyBmcm9tIHBhcmFtZXRyb3Mgd2hlcmUgdW5pY29fcmVnaXN0cm8pYFxyXG5cclxuZXhwb3J0IHZhciBnZXRSZWFGaWVsZHMgPSAocHVlZGVFZGl0YXI6Ym9vbGVhbik6RmllbGREZWZpbml0aW9uW10gPT4gW1xyXG4gICAge25hbWU6J3JlYScgICAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLCBsYWJlbDoncmVhX2RtJ30sXHJcbiAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIsIGxhYmVsOidub3JlYV9kbSd9LFxyXG4gICAgLy97bmFtZTonY29kX25vX3JlYScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAge25hbWU6J3Jlc3VtZW5fZXN0YWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCBsYWJlbDogJ3Jlc3VtZW5fZXN0YWRvX2RtJ30sXHJcbiAgICB7bmFtZTondWx0X3JlYScgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgICAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgIHtuYW1lOid1bHRfbm9yZWEnICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAge25hbWU6J3VsdF9ncnVfbm9fcmVhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICB7bmFtZTondWx0X3Jlc3VtZW5fZXN0YWRvJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UgICAsICBpblRhYmxlOmZhbHNlfVxyXG5dXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbShjb250ZXh0OlRhYmxlQ29udGV4dCxvcHRzPzpPcHRzVGFyZWFzVGVtKTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgaWYgKG9wdHMgPT0gbnVsbCkge1xyXG4gICAgICAgIG9wdHMgPSB7XHJcbiAgICAgICAgICAgIHJvbDogbnVsbCxcclxuICAgICAgICAgICAgbmFtZTogJ3JlbGV2YWRvcidcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvcHRzLmFicmUgPz89IHRydWU7XHJcbiAgICBvcHRzLmNvbnNpc3RlID8/PSB0cnVlO1xyXG4gICAgdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgZGI9YmUuZGI7IFxyXG4gICAgdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJzsgICAgICAgXHJcbiAgICB2YXIgZmllbGRzOkZpZWxkRGVmaW5pdGlvbltdPVtcclxuICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JywgaXNQazoyLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J2VuYycgICAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcsIGlzUGs6MywgZWRpdGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid0YXJlYScgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjEsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondHNfZW50cmFkYScgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0aW1lc3RhbXAnICAgLCBlZGl0YWJsZTpmYWxzZSAgICAgICAgICAgICAgICwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J2FkZWxhbnRhcicgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgICAgICwgZWRpdGFibGU6dHJ1ZSAgICAgICAgICAgICAgICAsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidkaWFzX2FfcGFzYXInICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOmZhbHNlLCBpblRhYmxlOmZhbHNlLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonZXN0YWRvJyAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgbnVsbGFibGU6IGZhbHNlLCBkZWZhdWx0RGJWYWx1ZTpcIicwRCdcIn0sXHJcbiAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6dHJ1ZSAsIHRhYmxlOiAndGVtJyAsIHZpc2libGU6ZmFsc2UgfVxyXG4gICAgXTtcclxuICAgIGlmKG9wdHMuYWJyZSl7XHJcbiAgICAgICAgZmllbGRzLnB1c2goe25hbWU6J2FicmlyJyAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FicmlyUmVjZXBjaW9uJ30pO1xyXG4gICAgfVxyXG4gICAgaWYob3B0cy5jb25zaXN0ZSl7XHJcbiAgICAgICAgZmllbGRzLnB1c2goe25hbWU6XCJjb25zaXN0aXJcIiAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonY29uc2lzdGlyJ30pO1xyXG4gICAgfVxyXG4gICAgZmllbGRzPWZpZWxkcy5jb25jYXQoW1xyXG4gICAgICAgIHtuYW1lOidhcmVhJyAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6ICdpbnRlZ2VyJyAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlIH0sXHJcbiAgICAgICAge25hbWU6J3RhcmVhX2FzaWduYXInICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgaW5UYWJsZTpmYWxzZSAgICAsIGVkaXRhYmxlOmZhbHNlLCBzZXJ2ZXJTaWRlOnRydWV9LFxyXG4gICAgICAgIHtuYW1lOid0YXJlYV9hbnRlcmlvcicgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgLy8gIHtuYW1lOidvaycgICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6ICd0ZXh0JyAgICAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlIH0sXHJcbiAgICAgICAge25hbWU6J3JlY2VwY2lvbmlzdGEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6dHJ1ZSB9LCBcclxuICAgICAgICB7bmFtZTonYXNpZ25hZG8nICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTp0cnVlLCB0aXRsZTogb3B0cy5uYW1lfSwgLy8gdmEgYSBsYSBob2phIGRlIHJ1dGFcclxuICAgICAgICB7bmFtZTonZmVjaGFfYXNpZ25hY2lvbicgICAgICAgICAgICAsIHR5cGVOYW1lOidkYXRlJ30sIC8vIGNhcmdhci9kZXNjYXJnYXJcclxuICAgIF0pO1xyXG4gICAgZmllbGRzID0gZmllbGRzLmNvbmNhdCguLi5nZXRSZWFGaWVsZHMocHVlZGVFZGl0YXIpLFtcclxuICAgICAgICAvL3tuYW1lOidyZXN1bHRhZG8nICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sIC8vIGZrIHRhcmVhc19yZXN1bHRhZG9zIFxyXG4gICAgICAgIC8ve25hbWU6J2ZlY2hhX3Jlc3VsdGFkbycgICAgICAgICAgICwgdHlwZU5hbWU6J2RhdGUnfSwgLy8gZmsgdGFyZWFzX3Jlc3VsdGFkb3MgXHJcbiAgICAgICAge25hbWU6J21vZGFsaWRhZCcgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fZGlyaWdpZGEnICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbl9hbGVhdG9yaWEnICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSwgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3Jlc3VsdF9zdXAnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyICAsICBpblRhYmxlOmZhbHNlLCB0YWJsZTondGVtJ30sXHJcbiAgICAgICAge25hbWU6J3ZlcmlmaWNhZG8nICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UsfSwgXHJcbiAgICAgICAge25hbWU6J2FfcmVjdXBlcmFjaW9uJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgLCBpblRhYmxlOmZhbHNlfSwgXHJcbiAgICAgICAge25hbWU6J29ic192ZXJpZmljYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxyXG4gICAgICAgIHtuYW1lOidyZWFfc3VwJyAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciwgbGFiZWw6J3JlYV9zdXBfZG0nfSxcclxuICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIsIGxhYmVsOidub3JlYV9zdXBfZG0nfSxcclxuICAgICAgICB7bmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UsICAgICAgIGxhYmVsOiAncmVzdW1lbl9lc3RhZG9fc3VwX2RtJ30sXHJcbiAgICAgICAge25hbWU6J3VsdF9yZWFfc3VwJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOid1bHRfbm9yZWFfc3VwJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondWx0X3Jlc3VtZW5fZXN0YWRvX3N1cCcgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J29wZXJhY2lvbicgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UsfSwgLy8gY2FyZ2FyL2Rlc2NhcmdhclxyXG4gICAgICAgIHtuYW1lOlwiY2FyZ2Ffb2JzZXJ2YWNpb25lc1wiICAgICAgICAgLCB0eXBlTmFtZTogXCJ0ZXh0XCIgICAgICAgLCBlZGl0YWJsZTogdHJ1ZX0sICAgICAgICBcclxuICAgICAgICB7bmFtZTonY2FyZ2Fkb19kbScgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2V9LCAvL2Nhcmdhci9kZXNjYXJnYXIgXHJcbiAgICAgICAge25hbWU6XCJjYXJnYWRvXCIgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiBcImJvb2xlYW5cIiAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J25vdGFzJyAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LCAvLyB2aWVuZSBkZSBsYSBob2phIGRlIHJ1dGFcclxuICAgIF0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOmB0YXJlYXNfdGVtYCxcclxuICAgICAgICB0YWJsZU5hbWU6YHRhcmVhc190ZW1gLFxyXG4gICAgICAgIGFsbG93OntcclxuICAgICAgICAgICAgaW5zZXJ0OmZhbHNlLFxyXG4gICAgICAgICAgICBkZWxldGU6ZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlZGl0YWJsZTpwdWVkZUVkaXRhcixcclxuICAgICAgICBmaWVsZHMsXHJcbiAgICAgICAgcHJpbWFyeUtleTpbJ3RhcmVhJywnb3BlcmF0aXZvJywnZW5jJ10sXHJcbiAgICAgICAgaGlkZGVuQ29sdW1uczpbJ2NhcmdhZG9fZG0nLCdub3RhcycsICdlc3RhZG9zX19wZXJtaXRlX2VkaXRhcl9lbmN1ZXN0YScsJ3RhcmVhX2FudGVyaW9yJywndGFyZWFfYXNnaW5hciddLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3RlbScgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCdlbmMnXSwgZGlzcGxheUZpZWxkczpbXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOlsnb3BlcmF0aXZvJywndGFyZWEnXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOlt7c291cmNlOidvcGVyYXRpdm8nLCB0YXJnZXQ6J29wZXJhdGl2byd9LCB7c291cmNlOiAndGFyZWFfYW50ZXJpb3InLCB0YXJnZXQ6J3RhcmVhJ31dLCBhbGlhczondGFyZWFfYW50ZXJpb3InfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidhc2lnbmFkbycgLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczonYXNpZ25hZG8nLCBkaXNwbGF5RmllbGRzOlsnbm9tYnJlJywnYXBlbGxpZG8nXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidvcGVyYWNpb25lcycgLCBmaWVsZHM6WydvcGVyYWNpb24nXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidlc3RhZG9zJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ2VzdGFkbyddfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidyZWNlcGNpb25pc3RhJyAsIHRhcmdldDonaWRwZXInfV0sIGFsaWFzOidyZWNlcGNpb25pc3RhJ30sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBzb2Z0Rm9yZWlnbktleXM6W1xyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondXN1YXJpb3MnLCBmaWVsZHM6W3tzb3VyY2U6J3JlY2VwY2lvbmlzdGEnLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczonYXQnfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3RlbV9yZWNlcGNpb24nICwgZmllbGRzOlsnb3BlcmF0aXZvJywnZW5jJ10sIGRpc3BsYXlBbGxGaWVsZHM6dHJ1ZSwgZGlzcGxheUFmdGVyRmllbGROYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnLCBhbGlhczpcInRlbV9yZWNcIn0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0b2tlbnMnLCBmaWVsZHM6W3tzb3VyY2U6J2NhcmdhZG9fZG0nLCB0YXJnZXQ6J3Rva2VuJ31dLCBkaXNwbGF5RmllbGRzOlsndXNlcm5hbWUnXSwgZGlzcGxheUFmdGVyRmllbGROYW1lOidjYXJnYWRvJ30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidyZWNlcGNpb25pc3RhcycsIGZpZWxkczpbe3NvdXJjZToncmVjZXBjaW9uaXN0YScsIHRhcmdldDoncGVyc29uYSd9XSwgYWxpYXM6J3JlYyd9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGV0YWlsVGFibGVzOiBbXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJpbmNvbnNpc3RlbmNpYXNcIiwgYWJyOiBcIklcIiwgZmllbGRzOiBbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSx7c291cmNlOidlbmMnLCB0YXJnZXQ6J3ZpdmllbmRhJ31dLCByZWZyZXNoUGFyZW50OnRydWUsIHJlZnJlc2hGcm9tUGFyZW50OnRydWV9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBzcWw6e1xyXG4gICAgICAgICAgICBpc1RhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmAoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3QgKlxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gKFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IHR0LnRhcmVhLCB0Lm9wZXJhdGl2bywgdC5lbmMsIHQuYXJlYSwgJHtnZXREaWFzQVBhc2FyUXVlcnkoJ3R0Jyl9ICBhcyBkaWFzX2FfcGFzYXIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSB3aGVuIHRhcmVhX3Byb3hpbWEgaXMgbm90IG51bGwgdGhlbiB0YXJlYV9wcm94aW1hIHdoZW4gdHQuZXN0YWRvPSdBJyB0aGVuIHR0LnRhcmVhIGVsc2UgbnVsbCBlbmQgYXMgdGFyZWFfYXNpZ25hclxyXG4gICAgICAgICAgICAgICAgICAgICR7ZmllbGRzLmZpbHRlcih4PT4hKHguaXNQayB8fHgudGFibGV8fCB4LmluVGFibGU9PT1mYWxzZXx8eC5uYW1lPT0nYXJlYScpKS5tYXAoeD0+YCwgdHQuJHtkYi5xdW90ZUlkZW50KHgubmFtZSl9YCkuam9pbignJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgLCB5LmdydXBvIGFzIHVsdF9ncnVfbm9fcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgLCBjYXNlIHdoZW4gdHQudGFyZWE9J3JlY3UnIGFuZCB5LmdydXBvMCBpbiAoJ2F1c2VudGVzJywncmVjaGF6b3MnKSB0aGVuICdyZWN1cGVyYWNpb24nIGVsc2UgbnVsbCBlbmQgYV9yZWN1cGVyYWNpb24gICBcclxuICAgICAgICAgICAgICAgICAgICAsIHQuc3VwZXJ2aXNpb25fYWxlYXRvcmlhXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnN1cGVydmlzaW9uX2RpcmlnaWRhXHJcbiAgICAgICAgICAgICAgICAgICAgLCBjYXNlIHdoZW4geS5ncnVwbzA9J25vIGVuY3Vlc3RhYmxlJyBvciB0LnN1cGVydmlzaW9uX2RpcmlnaWRhID0gMSBvciB0LnN1cGVydmlzaW9uX2FsZWF0b3JpYSA9IDEgdGhlbiAncHJlc2VuY2lhbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0LnN1cGVydmlzaW9uX2RpcmlnaWRhID0gMiBvciB0LnN1cGVydmlzaW9uX2FsZWF0b3JpYSA9IDIgdGhlbiAndGVsZWbDs25pY2EnIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIG51bGwgZW5kIGFzIG1vZGFsaWRhZFxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5yZWEgdWx0X3JlYSwgdC5ub3JlYSBhcyB1bHRfbm9yZWEsIHQucmVzdW1lbl9lc3RhZG8gdWx0X3Jlc3VtZW5fZXN0YWRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnJlYV9zdXAgdWx0X3JlYV9zdXAsIHQubm9yZWFfc3VwIGFzIHVsdF9ub3JlYV9zdXAsIHQucmVzdW1lbl9lc3RhZG9fc3VwIHVsdF9yZXN1bWVuX2VzdGFkb19zdXBcclxuICAgICAgICAgICAgICAgICAgICAsIHQucHJvaWVcclxuICAgICAgICAgICAgICAgICAgICAsIGRvbWluaW9cclxuICAgICAgICAgICAgICAgICAgICAsIHYuY29uc2lzdGlkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgZS52aXNpYmxlX2VuX3JlY2VwY2lvblxyXG4gICAgICAgICAgICAgICAgICAgICwgZS52aXNpYmxlX2VuX2luZ3Jlc29cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9maW5fY2FtcG9cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9hbmFsaXNpc19jYW1wb1xyXG4gICAgICAgICAgICAgICAgICAgICwgZS52aXNpYmxlX2VuX3Byb2Nlc2FtaWVudG9cclxuICAgICAgICAgICAgICAgICAgICAsIHQucmVzdWx0X3N1cFxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5jb2RjYWxsZVxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5ub21jYWxsZVxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5ucm9jYXRhc3RyYWxcclxuICAgICAgICAgICAgICAgICAgICAsIHQucGlzb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdC5kZXBhcnRhbWVudG9cclxuICAgICAgICAgICAgICAgICAgICAsIHQuaGFiaXRhY2lvblxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5zZWN0b3JcclxuICAgICAgICAgICAgICAgICAgICAsIHQuZWRpZmljaW9cclxuICAgICAgICAgICAgICAgICAgICAsIHQuZW50cmFkYVxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5iYXJyaW9cclxuICAgICAgICAgICAgICAgICAgICAsICdfX2ltcGxlbWVudGFyX2VuX29wZXJhdGl2b19maW5hbCcgYXMgdGVsZWZvbm8gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbSB0IGxlZnQgam9pbiB0YXJlYXNfdGVtIHR0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0Lm9wZXJhdGl2byA9IHR0Lm9wZXJhdGl2byBhbmQgdC5lbmMgPSB0dC5lbmNcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHRhcmVhcyB0YSBvbiB0dC5vcGVyYXRpdm8gPSB0YS5vcGVyYXRpdm8gYW5kIHR0LnRhcmVhID0gdGEudGFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIGFyZWFzIGEgb24gdHQub3BlcmF0aXZvID0gYS5vcGVyYXRpdm8gYW5kIHQuYXJlYSA9IGEuYXJlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24gdC5ub3JlYT15Lm5vX3JlYTo6aW50ZWdlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdml2aWVuZGFzIHYgb24gdi5vcGVyYXRpdm89dC5vcGVyYXRpdm8gYW5kIHYudml2aWVuZGE9dC5lbmMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpvaW4gZXN0YWRvcyBlIG9uIHQub3BlcmF0aXZvID0gZS5vcGVyYXRpdm8gYW5kIHR0LmVzdGFkbyA9IGUuZXN0YWRvXHJcbiAgICAgICAgICAgICAgICAgICAgKSB4XHJcbiAgICAgICAgICAgIClgLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy9yZWZyZXNjYWJsZTogdHJ1ZSwgLy9ubyBlc3TDoSBwZXJtaXRpZG8gYcO6blxyXG4gICAgICAgIC8vY2xpZW50U2lkZTondGFyZWFzVGVtUm93JyAvL2Rlc2FjdGl2byBwYXJhIGJvcnJhciBsb3Mgw61jb25vcyBkZSBsYXMgY2VsZGFzXHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9lbmN1KGNvbnRleHQ6VGFibGVDb250ZXh0KXtcclxuICAgIHZhciB0YWJsZURlZiA9IHRhcmVhc190ZW0oY29udGV4dCwge3JvbDonZW5jdScsIG5hbWU6J2VuY3Vlc3RhZG9yJywgYWJyZTpmYWxzZSwgY29uc2lzdGU6ZmFsc2V9KSBcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRhYmxlRGVmO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9yZWN1KGNvbnRleHQ6VGFibGVDb250ZXh0KXtcclxuICAgIHZhciB0YWJsZURlZiA9IHRhcmVhc190ZW0oY29udGV4dCwge3JvbDoncmVjdScsIG5hbWU6J3JlY3VwZXJhZG9yJywgYWJyZTp0cnVlLCBjb25zaXN0ZTpmYWxzZX0pIFxyXG4gICAgdGFibGVEZWYuc3FsIS5pc1RhYmxlID0gZmFsc2U7XHJcbiAgICByZXR1cm4gdGFibGVEZWY7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YXJlYXNfdGVtX3N1cGUoY29udGV4dDpUYWJsZUNvbnRleHQpe1xyXG4gICAgdmFyIHRhYmxlRGVmID0gdGFyZWFzX3RlbShjb250ZXh0LCB7cm9sOidzdXBlJywgbmFtZTonc3VwZXJ2aXNvcicsIGFicmU6dHJ1ZSwgY29uc2lzdGU6ZmFsc2V9KSBcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRhYmxlRGVmO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="backend-plus" />
|
|
2
|
+
import { TableDefinition, TableContext } from "./types-dmencu";
|
|
3
|
+
import { FieldDefinition } from "rel-enc";
|
|
4
|
+
export type OptsTareasTem = {
|
|
5
|
+
rol: 'encu' | 'recu' | 'supe' | null;
|
|
6
|
+
name: string;
|
|
7
|
+
abre?: boolean;
|
|
8
|
+
consiste?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare var getDiasAPasarQuery: (tareasTemAlias?: string) => string;
|
|
11
|
+
export declare var getReaFields: (puedeEditar: boolean) => FieldDefinition[];
|
|
12
|
+
export declare function tareas_tem(context: TableContext, opts?: OptsTareasTem): TableDefinition;
|
|
13
|
+
export declare function tareas_tem_encu(context: TableContext): TableDefinition;
|
|
14
|
+
export declare function tareas_tem_recu(context: TableContext): TableDefinition;
|
|
15
|
+
export declare function tareas_tem_supe(context: TableContext): TableDefinition;
|