---
# System prepended metadata

title: CONFIGURACIÓN DE GRUPO

---

# CONFIGURACIÓN DE GRUPO
## BBDD
* jos_6c_empresa_configuracion => añadir id_empresa_configuracion_evaluaciones
## Dudas
## Tareas
### Joomla
* Añadir el campo id_empresa_configuracion_evaluaciones al modelo de empresa_configuracion y al objeto del perfil (SeysProfile::getEmpresaProfile) (1h)
* Añadir la opción de configuración de evaluaciones en el admin (4h)
* Ampliar servicio getConfigurationMatrix (CONFOHSP) (1h)
* En la pantalla de generar informe obtener la configuracion seguan la empresa propietaria (2h)
### Laravel
* Migración => jos_6c_empresa_configuracion: añadir id_empresa_configuracion_evaluaciones - 1h
* Ampliar el campo que se devuelve en la propiedad configurationModules de la session de laravel (GetSessionViewProcess) para que devuelva este nuevo módulo (código "OHSP"). - 1,5h
* Helper para comprobar si eres el dueño de la configuración o no. Si el campo de la bbdd está a null significa que la empresa logueada es la dueña de la configuración (2h)
* Evaluation methodology config => Cambiar el proceso GetEvaluationMethodConfigProcess para coger la información de la empresa padre. - 1h
* Evaluation position config => Cambiar el proceso GetEvaluationPositionConfigProcess para coger la información de la empresa padre. 1h
* Evaluation report/plani config => Cambiar el proceso para coger la información de la empresa padre. (SearchErlGlobalInfoConfigProcess) 1h
* Evaluation measure config => Cambiar el proceso para coger la información de la empresa padre. 1h
* Task config => Cambiar el proceso para coger la información de la empresa padre. 1h

* Obtener catalogo de factores mediante el id de la empresa padre. risk-factor (SearchRiskFactorProcess) 1h
* Obtener catalogo de riesgos mediante el id de la empresa padre. risk (SearchRiskProcess) 1h
* Obtener catalogo de medidas preventivas mediante el id de la empresa padre. preventive-measure (SearchPreventiveMeasureProcess) 1h
* Obtener catalogo de agentes mujeres embarazadas mediante el id de la empresa padre. pregnant (SearchPregnantProcess) 1h

* Comprobar si la empresa logueada es la dueña de la configuración para permitir modificar (4h)
    - risk-factor (UpdateRiskFactorProcess)
    - risk (UpdateRiskProcess)
    - preventive-measure (UpdatePreventiveMeasureProcess)
    - pregnant (UpdatePregnantProcess)

* Al crear la evaluación (o modelo) hay que guardar la configuración de la empresa dueña, no de la logueada. Coger las configuraciones de la evaluacion segun la configuracion de la empresa propietaria. => tabla: jos_6c_evaluaciones_riesgo, campos: configuracion_nivel_riesgo, orden_factor_riesgo, configuracion_epi, configuracion_normativa, configuracion_formacion. Modificar funciones internas del proceso CreateErlEvaluationProcess para recoger la configuracion de la empresa dueña. En dos tareas, una para evaluación y otra para modelo (6h para cada una)

* En el get de la evaluacion devolver la propiedad measureConfiguration según la configuración de la empresa propietaria (1h)

* Modificar el metodo getRisks del fichero ErlGlobalReportManager para que use el proceso SearchRiskProcess.(1h)

* Revisemos CreateEvaluationReportCustomProcess para verificar que no se necesita la configuracion de la emrpesa en ningún momento (2h)

* Revisar OhspGlobalReportManager para verificar que no se necesita la configuracion de la emrpesa en ningún momento y que sólo llama a métodos que ya hemos modificado (2h)

* Revisar los informes de evaluacion que no necesita la configuracion de la empresa en ningún momento (2h)

* En el proceso ImportMeasureToTaskProcess, en el método importOhspTaskFields, el filtro por empresa será por la empresa heredada, si la tuviera. También editar el método privado importFieldsFromCompanyConfiguration para pasar el id de la empresa heredada (3,5h)

* Revisar que el proceso OhspTaskFieldCompanyConfigProcess no se esté usando en ningún sitio, únicamente desde el controlador. Comprobar si se hace join a jos_planificaciones_tareas_campo_config_empresa (2h)

* Revisar importación y clonación de evaluaciones para ver si coge algo de la configuración (2h)

* Pruebas y arreglos (1d)

----

* En los procesos que obtienen la configuración de la evaluación (evaluation-methodology-configuration, ohsp-task-field, evaluation-position-configuration, erl-config, evaluation-measure-configuration, risk-factor, risk, preventive-measure, pregnant) habrá que devolver la configuración dependiendo dela configuración de la empresa
* En los procesos que modifican la configuración de la evaluación (evaluation-methodology-configuration, ohsp-task-field, evaluation-position-configuration, erl-config, evaluation-measure-configuration, risk-factor, risk, preventive-measure, pregnant) habrá que comprobar si la empresa logueada es la dueña de la configuración para permitir modificar
* Al crear la evaluación (o modelo) hay que guardar la configuración de la empresa dueña, no de la logueada. Coger las configuraciones de la evaluacion segun la configuracion de la empresa propietaria. 
* En el get de la evaluacion devolver la propiedad measureConfiguration según la configuración de la empresa propietaria
* Ajustar los informes globales de planif y evaluaciones y el de la ficha de puesto
* Revisar los informes de evaluacion
* Revisar el proceso de crear la planificación, para que importe la configuración de las tareas que toque
* En el get de tarea revisar como se obtiene el campo fieldsConfig, tendrá que venir de la empresa dueña de la configuración
### Angular
* Crear entidad configurationModules y añadirla al sessionModel (1h)
* Pintar en el componente CompaniesConfigurationsMatrixComponent la nueva sección de evaluaciones (1h)
* Mostrar pantalla de aviso en lugar de la edición de la configuración si la empresa logueada no es la dueña de la configuración (la información está en la sesión) (es dueño si el idCompany es null o igual al de la empresa): (1h)
    * ![](https://i.imgur.com/s67kyvL.png)
* Arreglar logos de la empresas en CompaniesConfigurationsMatrixComponent (1h)
* Refactorizar sessionModule, AdminModel, SectionModel, pasar a Entity. En el sessionModule se puede borrar la llamada de getNumEvents y numNotifications. La de numtask moverla al navbar (hacerla solo si hay client company, las invitadas no tienen tareas) (5h)




# MÉTODOS GENÉRICOS
## BBDD
* Añadir un campo resultado en la tabla jos_6c_evaluaciones_riesgo
## Dudas
* Tareas: importar desde excel: modal ? ¿Se pueden editar (añadimos la opcion de sobreescribir campos vacíos)?
* Los campos en el informe (resultado y conclusiones) deben ser enriquecidos ? Porque no se van a mostrar en el informe 
* Se puede subir el informe en la planificacion?
* Como gestionamos los errores en los excels cuando las referencias coinciden??
* Evaluaciones modelo: Al importarlas, no importa los adjuntos => al importar desde una modelo o al importar una modelo en una generica. Funciona!!! darle al check!!  gentuza
## Tareas
* ### Joomla
* Añadir los nuevos métodos en los widgets de evaluaciones
### Laravel
* Añadir migracion => Añadir un campo resultado (140) en la tabla jos_6c_evaluaciones_riesgo (1h)
* Openapi (ajustes, cogidos para nuevos metodos: SPESEC, SPEERG, SPEHYG, SPEPSI) (1h)
* Para las evaluaciones con los nuevos métodos, se creará la planificación al crear la evaluación. (5h)
* En el get de evaluaciones devolver los campos resultado (nuevo) y conclusiones (1h)
* En el put de evaluaciones recibir los campos resultado (nuevo) y conclusiones (90m)
* Ajustar la creación de tareas para estos métodos. Añadir test, probar. (3h)
* Importar tareas desde excel para estos métodos. Usar AbstractMassiveImportXlsScan (ver cualquier proceso que lo use). Ampliar el input del createTaskProcess con todos los campos del xls de tareas. (10h)
* Evaluaciones modelo: Al importarlas, no importa los adjuntos => al importar desde una modelo o al importar una modelo en una generica. Funciona!!! darle al check!!  gentuza

### Angular
* En listado de evaluaciones añadir en los selectores de método los nuevos métodos creados ==> ojo con el enlace al método (en ppio irá bien) (4h)
    * Añadir etiquetas
    * Añadir codigos en las constantes
    * Añadir en el filtro externo superior
    * No UT
* En creación de evaluación -> añadir en el selector de método los nuevos métodos y asociar la especialidad directamente (1d)
    * Disponibles a todos los niveles salvo estudio de empresa
    * Al seleccionar el método cargará su especialidad correspondiente
    * No UT
* En la pestaña informe añadir campo resultado y conclusiones (ver duda). (3h sin texto enriquecido, 4h con el editor que ya tenemos, si hay que cambiar estilos ???)
    * Ampliar servicio , mapper e interfaz con los nuevos campos (resultado y conclusiones) para mandar en el put de estas evaluciones estos campos (ora-evaluation) (no tocar el mapper loca!!)
* Ajustes ficha de evaluacion (4h)
    * Pestaña análisis fuera, mala vibra fuera 
    * En notas, no habilitar la opción de llevarla al informe ==> como fpsico
    * En la pestaña Word/PDF se ocultarán los botones de previsualizar y generar. Solo se podrá subir un informe externo ==> como fpsico ?
* En planificaciones (1d 2h)
    * Pestaña de tareas: Quitar selects, habilitar boton de crear tarea (enviar originId y originType) y añadir boton de subir tareas desde excel. Luego recargar la tabla
        * Añadir metodo para subir xls
        * El boton de importar tareas desde excel sera como el de ora-evaluation/informe importar ??
* Word/excel/pdf: en la pestaña mantener solo excel, dejar titulo como solo excel. (3h)
    * Al generar: si se permite subir manterner las dos opciones, sino solo el campo descripción
* Ajuste de los 3 puntos ...: quitar el app-elipsis-text y hacerlo a manita (2h)

# API DE EPIS
Hay un funcional en 2021/API_EPIS
## BBDD
## Dudas
## Tareas
### Joomla
* Añadir los endpoints a la documentación (doku) (3h)
* /SEARCH /EPI (catálogo) (4h)
    * Ya existe metodo, ajustar filtros
    * Filtros: 
        * Por id de empresa (del token)
        * Vinculado a perfil (jos_6c_epi_perfil_riesgo)
        * Vinculado a trabajador (jos_6c_trabajador_epi)
    * Output: 
        * Código
        * Nombre
        * Categoría
        * Marca
        * Modelo
        * Descripción
        * Coste
        * Tipo
* /POST /EPI (catálogo) 4h
    * Crear el insert en el modelo
    * Comprobar que el codigo sea unico
    * Input:
        * Codigo*
        * Nombre*
        * Categoría
        * Marca
        * Modelo
        * Descripción
        * Coste
        * Tipo 
* /PUT EPI/{CODIGO} de EPIS (catálogo) 4h
    * Crear el update en el modelo
    * Comprobar que el codigo exista
    * Input:
        * Nombre
        * Categoría
        * Marca
        * Modelo
        * Descripción
        * Coste
        * Tipo
* /SEARCH de EPI-REQUIREMENT (requisitos) (3h)
    * Filtros: 
        * Codigo exacto de empleado
        * Nif exacto de empleado
        * Fecha de inicio de entrega
        * Fecha de fin de entrega
    * Output: 
        * EPI (Campo del requisito)
        * Tipo de protección
        * Periodicidad
        * Categoría
        * Norma
        * Fecha de entrega
        * Valido Hasta
        * Coste
        * Descripcion
        * Observaciones
        * Usuario que entrega
        * Nombre apellidos gestor
        * Trabajador: 
            * Código
            * Nombre
            * Apellidos
            * DNI
* /POST EPI-REQUIREMENT-AR/ (3h)
    * Ya existe un metodo del API que sube el AR a partir de un id, añadir otro que lo haga a partir de codig de empelado y EPI
    * El requisito tiene que existir y tener un AR asociado (campo id_acuse_reibo en la tabla de requisitos)
    * Input:
        * Código trabajador
        * Código epi
    * Output:
        * Base64
* /POST EPI-REQUIREMENT (8h)
    * Ya hecho parecido en la carga masiva (components/com_seysconecta/helpers/csvImport/process/elementsProcess/EPIS_REQElementProcess.php)
    * Si el requisito no existe (por codigo de empleado y de EPI) lo crea con los valores recibidos. Si el campo "coger valores del catalogo" esta a true se rellenan los valores vacíos desde el catálogo
    * Si el requisito existe (por codigo de empleado y de EPI):
        * Si no tiene fecha de entrega se actualizan los datos recibidos
        * Si tiene fecha de entrega anterior a la recibida se renueva el requisito. Si el campo "coger valores del catalogo" esta a true se rellenan los valores vacíos desde el catálogo
        * Si tiene fecha de entrega posterior a la recibida devolvemos un error

    * Input:
        * Código trabajador*
        * Código epi*
        * Fecha de entrega*
        * EPI (Campo del requisito)
        * Tipo de protección
        * Periodicidad
        * Categoría
        * Norma
        * Fecha de entrega
        * Valido Hasta
        * Coste
        * Descripcion
        * Observaciones
        * Usuario que entrega
        * Coger valores del catálogo (boolean)
        * AR de entrega (pdf base 64)


### Laravel
### Angular





# MÉTODO EXPOSICIÓN DE RUIDO

[Funcional](https://areaseyssl.sharepoint.com/:w:/r/sites/Desarrollo/_layouts/15/Doc.aspx?sourcedoc=%7B76BA5747-C7E8-47AF-9935-D9E79E70773E%7D&file=00%20Funcional%20Evaluacion%20Ruido.docx&action=default&mobileredirect=true&cid=6c0c9ea0-7258-4a9a-9fd0-d149e160eb56)

[Figma](https://www.figma.com/file/Lklp4Q6nF034FoDjx4wtfM/%F0%9F%8E%A7-Evaluaci%C3%B3n-de-Ruido)

[Excel loco](https://areaseyssl.sharepoint.com/:x:/r/sites/Desarrollo/_layouts/15/Doc.aspx?sourcedoc=%7B1380D111-0306-4553-9719-9A471EB05998%7D&file=Formulario%206c.xlsx&action=default&mobileredirect=true&cid=faa9410b-4f69-4c38-ad29-bd28d315e3ee)

## BBDD
*  Nueva tabla jos_6c_evaluaciones_ruido ()
*  Nueva tabla relacional para la parte de los equipos utilizados jos_6c_evaluaciones_ruido_equipos (id, )
*  Crear tabla como jos_6c_evaluacion_ruido_anexos para asociar las imagenes a la evaluacion como rd1215,
*  Nueva tabla jos_6c_evaluaciones_ruido_tarea (añadir orden)
*  Nueva tabla jos_6c_evaluaciones_ruido_medicion (id_tarea nullable)

## Dudas
* Los valores de referencia podria ser buena idea que fueran tb a nivel de configuracion de empresa para los de por defecto ? Aunque luego se puedan cambiar por evaluación. Pensar en si hace falta una tabla nueva => no
* En el selector de imagenes que hace el lapiz en la descripcion en la imagen?? (editar imagen o editar la descripcion)
* No se pueden borrar mediciones y/o tareas? => Si
* Para los ajustes de memoria preventiva, recordar a Manu que nos complete en el excel de instrucciones la nueva celda de evaluaciones de ruido para que esté actualizado
* El campo incertidumbre de la parte de mediciones cómo se calcula? Está la fórmula en algún sitio aparte de en el excel?
* Tareas, para el c1a en el excel divide entre 19 que no lo entendemos
* En la estrategia 1 como se calcula el Lpico puesto 
* En la estrategia 2 y 3 como se calcula el Laeq, d puesto
## Tareas
    * Migraciones => Creacion de las siguientes tablas (4h)
        jos_6c_evaluaciones_ruido
            - id
            - id_evaluacion
            - codigo_estrategia_muestreo => enum (MT,MWD,MFD) nullable
            - procedimiento => text (html), nullable
            - descripcion_actividades => text (html), nullable
            - organizacion_trabajo => text (html), nullable
            - fuentes_ruido => text (html), nullable
            - resultado_laeqd_puesto => float 1 decimal nullable
            - resultado_lpico => float 1 decimal nullable
            - resultado_u => float 1 decimal nullable
            - resultado_valoracion => string nullable
            - atenuacion_protectores_autitivos => bool default false
            - atenuacion_laeq_puesto => float 1 decimal nullable
            - atenuacion_lpico => float 1 decimal nullable
            - resultado_protector_laeq_puesto => float 1 decimal nullable
            - resultado_protector_lpico => float 1 decimal nullable
            - resultado_protector_descripcion => string nullable
            - laeqd_inferior => float 1 decimal nullable
            - laeqd_superior => float 1 decimal nullable
            - laeqd_limite => float 1 decimal nullable
            - lpico_inferior => float 1 decimal nullable
            - lpico_superior => float 1 decimal nullable
            - lpico_limite => float 1 decimal nullable
            - timestamps
        jos_6c_evaluaciones_ruido_equipos
            - id
            - id_evaluacion
            - tipo => enum (CALIBRATOR, SOUND_LEVEL_METER_TYPE_1, SOUND_LEVEL_METER_TYPE_2, DOSIMETER)
            - modelo => string, nullable
            - num_serie => string, nullable
            - fecha_calibracion => datetime, nullable
            - certificado => string, nullable
            - timestamps
        jos_6c_evaluacion_ruido_anexos
            - mirar tabla jos_6c_evaluaciones_rd1215_anexos
        jos_6c_evaluaciones_ruido_tarea
            - id
            - id_evaluacion
            - descripcion => string
            - laeqd => añadir comentario, float 1 decimal, default 0
            - lpico  => añadir comentario, float 1 decimal, default 0
            - incertidumbre  => añadir comentario, float 1 decimal, default 0
            - duracion_minutos => int
            - u1  => añadir comentario, float 1 decimal, default 0
            - u2  => añadir comentario, float 1 decimal, default 0
            - u3  => añadir comentario, float 1 decimal, default 0
            - c1a  => añadir comentario, float 1 decimal, default 0
            - u1b  => añadir comentario, float 1 decimal, default 0
            - orden
            - timestamps
        jos_6c_evaluaciones_ruido_medicion_tarea
            - id
            - id_evaluacion
            - id_tarea => nullable
            - referencia => string, nullable
            - fecha_medicion => datetime
            - empleado => string, nullable
            - laeqt => añadir comentario, float 1 decimal, default 0
            - minutos => int
            - laeqd => añadir comentario, float 1 decimal, default 0
            - lpico  => añadir comentario, float 1 decimal, default 0
            - observaciones => nullable, string
            - timestamps
        jos_6c_evaluaciones_ruido_medidas igual que la tabla de medidas de rd1215
        jos_6c_evaluaciones_ruido_medidas_clases igual que la tabla de clases de rd1215
        jos_6c_planificaciones_acciones => añadir id_evaluacion_ruido_tarea
        - Modelar tablas en mysql_tables

### Joomla
### Laravel
* Migrations (4h)
* Repositorios (2d)
* OpenAPI (1d)
* Ajuste en POST de evaluacion (3h)
    * Poner una comprobación para que todas las evaluaciones de ruido tengan que ser de nivel puesto y con especialidad higiene
    * Crear un registro en la tabla evaluaciones_ruido con todos los valores nullables y el id de evaluación creado

* GET erl-evaluation/{ID}/noise (9h)
    * Todos los campos de la tabla jos_6c_evaluaciones_ruido
    * Los siguientes arrays con includes
    * tasks
        * Array clave valor tarea => medida
            * Campos de la tabla jos_6c_evaluaciones_ruido_medidas
                * campo orden
            * Habrá una clave SIN_TAREA con todas las medidas de muestreo
    * Equipment
        * Array entidades equipamiento
    * Attachment
        * Array de ids y descripcion de las imagenes (tabla evaluaciones_ruido_anexos)
* PUT erl-evaluation/{ID}/noise (5h)
    * Todos los campos de la tabla jos_6c_evaluaciones_ruido
* CUD erl-evaluation/{ID}/noise-equipment/{ID} (9h)
    * Todos los campos de la tabla evaluaciones_ruido_equipos
* CRUD erl-evaluation/{ID}/noise-attachment/{ID} (2d)
    * Todos los campos de la tabla evaluaciones_ruido_anexos
    * El get tiene que devolver el binario de la imagen
    * En el post puede llegar la descripción
    * En el put sólo se modifica la descripción
    * Hacer clase abstracta para los adjuntos (contralador, inputs...)
* CUDO erl-evaluation/{ID}/noise-task (15h)
    * Todos los campos de la tabla jos_6c_evaluaciones_ruido_medicion_tarea
    * POST erl-evaluation/{ID}/noise-task/sort
        * array ids
    * En el search añadir filtro de texto por el nombre de la tarea (NO haría falta, es búqueda local no¿?)
* CUD erl-evaluation/{ID}/noise-measure (9h)
    * Todos los campos de la tabla jos_6c_evaluaciones_ruido_medidas
* Informe evaluacion ruido (3d)
    * Plantillas en sharepoint 
* Informe planificacion ruido (1d)
    * Plantillas en sharepoint
* Informe planificacion xls (4h)
    * Plantilla en sharepoint
* En la memoria preventiva hay que añadir variables al word y contar las evaluaciones de ruido (4h)
    * Recordar que nos completen la informacion en el excel asociado
* Crear planificación y generar tareas a partir de medidas  (ImportMeasureToTaskProcess.php) (6h)
    * servicio GET task-origin => devolver la tarea de ruido
    * servicio GET de tareas filtrar por id_tarea_ruido

### Angular
* Duda front con los inputs: tienen además del valor texto ¿?
* Pantalla de referencia para la medicion de la exposicion (guardar valores)
* En pantalla de creacion de evalucacion (añadir metodo y completar selectores)
* Mostrar la pestaña de centros (no en todas las ev. se ven)
* Servicio get evaluation noise con includes para traer la estrategia y toda lo relacionado con lo de inf general (estrategia y la desc irán en este put)
* Para el equipo habrá un post y un put. 
* Para las imágenes habrá un post y un put
* Como habrá tablas de medición_tarea y medición habrá que sacar dos entidades para ellas
    * Crud completo para ellas (ya apañeros los ids => mandar id_tarea o no)
    * Las tareas tienen un sort ==> POST
    * Será un único endpoint donde habrá dos posibilidades:
        * tareas[ mediciones[] ] 
        * medicionesSinTareas: [name=Guest Porter]

* DUDAS


* TAREAS
    * En pantalla de creacion de evalucacion (añadir metodo). (1d)
        * Este método es de Puesto, con lo el método solo aparece para evaluaciones de este nivel. 
        * Este método es de especialidad Higiene, con lo que se marca automáticamente al elegir el método.  
    * Crear componente padre para pestaña informe (o estudio, por definir) que recibe id evaluación y tendrá las pestañas (4h)
        * En esta evaluación deberemos mostrar la pestaña de centros (debería aparecer sin hacer nada porque es de nivel puesto de trabajo) ==> verificar
        * Cuando la evaluación es del tipo ruido se debera mostrar en la pestaña informe este componente padre.
        * Crear la entidad, servicio y mapper para el servicio de ruido (ver los nombres que dicen los compis del back).
    * Crear tarea para el helper con todos los cálculos necesarios tanto para las mediciones como para la pestaña resultado (3d)
        * Podemos utilizar el xls de las formulas para comprobar los resultados

    * PESTAÑA VALORES REFERENCIA: (5h)
        * Modificar el input number de devextreme para que pueda mostrar el texto en un after hour :man-with-bunny-ears-partying: 
        * Llamar al get de ruido para ver si hay valores almacenados. Si no los hay mostrar las constantes
        * Cuando el usuario cambia un valor mandarlos al put de ruido
    * COMPONENTE EQUIPOS UTILIZADOS (4h)
        * Los instrumentos son fijos. Definir claves con enum
        * Recibirá como inputs:
            * Estado: readonly / edition
            * Datos del equipo (entidad) => copia del padre
        * Output:
            * En cada cambio de input emitirá sus datos para que el padre los guarde en una variable temporal que se guardará cuando el padre le de a guardar.
    * CARACTERISTICAS DEL PUESTO (IMAGENES): (6h)
        * Meter los campos más carusel
        * Modificar el carrusel de Eric app-image-carrousel-modal para:
            * Mostrar la descripción
            * Que se pueda editar con un input autoeditable
            * Emitir output con la descripción 
            * Deberá guardar tb la descripción de las imágenes de las características del puesto (el ScImageGridComponent)
    * PESTAÑA INFORMACIÓN GENERAL (* OJO!! TODOS LOS TEXTAREAS SERAN CON ODIN-EDITOR-HTML) (11h + 3h(test))
        * Llamar al get de ruido. Ver si hay estrategia seleccionada. Si lo está deshabilitar el radio. Si no está seleccionada previamente al clicar en un radio button mostrar el modal de aviso (confirmacion de estrategia)
        * Formulario superior
        * Botón de añadir equipo: ocultarlo cuando se añada
        * Sólo puede haber un hijo abierto a la vez
        * Será el componente padre el que haga las llamadas.
        * Tendrá el título y los botones de las acciones para desplegar el hijo (equipos utilizados). Le tiene que decir el estado en el que mostrarse: readonly/edition
        * Tendrá un listado de componente de equipos utilizados
   
   * COMPONENTE MEDICIONES: (9h)
            * Estrategia como equipos utilizados
            * Deberá llamar al helper para calcular los datos
   
   * COMPONENTE TAREAS: (9h)
            * Estrategia como equipos utilizados
            * Deberá llamar al helper para calcular los datos   
            
    * PESTAÑA VALORES DE MEDICIÓN: (3d + 5h(test))
        * Servicios para noise-task y noise-measure (post, put y delete) con sus entidades, mappers y sus cosas.
        * Servicio para ordenar.
        * Ojo con la ordenacion (cuando estén colapsadas).
        * Estado vacio
        * El padre tendrá al mismo nivel el listado de tareas y mediciones. De esta manera intentaremos seguir la misma estrategia que para componentes utilizados: titulo en el padre, que este guarde, que el hijo emita un valor temporal, etc...
            * Si es caso con tareas, a continuación de cada una tendrá un listado de mediciones
            * Si es caso sin tareas solo el listado de mediciones
        * Integración de componentes de mediciones y tareas   
        * El padre calculará el resultado en funcion de las tareas o mediciones y mandarlo alput de evaluacion-noise (lo que se mostrara en la pestaña RESULTADOS).
    
    * ACCIONES A ADOPTAR Y MODALES: (3h)
        * Se mostrará una u otra en funcion de los valores obtenidos.
        * Modales para las valoraciones mediciones y descripcion de los protectores.

    * PESTAÑA RESULTADO: (8h) (OJO!! LA INCERTIDUMBRE HAY QUE AÑADIRLA AL RESULTADO TANTO COMO PARA EL PROMEDIO COMO PARA EL PICO)
        * Crear componente de resultado
            * Haremos un get evaluation-noise para pintar los resultados.
            * Crear cajitas con los resultados y ¿atenuaciones? => en caso de medidas habrá cajita de incertidumbre
                * Calculará los datos con el protector auditivo, activará o no el check de atenuaciones
            * Cualquier dato alfanumérico autocalculado lo mostramos con un guión medio (-) por defecto, es decir, cuando aún no hay cifra calculada. 
            * Las atenuaciones solo saldran si se superan los valores limite/pico. Tras restar la atenuacion del resultado hay que añadir la incertidumbre tb para calcular el resultado  
    
    * PESTAÑA MEDIDAS: (8h No hacer test)
        * Hacer clase base en componente de medidas para evaluaciones rd1215, fpsico y ruido para los métodos y atributos comunes. Refactorizar
        
    * PLANIFICACIONES RUIDO (aka tareas del puesto): (6h No Ut)
        * (Edicion) Modificar mapper y entidad de tareas para meter el campo dentro de origin => task
        * (Creacion) Modificar mapper y entidad de taskOrigin para meter el campo ohspNoiseTask
        * Y habrá que traer el tipo de estrategia haciendo otra llamada más si es de tipo ruido
        * Quitar filtros de listado de planificaciones, meter un filtro por tarea ruido o no (según el tipo de estrategia el tipo de medida ira asociada a la tarea, o a la evaluación entonces habrá que mostrar el selector de la medida o no segun esto) 
        * En la ficha de tarea (edición y creación) tendrá que venir un campo que sea la tarea de ruido (igual que aparece el riesgo y el factor). 



Las tareas indivduales no pueden superar las 8 horas y la suma de las tareas tampoco. Bloquear los controles y mostrar pantalla de aviso
La suma de las mediciones no pueden superar la duracion de la tarea
Poner los valores por defectos en la u2 si hay un unico equipo de tipo sonomoetro o dosimetro (ver funcional para los valores)
Se utiliza el valor + la incertiumbre para obtener el resultado ( y ubicarlo dentro del rango) tanto para el promedio como para el pico
