Ejecución económica
Entidades
Entidad | Descripción |
---|---|
DatoEconomico | Entidad que representa cualquier dato económico. Tendrá que venir identificado por un identificador único, por el proyecto al que pertenece, anualidad, partida presupuestaria y un código económico (opcional en algunos de los casos). El resto de campos del dato económico se tratarán como columnas dinámicas. Se indicará por cada columna el nombre del campo, su valor, si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador, y si es visible desde la pantalla principal del SGI (desde la que se hace la búsqueda) |
Columna | Contiene el listado de columnas que serán mostradas en las pantallas del SGI dependiendo de la pantalla en la que se esta: Ejecución presupuestaria, detalle de operaciones, validación de gastos, etc... Por cada columna se tendrá el nombre del campo, su valor, si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador, y si es visible desde la pantalla principal del SGI (desde la que se hace la búsqueda) |
Documento | Entidad que representa los documentos que pueda tener relacionados un dato económico (en este caso los gastos). |
Modelo lógico
API
Características generales que todas las API REST deben de cumplir:
Definición de los objetos
DatoEconomico
Nombre | Tipo | Descripción |
id | String | Identificador del dato económico. Tiene que ser un identificador único. |
proyectoId | String | Identificador del proyecto económico |
partidaPresupuestaria | String | Código de la Partida presupuestaria |
codigoEconomico | CodigoEconomico | Contiene la entidad Código económico asignado al gasto/ingreso |
anualidad | String | Anualidad |
tipo | String | Dos valores:
|
columnas | Lista[Columna] | Listado con las columnas a mostrar |
Columna
Nombre | Tipo | Descripción |
id | String | Identificador de la columna |
nombre | String | Nombre de la columna |
valor | String | Valor de la columna |
esTotalizadora | Boolean | Indica si se tiene que sumar o no para mostrar los totales en la pantalla del SGI. Dos valores:
|
esVisible | Boolean | Indica si se tiene que mostrar en la pantalla del listado del SGI o no Dos valores:
|
Documento
Nombre | Tipo | Descripción |
nombre | String | Nombre del documento |
mimeType | String | mimeType del documento |
Método | URL | Parámetros | Respuesta | Descripción |
---|---|---|---|---|
GET | /ejecucion-economica/columnas | q+s (query + sort) La query estará formada por:
El tipoOperacion puede tomar los siguientes valores:
| Lista[Columna] | Listado con las columnas que va a devolver la llamada /ejecucion-economica Por cada columna se indica un id, nombre, si es una columna totalizadora (se va a hacer una suma de ella en el SGI) y si es visible o no en la pantalla principal del SGI Cuando tipoOperacion=='EP: Estado actual' las columnas a devolver en la Universidad de Murcia serán:
Cuando tipoOperacion=='EP: Gastos' las columnas a devolver en la Universidad de Murcia serán:
Cuando tipoOperacion=='EP: Ingresos' las columnas a devolver en la Universidad de Murcia serán:
|
GET | /ejecucion-economica | q+s (query + sort) La query estará formada por:
El tipoOperacion puede tomar los siguientes valores:
| Lista[DatoEconomico] | Listado con el balance de las partidas presupuestaria del proyecto. Por cada partida presupuestaria se devolverán las columnas a mostrar en el SGI con sus cálculos realizados sobre las operaciones contables. Por cada partida se devolverá:
|
Validación de gastos | ||||
GET | /gastos/columnas | q+s (query + sort) La query estará formada por:
El campo estado puede tomar dos valores:
| Lista[Columna] | Listado con las columnas que va a devolver la llamada /gastos Por cada columna se indica un id, nombre, si es una columna totalizadora (se va a hacer una suma de ella en el SGI en la pantalla principal) y si es visible o no en la pantalla principal del SGI. Las columnas a devolver en la Universidad de Murcia serán:
|
GET | /gastos | q+s (query + sort) La query estará formada por:
El campo estado puede tomar dos valores:
| Lista[DatoEconomico] | Listado de gastos pendientes de pasar por la "Validación de gastos" si en el campo del filtrado estado = 'Pendiente' o listado de gastos que ya han sido validados (han pasado por la "Validación de gastos") si en el campo del filtrado estado = 'Validado' Para cada gasto se devolverán los siguientes datos:
|
GET | /gastos/{id} | DatoEconomico | Detalle de un gasto. Para cada gasto se devolverán los siguientes datos:
| |
GET | /documentos/{id} | ???? | Devuelve el contenido del documento para que desde el navegador se pueda abrir o descargar el documento | |
PUT | /gastos/{id}/validar | comentario | Se valida el gasto y recibe como parámetro el comentario en caso de que lo tuviese. | |
PUT | /gastos/{id}/rechazar | comentario | Se rechaza el gasto y recibe como parámetro el comentario en caso de que lo tuviese. | |
Se necesita un servicio que reciba como parámetros la lista de identificadores del gasto y devuelve las columnas a mostrar en la validación de gastos con la suma ya realizada, en este caso "Importe validado" e "Importe pagado" (realiza la sumas de esos importes de todos los gastos pasados como parámetro) Se necesitará primero la función que devuelva el nombre de las columnas? | ||||
Se necesita un servicio que reciba como parámetro la lista de códigos económicos usados en el proyecto (en elegibilidad) y devuelva para cada código económico la suma del importe de todos los gastos pendientes para ese código económico Se necesitará primero la función que devuelva el nombre de las columnas? |
Ejemplos
Llamada Ejecución presupuestaria - Estado actual - Columnas (/ejecucion-economica/columnas)
proyectoId=="123456";anualidad=in=("2020","2021");tipoOperacion=="EJ: Estado actual"
Respuesta Ejecución presupuestaria - Estado actual - Columnas (/ejecucion-economica/columnas)
[ { "id": "1" "nombre":"Importe presupuestado" "esTotalizadora": "true", "esVisible": "true" }, { "id":"2", "nombre":"Importe actual", "esTotalizadora": "true", "esVisible": "true" }, { "id":"3", "nombre":"Importe disponible para gastos", "esTotalizadora": "true", "esVisible": "true" }, { "id":"4", "nombre":"Derechos", "esTotalizadora": "true", "esVisible": "true" }, { "id":"5", "nombre":"Cobros", "esTotalizadora": "true", "esVisible": "true" } ]
Llamada Ejecución presupuestaria - Estado actual (/ejecucion-economica)
proyectoId=="123456";anualidad=in=("2020","2021");tipoOperacion=="EJ: Estado actual"
Respuesta Ejecución presupuestaria - Estado actual (/ejecucion-economica)
[ { "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406" "anualidad":"2020", "tipo":"Gasto", "columnas":[ { "id": "1" "valor":"2000" }, { "id":"2", "valor":"500" }, { "id":"3", "valor":"1000.50" }, { "id":"4", "valor":"1000.50" }, { "id":"5", "valor":"1000.50" } }, { "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406" "anualidad":"2021", "tipo":"Gasto", "columnas":[ { "id": "1" "valor":"2000" }, { "id":"2", "valor":"500" }, { "id":"3", "valor":"1000.50" }, { "id":"4", "valor":"1000.50" }, { "id":"5", "valor":"1000.50" } } ]