udistrital / sisifo_documentacion

0 stars 0 forks source link

Establecer estructura de mapeo entre microservicio CRUD y microcliente formularios dinámicos #192

Closed edwargl7 closed 1 month ago

edwargl7 commented 1 month ago

Se requiere realizar la comparación entre la estructura usada por el microcliente y la estructura entregada por el microservicio CRUD, para establecer las transformaciones requeridas por el MID. Adicional, se requiere realizar el registro de los datos paramétricos requeridos en los formularios de registro de los planes de auditoría en el servicio de parametros_crud.

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

CristianCGutierrezG commented 1 month ago

Estructura almacenada en el microservicio CRUD

Estructura de ejemplo actual para almacenar una plantilla en el servicio CRUD, adaptando el mock de SGA usada para el microcliente e incluye todo los tipos de campos que actualmente renderiza el cliente

{
    "modulo_id": "66d60e724a11b8c318d4b10f",
    "formulario": {
        "nombre": "Formulario de prueba",
        "descripcion": "Prueba",
        "creado_por_id": 1,
        "traduccion": true,
        "label": {
            "valor": "Formulario de prueba"
        },
        "periodo_id": 3,
        "seccion": [
            {
                "nombre": "Información Personal",
                "campo": [
                    {
                        "nombre": "nombre",
                        "descripcion": "Nombre del usuario",
                        "label": {
                            "valor": "Nombre"
                        },
                        "tipo": "text",
                        "placeholder": {
                            "valor": "Escriba aquí su nombre"
                        },
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            },
                            {
                                "tipo": "min",
                                "valor": "10"
                            },
                            {
                                "tipo": "max",
                                "valor": "10"
                            }
                        ]
                    },
                    {
                        "nombre": "apellidos",
                        "label": {
                            "valor": "Apellidos"
                        },
                        "parametros": {
                            "valor": "valor por default"
                        },
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "text",
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            }
                        ]
                    },
                    {
                        "nombre": "nickname",
                        "label": {
                            "valor": "Nickname"
                        },
                        "parametros": {
                            "valor": "tunick"
                        },
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "text",
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            }
                        ]
                    },
                    {
                        "nombre": "email",
                        "label": {
                            "valor": "Correo Electrónico"
                        },
                        "placeholder": {
                            "valor": "Ex. pat@example.com"
                        },
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            },
                            {
                                "Tipo": "email",
                                "valor": ""
                            }
                        ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "email"
                    },
                    {
                        "nombre": "edad",
                        "label": {
                            "valor": "Edad"
                        },
                        "placeholder": {
                            "valor": "Ex. pat@example.com"
                        },
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            },
                            {
                                "Tipo": "min",
                                "valor": "10"
                            },
                            {
                                "Tipo": "max",
                                "valor": "10"
                            }
                        ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "number"
                    }
                ]
            },
            {
                "nombre": "Preferencias",
                "descripcion": "Descripcion opcional",
                "campo": [
                    {
                        "nombre": "genero",
                        "label": {
                            "valor": "Género"
                        },
                        "parametros": {
                            "opciones": [
                                {
                                    "valor": "masculino",
                                    "etiqueta": "Masculino"
                                },
                                {
                                    "valor": "femenino",
                                    "etiqueta": "Femenino"
                                },
                                {
                                    "valor": "otro",
                                    "etiqueta": "Otro",
                                    "deshabilitado": true
                                }
                            ]
                        },
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            }
                        ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "select"
                    },
                    {
                        "nombre": "preferencia_contacto",
                        "label": {
                            "valor": "Preferencia de Contacto"
                        },
                        "parametros": {
                            "opciones": [
                                {
                                    "valor": "email",
                                    "etiqueta": "Correo Electrónico"
                                },
                                {
                                    "valor": "telefono",
                                    "etiqueta": "Teléfono"
                                },
                                {
                                    "valor": "sms",
                                    "etiqueta": "SMS",
                                    "deshabilitado": true
                                },
                                {
                                    "valor": "whatsapp",
                                    "etiqueta": "Whatsapp"
                                }
                            ]
                        },
                        "validaciones": [
                            {
                                "tipo": "requerido",
                                "valor": ""
                            }
                        ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "radiobutton"
                    }
                ]
            },
            {
                "nombre": "Otros",
                "descripcion": "Datos adicionales",
                "campo": [
                    {
                        "nombre": "aceptar_terminos",
                        "label": {
                            "valor": "Aceptar Términos y condiciones"
                        },
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "checkbox",
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                    },
                    {
                        "nombre": "fecha_nacimiento",
                        "label": {
                            "valor": "Fecha de Nacimiento"
                        },
                        "parametros": {
                            "vista": "year",
                            "fecha_inicio": "1990-01-01T05:00:00.000Z"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "date"
                    },
                    {
                        "nombre": "icon",
                        "label": {
                            "valor": "Etiqueta icono"
                        },
                        "parametros": {
                            "icono": "home"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "icono"
                    },
                    {
                        "nombre": "fecha_registro",
                        "label": {
                            "valor": "Fecha de Registro"
                        },
                        "placeholder": {
                            "valor": "Ex. pat@example.com"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "date"
                    },
                    {
                        "nombre": "rangos_fechas",
                        "label": {
                            "valor": "Rango de fechas"
                        },
                        "parametros": {
                            "etiqueta_inicio": "Fecha inicio",
                            "etiqueta_fin": "Fecha fin"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "date-range"
                    },
                    {
                        "nombre": "observaciones",
                        "label": {
                            "valor": "Observaciones"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "textarea"
                    },
                    {
                        "nombre": "dinamic_select",
                        "label": {
                            "valor": "Select dinamico"
                        },
                        "parametros": {
                            "url": "https://2cdf11d5-cfd1-4086-8f11-34a5ca874ac0.mock.pstmn.io/dynamic_select"
                        },
                        "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                        "deshabilitado": false,
                        "solo_lectura": false,
                        "tipo": "select"
                    }
                ]
            }
        ]
    }
}
CristianCGutierrezG commented 1 month ago

Estructura mock usada para el microcliente

Estructura de ejemplo actual para renderizar formularios en el microcleinte de formularios dinamicos

{
    "secciones": [
        {
            "nombre": "Información Personal",
            "campos": [
                {
                    "nombre": "nombre",
                    "descripcion": "Nombre del usuario",
                    "etiqueta": "Nombre",
                    "tipo": "text",
                    "placeholder": "Escriba aquí su nombre",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "tipo": "maxLength",
                            "valor": 15
                        }
                    ]
                },
                {
                    "nombre": "apellidos",
                    "etiqueta": "Apellidos",
                    "tipo": "text",
                    "valor": "Valor por default",
                    "deshabilitado": true,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "nickname",
                    "etiqueta": "Nickname",
                    "tipo": "text",
                    "valor": "tunick",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "email",
                    "etiqueta": "Correo Electrónico",
                    "tipo": "email",
                    "placeholder": "Ex. pat@example.com",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "Tipo": "email",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "edad",
                    "etiqueta": "Edad",
                    "tipo": "number",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "Tipo": "min",
                            "valor": "10"
                        },
                        {
                            "Tipo": "max",
                            "valor": "10"
                        }
                    ]
                }
            ]
        },
        {
            "nombre": "Preferencias",
            "descripcion": "Descripcion opcional",
            "icono": "account_circle",
            "campos": [
                {
                    "nombre": "genero",
                    "etiqueta": "Género",
                    "tipo": "select",
                    "deshabilitado": false,
                    "opciones": [
                        {
                            "valor": "masculino",
                            "etiqueta": "Masculino"
                        },
                        {
                            "valor": "femenino",
                            "etiqueta": "Femenino"
                        },
                        {
                            "valor": "otro",
                            "etiqueta": "Otro",
                            "deshabilitado": true
                        }
                    ],
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "preferencia_contacto",
                    "etiqueta": "Preferencia de Contacto",
                    "tipo": "radiobutton",
                    "opciones": [
                        {
                            "valor": "email",
                            "etiqueta": "Correo Electrónico"
                        },
                        {
                            "valor": "telefono",
                            "etiqueta": "Teléfono"
                        },
                        {
                            "valor": "sms",
                            "etiqueta": "SMS",
                            "deshabilitado": true
                        },
                        {
                            "valor": "whatsapp",
                            "etiqueta": "Whatsapp"
                        }
                    ],
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false
                }
            ]
        },
        {
            "nombre": "Otros",
            "descripcion": "Datos adicionales",
            "campos": [
                {
                    "nombre": "aceptar_terminos",
                    "etiqueta": "Aceptar Términos y condiciones",
                    "tipo": "checkbox",
                    "deshabilitado": false,
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "fecha_nacimiento",
                    "etiqueta": "Fecha de Nacimiento",
                    "tipo": "date",
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false,
                    "vista": "year",
                    "fecha_inicio": "1990-01-01T05:00:00.000Z"
                },
                {
                    "nombre": "icon",
                    "etiqueta": "Etiqueta icono",
                    "tipo": "icono",
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "icono": "home"
                },
                {
                    "nombre": "fecha_registro",
                    "etiqueta": "Fecha de Registro",
                    "tipo": "date",
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false
                },
                {
                    "nombre": "rangos_fechas",
                    "etiqueta": "Rango de fechas",
                    "etiqueta_inicio": "Fecha inicio",
                    "etiqueta_fin": "Fecha fin",
                    "tipo": "date-range",
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false
                },
                {
                    "nombre": "observaciones",
                    "etiqueta": "Observaciones",
                    "tipo": "textarea",
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false
                },
                {
                    "nombre": "dinamic_select",
                    "etiqueta": "Select dinamico",
                    "tipo": "select",
                    "url": "https://acd917f8-c4c4-4438-9c06-fef9da1ed3fa.mock.pstmn.io/dynamic_select",
                   "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ],
                    "deshabilitado": false
                }
            ]
        }
    ]
}
jucastro94 commented 1 month ago

se inicia revision de medidas en parametros_crud, se presentan problemas con VPN Image

jucastro94 commented 1 month ago

se realiza analisis y comparacion de "Estructura almacenada en el microservicio CRUD" y "Estructura mock usada para el microcliente" encontrando las siguientes diferencias

tambien en estas secciones en la estructura del microservicio encuentra la clave-valor: solo_lectura pero en la estructura del mock no Image

-en la seccion de nombre "icono", para la estrutura de microservicios se cambia "etiqueta" por objeto "label" el cual contiene valor, la clave icono se aloja en objeto "parametros", hay clave "solo_lectura" Image

jucastro94 commented 1 month ago

se realiza revision de unidades de medidas en parametros_crud, se encontro:

area tipo: unidades de medidas = id:4 tipo parametro: tiempo = id:7 parametro: meses =id:180

este ultimo no tiene parametros hijos como (Enero, Febrero, Marzo, Abril, etc)

se espera a aclaracion sobre como organizar los registros

jucastro94 commented 1 month ago

se epera a aclaracion sobre los registros de tipo de evaluación y su correspondiente tipología para registrar en parametros_crud

edwargl7 commented 1 month ago

Para registrar los tipos de evaluación de Sísifo se debe agregar de la siguiente forma:

  1. Revisar el "area" asociada a Auditoría.
  2. Crear el "tipo_parametro" nuevo llamado "Tipo de Evaluación" abreviación TE.
  3. Registrar los parámetros asociados a este tipo. image
edwargl7 commented 1 month ago

Para el registro de meses se va revisar la organización requerida ya que se cuenta para medidas de tiempo registros que se debe analizar como agregar los meses requeridos.

edwargl7 commented 1 month ago

El modelo de datos de formulario dinámicos se encuentra en image

jucastro94 commented 1 month ago

se agregan campos a la coleccion campo Image

se carga nueva version en la carpeta del proyecto https://udistritaleduco-my.sharepoint.com/:f:/g/personal/computo_udistrital_edu_co/EtBVRINubSNCgEwBllcKZr4BB0s8xbPGEYx8LMtskObPDA?e=8cIcb9

jucastro94 commented 1 month ago

se crea area_tipo "Auditorías y Plan mejoramiento" Image

se crea tipo_parametro "Tipo de Evaluación" Image

se crean parametros

"Auditoría Interna" Image

"seguimiento" Image

"Informe" Image

edwargl7 commented 1 month ago

Tener presente la posibilidad de reagrupar los parámetros del microcliente en la key de parámetros y su impacto en el desarrollo actual. image

edwargl7 commented 1 month ago

image image image

edwargl7 commented 1 month ago

Buen trabajo. Se finaliza la Issue.