udistrital / arka_cliente

:heavy_check_mark: Check: Cliente del Sistema de Gestión de Almacén e Inventarios ARKA II
MIT License
0 stars 0 forks source link

Comprobar y ajustar los permisos de roles para el proceso de acta de recibido #363

Closed fabianbarreto02 closed 3 years ago

fabianbarreto02 commented 3 years ago

Se debe comprobar los permisos que ya están establecidos y realizar los ajustes correspondientes a los distintos roles, tener en cuenta la información contemplada en el acta realizada con el usuario, los permisos según el rol son los siguiente:

Además de ajustar estos permisos debe realizar el ajuste para que el proveedor solo pueda observar las actas que tiene en estado en elaboración y asignado, también ajustar que el rol de contratista solo pueda editar y observar las actas que esten asignadas para el, la issue debe cumplir con los siguientes requerimientos:

AlexFBP commented 3 years ago

Se empieza a abordar el Issue

AlexFBP commented 3 years ago

En EdicionActaRecibidoComponent, hay dos secciones principales (acta y elementos). Los permisos de estas secciones están en función del rol y de la etapa en que se encuentre la acta, según:

Estado Acta Accion(1) Acta (2) Elementos (3) Avance
Registrada Editar Admin, Secretaria, Revisor Admin, Revisor
Registrada Ver Contratista (6) --/--
En Elaboración Editar Admin, Revisor Admin, Contratista (6), Proveedor(6), Revisor
En Elaboracion Ver Secretaria, Contratista (6), Proveedor(6) Secretaria (9)
En Modificación Editar Admin, Revisor Admin, Contratista (6), Revisor
En Modificación Ver Secretaria, Contratista (6) Secretaria (9)
En Verificación(4) Editar --/-- --/--
En Verificación(4) Ver Admin, Revisor Admin, Revisor(8)
Aceptada Editar Admin,Revisor Admin,Revisor
Aceptada Ver --/-- --/--
Asociada a Entrada(5) Editar --/-- --/--
Asociada a Entrada(5) Ver (7) Admin, Revisor Admin, Revisor
Anulada(5) Editar --/-- --/--
Anulada(5) Ver(7) Admin, Revisor Admin, Revisor

(1) Si se tiene permiso de Editar, también se cuenta con el de Ver (2) Datos básicos y soportes (3) Asociados a cada soporte del Acta (4) Desde VerificacionActaRecibidoComponent (5) No hay un componente asociado (6) Únicamente las actas asignadas (7) Mediante VerDetalleComponent al seleccionar un acta para ver, de la lista de Actas de ConsultaActaRecibidoComponent (8) Si todos los elementos están bien, puede aceptar(aprobar) el acta (9) Roles ya ajustados, falta restringir a únicamente visualización (aún se puede editar)

Nota: Esta tabla se irá actualizando conforme se avance en el desarrollo. En negrilla o tachado los cambios que se van a implementar

AlexFBP commented 3 years ago

Al guardarse un acta en estado En Elaboración, se pasa automáticamente a En Modificación (actualmente). Teniendo en cuenta los permisos indicados para el proveedor y el contratista, esto estaría bien?

De acuerdo a lo inicialmente requerido y al comportamiento actual, si un contratista edita (los elementos de) un acta, el proveedor no podrá volver a hacerlo...

AlexFBP commented 3 years ago

Los cambios de estado obedecen al siguiente diagrama de estados (crear):

image

Nota: Este diagrama se editará conforme avance el desarrollo. Lo que está resaltado hay que implementarlo/ verificarlo/ajustarlo

Estados (Sn)

Estado Descripcion
S1 Registrada
S2 En Elaboracion
S3 En Modificacion
S4 En Validacion
S5 Aceptada
S6 Asociada a Entrada
S7 Anulada

Eventos (En)

Evento Descripción Rol Condición(es) adicional(es)
E0 Registro Ordinario de Acta Secretaria
E1 Envío a Proveedor y Asignación de Contratista Secretaria
E2 Guardar Proveedor, Auxiliar I
E3 Enviar a Validación Auxiliar I clases asignadas a elementos
E4 Rechazar Acta Auxiliar II, Jefe Almacen
E5 Aprobar Acta Auxiliar II, Jefe Almacén
E6 Asociar a Elemento ???
E7 Registro Extraordinario de Acta (#368) Auxiliar II, Jefe Almacén
E8 Anular Acta (#344) Auxiliar II, Jefe Almacén

Nota: Roles actualizados según udistrital/administrativa_cliente#513

AlexFBP commented 3 years ago

La "Consulta de Actas" (ConsultaActaRecibidoComponent) carga la lista de actas del ARKA_SERVICE (mid).

Para filtrar las actas que se van a mostrar a proveedores y contratistas, una posible forma es modificar ARKA_SERVICE/acta_recibido/get_all_actas/ de tal manera que retorne:

 [
   {
     "Activo": true,
     "Estado": "Asociada a Entrada",
     "FechaCreacion": "2019-09-27T03:11:33.893Z",
     "FechaModificacion": "2019-09-27T03:17:46.797Z",
     "FechaVistoBueno": "2019-09-27T00:00:00Z",
     "Id": 2,
     "Observaciones": "Registro",
-    "RevisorId": "Axa Colpatria Seguros SA",
+    "Revisor": "Axa Colpatria Seguros SA",
+    "ProveedorId": 3843534,
+    "ContratistaId": 345739,
     "UbicacionId": "Ubicacion No Especificada"
   },
   ...
 ]

La idea sería comparar las propiedades ProveedorId y ContratistaId contra getPersonaId() de UserService

Es posible que esto tenga algo que ver con los Issues udistrital/acta_recibido_crud#23 y #340

Otra forma es que a esa API se le agregue la posibilidad de hacer queries, especificamente que desde la API se puedan filtrar actas con Id de proveedor o contratista, específicos