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.
Files changed (39) hide show
  1. package/dist/client/client.d.ts +0 -0
  2. package/dist/client/client.js +2 -0
  3. package/dist/client/menu.d.ts +0 -0
  4. package/dist/client/menu.js +3 -0
  5. package/dist/client/unlogged/bypass-formulario.js +12 -6
  6. package/dist/client/unlogged/render-formulario.tsx +1 -1
  7. package/dist/server/server/app-dmencu.js +4 -6
  8. package/dist/server/server/table-casilleros_variables.d.ts +3 -0
  9. package/dist/server/server/table-casilleros_variables.js +26 -0
  10. package/dist/server/server/table-historial_tem copy.d.ts +15 -0
  11. package/dist/server/server/table-historial_tem copy.js +187 -0
  12. package/dist/server/server/{table-variables_c.d.ts → table-roles copy.d.ts } +1 -1
  13. package/dist/server/server/table-roles copy.js +34 -0
  14. package/dist/server/server/table-s_tem copy.d.ts +15 -0
  15. package/dist/server/server/table-s_tem copy.js +187 -0
  16. package/dist/server/server/table-tareas_tem copy.d.ts +15 -0
  17. package/dist/server/server/table-tareas_tem copy.js +187 -0
  18. package/dist/server/server/table-tareas_tem_asignables.d.ts +3 -0
  19. package/dist/server/server/table-tareas_tem_asignables.js +57 -0
  20. package/dist/server/server/table-tareas_tem_fin_campo copy.d.ts +3 -0
  21. package/dist/server/server/table-tareas_tem_fin_campo copy.js +28 -0
  22. package/dist/server/server/table-tareas_tem_ingreso copy.d.ts +3 -0
  23. package/dist/server/server/table-tareas_tem_ingreso copy.js +32 -0
  24. package/dist/server/server/table-tareas_tem_procesamiento copy.d.ts +3 -0
  25. package/dist/server/server/table-tareas_tem_procesamiento copy.js +32 -0
  26. package/dist/server/server/table-tareas_tem_recepcion copy.d.ts +8 -0
  27. package/dist/server/server/table-tareas_tem_recepcion copy.js +82 -0
  28. package/dist/server/server/table-tem_asignacion copy.d.ts +3 -0
  29. package/dist/server/server/table-tem_asignacion copy.js +51 -0
  30. package/dist/server/server/table-tem_recepcion.d.ts +3 -0
  31. package/dist/server/server/table-tem_recepcion.js +19 -0
  32. package/dist/unlogged/unlogged/bypass-formulario.js +12 -6
  33. package/dist/unlogged/unlogged/render-formulario.js +2 -2
  34. package/dist/unlogged/unlogged/render-formulario.tsx +1 -1
  35. package/install/carga_inicial_tareas_tem.sql.bak +30 -0
  36. package/package.json +1 -1
  37. package/dist/server/server/table-varcal.d.ts +0 -1
  38. package/dist/server/server/table-varcal.js +0 -26
  39. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbSBjb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10YXJlYXNfdGVtIGNvcHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFZTixJQUFJLGtCQUFrQixHQUFHLENBQUMsY0FBc0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLGNBQWMsQ0FBQSxDQUFDLENBQUEsY0FBYyxHQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRSwyRkFBMkYsQ0FBQTtJQUFwTSxRQUFBLGtCQUFrQixzQkFBa0w7SUFFeE0sSUFBSSxZQUFZLEdBQUcsQ0FBQyxXQUFtQixFQUFvQixFQUFFLENBQUM7UUFDakUsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUEyQixRQUFRLEVBQUMsU0FBUyxFQUFPLFFBQVEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLFFBQVEsRUFBQztRQUNyRyxFQUFDLElBQUksRUFBQyxPQUFPLEVBQXlCLFFBQVEsRUFBQyxTQUFTLEVBQU8sUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsVUFBVSxFQUFDO1FBQ3ZHLG9HQUFvRztRQUNwRyxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBZ0IsUUFBUSxFQUFDLE1BQU0sRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFLLEtBQUssRUFBRSxtQkFBbUIsRUFBQztRQUM5RyxFQUFDLElBQUksRUFBQyxTQUFTLEVBQXVCLFFBQVEsRUFBQyxTQUFTLEVBQU8sUUFBUSxFQUFFLEtBQUssRUFBTSxPQUFPLEVBQUMsS0FBSyxFQUFDO1FBQ2xHLEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBcUIsUUFBUSxFQUFDLFNBQVMsRUFBTyxRQUFRLEVBQUUsS0FBSyxFQUFNLE9BQU8sRUFBQyxLQUFLLEVBQUM7UUFDbEcsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQWdCLFFBQVEsRUFBQyxNQUFNLEVBQVUsUUFB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STthQUNMO1lBQ0QsNENBQTRDO1lBQzVDLDRFQUE0RTtTQUMvRSxDQUFDO0lBQ04sQ0FBQztJQTNJRCxnQ0EySUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQ2hHLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQy9GLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUM7SUFFRCxTQUFnQixlQUFlLENBQUMsT0FBb0I7UUFDaEQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQzlGLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBSkQsMENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5pbXBvcnQgeyBGaWVsZERlZmluaXRpb24gfSBmcm9tIFwicmVsLWVuY1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0c1RhcmVhc1RlbSA9IHtcclxuICAgIHJvbDogJ2VuY3UnfCdyZWN1J3wnc3VwZSd8bnVsbFxyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBhYnJlPzpib29sZWFuXHJcbiAgICBjb25zaXN0ZT86Ym9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdmFyIGdldERpYXNBUGFzYXJRdWVyeSA9ICh0YXJlYXNUZW1BbGlhcz86c3RyaW5nKSA9PiBgZXh0cmFjdChkYXkgZnJvbSAke3RhcmVhc1RlbUFsaWFzP3RhcmVhc1RlbUFsaWFzKycuJzonJ310c19lbnRyYWRhIC0gY3VycmVudF90aW1lc3RhbXApICsgKHNlbGVjdCBkaWFzX2ZpbmMgZnJvbSBwYXJhbWV0cm9zIHdoZXJlIHVuaWNvX3JlZ2lzdHJvKWBcclxuXHJcbmV4cG9ydCB2YXIgZ2V0UmVhRmllbGRzID0gKHB1ZWRlRWRpdGFyOmJvb2xlYW4pOkZpZWxkRGVmaW5pdGlvbltdID0+IFtcclxuICAgIHtuYW1lOidyZWEnICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciwgbGFiZWw6J3JlYV9kbSd9LFxyXG4gICAge25hbWU6J25vcmVhJyAgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLCBsYWJlbDonbm9yZWFfZG0nfSxcclxuICAgIC8ve25hbWU6J2NvZF9ub19yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSAgfSxcclxuICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgbGFiZWw6ICdyZXN1bWVuX2VzdGFkb19kbSd9LFxyXG4gICAge25hbWU6J3VsdF9yZWEnICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICB7bmFtZTondWx0X25vcmVhJyAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgICAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgIHtuYW1lOid1bHRfZ3J1X25vX3JlYScgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSAgICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAge25hbWU6J3VsdF9yZXN1bWVuX2VzdGFkbycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCAgaW5UYWJsZTpmYWxzZX1cclxuXVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW0oY29udGV4dDpUYWJsZUNvbnRleHQsb3B0cz86T3B0c1RhcmVhc1RlbSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIGlmIChvcHRzID09IG51bGwpIHtcclxuICAgICAgICBvcHRzID0ge1xyXG4gICAgICAgICAgICByb2w6IG51bGwsXHJcbiAgICAgICAgICAgIG5hbWU6ICdyZWxldmFkb3InXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3B0cy5hYnJlID8/PSB0cnVlO1xyXG4gICAgb3B0cy5jb25zaXN0ZSA/Pz0gdHJ1ZTtcclxuICAgIHZhciBiZT1jb250ZXh0LmJlO1xyXG4gICAgdmFyIGRiPWJlLmRiOyBcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGNvbnRleHQuZm9yRHVtcCB8fCBjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQudXNlci5yb2w9PT0ncmVjZXBjaW9uaXN0YSc7ICAgICAgIFxyXG4gICAgdmFyIGZpZWxkczpGaWVsZERlZmluaXRpb25bXT1bXHJcbiAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcsIGlzUGs6MiwgZWRpdGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidlbmMnICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCBpc1BrOjMsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondGFyZWEnICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JywgaXNQazoxLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3RzX2VudHJhZGEnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGltZXN0YW1wJyAgICwgZWRpdGFibGU6ZmFsc2UgICAgICAgICAgICAgICAsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidhZGVsYW50YXInICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICAgICAsIGVkaXRhYmxlOnRydWUgICAgICAgICAgICAgICAgLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonZGlhc19hX3Bhc2FyJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTpmYWxzZSwgaW5UYWJsZTpmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J2VzdGFkbycgICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdERiVmFsdWU6XCInMEQnXCJ9LFxyXG4gICAgICAgIHtuYW1lOidwcm9pZScgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOnRydWUgLCB0YWJsZTogJ3RlbScgLCB2aXNpYmxlOmZhbHNlIH1cclxuICAgIF07XHJcbiAgICBpZihvcHRzLmFicmUpe1xyXG4gICAgICAgIGZpZWxkcy5wdXNoKHtuYW1lOidhYnJpcicgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpclJlY2VwY2lvbid9KTtcclxuICAgIH1cclxuICAgIGlmKG9wdHMuY29uc2lzdGUpe1xyXG4gICAgICAgIGZpZWxkcy5wdXNoKHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2NvbnNpc3Rpcid9KTtcclxuICAgIH1cclxuICAgIGZpZWxkcz1maWVsZHMuY29uY2F0KFtcclxuICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiAnaW50ZWdlcicgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSB9LFxyXG4gICAgICAgIHtuYW1lOid0YXJlYV9hc2lnbmFyJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGluVGFibGU6ZmFsc2UgICAgLCBlZGl0YWJsZTpmYWxzZSwgc2VydmVyU2lkZTp0cnVlfSxcclxuICAgICAgICB7bmFtZTondGFyZWFfYW50ZXJpb3InICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgIC8vICB7bmFtZTonb2snICAgICAgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSB9LFxyXG4gICAgICAgIHtuYW1lOidyZWNlcGNpb25pc3RhJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOnRydWUgfSwgXHJcbiAgICAgICAge25hbWU6J2FzaWduYWRvJyAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6dHJ1ZSwgdGl0bGU6IG9wdHMubmFtZX0sIC8vIHZhIGEgbGEgaG9qYSBkZSBydXRhXHJcbiAgICAgICAge25hbWU6J2ZlY2hhX2FzaWduYWNpb24nICAgICAgICAgICAgLCB0eXBlTmFtZTonZGF0ZSd9LCAvLyBjYXJnYXIvZGVzY2FyZ2FyXHJcbiAgICBdKTtcclxuICAgIGZpZWxkcyA9IGZpZWxkcy5jb25jYXQoLi4uZ2V0UmVhRmllbGRzKHB1ZWRlRWRpdGFyKSxbXHJcbiAgICAgICAgLy97bmFtZToncmVzdWx0YWRvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LCAvLyBmayB0YXJlYXNfcmVzdWx0YWRvcyBcclxuICAgICAgICAvL3tuYW1lOidmZWNoYV9yZXN1bHRhZG8nICAgICAgICAgICAsIHR5cGVOYW1lOidkYXRlJ30sIC8vIGZrIHRhcmVhc19yZXN1bHRhZG9zIFxyXG4gICAgICAgIHtuYW1lOidtb2RhbGlkYWQnICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSwgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2RpcmlnaWRhJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fYWxlYXRvcmlhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidyZXN1bHRfc3VwJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhciAgLCAgaW5UYWJsZTpmYWxzZSwgdGFibGU6J3RlbSd9LFxyXG4gICAgICAgIHtuYW1lOid2ZXJpZmljYWRvJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlLH0sIFxyXG4gICAgICAgIHtuYW1lOidhX3JlY3VwZXJhY2lvbicgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlICwgaW5UYWJsZTpmYWxzZX0sIFxyXG4gICAgICAgIHtuYW1lOidvYnNfdmVyaWZpY2FkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICB7bmFtZToncmVhX3N1cCcgICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIsIGxhYmVsOidyZWFfc3VwX2RtJ30sXHJcbiAgICAgICAge25hbWU6J25vcmVhX3N1cCcgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLCBsYWJlbDonbm9yZWFfc3VwX2RtJ30sXHJcbiAgICAgICAge25hbWU6J3Jlc3VtZW5fZXN0YWRvX3N1cCcgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlLCAgICAgICBsYWJlbDogJ3Jlc3VtZW5fZXN0YWRvX3N1cF9kbSd9LFxyXG4gICAgICAgIHtuYW1lOid1bHRfcmVhX3N1cCcgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZSAsICBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICB7bmFtZTondWx0X25vcmVhX3N1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UgLCAgaW5UYWJsZTpmYWxzZX0sXHJcbiAgICAgICAge25hbWU6J3VsdF9yZXN1bWVuX2VzdGFkb19zdXAnICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlICwgIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidvcGVyYWNpb24nICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOmZhbHNlLH0sIC8vIGNhcmdhci9kZXNjYXJnYXJcclxuICAgICAgICB7bmFtZTpcImNhcmdhX29ic2VydmFjaW9uZXNcIiAgICAgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgICAgICwgZWRpdGFibGU6IHRydWV9LCAgICAgICAgXHJcbiAgICAgICAge25hbWU6J2NhcmdhZG9fZG0nICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSwgLy9jYXJnYXIvZGVzY2FyZ2FyIFxyXG4gICAgICAgIHtuYW1lOlwiY2FyZ2Fkb1wiICAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogXCJib29sZWFuXCIgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOidub3RhcycgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSwgLy8gdmllbmUgZGUgbGEgaG9qYSBkZSBydXRhXHJcbiAgICBdKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTpgdGFyZWFzX3RlbWAsXHJcbiAgICAgICAgdGFibGVOYW1lOmB0YXJlYXNfdGVtYCxcclxuICAgICAgICBhbGxvdzp7XHJcbiAgICAgICAgICAgIGluc2VydDpmYWxzZSxcclxuICAgICAgICAgICAgZGVsZXRlOmZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXHJcbiAgICAgICAgZmllbGRzLFxyXG4gICAgICAgIHByaW1hcnlLZXk6Wyd0YXJlYScsJ29wZXJhdGl2bycsJ2VuYyddLFxyXG4gICAgICAgIGhpZGRlbkNvbHVtbnM6WydjYXJnYWRvX2RtJywnbm90YXMnLCAnZXN0YWRvc19fcGVybWl0ZV9lZGl0YXJfZW5jdWVzdGEnLCd0YXJlYV9hbnRlcmlvcicsJ3RhcmVhX2FzZ2luYXInXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0ZW0nICwgZmllbGRzOlsnb3BlcmF0aXZvJywnZW5jJ10sIGRpc3BsYXlGaWVsZHM6W119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondGFyZWFzJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ3RhcmVhJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondGFyZWFzJyAsIGZpZWxkczpbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSwge3NvdXJjZTogJ3RhcmVhX2FudGVyaW9yJywgdGFyZ2V0Oid0YXJlYSd9XSwgYWxpYXM6J3RhcmVhX2FudGVyaW9yJ30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonYXNpZ25hZG8nICwgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J2FzaWduYWRvJywgZGlzcGxheUZpZWxkczpbJ25vbWJyZScsJ2FwZWxsaWRvJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonb3BlcmFjaW9uZXMnICwgZmllbGRzOlsnb3BlcmFjaW9uJ119LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonZXN0YWRvcycgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCdlc3RhZG8nXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZToncmVjZXBjaW9uaXN0YScgLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczoncmVjZXBjaW9uaXN0YSd9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidyZWNlcGNpb25pc3RhJywgdGFyZ2V0OidpZHBlcid9XSwgYWxpYXM6J2F0J30sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0ZW1fcmVjZXBjaW9uJyAsIGZpZWxkczpbJ29wZXJhdGl2bycsJ2VuYyddLCBkaXNwbGF5QWxsRmllbGRzOnRydWUsIGRpc3BsYXlBZnRlckZpZWxkTmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJywgYWxpYXM6XCJ0ZW1fcmVjXCJ9LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondG9rZW5zJywgZmllbGRzOlt7c291cmNlOidjYXJnYWRvX2RtJywgdGFyZ2V0Oid0b2tlbid9XSwgZGlzcGxheUZpZWxkczpbJ3VzZXJuYW1lJ10sIGRpc3BsYXlBZnRlckZpZWxkTmFtZTonY2FyZ2Fkbyd9LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczoncmVjZXBjaW9uaXN0YXMnLCBmaWVsZHM6W3tzb3VyY2U6J3JlY2VwY2lvbmlzdGEnLCB0YXJnZXQ6J3BlcnNvbmEnfV0sIGFsaWFzOidyZWMnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGRldGFpbFRhYmxlczogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XSwgcmVmcmVzaFBhcmVudDp0cnVlLCByZWZyZXNoRnJvbVBhcmVudDp0cnVlfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3FsOntcclxuICAgICAgICAgICAgaXNUYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZnJvbTpgKFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0ICpcclxuICAgICAgICAgICAgICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgICAgIHNlbGVjdCB0dC50YXJlYSwgdC5vcGVyYXRpdm8sIHQuZW5jLCB0LmFyZWEsICR7Z2V0RGlhc0FQYXNhclF1ZXJ5KCd0dCcpfSAgYXMgZGlhc19hX3Bhc2FyLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2Ugd2hlbiB0YXJlYV9wcm94aW1hIGlzIG5vdCBudWxsIHRoZW4gdGFyZWFfcHJveGltYSB3aGVuIHR0LmVzdGFkbz0nQScgdGhlbiB0dC50YXJlYSBlbHNlIG51bGwgZW5kIGFzIHRhcmVhX2FzaWduYXJcclxuICAgICAgICAgICAgICAgICAgICAke2ZpZWxkcy5maWx0ZXIoeD0+ISh4LmlzUGsgfHx4LnRhYmxlfHwgeC5pblRhYmxlPT09ZmFsc2V8fHgubmFtZT09J2FyZWEnKSkubWFwKHg9PmAsIHR0LiR7ZGIucXVvdGVJZGVudCh4Lm5hbWUpfWApLmpvaW4oJycpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgeS5ncnVwbyBhcyB1bHRfZ3J1X25vX3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICwgY2FzZSB3aGVuIHR0LnRhcmVhPSdyZWN1JyBhbmQgeS5ncnVwbzAgaW4gKCdhdXNlbnRlcycsJ3JlY2hhem9zJykgdGhlbiAncmVjdXBlcmFjaW9uJyBlbHNlIG51bGwgZW5kIGFfcmVjdXBlcmFjaW9uICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnN1cGVydmlzaW9uX2FsZWF0b3JpYVxyXG4gICAgICAgICAgICAgICAgICAgICwgdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYVxyXG4gICAgICAgICAgICAgICAgICAgICwgY2FzZSB3aGVuIHkuZ3J1cG8wPSdubyBlbmN1ZXN0YWJsZScgb3IgdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYSA9IDEgb3IgdC5zdXBlcnZpc2lvbl9hbGVhdG9yaWEgPSAxIHRoZW4gJ3ByZXNlbmNpYWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdC5zdXBlcnZpc2lvbl9kaXJpZ2lkYSA9IDIgb3IgdC5zdXBlcnZpc2lvbl9hbGVhdG9yaWEgPSAyIHRoZW4gJ3RlbGVmw7NuaWNhJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBudWxsIGVuZCBhcyBtb2RhbGlkYWRcclxuICAgICAgICAgICAgICAgICAgICAsIHQucmVhIHVsdF9yZWEsIHQubm9yZWEgYXMgdWx0X25vcmVhLCB0LnJlc3VtZW5fZXN0YWRvIHVsdF9yZXN1bWVuX2VzdGFkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdC5yZWFfc3VwIHVsdF9yZWFfc3VwLCB0Lm5vcmVhX3N1cCBhcyB1bHRfbm9yZWFfc3VwLCB0LnJlc3VtZW5fZXN0YWRvX3N1cCB1bHRfcmVzdW1lbl9lc3RhZG9fc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnByb2llXHJcbiAgICAgICAgICAgICAgICAgICAgLCBkb21pbmlvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB2LmNvbnNpc3RpZG9cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9yZWNlcGNpb25cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9pbmdyZXNvXHJcbiAgICAgICAgICAgICAgICAgICAgLCBlLnZpc2libGVfZW5fZmluX2NhbXBvXHJcbiAgICAgICAgICAgICAgICAgICAgLCBlLnZpc2libGVfZW5fYW5hbGlzaXNfY2FtcG9cclxuICAgICAgICAgICAgICAgICAgICAsIGUudmlzaWJsZV9lbl9wcm9jZXNhbWllbnRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnJlc3VsdF9zdXBcclxuICAgICAgICAgICAgICAgICAgICAsIHQuY29kY2FsbGVcclxuICAgICAgICAgICAgICAgICAgICAsIHQubm9tY2FsbGVcclxuICAgICAgICAgICAgICAgICAgICAsIHQubnJvY2F0YXN0cmFsXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LnBpc29cclxuICAgICAgICAgICAgICAgICAgICAsIHQuZGVwYXJ0YW1lbnRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmhhYml0YWNpb25cclxuICAgICAgICAgICAgICAgICAgICAsIHQuc2VjdG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmVkaWZpY2lvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0LmVudHJhZGFcclxuICAgICAgICAgICAgICAgICAgICAsIHQuYmFycmlvXHJcbiAgICAgICAgICAgICAgICAgICAgLCAnX19pbXBsZW1lbnRhcl9lbl9vcGVyYXRpdm9fZmluYWwnIGFzIHRlbGVmb25vICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBmcm9tIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW0gdCBsZWZ0IGpvaW4gdGFyZWFzX3RlbSB0dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gdC5vcGVyYXRpdm8gPSB0dC5vcGVyYXRpdm8gYW5kIHQuZW5jID0gdHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB0YXJlYXMgdGEgb24gdHQub3BlcmF0aXZvID0gdGEub3BlcmF0aXZvIGFuZCB0dC50YXJlYSA9IHRhLnRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBhcmVhcyBhIG9uIHR0Lm9wZXJhdGl2byA9IGEub3BlcmF0aXZvIGFuZCB0LmFyZWEgPSBhLmFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIG5vX3JlYSB5IG9uIHQubm9yZWE9eS5ub19yZWE6OmludGVnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHZpdmllbmRhcyB2IG9uIHYub3BlcmF0aXZvPXQub3BlcmF0aXZvIGFuZCB2LnZpdmllbmRhPXQuZW5jIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqb2luIGVzdGFkb3MgZSBvbiB0Lm9wZXJhdGl2byA9IGUub3BlcmF0aXZvIGFuZCB0dC5lc3RhZG8gPSBlLmVzdGFkb1xyXG4gICAgICAgICAgICAgICAgICAgICkgeFxyXG4gICAgICAgICAgICApYCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vcmVmcmVzY2FibGU6IHRydWUsIC8vbm8gZXN0w6EgcGVybWl0aWRvIGHDum5cclxuICAgICAgICAvL2NsaWVudFNpZGU6J3RhcmVhc1RlbVJvdycgLy9kZXNhY3Rpdm8gcGFyYSBib3JyYXIgbG9zIMOtY29ub3MgZGUgbGFzIGNlbGRhc1xyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW1fZW5jdShjb250ZXh0OlRhYmxlQ29udGV4dCl7XHJcbiAgICB2YXIgdGFibGVEZWYgPSB0YXJlYXNfdGVtKGNvbnRleHQsIHtyb2w6J2VuY3UnLCBuYW1lOidlbmN1ZXN0YWRvcicsIGFicmU6ZmFsc2UsIGNvbnNpc3RlOmZhbHNlfSkgXHJcbiAgICB0YWJsZURlZi5zcWwhLmlzVGFibGUgPSBmYWxzZTtcclxuICAgIHJldHVybiB0YWJsZURlZjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW1fcmVjdShjb250ZXh0OlRhYmxlQ29udGV4dCl7XHJcbiAgICB2YXIgdGFibGVEZWYgPSB0YXJlYXNfdGVtKGNvbnRleHQsIHtyb2w6J3JlY3UnLCBuYW1lOidyZWN1cGVyYWRvcicsIGFicmU6dHJ1ZSwgY29uc2lzdGU6ZmFsc2V9KSBcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRhYmxlRGVmO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9zdXBlKGNvbnRleHQ6VGFibGVDb250ZXh0KXtcclxuICAgIHZhciB0YWJsZURlZiA9IHRhcmVhc190ZW0oY29udGV4dCwge3JvbDonc3VwZScsIG5hbWU6J3N1cGVydmlzb3InLCBhYnJlOnRydWUsIGNvbnNpc3RlOmZhbHNlfSkgXHJcbiAgICB0YWJsZURlZi5zcWwhLmlzVGFibGUgPSBmYWxzZTtcclxuICAgIHJldHVybiB0YWJsZURlZjtcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ export declare function tem_asignacion(context: TableContext): TableDefinition;
@@ -0,0 +1,57 @@
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", "./table-tem"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tem_asignacion = void 0;
13
+ const table_tem_1 = require("./table-tem");
14
+ function tem_asignacion(context) {
15
+ var tareas = ['encu', 'recu', 'supe'];
16
+ var tareas_fields = [
17
+ { name: 'recepcionista_tarea', prefijo: 'rec' },
18
+ { name: 'asignado', prefijo: 'per' },
19
+ { name: 'estado', prefijo: 'est' }
20
+ ];
21
+ var extraFields = [];
22
+ var extraFrom = '';
23
+ var extraSelect = '\n';
24
+ var otherTableDefs = {};
25
+ tareas.forEach(t => {
26
+ tareas_fields.forEach(f => {
27
+ extraFields.push({ name: `${f.prefijo}_${t}`, typeName: 'text', table: `tem_${t}`, nameForUpsert: f.name });
28
+ extraSelect += `, tem_${t}.${f.name} as ${f.prefijo}_${t}`;
29
+ });
30
+ extraFrom += `
31
+ left join tareas_tem as tem_${t} on tem_${t}.operativo = t.operativo and tem_${t}.enc = t.enc and tem_${t}.tarea = '${t}'`;
32
+ otherTableDefs[`tem_${t}`] = {
33
+ name: 'tareas_tem',
34
+ tableName: 'tareas_tem',
35
+ prefilledField: { tarea: t }
36
+ };
37
+ });
38
+ var tableDef = (0, table_tem_1.tem)(context, {});
39
+ tableDef.name = `tem_asignacion`;
40
+ // setCommonDefinition(tableDef);
41
+ tableDef.primaryKey = ['operativo', 'enc'];
42
+ tableDef.fields = tableDef.fields.filter((field) => ['operativo', 'enc', 'tarea_actual', 'estado_actual', 'habilitada', 'area', 'tarea_proxima', 'cargado_dm']
43
+ .includes(field.name)).concat(extraFields);
44
+ /*
45
+ tableDef.softForeignKeys=[
46
+ {references:'tokens', fields:[{source:'cargado_dm', target:'token'}], displayFields:['username'], displayAfterFieldName:'cargado'},
47
+ ],
48
+ tableDef.hiddenColumns=['cargado_dm','notas'];
49
+ */
50
+ tableDef.sql.from = `(select t.* ${extraSelect} from (${tableDef.sql.from}) t ${extraFrom})`,
51
+ tableDef.sql.otherTableDefs = otherTableDefs;
52
+ // tableDef.sql!.where = `(tarea_actual="tareas_tem".tarea or tarea_actual is null)`;
53
+ return tableDef;
54
+ }
55
+ exports.tem_asignacion = tem_asignacion;
56
+ });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbV9hc2lnbmFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10YXJlYXNfdGVtX2FzaWduYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYiwyQ0FBa0M7SUFHbEMsU0FBZ0IsY0FBYyxDQUFDLE9BQW9CO1FBQy9DLElBQUksTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLGFBQWEsR0FBRztZQUNoQixFQUFDLElBQUksRUFBQyxxQkFBcUIsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFDO1lBQzNDLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFDO1lBQ2hDLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFDO1NBQ2pDLENBQUE7UUFDRCxJQUFJLFdBQVcsR0FBcUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQTtRQUV0QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxFQUFFO1lBQ2QsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsRUFBRTtnQkFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7Z0JBQ3RHLFdBQVcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUE7WUFDRixTQUFTLElBQUk7MENBQ3FCLENBQUMsV0FBVyxDQUFDLG9DQUFvQyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDL0gsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRztnQkFDekIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLFNBQVMsRUFBQyxZQUFZO2dCQUN0QixjQUFjLEVBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDO2FBQzNCLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUEsZUFBRyxFQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pDLGlDQUFpQztRQUNqQyxRQUFRLENBQUMsVUFBVSxHQUFHLENBQUMsV0FBVyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUMsRUFBRSxDQUM5QyxDQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7YUFDdkcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDeEIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEI7Ozs7O1VBS0U7UUFDRixRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksR0FBSSxlQUFlLFdBQVcsVUFBVSxRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksT0FBTyxTQUFTLEdBQUc7WUFDL0YsUUFBUSxDQUFDLEdBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQzdDLHFGQUFxRjtRQUNyRixPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0lBNUNELHdDQTRDQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dCwgRmllbGREZWZpbml0aW9uLCBPdGhlclRhYmxlRGVmc30gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5pbXBvcnQgeyB0ZW0gfSBmcm9tIFwiLi90YWJsZS10ZW1cIjtcclxuaW1wb3J0IHsgc2V0Q29tbW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuL3RhYmxlLXRhcmVhc190ZW1fcmVjZXBjaW9uXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtX2FzaWduYWNpb24oY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICB2YXIgdGFyZWFzID0gWydlbmN1JywncmVjdScsJ3N1cGUnXTtcclxuICAgIHZhciB0YXJlYXNfZmllbGRzID0gW1xyXG4gICAgICAgIHtuYW1lOidyZWNlcGNpb25pc3RhX3RhcmVhJywgcHJlZmlqbzoncmVjJ30sXHJcbiAgICAgICAge25hbWU6J2FzaWduYWRvJywgcHJlZmlqbzoncGVyJ30sXHJcbiAgICAgICAge25hbWU6J2VzdGFkbycsIHByZWZpam86J2VzdCd9XHJcbiAgICBdXHJcbiAgICB2YXIgZXh0cmFGaWVsZHM6RmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHZhciBleHRyYUZyb20gPSAnJztcclxuICAgIHZhciBleHRyYVNlbGVjdCA9ICdcXG4nO1xyXG4gICAgdmFyIG90aGVyVGFibGVEZWZzOk90aGVyVGFibGVEZWZzID0ge31cclxuXHJcbiAgICB0YXJlYXMuZm9yRWFjaCh0PT57XHJcbiAgICAgICAgdGFyZWFzX2ZpZWxkcy5mb3JFYWNoKGY9PntcclxuICAgICAgICAgICAgZXh0cmFGaWVsZHMucHVzaCh7bmFtZTpgJHtmLnByZWZpam99XyR7dH1gLCB0eXBlTmFtZTondGV4dCcsIHRhYmxlOmB0ZW1fJHt0fWAsIG5hbWVGb3JVcHNlcnQ6Zi5uYW1lfSk7XHJcbiAgICAgICAgICAgIGV4dHJhU2VsZWN0ICs9IGAsIHRlbV8ke3R9LiR7Zi5uYW1lfSBhcyAke2YucHJlZmlqb31fJHt0fWA7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBleHRyYUZyb20gKz0gYCBcclxuICAgICAgICAgICAgbGVmdCBqb2luIHRhcmVhc190ZW0gYXMgdGVtXyR7dH0gb24gdGVtXyR7dH0ub3BlcmF0aXZvID0gdC5vcGVyYXRpdm8gYW5kIHRlbV8ke3R9LmVuYyA9IHQuZW5jIGFuZCB0ZW1fJHt0fS50YXJlYSA9ICcke3R9J2A7IFxyXG4gICAgICAgIG90aGVyVGFibGVEZWZzW2B0ZW1fJHt0fWBdID0ge1xyXG4gICAgICAgICAgICBuYW1lOiAndGFyZWFzX3RlbScsIFxyXG4gICAgICAgICAgICB0YWJsZU5hbWU6J3RhcmVhc190ZW0nLCBcclxuICAgICAgICAgICAgcHJlZmlsbGVkRmllbGQ6e3RhcmVhOnR9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgIFxyXG4gICAgdmFyIHRhYmxlRGVmID0gdGVtKGNvbnRleHQsIHt9KTtcclxuICAgIHRhYmxlRGVmLm5hbWUgPSBgdGVtX2FzaWduYWNpb25gO1xyXG4gICAgLy8gc2V0Q29tbW9uRGVmaW5pdGlvbih0YWJsZURlZik7XHJcbiAgICB0YWJsZURlZi5wcmltYXJ5S2V5ID0gWydvcGVyYXRpdm8nLCdlbmMnXTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcyA9IHRhYmxlRGVmLmZpZWxkcy5maWx0ZXIoKGZpZWxkKT0+XHJcbiAgICAgICAgWydvcGVyYXRpdm8nLCdlbmMnLCd0YXJlYV9hY3R1YWwnLCAnZXN0YWRvX2FjdHVhbCcsICdoYWJpbGl0YWRhJywgJ2FyZWEnLCAndGFyZWFfcHJveGltYScsICdjYXJnYWRvX2RtJ11cclxuICAgICAgICAuaW5jbHVkZXMoZmllbGQubmFtZSlcclxuICAgICkuY29uY2F0KGV4dHJhRmllbGRzKTtcclxuICAgIC8qXHJcbiAgICB0YWJsZURlZi5zb2Z0Rm9yZWlnbktleXM9W1xyXG4gICAgICAgIHtyZWZlcmVuY2VzOid0b2tlbnMnLCBmaWVsZHM6W3tzb3VyY2U6J2NhcmdhZG9fZG0nLCB0YXJnZXQ6J3Rva2VuJ31dLCBkaXNwbGF5RmllbGRzOlsndXNlcm5hbWUnXSwgZGlzcGxheUFmdGVyRmllbGROYW1lOidjYXJnYWRvJ30sXHJcbiAgICBdLFxyXG4gICAgdGFibGVEZWYuaGlkZGVuQ29sdW1ucz1bJ2NhcmdhZG9fZG0nLCdub3RhcyddO1xyXG4gICAgKi9cclxuICAgIHRhYmxlRGVmLnNxbCEuZnJvbSA9ICBgKHNlbGVjdCB0LiogJHtleHRyYVNlbGVjdH0gZnJvbSAoJHt0YWJsZURlZi5zcWwhLmZyb219KSB0ICR7ZXh0cmFGcm9tfSlgLFxyXG4gICAgdGFibGVEZWYuc3FsIS5vdGhlclRhYmxlRGVmcyA9IG90aGVyVGFibGVEZWZzXHJcbiAgICAvLyB0YWJsZURlZi5zcWwhLndoZXJlID0gYCh0YXJlYV9hY3R1YWw9XCJ0YXJlYXNfdGVtXCIudGFyZWEgb3IgdGFyZWFfYWN0dWFsIGlzIG51bGwpYDtcclxuICAgIHJldHVybiB0YWJsZURlZlxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ export declare function tareas_fin_campo(context: TableContext): TableDefinition;
@@ -0,0 +1,28 @@
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", "./table-tareas_tem", "./table-tareas_tem_recepcion"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tareas_fin_campo = void 0;
13
+ const table_tareas_tem_1 = require("./table-tareas_tem");
14
+ const table_tareas_tem_recepcion_1 = require("./table-tareas_tem_recepcion");
15
+ function tareas_fin_campo(context) {
16
+ let tableDef = (0, table_tareas_tem_recepcion_1.tareas_tem_recepcion)(context);
17
+ tableDef.name = `tareas_tem_ingreso`;
18
+ tableDef.filterColumns = [
19
+ { column: 'visible_en_fin_campo', operator: '=', value: true }
20
+ ];
21
+ var tableDefTT = (0, table_tareas_tem_1.tareas_tem)(context);
22
+ tableDef.sql.from = (0, table_tareas_tem_recepcion_1.getSqlFrom)(tableDefTT, { desde: "fin_campo" });
23
+ tableDef.sql.where = `"tem".tarea_proxima = 'finc' and "tareas_tem".tarea = 'finc'`;
24
+ return tableDef;
25
+ }
26
+ exports.tareas_fin_campo = tareas_fin_campo;
27
+ });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbV9maW5fY2FtcG8gY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGFyZWFzX3RlbV9maW5fY2FtcG8gY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLHlEQUErQztJQUMvQyw2RUFBZ0Y7SUFFaEYsU0FBZ0IsZ0JBQWdCLENBQUMsT0FBb0I7UUFDakQsSUFBSSxRQUFRLEdBQUcsSUFBQSxpREFBb0IsRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QyxRQUFRLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxhQUFhLEdBQUM7WUFDbkIsRUFBQyxNQUFNLEVBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFDO1NBQzVELENBQUM7UUFDRixJQUFJLFVBQVUsR0FBRyxJQUFBLDZCQUFVLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLEdBQUksQ0FBQyxJQUFJLEdBQUMsSUFBQSx1Q0FBVSxFQUFDLFVBQVUsRUFBQyxFQUFDLEtBQUssRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDO1FBQzlELFFBQVEsQ0FBQyxHQUFJLENBQUMsS0FBSyxHQUFHLDhEQUE4RCxDQUFDO1FBQ3JGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFWRCw0Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dCwgRmllbGREZWZpbml0aW9uLCBnZXREb21pY2lsaW9GaWVsZHN9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHt0YXJlYXNfdGVtIH0gZnJvbSBcIi4vdGFibGUtdGFyZWFzX3RlbVwiO1xyXG5pbXBvcnQgeyBnZXRTcWxGcm9tLCB0YXJlYXNfdGVtX3JlY2VwY2lvbiB9IGZyb20gXCIuL3RhYmxlLXRhcmVhc190ZW1fcmVjZXBjaW9uXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX2Zpbl9jYW1wbyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIGxldCB0YWJsZURlZiA9IHRhcmVhc190ZW1fcmVjZXBjaW9uKGNvbnRleHQpXHJcbiAgICB0YWJsZURlZi5uYW1lID0gYHRhcmVhc190ZW1faW5ncmVzb2A7XHJcbiAgICB0YWJsZURlZi5maWx0ZXJDb2x1bW5zPVtcclxuICAgICAgICB7Y29sdW1uOid2aXNpYmxlX2VuX2Zpbl9jYW1wbycsIG9wZXJhdG9yOic9JywgdmFsdWU6dHJ1ZX1cclxuICAgIF07XHJcbiAgICB2YXIgdGFibGVEZWZUVCA9IHRhcmVhc190ZW0oY29udGV4dCk7XHJcbiAgICB0YWJsZURlZi5zcWwhLmZyb209Z2V0U3FsRnJvbSh0YWJsZURlZlRULHtkZXNkZTpcImZpbl9jYW1wb1wifSk7XHJcbiAgICB0YWJsZURlZi5zcWwhLndoZXJlID0gYFwidGVtXCIudGFyZWFfcHJveGltYSA9ICdmaW5jJyBhbmQgXCJ0YXJlYXNfdGVtXCIudGFyZWEgPSAnZmluYydgO1xyXG4gICAgcmV0dXJuIHRhYmxlRGVmO1xyXG59Il19
@@ -0,0 +1,3 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ export declare function tareas_tem_ingreso(context: TableContext): TableDefinition;
@@ -0,0 +1,32 @@
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", "./types-dmencu", "./table-tareas_tem", "./table-tareas_tem_recepcion"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tareas_tem_ingreso = void 0;
13
+ const types_dmencu_1 = require("./types-dmencu");
14
+ const table_tareas_tem_1 = require("./table-tareas_tem");
15
+ const table_tareas_tem_recepcion_1 = require("./table-tareas_tem_recepcion");
16
+ function tareas_tem_ingreso(context) {
17
+ let tableDef = (0, table_tareas_tem_recepcion_1.tareas_tem_recepcion)(context);
18
+ tableDef.name = `tareas_tem_ingreso`;
19
+ tableDef.filterColumns = [
20
+ { column: 'visible_en_ingreso', operator: '=', value: true }
21
+ ];
22
+ tableDef.fields = tableDef.fields.filter((field) => !['abrir', 'consistir'].includes(field.name));
23
+ var domicilioFieldNames = (0, types_dmencu_1.getDomicilioFields)().map((field) => field.name);
24
+ tableDef.fields = tableDef.fields.filter((field) => !domicilioFieldNames.includes(field.name));
25
+ tableDef.fields.splice(4, 0, { name: 'telefono', typeName: 'text', editable: false }, ...(0, types_dmencu_1.getDomicilioFields)().filter((field) => !['codcalle'].includes(field.name)));
26
+ var tableDefTT = (0, table_tareas_tem_1.tareas_tem)(context);
27
+ tableDef.sql.from = (0, table_tareas_tem_recepcion_1.getSqlFrom)(tableDefTT, { desde: "ingresa" });
28
+ return tableDef;
29
+ }
30
+ exports.tareas_tem_ingreso = tareas_tem_ingreso;
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbV9pbmdyZXNvIGNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3RhYmxlLXRhcmVhc190ZW1faW5ncmVzbyBjb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBRWIsaURBQWtHO0lBRWxHLHlEQUErQztJQUMvQyw2RUFBZ0Y7SUFFaEYsU0FBZ0Isa0JBQWtCLENBQUMsT0FBb0I7UUFDbkQsSUFBSSxRQUFRLEdBQUcsSUFBQSxpREFBb0IsRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QyxRQUFRLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxhQUFhLEdBQUM7WUFDbkIsRUFBQyxNQUFNLEVBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFDO1NBQzFELENBQUM7UUFDRixRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBcUIsRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEgsSUFBSSxtQkFBbUIsR0FBRyxJQUFBLGlDQUFrQixHQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBcUIsRUFBQyxFQUFFLENBQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hGLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUMsRUFBRSxDQUFBLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdGLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQ3RCLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBVyxRQUFRLEVBQUMsTUFBTSxFQUFVLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFDckUsR0FBRyxJQUFBLGlDQUFrQixHQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBcUIsRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksVUFBVSxHQUFHLElBQUEsNkJBQVUsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksR0FBQyxJQUFBLHVDQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDNUQsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQWZELGdEQWVDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIGdldERvbWljaWxpb0ZpZWxkc30gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5pbXBvcnQge3RhcmVhc190ZW0gfSBmcm9tIFwiLi90YWJsZS10YXJlYXNfdGVtXCI7XHJcbmltcG9ydCB7IGdldFNxbEZyb20sIHRhcmVhc190ZW1fcmVjZXBjaW9uIH0gZnJvbSBcIi4vdGFibGUtdGFyZWFzX3RlbV9yZWNlcGNpb25cIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YXJlYXNfdGVtX2luZ3Jlc28oY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICBsZXQgdGFibGVEZWYgPSB0YXJlYXNfdGVtX3JlY2VwY2lvbihjb250ZXh0KVxyXG4gICAgdGFibGVEZWYubmFtZSA9IGB0YXJlYXNfdGVtX2luZ3Jlc29gO1xyXG4gICAgdGFibGVEZWYuZmlsdGVyQ29sdW1ucz1bXHJcbiAgICAgICAge2NvbHVtbjondmlzaWJsZV9lbl9pbmdyZXNvJywgb3BlcmF0b3I6Jz0nLCB2YWx1ZTp0cnVlfVxyXG4gICAgXTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcyA9IHRhYmxlRGVmLmZpZWxkcy5maWx0ZXIoKGZpZWxkOkZpZWxkRGVmaW5pdGlvbik9PiFbJ2FicmlyJywgJ2NvbnNpc3RpciddLmluY2x1ZGVzKGZpZWxkLm5hbWUpKTtcclxuICAgIHZhciBkb21pY2lsaW9GaWVsZE5hbWVzID0gZ2V0RG9taWNpbGlvRmllbGRzKCkubWFwKChmaWVsZDpGaWVsZERlZmluaXRpb24pPT5maWVsZC5uYW1lKTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcyA9IHRhYmxlRGVmLmZpZWxkcy5maWx0ZXIoKGZpZWxkKT0+IWRvbWljaWxpb0ZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGQubmFtZSkpO1xyXG4gICAgdGFibGVEZWYuZmllbGRzLnNwbGljZSg0LDAsXHJcbiAgICAgICAge25hbWU6J3RlbGVmb25vJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZSB9LFxyXG4gICAgICAgIC4uLmdldERvbWljaWxpb0ZpZWxkcygpLmZpbHRlcigoZmllbGQ6RmllbGREZWZpbml0aW9uKT0+IVsnY29kY2FsbGUnXS5pbmNsdWRlcyhmaWVsZC5uYW1lKSkpO1xyXG4gICAgdmFyIHRhYmxlRGVmVFQgPSB0YXJlYXNfdGVtKGNvbnRleHQpO1xyXG4gICAgdGFibGVEZWYuc3FsIS5mcm9tPWdldFNxbEZyb20odGFibGVEZWZUVCx7ZGVzZGU6XCJpbmdyZXNhXCJ9KTtcclxuICAgIHJldHVybiB0YWJsZURlZjtcclxufSJdfQ==
@@ -0,0 +1,3 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ export declare function tareas_tem_procesamiento(context: TableContext): TableDefinition;
@@ -0,0 +1,32 @@
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", "./table-tareas_tem", "./table-tareas_tem_recepcion", "./table-tareas_tem_fin_campo"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tareas_tem_procesamiento = void 0;
13
+ const table_tareas_tem_1 = require("./table-tareas_tem");
14
+ const table_tareas_tem_recepcion_1 = require("./table-tareas_tem_recepcion");
15
+ const table_tareas_tem_fin_campo_1 = require("./table-tareas_tem_fin_campo");
16
+ function tareas_tem_procesamiento(context) {
17
+ let tableDef = (0, table_tareas_tem_recepcion_1.tareas_tem_recepcion)(context);
18
+ tableDef.name = `tareas_tem_procesamiento`;
19
+ tableDef.filterColumns = [
20
+ { column: 'visible_en_procesamiento', operator: '=', value: true }
21
+ ];
22
+ (0, table_tareas_tem_fin_campo_1.definicionComunFincAnacProc)(tableDef);
23
+ var tableDefTT = (0, table_tareas_tem_1.tareas_tem)(context);
24
+ tableDef.sql.from = (0, table_tareas_tem_recepcion_1.getSqlFrom)(tableDefTT, { desde: "procesa" });
25
+ tableDef.sql.where = `"tareas_tem".tarea = 'proc' and
26
+ ("tem".tarea_actual = 'proc' or
27
+ "tem".tarea_actual is null and "tem".tarea_proxima = 'proc')`;
28
+ return tableDef;
29
+ }
30
+ exports.tareas_tem_procesamiento = tareas_tem_procesamiento;
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvIGNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3RhYmxlLXRhcmVhc190ZW1fcHJvY2VzYW1pZW50byBjb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBSWIseURBQStDO0lBQy9DLDZFQUFnRjtJQUNoRiw2RUFBMkU7SUFFM0UsU0FBZ0Isd0JBQXdCLENBQUMsT0FBb0I7UUFDekQsSUFBSSxRQUFRLEdBQUcsSUFBQSxpREFBb0IsRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QyxRQUFRLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO1FBQzNDLFFBQVEsQ0FBQyxhQUFhLEdBQUM7WUFDbkIsRUFBQyxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsUUFBUSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFDO1NBQ2hFLENBQUM7UUFDRixJQUFBLHdEQUEyQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksVUFBVSxHQUFHLElBQUEsNkJBQVUsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksR0FBQyxJQUFBLHVDQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDNUQsUUFBUSxDQUFDLEdBQUksQ0FBQyxLQUFLLEdBQUc7OzBGQUVnRSxDQUFDO1FBQ3ZGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFiRCw0REFhQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dCwgRmllbGREZWZpbml0aW9uLCBnZXREb21pY2lsaW9GaWVsZHN9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHt0YXJlYXNfdGVtIH0gZnJvbSBcIi4vdGFibGUtdGFyZWFzX3RlbVwiO1xyXG5pbXBvcnQgeyBnZXRTcWxGcm9tLCB0YXJlYXNfdGVtX3JlY2VwY2lvbiB9IGZyb20gXCIuL3RhYmxlLXRhcmVhc190ZW1fcmVjZXBjaW9uXCI7XHJcbmltcG9ydCB7IGRlZmluaWNpb25Db211bkZpbmNBbmFjUHJvYyB9IGZyb20gXCIuL3RhYmxlLXRhcmVhc190ZW1fZmluX2NhbXBvXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgbGV0IHRhYmxlRGVmID0gdGFyZWFzX3RlbV9yZWNlcGNpb24oY29udGV4dClcclxuICAgIHRhYmxlRGVmLm5hbWUgPSBgdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvYDtcclxuICAgIHRhYmxlRGVmLmZpbHRlckNvbHVtbnM9W1xyXG4gICAgICAgIHtjb2x1bW46J3Zpc2libGVfZW5fcHJvY2VzYW1pZW50bycsIG9wZXJhdG9yOic9JywgdmFsdWU6dHJ1ZX1cclxuICAgIF07XHJcbiAgICBkZWZpbmljaW9uQ29tdW5GaW5jQW5hY1Byb2ModGFibGVEZWYpO1xyXG4gICAgdmFyIHRhYmxlRGVmVFQgPSB0YXJlYXNfdGVtKGNvbnRleHQpO1xyXG4gICAgdGFibGVEZWYuc3FsIS5mcm9tPWdldFNxbEZyb20odGFibGVEZWZUVCx7ZGVzZGU6XCJwcm9jZXNhXCJ9KTtcclxuICAgIHRhYmxlRGVmLnNxbCEud2hlcmUgPSBgXCJ0YXJlYXNfdGVtXCIudGFyZWEgPSAncHJvYycgYW5kIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFwidGVtXCIudGFyZWFfYWN0dWFsID0gJ3Byb2MnIG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZW1cIi50YXJlYV9hY3R1YWwgaXMgbnVsbCBhbmQgXCJ0ZW1cIi50YXJlYV9wcm94aW1hID0gJ3Byb2MnKWA7XHJcbiAgICByZXR1cm4gdGFibGVEZWY7XHJcbn0iXX0=
@@ -0,0 +1,8 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ import { OptsTareasTem } from "./table-tareas_tem";
4
+ export declare function tareas_tem_recepcion(context: TableContext, opts?: OptsTareasTem): TableDefinition;
5
+ export declare function tareas_tem_ingreso(context: TableContext): TableDefinition;
6
+ export declare function tareas_tem_recepcion_encu(context: TableContext): TableDefinition;
7
+ export declare function tareas_tem_recepcion_recu(context: TableContext): TableDefinition;
8
+ export declare function tareas_tem_recepcion_supe(context: TableContext): TableDefinition;
@@ -0,0 +1,82 @@
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", "./types-dmencu", "./table-tareas_tem"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.tareas_tem_recepcion_supe = exports.tareas_tem_recepcion_recu = exports.tareas_tem_recepcion_encu = exports.tareas_tem_ingreso = exports.tareas_tem_recepcion = void 0;
13
+ const types_dmencu_1 = require("./types-dmencu");
14
+ const table_tareas_tem_1 = require("./table-tareas_tem");
15
+ var getSqlFrom = (tableDef, opts) => `(select * from (${tableDef.sql.from}) aux
16
+ , lateral (
17
+ select jsonb_agg(z.*) as acciones
18
+ from (
19
+ select ea.*, ac.path_icono_svg, ac.desactiva_boton, ac.confirma
20
+ from estados_acciones ea join acciones ac using (operativo, eaccion)
21
+ where ea.operativo = aux.operativo and ea.estado = aux.estado and ac.${opts.desde}
22
+ and accion_cumple_condicion(aux.operativo, ea.estado, aux.enc, ea.eaccion, ea.condicion)
23
+ order by ac.eaccion
24
+ ) z
25
+ ) y
26
+ )`;
27
+ function tareas_tem_recepcion(context, opts) {
28
+ var _a, _b;
29
+ var tableDef = (0, table_tareas_tem_1.tareas_tem)(context, opts);
30
+ tableDef.name = `tareas_tem_recepcion`;
31
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
32
+ var reaFieldNames = (0, table_tareas_tem_1.getReaFields)(puedeEditar).map((field) => field.name);
33
+ tableDef.fields = tableDef.fields.filter((field) => !reaFieldNames.includes(field.name));
34
+ tableDef.fields.splice(4, 0, { name: "acciones", typeName: 'jsonb', editable: false, inTable: false }, { name: "acciones_avance", typeName: 'text', editable: false, inTable: false, clientSide: 'accionesAvance' }, { name: "acciones_retroceso", typeName: 'text', editable: false, inTable: false, clientSide: 'accionesRetroceso' },
35
+ //{name:"acciones_blanqueo" , typeName: 'text' , editable:false , inTable:false, clientSide:'accionesBlanqueo'},
36
+ { name: "visible_en_recepcion", typeName: "boolean", editable: false, inTable: false, visible: false }, { name: "visible_en_ingreso", typeName: "boolean", editable: false, inTable: false, visible: false }, ...(0, table_tareas_tem_1.getReaFields)(puedeEditar));
37
+ tableDef.fields.forEach((field) => {
38
+ if (!field.table) {
39
+ field.table = 'tareas_tem';
40
+ }
41
+ });
42
+ tableDef.primaryKey = ['operativo', 'enc', 'tarea'];
43
+ tableDef.filterColumns = [
44
+ { column: 'visible_en_recepcion', operator: '=', value: true }
45
+ ];
46
+ tableDef.hiddenColumns = ['tarea', 'cargado_dm', 'notas', 'acciones', 'fecha_asignacion', 'estados__permite_editar_encuesta'];
47
+ tableDef.refrescable = true;
48
+ tableDef.sql.isTable = false;
49
+ tableDef.sql.from = getSqlFrom(tableDef, { desde: "recepciona" });
50
+ tableDef.sql.where = `"tem".tarea_actual="tareas_tem".tarea`;
51
+ return tableDef;
52
+ }
53
+ exports.tareas_tem_recepcion = tareas_tem_recepcion;
54
+ function tareas_tem_ingreso(context) {
55
+ let tableDef = tareas_tem_recepcion(context);
56
+ tableDef.name = `tareas_tem_ingreso`;
57
+ tableDef.filterColumns = [
58
+ { column: 'visible_en_ingreso', operator: '=', value: true }
59
+ ];
60
+ tableDef.fields = tableDef.fields.filter((field) => !['abrir', 'consistir'].includes(field.name));
61
+ var domicilioFieldNames = (0, types_dmencu_1.getDomicilioFields)().map((field) => field.name);
62
+ tableDef.fields = tableDef.fields.filter((field) => !domicilioFieldNames.includes(field.name));
63
+ tableDef.fields.splice(4, 0, { name: 'telefono', typeName: 'text', editable: false }, ...(0, types_dmencu_1.getDomicilioFields)().filter((field) => !['codcalle'].includes(field.name)));
64
+ var tableDefTT = (0, table_tareas_tem_1.tareas_tem)(context);
65
+ tableDef.sql.from = getSqlFrom(tableDefTT, { desde: "ingresa" });
66
+ return tableDef;
67
+ }
68
+ exports.tareas_tem_ingreso = tareas_tem_ingreso;
69
+ function tareas_tem_recepcion_encu(context) {
70
+ return tareas_tem_recepcion(context, { rol: 'encu', name: 'encuestador' });
71
+ }
72
+ exports.tareas_tem_recepcion_encu = tareas_tem_recepcion_encu;
73
+ function tareas_tem_recepcion_recu(context) {
74
+ return tareas_tem_recepcion(context, { rol: 'recu', name: 'recuperador' });
75
+ }
76
+ exports.tareas_tem_recepcion_recu = tareas_tem_recepcion_recu;
77
+ function tareas_tem_recepcion_supe(context) {
78
+ return tareas_tem_recepcion(context, { rol: 'supe', name: 'supervisor' });
79
+ }
80
+ exports.tareas_tem_recepcion_supe = tareas_tem_recepcion_supe;
81
+ });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFyZWFzX3RlbV9yZWNlcGNpb24gY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGFyZWFzX3RlbV9yZWNlcGNpb24gY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUViLGlEQUFrRztJQUVsRyx5REFBMkU7SUFHM0UsSUFBSSxVQUFVLEdBQUcsQ0FBQyxRQUF3QixFQUFFLElBQW1DLEVBQUMsRUFBRSxDQUFDLG1CQUFtQixRQUFRLENBQUMsR0FBSSxDQUFDLElBQUk7Ozs7Ozt1RkFNakMsSUFBSSxDQUFDLEtBQUs7Ozs7O0VBSy9GLENBQUE7SUFFRixTQUFnQixvQkFBb0IsQ0FBQyxPQUFvQixFQUFFLElBQW1COztRQUMxRSxJQUFJLFFBQVEsR0FBRyxJQUFBLDZCQUFVLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7UUFDdkMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsSUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxlQUFlLENBQUM7UUFDM0csSUFBSSxhQUFhLEdBQUcsSUFBQSwrQkFBWSxFQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQXFCLEVBQUMsRUFBRSxDQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RixRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkYsUUFBUSxDQUFDLE1BQU0sQ0FB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QUMsT0FBb0I7UUFDMUQsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxZQUFZLEVBQUMsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFGRCw4REFFQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dCwgRmllbGREZWZpbml0aW9uLCBnZXREb21pY2lsaW9GaWVsZHN9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHt0YXJlYXNfdGVtLCBPcHRzVGFyZWFzVGVtLCBnZXRSZWFGaWVsZHN9IGZyb20gXCIuL3RhYmxlLXRhcmVhc190ZW1cIjtcclxuaW1wb3J0IHsgdGFibGUgfSBmcm9tIFwiY29uc29sZVwiO1xyXG5cclxudmFyIGdldFNxbEZyb20gPSAodGFibGVEZWY6VGFibGVEZWZpbml0aW9uLCBvcHRzOntkZXNkZTonaW5ncmVzYSd8J3JlY2VwY2lvbmEnfSk9PiBgKHNlbGVjdCAqIGZyb20gKCR7dGFibGVEZWYuc3FsIS5mcm9tfSkgYXV4XHJcbiwgbGF0ZXJhbCAoXHJcbiAgICBzZWxlY3QganNvbmJfYWdnKHouKikgYXMgYWNjaW9uZXNcclxuICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgc2VsZWN0IGVhLiosIGFjLnBhdGhfaWNvbm9fc3ZnLCBhYy5kZXNhY3RpdmFfYm90b24sIGFjLmNvbmZpcm1hXHJcbiAgICAgICAgICAgICAgICBmcm9tIGVzdGFkb3NfYWNjaW9uZXMgZWEgam9pbiBhY2Npb25lcyBhYyB1c2luZyAob3BlcmF0aXZvLCBlYWNjaW9uKVxyXG4gICAgICAgICAgICAgICAgd2hlcmUgZWEub3BlcmF0aXZvID0gYXV4Lm9wZXJhdGl2byBhbmQgZWEuZXN0YWRvID0gYXV4LmVzdGFkbyBhbmQgYWMuJHtvcHRzLmRlc2RlfVxyXG4gICAgICAgICAgICAgICAgYW5kIGFjY2lvbl9jdW1wbGVfY29uZGljaW9uKGF1eC5vcGVyYXRpdm8sIGVhLmVzdGFkbywgYXV4LmVuYywgZWEuZWFjY2lvbiwgZWEuY29uZGljaW9uKVxyXG4gICAgICAgICAgICBvcmRlciBieSBhYy5lYWNjaW9uXHJcbiAgICAgICAgKSB6XHJcbiAgICApIHlcclxuKWBcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YXJlYXNfdGVtX3JlY2VwY2lvbihjb250ZXh0OlRhYmxlQ29udGV4dCwgb3B0cz86T3B0c1RhcmVhc1RlbSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciB0YWJsZURlZiA9IHRhcmVhc190ZW0oY29udGV4dCwgb3B0cyk7XHJcbiAgICB0YWJsZURlZi5uYW1lID0gYHRhcmVhc190ZW1fcmVjZXBjaW9uYDtcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGNvbnRleHQuZm9yRHVtcCB8fCBjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQudXNlci5yb2w9PT0ncmVjZXBjaW9uaXN0YSc7ICAgICAgIFxyXG4gICAgdmFyIHJlYUZpZWxkTmFtZXMgPSBnZXRSZWFGaWVsZHMocHVlZGVFZGl0YXIpLm1hcCgoZmllbGQ6RmllbGREZWZpbml0aW9uKT0+ZmllbGQubmFtZSk7XHJcbiAgICB0YWJsZURlZi5maWVsZHMgPSB0YWJsZURlZi5maWVsZHMuZmlsdGVyKChmaWVsZCk9PiFyZWFGaWVsZE5hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpKTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcy5zcGxpY2UoNCwwLFxyXG4gICAgICAgIHtuYW1lOlwiYWNjaW9uZXNcIiAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTogJ2pzb25iJyAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOlwiYWNjaW9uZXNfYXZhbmNlXCIgICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FjY2lvbmVzQXZhbmNlJ30sXHJcbiAgICAgICAge25hbWU6XCJhY2Npb25lc19yZXRyb2Nlc29cIiAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonYWNjaW9uZXNSZXRyb2Nlc28nfSxcclxuICAgICAgICAvL3tuYW1lOlwiYWNjaW9uZXNfYmxhbnF1ZW9cIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FjY2lvbmVzQmxhbnF1ZW8nfSxcclxuICAgICAgICB7bmFtZTpcInZpc2libGVfZW5fcmVjZXBjaW9uXCIgICAgICAgICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgIHtuYW1lOlwidmlzaWJsZV9lbl9pbmdyZXNvXCIgICAgICAgICAgLCB0eXBlTmFtZTogXCJib29sZWFuXCIgICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgLi4uZ2V0UmVhRmllbGRzKHB1ZWRlRWRpdGFyKVxyXG4gICAgKTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcy5mb3JFYWNoKChmaWVsZDpGaWVsZERlZmluaXRpb24pPT57XHJcbiAgICAgICAgaWYoIWZpZWxkLnRhYmxlKXtcclxuICAgICAgICAgICAgZmllbGQudGFibGU9J3RhcmVhc190ZW0nXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIFxyXG4gICAgdGFibGVEZWYucHJpbWFyeUtleSA9IFsnb3BlcmF0aXZvJywnZW5jJywndGFyZWEnXTtcclxuICAgIHRhYmxlRGVmLmZpbHRlckNvbHVtbnM9W1xyXG4gICAgICAgIHtjb2x1bW46J3Zpc2libGVfZW5fcmVjZXBjaW9uJywgb3BlcmF0b3I6Jz0nLCB2YWx1ZTp0cnVlfVxyXG4gICAgXTtcclxuICAgIHRhYmxlRGVmLmhpZGRlbkNvbHVtbnM9Wyd0YXJlYScsJ2NhcmdhZG9fZG0nLCdub3RhcycsICdhY2Npb25lcycsJ2ZlY2hhX2FzaWduYWNpb24nLCAnZXN0YWRvc19fcGVybWl0ZV9lZGl0YXJfZW5jdWVzdGEnXTtcclxuICAgIHRhYmxlRGVmLnJlZnJlc2NhYmxlID0gdHJ1ZTtcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgdGFibGVEZWYuc3FsIS5mcm9tPWdldFNxbEZyb20odGFibGVEZWYse2Rlc2RlOlwicmVjZXBjaW9uYVwifSk7XHJcbiAgICB0YWJsZURlZi5zcWwhLndoZXJlID0gYFwidGVtXCIudGFyZWFfYWN0dWFsPVwidGFyZWFzX3RlbVwiLnRhcmVhYDtcclxuICAgIHJldHVybiB0YWJsZURlZlxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9pbmdyZXNvKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgbGV0IHRhYmxlRGVmID0gdGFyZWFzX3RlbV9yZWNlcGNpb24oY29udGV4dClcclxuICAgIHRhYmxlRGVmLm5hbWUgPSBgdGFyZWFzX3RlbV9pbmdyZXNvYDtcclxuICAgIHRhYmxlRGVmLmZpbHRlckNvbHVtbnM9W1xyXG4gICAgICAgIHtjb2x1bW46J3Zpc2libGVfZW5faW5ncmVzbycsIG9wZXJhdG9yOic9JywgdmFsdWU6dHJ1ZX1cclxuICAgIF07XHJcbiAgICB0YWJsZURlZi5maWVsZHMgPSB0YWJsZURlZi5maWVsZHMuZmlsdGVyKChmaWVsZDpGaWVsZERlZmluaXRpb24pPT4hWydhYnJpcicsICdjb25zaXN0aXInXS5pbmNsdWRlcyhmaWVsZC5uYW1lKSk7XHJcbiAgICB2YXIgZG9taWNpbGlvRmllbGROYW1lcyA9IGdldERvbWljaWxpb0ZpZWxkcygpLm1hcCgoZmllbGQ6RmllbGREZWZpbml0aW9uKT0+ZmllbGQubmFtZSk7XHJcbiAgICB0YWJsZURlZi5maWVsZHMgPSB0YWJsZURlZi5maWVsZHMuZmlsdGVyKChmaWVsZCk9PiFkb21pY2lsaW9GaWVsZE5hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpKTtcclxuICAgIHRhYmxlRGVmLmZpZWxkcy5zcGxpY2UoNCwwLFxyXG4gICAgICAgIHtuYW1lOid0ZWxlZm9ubycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAuLi5nZXREb21pY2lsaW9GaWVsZHMoKS5maWx0ZXIoKGZpZWxkOkZpZWxkRGVmaW5pdGlvbik9PiFbJ2NvZGNhbGxlJ10uaW5jbHVkZXMoZmllbGQubmFtZSkpKTtcclxuICAgIHZhciB0YWJsZURlZlRUID0gdGFyZWFzX3RlbShjb250ZXh0KTtcclxuICAgIHRhYmxlRGVmLnNxbCEuZnJvbT1nZXRTcWxGcm9tKHRhYmxlRGVmVFQse2Rlc2RlOlwiaW5ncmVzYVwifSk7XHJcbiAgICByZXR1cm4gdGFibGVEZWY7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YXJlYXNfdGVtX3JlY2VwY2lvbl9lbmN1KGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgcmV0dXJuIHRhcmVhc190ZW1fcmVjZXBjaW9uKGNvbnRleHQsIHtyb2w6J2VuY3UnLCBuYW1lOidlbmN1ZXN0YWRvcid9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFyZWFzX3RlbV9yZWNlcGNpb25fcmVjdShjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHJldHVybiB0YXJlYXNfdGVtX3JlY2VwY2lvbihjb250ZXh0LCB7cm9sOidyZWN1JywgbmFtZToncmVjdXBlcmFkb3InfSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcmVhc190ZW1fcmVjZXBjaW9uX3N1cGUoY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICByZXR1cm4gdGFyZWFzX3RlbV9yZWNlcGNpb24oY29udGV4dCwge3JvbDonc3VwZScsIG5hbWU6J3N1cGVydmlzb3InfSlcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ /// <reference types="backend-plus" />
2
+ import { TableDefinition, TableContext } from "./types-dmencu";
3
+ export declare function tem_asignacion(context: TableContext): TableDefinition;