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 identificador del campo, el nombre del campo y si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador. |
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 identificador del campo, el nombre del campo y si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador. |
DatoEconomicoDetalle | Entidad que representa el detalle de un dato económico con todos sus campos para mostrarlo en una pantalla de consulta del dato económico. Tendrá unos campos fijos (identificador único, identificador del proyecto al que pertenece, anualidad, partida presupuestaria y un código económico) y unos campos dinámicos. Por cada campo se detallará el nombre y el valor del campo para mostrarlo en la pantalla del SGI |
Campo | Contiene el listado de campos dinámicos que serán mostradas en las pantallas de detalle de un dato económico. Por cada campo se tendrá el el nombre y el valor del campo |
Documento | Entidad que representa los documentos que pueda tener relacionados un dato económico (en este caso los gastos). |
Enumerados
Entidad | Descripción |
---|---|
TipoDatoEconomico | Puede tomar los siguientes valores:
|
TipoOperacion | Puede tomar los siguientes valores:
|
Estado (en validación de gastos) | Puede tomar los siguientes valores:
|
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 | CodigoEconomicoGasto/CodigoEconomicoIngreso | Contiene la entidad Código económico Gasto si se trata de un gasto (campo "tipo" es "Gasto" ) o contiene la entidad Código económico Ingreso si se trata de un ingreso (campo "tipo" es "Gasto" ) |
anualidad | String | Anualidad |
tipo | String | Dos valores:
|
columnas | Map[clave,valor] | Mapa de propiedades El valor será un String salvo en aquellas columnas que sean acumulables (se tenga que hacer sumas sobre ellas) donde será de tipo Numérico (sin separador de miles y como separador decimal el punto) |
DatoEconomicoDetalle
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 | CodigoEconomicoGasto/CodigoEconomicoIngreso | Contiene la entidad Código económico Gasto si se trata de un gasto o contiene la entidad Código económico Ingreso si se trata de un ingreso |
anualidad | String | Anualidad |
campos | Lista[Campo] | Lista de campos, por cada campo se define el nombre y el valor del campo |
Columna
Nombre | Tipo | Descripción |
id | String | Identificador de la columna |
nombre | String | Nombre de la columna |
acumulable | Boolean | Indica si se tiene que sumar o no para mostrar los totales en la pantalla del SGI. Dos valores:
|
Documento
Nombre | Tipo | Descripción |
id | String | Identificador único del documento |
nombre | String | Nombre del documento a mostrar |
nombreFichero | String | Nombre del fichero con extensión |
Comentario
Nombre | Tipo | Descripción |
comentario | String | Comentario relacionado con el cambio de estado de un gasto |
Método | URL | Parámetros | Respuesta | Descripción |
---|---|---|---|---|
GET | /ejecucion-economica/columnas | q+s (query + sort) La query estará formada por:
El campo reducida puede tomar los siguientes valores:
Si no esta informado el campo reducida se considera false. 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 acumulable (se va a hacer una suma de ella en el SGI) Ver el apartado "Columnas Ejecución económica" para ver que columnas se deben de mostrar dependiendo del tipo de operación (campo tipoOperacion) |
GET | /ejecucion-economica | q+s (query + sort) La query estará formada por:
El campo reducida puede tomar los siguientes valores:
Si no esta informado el campo reducida se considera false. El tipoOperacion puede tomar los siguientes valores:
| Lista[DatoEconomico] | Listado con los datos económicos pedidos según el campo tipoOperacion. Por cada dato económico se devolverán las siguientes columnas:
|
GET | /ejecucion-economica/{id} | tipoOperacion El tipoOperacion puede tomar los siguientes valores (cuando estamos en la llamada de detalle de dato económico):
| DatoEconomicoDetalle | Detalle del dato económico con todas sus columnas.
El listado de campos a mostrar dependerá de que dato económico sea, si es una factura o gasto, un viaje o dieta o un personal contratado. Mirar el apartado "Campos Detalle dato económico" para ver que campos se deben de mostrar dependiendo del tipo de operación (campo tipoOperacion) |
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} | DatoEconomicoDetalle | Detalle de un gasto. Para cada gasto se devolverán los siguientes datos:
| |
PATCH | /gastos/{id}/validar | Comentario | Se valida el gasto y recibe como parámetro el comentario en caso de que lo tuviese. | |
PATCH | /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? | ||||
GET | /documentos/{id} | Documento | Devuelve el detalle del documento | |
GET | /documentos/{id}/archivo | Binario (en la cabecera ira el contentType) | Devuelve el binario del documento |
Columnas Ejecución económica
Cuando tipoOperacion=='EPA' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - Importe presupuestado
- 2 - Importe actual
- 3 - Importe disponible para gastos
- 4 - Derechos
- 5 - Cobros
Cuando tipoOperacion=='EPG' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - Importe presupuestado
- 2 - Importe definitivo
- 3 -Gastos pagados
- 4 -Gastos en tramitación
- 5 -Crédito disponible
- 6 -Retenciones personal contratado y expedientes
- 7 -Pedidos activos
- 8 -Gastos pendientes de pago
- 9 -Pagos a justificar
Cuando tipoOperacion=='EPI' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - Importe presupuestado
- 2 - Importe actual
- 3 - Derechos
- 4 - Cobros
Cuando tipoOperacion=='FJF' y reducida = "true" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Número de registro
- 2 - Concepto de la Fac./Gasto
- 3 - Fecha devengo
- 4 - Fecha pago
- 5 - Importe (base imponible)
Cuando tipoOperacion=='FJF' y reducida = "false" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Número de registro
- 2 - Tipo de operación (si es factura, OK, justificante,…)
- 3 - Proveedor
- 4 - Nº de registro del proveedor
- 5 - Concepto de la Fac./Gasto
- 6 - Importe Base Imponible
- 7 - Importe IVA
- 8 - Fecha devengo
- 9 - Fecha contabilización
- 10 - Fecha de pago
- 11 - Nº de documento de gasto
- 12 - Nº de señalamiento
Cuando tipoOperacion=='FJV' y redudida == "true" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Número de factura
- 2 - Número de comisión de servicios
- 3 - Perceptor/proveedor (nombre y apellidos)
- 4 - Concepto/ motivo del viaje
- 5 - Fecha devengo
- 6 - Fecha pago
- 7 - Importe (base imponible)
Cuando tipoOperacion=='FJV' y redudida == "false" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Número de factura
- 2 - Número de comisión de servicio
- 3 - Perceptor/Proveedor (nombre y apellidos)
- 4 - Identificador Perceptor/Proveedor
- 5 - Concepto/ Motivo del viaje
- 6 - Fecha devengo
- 7 - Fecha contabilización
- 8 - Fecha de pago
- 9 - Itinerario viaje
- 10 - Destino
- 11 - Fecha salida - Fecha vuelta
- 12 - Medio de locomoción
- 13 - Importe locomoción
- 14 - Importe alojamiento
- 15 - Importe dietas
- 16 - Otros gastos
- 17 - Importe total (base imponible)
- 18 - Observaciones locomoción
- 19 - Observaciones alojamiento
- 20 - Observaciones dietas
Cuando tipoOperacion=='FJP' y reducida == "true" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Nº documento identificación (del contratado)
- 2 - Nombre y apellidos (del contratado)
- 3 - Concepto (seguridad social o retribucciones)
- 4 - Fecha devengo
- 5 - Fecha pago
- 6 - Importe
Cuando tipoOperacion=='FJP' y reducida == "false" las columnas a devolver en la Universidad de Murcia serán:
- 1 - Nº documento identificación (del contratado)
- 2 - Nombre y apellidos (del contratado)
- 3 - Concepto (seguridad social o retribucciones)
- 4 - Fecha devengo
- 5 - Fecha contabilización
- 6 - Fecha pago
- 7 - Importe
- 8 - Fecha inicio del contrato
- 9 - Fecha fin del contrato
- 10 - Categoría laboral
- 11 - Jornada semanal o diaria
Cuando tipoOperacion=='DOG' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - F. Cons
- 2 - F. Pago
- 3 - Operación
- 4 - Descripción
- 5 - Tercero
- 6 - Doc/Fac
- 7 - Créditos
- 8 - Gastos
- 9 - Saldo
Cuando tipoOperacion=='DOI' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - Modif.
- 2 - Mod. Pres
- 3 - Descripción
- 4 - Tipo
- 5 - Fecha
- 6 - Importe
Cuando tipoOperacion=='DOM' (independientemente del campo reducida, ya que siempre se mandan todas las columnas) las columnas a devolver en la Universidad de Murcia serán:
- 1 - Docum./Recibo
- 2 - Operación
- 3 - Tercero (número de documento de identificación)
- 4 - Nombre
- 5 - Descripción
- 6 - Proy.
- 7 - Consol.
- 8 - Mater.
- 9 - Importe
- 10 - Imp. IVA
Campos Detalle dato económico
Cuando tipoOperacion=='FJF' los campos a devolver en la Universidad de Murcia serán:
- Número de registro
- Tipo de operación (si es factura, OK, justificante,…)
- Proveedor
- Nº de registro del proveedor
- Concepto de la Fac/Gasto
- Importe Base Imponible
- Importe IVA
- Fecha devengo
- Fecha contabilización
- Fecha de pago
- Nº de documento de gasto
- Nº de señalamiento
Cuando tipoOperacion=='FJV' los campos a devolver en la Universidad de Murcia serán:
- Número de factura
- Número de comisión de servicio
- Perceptor/Proveedor (nombre y apellidos)
- Identificador Perceptor/Proveedor
- Concepto/ Motivo del viaje
- Fecha devengo
- Fecha contabilización
- Fecha de pago
- Itinerario viaje
- Destino
- Fecha salida - Fecha vuelta
- Medio de locomoción
- Importe locomoción
- Importe alojamiento
- Importe dietas
- Otros gastos
- Importe total (base imponible)
- Observaciones locomoción
- Observaciones alojamiento
- Observaciones dietas
Cuando tipoOperacion=='FJP' los campos a devolver en la Universidad de Murcia serán:
- Nº documento identificación (del contratado)
- Nombre y apellidos (del contratado)
- Concepto (seguridad social o retribuciones)
- Fecha devengo
- Fecha contabilización
- Fecha pago
- Importe
- Fecha inicio del contrato
- Fecha fin del contrato
- Categoría laboral
- Jornada semanal o diaria
Ejemplos
Ejecución presupuestaria - Estado actual - Columnas (/ejecucion-economica/columnas)
proyectoId=="123456";anualidad=in=("2020","2021");tipoOperacion=="EJA"
[ { "id": "1" "nombre":"Importe presupuestado" "acumulable": "true" }, { "id":"2", "nombre":"Importe actual", "acumulable": "true" }, { "id":"3", "nombre":"Importe disponible para gastos", "acumulable": "true" }, { "id":"4", "nombre":"Derechos", "acumulable": "true" }, { "id":"5", "nombre":"Cobros", "acumulable": "true" } ]
Ejecución presupuestaria - Estado actual (/ejecucion-economica)
proyectoId=="123456";anualidad=in=("2020","2021");tipoOperacion=="EJA"
[ { "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406" "anualidad":"2020", "tipo":"Gasto", "columnas": { "1":2000, "2":500, "3":1000.50, "4":1000.50, "5":1000.50 } }, { "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406" "anualidad":"2021", "tipo":"Gasto", "columnas": { "1":2000, "2":500.50, "3":1000.50, "4":1000.50, "5":1000.50 } } ]
Facturas y justificantes - Facturas y gastos - Columnas (/ejecucion-economica/columnas)
proyectoId=="123456";anualidad=in=("2020","2021");fechaPago=bt=("2020-12-01T00:00:00Z","2021-01-31T23:59:59Z");tipoOperacion=="FJF";reducida=="false"
[ { "id": "1" "nombre":"Número registro Justo" "acumulable": "false" }, { "id":"2", "nombre":"Tipo operación", "acumulable": "false" }, { "id":"3", "nombre":"Proveedor", "acumulable": "false" }, { "id":"4", "nombre":"Número de registro del proveedor", "acumulable": "false" }, { "id":"5", "nombre":"Descripción", "acumulable": "false" }, { "id":"6", "nombre":"Importe base imponible", "acumulable": "true" }, { "id":"7", "nombre":"Importe IVA", "acumulable": "true" }, { "id":"8", "nombre":"Fecha de devengo", "acumulable": "false" }, { "id":"9", "nombre":"Fecha de contabilización", "acumulable": "false" }, { "id":"10", "nombre":"Fecha de pago", "acumulable": "false" }, { "id":"11", "nombre":"Nº documento de gasto", "acumulable": "false" }, { "id":"12", "nombre":"Nº de señalamiento", "acumulable": "false" } ]
Facturas y justificantes - Facturas y gastos (/ejecucion-economica)
proyectoId=="123456";anualidad=in=("2020","2021");fechaPago=bt=("2020-12-01","2021-01-31");ttipoOperacion=="FJF";reducida=="false"
[ { "id":"11-2020-Factura" "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406", "codigoEconomico": { "id": "FU", "nombre": "Fungible", "tipo": "Gasto" } "anualidad":"2020", "tipo":"Gasto", "columnas": { "1":"1243", "2":"Factura", "3":"Proveedor1", "4":"24555", "5":"Gasto de material inventariable", "6":500.00, "7":0.00, "8":"20/12/2020", "9":"20/12/2020", "10":"20/12/2020", "11":"11222", "12":"4567" } }, { "id":"12-2020-Factura" "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406", "codigoEconomico": { "id": "FU", "nombre": "Fungible", "tipo": "Gasto" } "anualidad":"2020", "tipo":"Gasto", "columnas":{ "1":"1243", "2":"Factura", "3":"Proveedor1", "4":"24555", "5":"Gasto de material inventariable", "6":500.00, "7":0.00, "8":"20/12/2020", "9":"20/12/2020", "10":"20/12/2020", "11":"11222", "12":"4567" } } ]
Facturas y justificantes - Facturas y gastos - Detalle (/ejecucion-economica/{id})
tipoOperacion=="FGF"
{ "id":"11-2020-Factura" "proyectoId":"123456", "partidaPresupuestaria": "8002B541A64406", "codigoEconomico": { "id": "FU", "nombre": "Fungible", "tipo": "Gasto" } "anualidad":"2020", "tipo":"Gasto", "campos":[ { "nombre":"Número registro", "valor":"1243" }, { "nombre":"Tipo operación", "valor":"Factura" }, { "nombre":"Proveedor", "valor":"Proveedor1" }, { "nombre":"Número de registro del proveedor", "valor":"24555" }, { "nombre":"Concepto de la Fac/Gasto", "valor":"Gasto de material inventariable" }, { "nombre":"Importe base imponible", "valor":"500.00" }, { "nombre":"Importe IVA", "valor":"0.00" }, { "nombre":"Fecha devengo", "valor":"20/12/2020" }, { "nombre":"Fecha contabilización", "valor":"20/12/2020" }, { "nombre":"Fecha pago", "valor":"20/12/2020" }, { "nombre":"Nº documento de gasto", "valor":"11222" }, { "nombre":"Nº de señalamiento", "valor":"4567" } ] }
Validaciones de gastos pendientes - Columnas (/gastos/columnas)
proyectoId=="123456";estado=="Pendiente"
[ { "id": "1" "nombre":"Fecha gasto" "acumulable": "false" }, { "id":"2", "nombre":"Proveedor", "acumulable": "false" }, { "id":"3", "nombre":"Importe", "acumulable": "false" } ]
Validaciones de gastos pendientes (/gastos)
proyectoId=="123456";estado=="Pendiente"
[ { "id":"1", "proyectoId":"123456", "partidaPresupuestaria": "08002B541A64406", "codigoEconomico": { "id": "VI", "nombre": "Viajes y dietas", "tipo": "Gasto" } "anualidad":"2021", "columnas": { "1":"05/11/2021", "2":"Empresa S.A", "3":"1000.50" } }, { "id":"2", "proyectoId":"123456", "partidaPresupuestaria": "08002B541A64406", "codigoEconomico": { "id": "VI", "nombre": "Viajes y dietas", "tipo": "Gasto" } "anualidad":"2021", "columnas" { "1":"07/11/2021", "2":"Empresa S.A", "3":"1000.50" } } ]
Detalle gasto (/gastos/{id})
"id":"1", "proyectoId":"123456", "partidaPresupuestaria": "08002B541A64406", "codigoEconomico": { "id": "VI", "nombre": "Viajes y dietas", "tipo": "Gasto" } "anualidad":"2021", "campos":[ { "nombre":"Fecha gasto", "valor":"2020-11-05" }, { "nombre":"Proveedor", "valor":"Empresa S.A" }, { "nombre":"Importe", "valor":"1000.50" } ] "documentos":[ { "id": "11", "nombre":"Factura", "nombreFichero":"factura.pdf" }, { "id": "12", "nombre":"Otro documento", "nombreFichero":"otroDocumento.pdf" } ]