udistrital / sga_documentacion

Repositorio para la documentación del sistema de gestión académica
MIT License
0 stars 0 forks source link

Análisis de trazabilidad de cambio de estado de inscripción, modelo de datos, controlador y posible cliente #286

Closed fabianbarreto02 closed 4 months ago

fabianbarreto02 commented 5 months ago

Se requiere realizar el Análisis de trazabilidad de cambio de estado de inscripción, modelo de datos, controlador y posible cliente, la issue debe cumplir con los siguiente requerimientos:

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

diegofceliv commented 4 months ago

Documentación:

Con base en un modelo similar para el flujo de solicitudes_crud, se propone la creación de la tabla inscripcion_evolucion_estado, la cual permita almacenar los datos de la inscripción, el estado anterior, el actual y el tercero (usuario que hizo la modificación), de manera que pueda ser posible hacer un seguimiento en la DB de quien hizo cada cambio.

Para esto se propone ajustar el modelo de base de datos de la siguiente manera: inscripcion_evolucion_estadov2

Para construir dicho modelo, se define el siguiente script:

CREATE TABLE inscripcion.inscripcion_evolucion_estado(
    id bigserial NOT NULL,
    tercero_id integer NOT NULL,
    inscripcion_id integer NOT NULL,
    estado_inscripcion_id_anterior integer,
    estado_inscripcion_id integer NOT NULL,
    fecha_creacion timestamp NOT NULL,
    activo boolean NOT NULL,
    CONSTRAINT pk_inscripcion_evolucion_estado PRIMARY KEY (id)
);

ALTER TABLE inscripcion.inscripcion_evolucion_estado ADD CONSTRAINT fk_inscripcion_evolucion_estado_inscripcion FOREIGN KEY (inscripcion_id)
REFERENCES inscripcion.inscripcion (id) MATCH FULL
ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE inscripcion.inscripcion_evolucion_estado ADD CONSTRAINT fk_inscripcion_evolucion_estado_inscripcion_id FOREIGN KEY (estado_inscripcion_id)
REFERENCES inscripcion.estado_inscripcion (id) MATCH FULL
ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE inscripcion.inscripcion_evolucion_estado ADD CONSTRAINT fk_inscripcion_evolucion_estado_inscripcion_id_anterior FOREIGN KEY (estado_inscripcion_id_anterior)
REFERENCES inscripcion.estado_inscripcion (id) MATCH FULL
ON DELETE NO ACTION ON UPDATE NO ACTION;
diegofceliv commented 4 months ago

Para llevar acabo esta implementación se establecen las siguientes tareas:

  1. Crear migración en el proyecto inscripcion_crud, donde se incluye script de creación y el de rollback (en caso de ser necesario)
  2. Crear en la carpeta models el archivo inscripcion_evolucion_estado.go con la estructura correspondiente, que permita realizar la interacción con la Base de datos
  3. Crear en la carpeta controllers el archivo inscripcion_evolucion_estado.go con los servicios post|get|put|delete que permitan interactuar con el modelo

En sga_inscripcion_mid:

  1. Crear un nuevo endpoint que sea un Put a la inscripcion, donde se realice la integración con inscripcion_crud y cambie el estado de la inscripcion y ademas realice la integracion con el servicio de crud que registra el historico

En el cliente

  1. Ajustar las integraciones directas al crud para integrarse al nuevo servicio del mid, enviar el id del tercero (usuario que realiza la modificacion)
fabianbarreto02 commented 4 months ago

Por favor ajustar campo fecha limite tanto en el diagrama como en el script

diegofceliv commented 4 months ago

Quedo actualizado diagrama y script

fabianbarreto02 commented 4 months ago

Se realiza la solicitud de revisión y aprobación a los dbas mediante el kamban

https://tuleap.portaloas.udistrital.edu.co/plugins/tracker/?aid=61697&group_id=177

fabianbarreto02 commented 4 months ago

Por revisión y solicitud de los dbas se realiza la eliminación del campo de fecha de modificación en la tabla, ya que no se requiere

diegofceliv commented 4 months ago

Teniendo en cuenta las sugerencias de los dbas, se ajusta el modelo y el script en el comentario

fabianbarreto02 commented 4 months ago

Se da por finaliza la issue, se cuenta con aprobación por parte de los dbas