dmencu 0.8.14 → 0.8.16

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 (38) 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/server/server/app-dmencu.js +5 -7
  6. package/dist/server/server/procedures-dmencu.js +23 -7
  7. package/dist/server/server/table-historial_tem copy.d.ts +15 -0
  8. package/dist/server/server/table-historial_tem copy.js +187 -0
  9. package/dist/server/server/table-historial_tem.js +2 -1
  10. package/dist/server/server/table-s_tem copy.d.ts +15 -0
  11. package/dist/server/server/table-s_tem copy.js +187 -0
  12. package/dist/server/server/table-tareas_tem copy.d.ts +15 -0
  13. package/dist/server/server/table-tareas_tem copy.js +187 -0
  14. package/dist/server/server/table-tareas_tem_asignables.d.ts +3 -0
  15. package/dist/server/server/table-tareas_tem_asignables.js +57 -0
  16. package/dist/server/server/{table-dictra.d.ts → table-tareas_tem_fin_campo copy.d.ts } +1 -1
  17. package/dist/server/server/table-tareas_tem_fin_campo copy.js +28 -0
  18. package/dist/server/server/table-tareas_tem_ingreso copy.d.ts +3 -0
  19. package/dist/server/server/table-tareas_tem_ingreso copy.js +32 -0
  20. package/dist/server/server/table-tareas_tem_procesamiento copy.d.ts +3 -0
  21. package/dist/server/server/table-tareas_tem_procesamiento copy.js +32 -0
  22. package/dist/server/server/table-tareas_tem_recepcion copy.d.ts +8 -0
  23. package/dist/server/server/table-tareas_tem_recepcion copy.js +82 -0
  24. package/dist/server/server/{table-dicvar.d.ts → table-tem_asignacion copy.d.ts } +1 -1
  25. package/dist/server/server/table-tem_asignacion copy.js +51 -0
  26. package/dist/server/server/{table-diccionario.d.ts → table-tem_recepcion.d.ts} +1 -1
  27. package/dist/server/server/table-tem_recepcion.js +19 -0
  28. package/install/accion_cumple_condicion.sql +2 -1
  29. package/install/agregar_historial_tem_trg.sql +5 -4
  30. package/install/desverificar_tarea_trg.sql +1 -1
  31. package/install/esquema_comun.sql +2 -3
  32. package/package.json +1 -1
  33. package/dist/server/server/table-diccionario.js +0 -33
  34. package/dist/server/server/table-dictra.js +0 -48
  35. package/dist/server/server/table-dicvar.js +0 -33
  36. package/install/diccionarios_func.sql +0 -26
  37. package/install/sincronizacion_tem.sql.new.bak +0 -67
  38. package/install/sincronizacion_tem.sql.new.bak.bak +0 -55
@@ -0,0 +1,51 @@
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', prefijo: 'rec', editable: true },
18
+ { name: 'asignado', prefijo: 'per', editable: true },
19
+ { name: 'estado', prefijo: 'est', editable: false }
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, editable: f.editable });
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
+ tableDef.fields = tableDef.fields.filter((field) => ['operativo', 'enc', 'tarea_actual', 'estado_actual', /*'abrir'*/ , 'habilitar', 'habilitada', 'area', 'tarea_proxima', 'cargado', 'cargado_dm']
41
+ .includes(field.name)).concat(extraFields);
42
+ tableDef.refrescable = true;
43
+ tableDef.sql.isTable = false;
44
+ tableDef.sql.from = `(select t.* ${extraSelect} from (${tableDef.sql.from}) t ${extraFrom})`,
45
+ tableDef.sql.otherTableDefs = otherTableDefs;
46
+ tableDef.detailTables = tableDef.detailTables.filter((detailTable) => ['tareas_tem'].includes(detailTable.table));
47
+ return tableDef;
48
+ }
49
+ exports.tem_asignacion = tem_asignacion;
50
+ });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtX2FzaWduYWNpb24gY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGVtX2FzaWduYWNpb24gY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLDJDQUFrQztJQUdsQyxTQUFnQixjQUFjLENBQUMsT0FBb0I7UUFDL0MsSUFBSSxNQUFNLEdBQWMsQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksYUFBYSxHQUFHO1lBQ2hCLEVBQUMsSUFBSSxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxJQUFJLEVBQUM7WUFDcEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLElBQUksRUFBQztZQUMvQyxFQUFDLElBQUksRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsS0FBSyxFQUFDO1NBQ2pELENBQUE7UUFDRCxJQUFJLFdBQVcsR0FBcUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQTtRQUV0QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxFQUFFO1lBQ2QsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsRUFBRTtnQkFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7Z0JBQzNILFdBQVcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUE7WUFDRixTQUFTLElBQUk7MENBQ3FCLENBQUMsV0FBVyxDQUFDLG9DQUFvQyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDL0gsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRztnQkFDekIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLFNBQVMsRUFBQyxZQUFZO2dCQUN0QixjQUFjLEVBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDO2FBQzNCLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUEsZUFBRyxFQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUMsRUFBRSxDQUM5QyxDQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUEsQUFBWixFQUFhLFdBQVcsRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUMsWUFBWSxDQUFDO2FBQ3pJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQ3hCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxHQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM5QixRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksR0FBSSxlQUFlLFdBQVcsVUFBVSxRQUFRLENBQUMsR0FBSSxDQUFDLElBQUksT0FBTyxTQUFTLEdBQUc7WUFDL0YsUUFBUSxDQUFDLEdBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUMsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hILE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7SUF0Q0Qsd0NBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIE90aGVyVGFibGVEZWZzfSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmltcG9ydCB7IHRlbSB9IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xyXG5pbXBvcnQgeyBJZFRhcmVhIH0gZnJvbSBcIi4uL3VubG9nZ2VkL3RpcG9zXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtX2FzaWduYWNpb24oY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICB2YXIgdGFyZWFzOiBJZFRhcmVhW10gPSBbJ2VuY3UnLCdyZWN1Jywnc3VwZSddO1xyXG4gICAgdmFyIHRhcmVhc19maWVsZHMgPSBbXHJcbiAgICAgICAge25hbWU6J3JlY2VwY2lvbmlzdGEnLCBwcmVmaWpvOidyZWMnLCBlZGl0YWJsZTp0cnVlfSxcclxuICAgICAgICB7bmFtZTonYXNpZ25hZG8nLCBwcmVmaWpvOidwZXInLCBlZGl0YWJsZTp0cnVlfSxcclxuICAgICAgICB7bmFtZTonZXN0YWRvJywgcHJlZmlqbzonZXN0JywgZWRpdGFibGU6ZmFsc2V9XHJcbiAgICBdXHJcbiAgICB2YXIgZXh0cmFGaWVsZHM6RmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHZhciBleHRyYUZyb20gPSAnJztcclxuICAgIHZhciBleHRyYVNlbGVjdCA9ICdcXG4nO1xyXG4gICAgdmFyIG90aGVyVGFibGVEZWZzOk90aGVyVGFibGVEZWZzID0ge31cclxuXHJcbiAgICB0YXJlYXMuZm9yRWFjaCh0PT57XHJcbiAgICAgICAgdGFyZWFzX2ZpZWxkcy5mb3JFYWNoKGY9PntcclxuICAgICAgICAgICAgZXh0cmFGaWVsZHMucHVzaCh7bmFtZTpgJHtmLnByZWZpam99XyR7dH1gLCB0eXBlTmFtZTondGV4dCcsIHRhYmxlOmB0ZW1fJHt0fWAsIG5hbWVGb3JVcHNlcnQ6Zi5uYW1lLCBlZGl0YWJsZTpmLmVkaXRhYmxlfSk7XHJcbiAgICAgICAgICAgIGV4dHJhU2VsZWN0ICs9IGAsIHRlbV8ke3R9LiR7Zi5uYW1lfSBhcyAke2YucHJlZmlqb31fJHt0fWA7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBleHRyYUZyb20gKz0gYCBcclxuICAgICAgICAgICAgbGVmdCBqb2luIHRhcmVhc190ZW0gYXMgdGVtXyR7dH0gb24gdGVtXyR7dH0ub3BlcmF0aXZvID0gdC5vcGVyYXRpdm8gYW5kIHRlbV8ke3R9LmVuYyA9IHQuZW5jIGFuZCB0ZW1fJHt0fS50YXJlYSA9ICcke3R9J2A7IFxyXG4gICAgICAgIG90aGVyVGFibGVEZWZzW2B0ZW1fJHt0fWBdID0ge1xyXG4gICAgICAgICAgICBuYW1lOiAndGFyZWFzX3RlbScsIFxyXG4gICAgICAgICAgICB0YWJsZU5hbWU6J3RhcmVhc190ZW0nLCBcclxuICAgICAgICAgICAgcHJlZmlsbGVkRmllbGQ6e3RhcmVhOnR9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgIFxyXG4gICAgdmFyIHRhYmxlRGVmID0gdGVtKGNvbnRleHQsIHt9KTtcclxuICAgIHRhYmxlRGVmLm5hbWUgPSBgdGVtX2FzaWduYWNpb25gO1xyXG4gICAgdGFibGVEZWYuZmllbGRzID0gdGFibGVEZWYuZmllbGRzLmZpbHRlcigoZmllbGQpPT5cclxuICAgICAgICBbJ29wZXJhdGl2bycsJ2VuYycsJ3RhcmVhX2FjdHVhbCcsICdlc3RhZG9fYWN0dWFsJywgLyonYWJyaXInKi8sJ2hhYmlsaXRhcicsJ2hhYmlsaXRhZGEnLCAnYXJlYScsICd0YXJlYV9wcm94aW1hJywgJ2NhcmdhZG8nLCdjYXJnYWRvX2RtJ11cclxuICAgICAgICAuaW5jbHVkZXMoZmllbGQubmFtZSlcclxuICAgICkuY29uY2F0KGV4dHJhRmllbGRzKTtcclxuICAgIHRhYmxlRGVmLnJlZnJlc2NhYmxlID0gdHJ1ZTtcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgdGFibGVEZWYuc3FsIS5mcm9tID0gIGAoc2VsZWN0IHQuKiAke2V4dHJhU2VsZWN0fSBmcm9tICgke3RhYmxlRGVmLnNxbCEuZnJvbX0pIHQgJHtleHRyYUZyb219KWAsXHJcbiAgICB0YWJsZURlZi5zcWwhLm90aGVyVGFibGVEZWZzID0gb3RoZXJUYWJsZURlZnM7XHJcbiAgICB0YWJsZURlZi5kZXRhaWxUYWJsZXMgPSB0YWJsZURlZi5kZXRhaWxUYWJsZXMuZmlsdGVyKChkZXRhaWxUYWJsZSk9PlsndGFyZWFzX3RlbSddLmluY2x1ZGVzKGRldGFpbFRhYmxlLnRhYmxlKSk7XHJcbiAgICByZXR1cm4gdGFibGVEZWZcclxufVxyXG5cclxuIl19
@@ -1,3 +1,3 @@
1
1
  /// <reference types="backend-plus" />
2
2
  import { TableDefinition, TableContext } from "./types-dmencu";
3
- export declare function diccionario(context: TableContext): TableDefinition;
3
+ export declare function tem_recepcion(context: TableContext): TableDefinition;
@@ -0,0 +1,19 @@
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_recepcion = void 0;
13
+ const table_tem_1 = require("./table-tem");
14
+ function tem_recepcion(context) {
15
+ return (0, table_tem_1.tem)(context, { recepcion: true });
16
+ }
17
+ exports.tem_recepcion = tem_recepcion;
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtX3JlY2VwY2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtdGVtX3JlY2VwY2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLDJDQUFnQztJQUVoQyxTQUFnQixhQUFhLENBQUMsT0FBb0I7UUFDOUMsT0FBTyxJQUFBLGVBQUcsRUFBQyxPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHt0ZW19IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlbV9yZWNlcGNpb24oY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICByZXR1cm4gdGVtKGNvbnRleHQsIHtyZWNlcGNpb246dHJ1ZX0pO1xyXG59XHJcbiJdfQ==
@@ -14,8 +14,9 @@ BEGIN
14
14
  inner join base.estados_acciones ea using (operativo, estado)
15
15
  inner join tem te using (operativo,enc)
16
16
  left join tokens tok on t.cargado_dm=tok.token
17
- left join viviendas v on (te.operativo = v.operativo and te.enc = v.vivienda)
17
+ left join viviendas v on (te.operativo = v.operativo and te.enc = v.vivienda)
18
18
  left join no_rea nr on (te.norea::text = nr.no_rea)
19
+ left join tareas_tem tta on (te.operativo = tta.operativo and te.enc = tta.enc and te.tarea_actual = tta.tarea)
19
20
  where t.operativo='||quote_literal(p_operativo)||
20
21
  ' and t.estado='||quote_literal(p_estado)||
21
22
  ' and t.enc='||quote_literal(p_enc)||
@@ -17,14 +17,15 @@ AS $BODY$
17
17
  v_rea_sup integer;
18
18
  v_norea_sup integer;
19
19
  v_estado text;
20
+ v_verificado text;
20
21
  begin
21
22
  if old.tarea_actual is distinct from new.tarea_actual and new.tarea_actual is not null and old.tarea_actual is not null then
22
23
  select coalesce(max(orden),0)+1 into v_proximo_orden
23
24
  from historial_tem
24
25
  where operativo = old.operativo and enc = old.enc;
25
26
 
26
- select recepcionista, asignado, resumen_estado, resumen_estado_sup, rea, norea, rea_sup, norea_sup, estado into
27
- v_recepcionista, v_asignado, v_resumen_estado, v_resumen_estado_sup, v_rea, v_norea, v_rea_sup, v_norea_sup, v_estado
27
+ select recepcionista, asignado, resumen_estado, resumen_estado_sup, rea, norea, rea_sup, norea_sup, estado, verificado into
28
+ v_recepcionista, v_asignado, v_resumen_estado, v_resumen_estado_sup, v_rea, v_norea, v_rea_sup, v_norea_sup, v_estado, v_verificado
28
29
  from tareas_tem
29
30
  where operativo = old.operativo and enc = old.enc and tarea = old.tarea_actual;
30
31
 
@@ -33,8 +34,8 @@ begin
33
34
  from tem
34
35
  where operativo = old.operativo and enc = old.enc;
35
36
 
36
- insert into historial_tem (operativo, enc, orden, tarea, estado, ts_salida, recepcionista, asignado, json_encuesta, resumen_estado, resumen_estado_sup, rea, norea, rea_sup, norea_sup) values
37
- (old.operativo, old.enc, v_proximo_orden, old.tarea_actual, v_estado, current_timestamp, v_recepcionista, v_asignado, v_json_encuesta, v_resumen_estado, v_resumen_estado_sup, v_rea, v_norea, v_rea_sup, v_norea_sup);
37
+ insert into historial_tem (operativo, enc, orden, tarea, estado, verificado, ts_salida, recepcionista, asignado, json_encuesta, resumen_estado, resumen_estado_sup, rea, norea, rea_sup, norea_sup) values
38
+ (old.operativo, old.enc, v_proximo_orden, old.tarea_actual, v_estado, v_verificado, current_timestamp, v_recepcionista, v_asignado, v_json_encuesta, v_resumen_estado, v_resumen_estado_sup, v_rea, v_norea, v_rea_sup, v_norea_sup);
38
39
  end if;
39
40
  return new;
40
41
  end;
@@ -37,7 +37,7 @@ begin
37
37
  raise 'ERROR: no se puede desverificar la tarea % ya que la tarea siguiente (%) se encuentra asignada', new.tarea, v_tarea_actual;
38
38
  end if;
39
39
  else
40
- if v_tarea_final is distinct from new.tarea then
40
+ if v_tarea_actual is distinct from new.tarea then
41
41
  raise 'ERROR: no se puede desverificar la tarea % ya que no es la ultima anterior a la actual', new.tarea;
42
42
  end if;
43
43
  end if;
@@ -58,7 +58,7 @@ CREATE OR REPLACE FUNCTION comun.es_par(p_valor anyelement)
58
58
  AS $BODY$select case when mod(p_valor,2)=0 then TRUE else FALSE end$BODY$
59
59
  LANGUAGE 'sql'
60
60
  IMMUTABLE ;
61
-
61
+
62
62
  CREATE OR REPLACE FUNCTION comun.cadena_normalizar(
63
63
  p_cadena text)
64
64
  RETURNS text
@@ -81,5 +81,4 @@ select entrada, esperado, comun.cadena_normalizar(entrada)
81
81
  where esperado is distinct from comun.cadena_normalizar(entrada);
82
82
  */
83
83
  select upper(trim(regexp_replace(translate ($1, 'ÁÀÃÄÂÅÉÈËÊÍÌÏÎÓÒÖÔÕÚÙÜÛáàãäâåéèëêíìïîóòöôõúùüûçÇ¿¡!:;,?¿"./,()_^[]*$', 'AAAAAAEEEEIIIIOOOOOUUUUaaaaaaeeeeiiiiooooouuuu '), ' {2,}',' ','g')));
84
- $BODY$;
85
-
84
+ $BODY$;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dmencu",
3
3
  "description": "DM Encu - Encuestas en dispositivo móvil",
4
- "version": "0.8.14",
4
+ "version": "0.8.16",
5
5
  "author": "Codenautas <codenautas@googlegroups.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/server/server/app-dmencu.js",
@@ -1,33 +0,0 @@
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.diccionario = void 0;
13
- function diccionario(context) {
14
- var _a;
15
- var permitidoeditar = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.encuestas.procesar;
16
- return {
17
- name: 'diccionario',
18
- elementName: 'diccionario',
19
- editable: permitidoeditar,
20
- fields: [
21
- { name: "diccionario", typeName: "text", nullable: false },
22
- { name: "completo", typeName: "boolean" },
23
- ],
24
- primaryKey: ['diccionario'],
25
- detailTables: [
26
- { table: 'dicvar', fields: ['diccionario'], abr: 'V', title: 'Dicc. Variables' },
27
- { table: 'dictra', fields: ['diccionario'], abr: 'T', title: 'Dicc. Traducción' }
28
- ]
29
- };
30
- }
31
- exports.diccionario = diccionario;
32
- });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGljY2lvbmFyaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3RhYmxlLWRpY2Npb25hcmlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBSWIsU0FBZ0IsV0FBVyxDQUFDLE9BQW9COztRQUM1QyxJQUFJLGVBQWUsR0FBRyxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDeEQsT0FBTztZQUNILElBQUksRUFBRSxhQUFhO1lBQ25CLFdBQVcsRUFBRSxhQUFhO1lBQzFCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLE1BQU0sRUFBRTtnQkFDSixFQUFFLElBQUksRUFBRSxhQUFhLEVBQU8sUUFBUSxFQUFFLE1BQU0sRUFBTSxRQUFRLEVBQUMsS0FBSyxFQUFHO2dCQUNuRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBb0I7YUFDdEU7WUFDRCxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDM0IsWUFBWSxFQUFDO2dCQUNULEVBQUMsS0FBSyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxpQkFBaUIsRUFBRTtnQkFDM0UsRUFBQyxLQUFLLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLGtCQUFrQixFQUFDO2FBQzlFO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFoQkQsa0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkaWNjaW9uYXJpbyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBwZXJtaXRpZG9lZGl0YXIgPSBjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXMucHJvY2VzYXI7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6ICdkaWNjaW9uYXJpbycsXHJcbiAgICAgICAgZWxlbWVudE5hbWU6ICdkaWNjaW9uYXJpbycsXHJcbiAgICAgICAgZWRpdGFibGU6IHBlcm1pdGlkb2VkaXRhcixcclxuICAgICAgICBmaWVsZHM6IFtcclxuICAgICAgICAgICAgeyBuYW1lOiBcImRpY2Npb25hcmlvXCIgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgICwgbnVsbGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJjb21wbGV0b1wiICAgICAgICAsIHR5cGVOYW1lOiBcImJvb2xlYW5cIiAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTogWydkaWNjaW9uYXJpbyddLFxyXG4gICAgICAgIGRldGFpbFRhYmxlczpbXHJcbiAgICAgICAgICAgIHt0YWJsZTonZGljdmFyJywgZmllbGRzOlsnZGljY2lvbmFyaW8nXSwgYWJyOidWJywgdGl0bGU6J0RpY2MuIFZhcmlhYmxlcycgfSxcclxuICAgICAgICAgICAge3RhYmxlOidkaWN0cmEnLCBmaWVsZHM6WydkaWNjaW9uYXJpbyddLCBhYnI6J1QnLCB0aXRsZTonRGljYy4gVHJhZHVjY2nDs24nfVxyXG4gICAgICAgIF1cclxuICAgIH07XHJcbn0iXX0=
@@ -1,48 +0,0 @@
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.dictra = void 0;
13
- function dictra(context) {
14
- var _a;
15
- var permitidoeditar = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.encuestas.procesar;
16
- ;
17
- return {
18
- name: 'dictra',
19
- elementName: 'dictra',
20
- editable: permitidoeditar,
21
- fields: [
22
- { name: "diccionario", typeName: "text", nullable: false, references: 'diccionario' },
23
- { name: "origen", typeName: "text", nullable: false },
24
- { name: "destino", typeName: "integer" },
25
- ],
26
- primaryKey: ['diccionario', 'origen'],
27
- foreignKeys: [
28
- { references: 'diccionario', fields: ['diccionario'], displayFields: [] },
29
- ],
30
- /*
31
- constraints:[
32
- {
33
- constraintType:'check',
34
- consName:'texto de diccionario inválido',
35
- expr:"(comun.cadena_valida(dictra_texto::text, 'castellano'::text)),"
36
- },
37
- {
38
- constraintType:'check',
39
- consName:'texto invalido en dictra_ori de tabla dictra',
40
- expr:"(comun.cadena_valida(dictra_ori, 'castellano'::text)),"
41
- },
42
- ]
43
- */
44
- };
45
- }
46
- exports.dictra = dictra;
47
- });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGljdHJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS1kaWN0cmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYixTQUFnQixNQUFNLENBQUMsT0FBb0I7O1FBQ3ZDLElBQUksZUFBZSxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUFBLENBQUM7UUFDekQsT0FBTztZQUNILElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLGVBQWU7WUFDekIsTUFBTSxFQUFFO2dCQUNKLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBSyxRQUFRLEVBQUUsTUFBTSxFQUFPLFFBQVEsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRztnQkFDN0YsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQU8sUUFBUSxFQUFDLEtBQUssRUFBRztnQkFDbEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFTLFFBQVEsRUFBRSxTQUFTLEVBQXFCO2FBQ3JFO1lBQ0QsVUFBVSxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztZQUNyQyxXQUFXLEVBQUM7Z0JBQ1IsRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFNLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUM7YUFDM0U7WUFDRDs7Ozs7Ozs7Ozs7OzthQWFDO1NBQ0osQ0FBQztJQUNOLENBQUM7SUE5QkQsd0JBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkaWN0cmEoY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICB2YXIgcGVybWl0aWRvZWRpdGFyID0gY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzLnByb2Nlc2FyOztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogJ2RpY3RyYScsXHJcbiAgICAgICAgZWxlbWVudE5hbWU6ICdkaWN0cmEnLFxyXG4gICAgICAgIGVkaXRhYmxlOiBwZXJtaXRpZG9lZGl0YXIsXHJcbiAgICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJkaWNjaW9uYXJpb1wiICAgLCB0eXBlTmFtZTogXCJ0ZXh0XCIgICAgICwgbnVsbGFibGU6ZmFsc2UsIHJlZmVyZW5jZXM6ICdkaWNjaW9uYXJpbycgIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJvcmlnZW5cIiAgICAgICAgLCB0eXBlTmFtZTogXCJ0ZXh0XCIgICAgICwgbnVsbGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJkZXN0aW5vXCIgICAgICAgLCB0eXBlTmFtZTogXCJpbnRlZ2VyXCIgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgXSwgXHJcbiAgICAgICAgcHJpbWFyeUtleTogWydkaWNjaW9uYXJpbycsICdvcmlnZW4nXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidkaWNjaW9uYXJpbycgICAgLCBmaWVsZHM6IFsnZGljY2lvbmFyaW8nXSxkaXNwbGF5RmllbGRzOltdfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgY29uc3RyYWludHM6W1xyXG4gICAgICAgICAgICB7ICAgXHJcbiAgICAgICAgICAgICAgICBjb25zdHJhaW50VHlwZTonY2hlY2snLCBcclxuICAgICAgICAgICAgICAgIGNvbnNOYW1lOid0ZXh0byBkZSBkaWNjaW9uYXJpbyBpbnbDoWxpZG8nLCBcclxuICAgICAgICAgICAgICAgIGV4cHI6XCIoY29tdW4uY2FkZW5hX3ZhbGlkYShkaWN0cmFfdGV4dG86OnRleHQsICdjYXN0ZWxsYW5vJzo6dGV4dCkpLFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRUeXBlOidjaGVjaycsIFxyXG4gICAgICAgICAgICAgICAgY29uc05hbWU6J3RleHRvIGludmFsaWRvIGVuIGRpY3RyYV9vcmkgZGUgdGFibGEgZGljdHJhJywgXHJcbiAgICAgICAgICAgICAgICBleHByOlwiKGNvbXVuLmNhZGVuYV92YWxpZGEoZGljdHJhX29yaSwgJ2Nhc3RlbGxhbm8nOjp0ZXh0KSksXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgICAqL1xyXG4gICAgfTtcclxufSJdfQ==
@@ -1,33 +0,0 @@
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.dicvar = void 0;
13
- function dicvar(context) {
14
- var _a;
15
- var permitidoeditar = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.encuestas.procesar;
16
- return {
17
- name: 'dicvar',
18
- elementName: 'dicvar',
19
- editable: permitidoeditar,
20
- fields: [
21
- { name: "diccionario", typeName: "text", nullable: false, references: 'diccionario' },
22
- { name: "variable", typeName: "text", nullable: false, }
23
- ],
24
- primaryKey: ['diccionario', 'variable'],
25
- foreignKeys: [
26
- { references: 'diccionario', fields: ['diccionario'], displayFields: [] },
27
- ]
28
- //TODO validar variable por trigger
29
- };
30
- }
31
- exports.dicvar = dicvar;
32
- });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGljdmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS1kaWN2YXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYixTQUFnQixNQUFNLENBQUMsT0FBb0I7O1FBQ3ZDLElBQUksZUFBZSxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUN4RCxPQUFPO1lBQ0gsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsUUFBUTtZQUNyQixRQUFRLEVBQUUsZUFBZTtZQUN6QixNQUFNLEVBQUU7Z0JBQ0osRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFNLFFBQVEsRUFBRSxNQUFNLEVBQU8sUUFBUSxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFHO2dCQUM5RixFQUFFLElBQUksRUFBRSxVQUFVLEVBQVMsUUFBUSxFQUFFLE1BQU0sRUFBTyxRQUFRLEVBQUMsS0FBSyxHQUFhO2FBQ2hGO1lBQ0QsVUFBVSxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztZQUN2QyxXQUFXLEVBQUM7Z0JBQ1IsRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFHLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUM7YUFDeEU7WUFDRCxtQ0FBbUM7U0FDdEMsQ0FBQztJQUNOLENBQUM7SUFoQkQsd0JBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkaWN2YXIoY29udGV4dDpUYWJsZUNvbnRleHQpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICB2YXIgcGVybWl0aWRvZWRpdGFyID0gY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzLnByb2Nlc2FyO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiAnZGljdmFyJyxcclxuICAgICAgICBlbGVtZW50TmFtZTogJ2RpY3ZhcicsXHJcbiAgICAgICAgZWRpdGFibGU6IHBlcm1pdGlkb2VkaXRhcixcclxuICAgICAgICBmaWVsZHM6IFtcclxuICAgICAgICAgICAgeyBuYW1lOiBcImRpY2Npb25hcmlvXCIgICAgLCB0eXBlTmFtZTogXCJ0ZXh0XCIgICAgICwgbnVsbGFibGU6ZmFsc2UsIHJlZmVyZW5jZXM6ICdkaWNjaW9uYXJpbycgIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJ2YXJpYWJsZVwiICAgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgICAsIG51bGxhYmxlOmZhbHNlLCAgICAgICAgICAgfVxyXG4gICAgICAgIF0sIFxyXG4gICAgICAgIHByaW1hcnlLZXk6IFsnZGljY2lvbmFyaW8nLCAndmFyaWFibGUnXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidkaWNjaW9uYXJpbycgLCBmaWVsZHM6IFsnZGljY2lvbmFyaW8nXSxkaXNwbGF5RmllbGRzOltdfSxcclxuICAgICAgICBdXHJcbiAgICAgICAgLy9UT0RPIHZhbGlkYXIgdmFyaWFibGUgcG9yIHRyaWdnZXJcclxuICAgIH07XHJcbn0iXX0=
@@ -1,26 +0,0 @@
1
- --funciones para diccionarios
2
- -- TODO Mejorar dic_parte
3
-
4
- CREATE OR REPLACE FUNCTION dic_tradu(
5
- p_dic text,
6
- p_origen text)
7
- RETURNS integer
8
- LANGUAGE 'sql'
9
- STABLE
10
- AS $BODY$
11
- select destino from dictra where diccionarioc=p_dic and origen=comun.cadena_normalizar(p_origen)
12
- $BODY$;
13
-
14
- CREATE OR REPLACE FUNCTION dic_parte(
15
- p_dic text,
16
- p_origen text,
17
- p_destino integer)
18
- RETURNS boolean
19
- LANGUAGE 'sql'
20
- STABLE
21
- AS $BODY$
22
- select p_origen ~*
23
- ('(\m' || coalesce((select string_agg(origen, '\M|\m')
24
- from dictra
25
- where diccionario=p_dic and destino=p_destino),'')|| '\M)' )
26
- $BODY$;
@@ -1,67 +0,0 @@
1
- --set role to preju2022_owner;
2
- --set search_path = base;
3
-
4
- CREATE OR REPLACE FUNCTION sincronizacion_tem_trg()
5
- RETURNS trigger
6
- LANGUAGE 'plpgsql'
7
- AS $BODY$
8
- declare
9
- datos jsonb=new.json_encuesta;
10
- v_cant_p integer;
11
- v_seleccionado text;
12
- v_con_rea_hogar boolean;
13
- begin
14
- select con_rea_hogar
15
- into v_con_rea_hogar
16
- from operativos where operativo=new.operativo;
17
-
18
- select sum (total_m) as cant_p--sum(jsonb_array_length(personas))
19
- ,case when sum(jsonb_array_length(datos->'hogares'))>1
20
- then string_agg('h'||ordinality||':'||coalesce(elegido::text,'')||'-'||coalesce(case when elegido_excep then msnombre_excep else msnombre end),',' order by ordinality)
21
- else min(elegido)||'-'||min(case when elegido_excep then msnombre_excep else msnombre end )
22
- end as seleccionado
23
- into v_cant_p, v_seleccionado
24
- from (select * --ordinality, total_m, cr_num_miembro,cr_num_miembro_ing ,msnombre, personas
25
- ,coalesce(cr_num_miembro_ing::integer, cr_num_miembro) elegido
26
- ,case when (new.dominio=5 or (datos?'soporte' and (datos->>'soporte')='1' )) and cr_num_miembro_ing is not null then true else null end elegido_excep
27
- ,case when (personas->(cr_num_miembro_ing::integer-1))?'nombre' then (personas->cr_num_miembro_ing-1)->>'nombre' else null end msnombre_excep
28
- from rows from (jsonb_to_recordset(datos->'hogares') as (total_m integer, cr_num_miembro integer, cr_num_miembro_ing integer,msnombre text, personas jsonb)
29
- ) with ordinality
30
- as hogares (total_m, cr_num_miembro, cr_num_miembro_ing, msnombre, personas)
31
- ) hogares_plus;
32
-
33
- if v_con_rea_hogar then
34
- new.cant_h = (datos ->>'total_h') ::integer ;
35
- new.cant_p = v_cant_p ;
36
- new.seleccionado = v_seleccionado;
37
- else
38
- new.cant_p = (datos ->>'total_m') ::integer ;
39
- v_elegido = coalesce(datos ->>'cr_num_miembro_ing', datos ->>'cr_num_miembro';
40
- new.seleccionado = concat_ws('-',v_elegido, (datos->'personas'), ;
41
- end if;
42
-
43
-
44
-
45
- if old.json_encuesta is distinct from datos then
46
- new.modificado= current_timestamp;
47
- end if;
48
-
49
- return new;
50
- end;
51
- $BODY$;
52
-
53
- -- /*
54
- CREATE TRIGGER sincronizacion_tem_trg
55
- BEFORE INSERT OR UPDATE OF json_encuesta, obs
56
- ON tem
57
- FOR EACH ROW
58
- EXECUTE PROCEDURE sincronizacion_tem_trg();
59
-
60
- -- */
61
-
62
- /*
63
- --para forzar sincro
64
- update tem
65
- set obs=obs
66
- where json_encuesta is not null;
67
- */
@@ -1,55 +0,0 @@
1
- --set role to preju2022_owner;
2
- --set search_path = base;
3
-
4
- CREATE OR REPLACE FUNCTION sincronizacion_tem_trg()
5
- RETURNS trigger
6
- LANGUAGE 'plpgsql'
7
- AS $BODY$
8
- declare
9
- datos jsonb=new.json_encuesta;
10
- v_cant_p integer;
11
- v_seleccionado text;
12
- begin
13
- select sum (total_m) as cant_p--sum(jsonb_array_length(personas))
14
- ,case when sum(jsonb_array_length(datos->'hogares'))>1
15
- then string_agg('h'||ordinality||':'||coalesce(elegido::text,'')||'-'||coalesce(case when elegido_excep then msnombre_excep else msnombre end),',' order by ordinality)
16
- else min(elegido)||'-'||min(case when elegido_excep then msnombre_excep else msnombre end )
17
- end as seleccionado
18
- into v_cant_p, v_seleccionado
19
- from (select * --ordinality, total_m, cr_num_miembro,cr_num_miembro_ing ,msnombre, personas
20
- ,coalesce(cr_num_miembro_ing::integer, cr_num_miembro) elegido
21
- ,case when (new.dominio=5 or (datos?'soporte' and (datos->>'soporte')='1' )) and cr_num_miembro_ing is not null then true else null end elegido_excep
22
- ,case when (personas->(cr_num_miembro_ing::integer-1))?'nombre' then (personas->cr_num_miembro_ing-1)->>'nombre' else null end msnombre_excep
23
- from rows from (jsonb_to_recordset(datos->'hogares') as (total_m integer, cr_num_miembro integer, cr_num_miembro_ing integer,msnombre text, personas jsonb)
24
- ) with ordinality
25
- as hogares (total_m, cr_num_miembro, cr_num_miembro_ing, msnombre, personas)
26
- ) hogares_plus;
27
-
28
- new.cant_h = (datos ->>'total_h') ::integer ;
29
- --new.cant_h = jsonb_array_length(datos ->'hogares');
30
-
31
- new.cant_p = v_cant_p ;
32
- new.seleccionado = v_seleccionado;
33
- if old.json_encuesta is distinct from datos then
34
- new.modificado= current_timestamp;
35
- end if;
36
-
37
- return new;
38
- end;
39
- $BODY$;
40
-
41
- -- /*
42
- CREATE TRIGGER sincronizacion_tem_trg
43
- BEFORE INSERT OR UPDATE OF json_encuesta, obs
44
- ON tem
45
- FOR EACH ROW
46
- EXECUTE PROCEDURE sincronizacion_tem_trg();
47
-
48
- -- */
49
-
50
- /*
51
- --para forzar sincro
52
- update tem
53
- set obs=obs
54
- where json_encuesta is not null;
55
- */