...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Servicio IissueService
Servicio OrganismManagerService
...
Servicio IissueService
...
CreateIssue
El método createIssue tiene como finalidad permitir la creación de un envío dentro de bandeja de entrada, su invocación retornará un número que será el identificador del envío creado, que podrá ser utilizado posteriormente para realizar consultas sobre dicho envío. Para integrarse con este método será necesario ponerse en contacto con el equipo de desarrollo de BENT para tipificar el envío según la aplicación y dar de alta a la misma en la configuración desde el módulo administrativo (se detalla esto en el manual de administrador)
Expand |
---|
|
Usuario: sería la persona que realiza la operación, la finalidad es preparar una serie de documentos que remitirá a bandeja de entrada para que sea enviado hasta el destinatario seleccionado. Aplicación externa: es la aplicación que se va integrar con Bandeja de Entrada, se encargará de realizar las operaciones previas necesarias de creación y firma de documentos. Crear documentos en CCSV: los documentos deben quedar almacenados en CCSV junto con sus firmas si estas están creadas. Registro en SRT: el documento de registro es necesario para que el proceso de envío pueda realizarse, la aplicación externa deberá crear y firmar el documento de registro. Bandeja de Entrada: la aplicación que se encarga de generar el envío y remitirlo hasta el destinatario.
El resultado del alta es el identificador único del envío creado. Signatura public Long createIssue(ParamCreateIssue paramCreateIssue) throws InternalCoreException Parámetros de entrada: ParamCreateIssueParámetro | Tipo | Obligatorio | Descripción | documentList | List<es.aragon.bent.core.ws.data.Document> | SI | Lista con los documentos del envío, La clase Document extiende BaseData, deben informarse los campos: (IMPORTANTE: los documentos que estén en estado borrador no serán añadidos al envío) | csvMaindoc | String | SI | CSV del documento principal, este csv debe estar incluido en el parametro de listado de documentos | description | String | SI | Descripción del envío | insertRegistry | String | NO | Insertar registro en organismos intermedios (valores aceptados: S/N, por defecto N o nulo) | viewDetail | String | NO | Ver detalle en organismo intermedios (valores aceptados: S/N, por defecto N o nulo) | viewTrace | String | NO | Ver traza en organismo intermedios (valores aceptados: S/N, por defecto N o nulo) | senderDni | String | NO | DNI del remitente | senderName | String | NO | Nombre del remitente | senderOrgCode | String | NO | Código del Organismo remitente | receiverDni | String | NO | DNI del receptor | receiverOrgCode | String | SI | Código del Organismo receptor | inmediateSend | Boolean | NO | Realiza el envío si este no requiere registro si la preparación se ha realizado desde Bandeja de Entrada. En otro caso el parámetro es ignorado. (por defecto nulo) | registryInNumber | String | NO | CSV del documento que va a ser justificante de registro. (por defecto nulo) | issuerDni | String | NO | DNI de la persona que realiza la creación del evento de envío | origen | String | SI | Origen del envío (valores aceptados: 0 = ADMINISTRACION 1 = INTERESADO (CIUDADANO) 2 = ADMINISTRACION EXTERNA (Comunicacion) 3 = ADMINISTRACION EXTERNA (Notificacion) | numAsientoRegfia | String | NO | Código del envío en REGFIA (sólo para importaciones de REGFIA, uso interno) | isRegfiaImport | String | NO | Indica si el nuevo envio está importado desde REGFIA (sólo para importaciones de REGFIA, uso interno) | regfiaRegisterType | String | NO | Tipo de registro en REGFIA (sólo para importaciones de REGFIA, uso interno) | *applicationId | String | SI | *(Heredado de BaseData), en el caso de createIssue la aplicación debe estar añadida como aplicación integradora en el admin de BENT. Consultar CAU o al equipo de BENT. |
Parámetros de salida Parametro | Tipo | Descripción |
---|
idIssue | Long | Id del envío recién creado en la plataforma de Bandeja de Entrada |
Códigos de error Este método lanza una excepción de tipo InternalCoreException. A continuación se muestra una tabla con los códigos de error que puede contener la excepción lanzada. Código de error | Descripción | WSVALIDATION_VALIDATEPARAMCREATEISSUE_01 | El parámetro de entrada es obligatorio | WSVALIDATION_VALIDATEPARAMCREATEISSUE_03 | Los csv de los documentos que van dentro del sobre son obligatorios | WSVALIDATION_VALIDATEPARAMCREATEISSUE_04 | El índice del documento principal seleccionado no es válido | WSVALIDATION_VALIDATEPARAMCREATEISSUE_05 | El documento principal no es de tipo PDF | WSVALIDATION_VALIDATEPARAMCREATEISSUE_06 | El documento principal debe estar firmado | WSVALIDATION_VALIDATEPARAMCREATEISSUE_07 | El documento con CSV {0} no es de tipo PDF, todos los documentos de la solicitud deben ser de este formato (aunque se mantiene el codigo no aplica en realidad ya que se elimino esta restricción) | WSVALIDATION_VALIDATEPARAMCREATEISSUE_08 | El documento con CSV {0} no está firmado, todos los documentos de la solicitud deben estar firmados | WSVALIDATION_VALIDATEPARAMCREATEISSUE_09 | No se pueden enviar documentos que registren al documento principal. | WSVALIDATION_VALIDATEPARAMCREATEISSUE_10 | La aplicación integradora no tiene un tipo de aportador válido | WSVALIDATION_VALIDATEPARAMCREATEISSUE_11 | La aplicación no está dada de alta en BENT como apliación integradora | WSVALIDATION_VALIDATEPARAMCREATEISSUE_12 | No se puede realizar un envío solo con documentos en estado borrador | WSVALIDATION_VALIDATEPARAMCREATEISSUE_13 | Error de almacenamiento en uno de los documentos del envio | WSVALIDATION_VALIDATEPARAMCREATEISSUE_14 | Se ha señalado como documento principal un documento en estado borrador | CREATEISSUE_VALUE_INCORRECT | Error de validación al crear el envío en los parámetros | CCSVINTEGRATION_GETDOCUMENT | Error en el repositorio documental. Se ha producido un error al recuperar el documento | DOCUMENTDAOIMPL_SAVEDOCUMENT | Se ha producido un error al guardar el documento | CREATEISSUE_INVALID_SENDERDNI | Error de validación al crear el envío, el dni del emisor no es correcto | CREATEISSUE_INVALID_SENDERORGCODE | Error de validación al crear el envío, el código de organismo emisor debe empezar por ORG | CREATEISSUE_INVALID_RECEIVERDNI | Error de validación al crear el envío, el dni del receptor no es correcto | CREATEISSUE_INVALID_RECEIVERORGCODE | Error de validación al crear el envío, el código de organismo receptor debe empezar por ORG | ISSUEDAOIMPL_FINFISSUEBYID | Se ha producido un error al recuperar el envío | ISSUEEVENTDAOIMPL_SAVEISSUEEVENT | Se ha producido un error al guardar el evento del envío | TRACEDAOIMPL_SAVETRACE | Se ha producido un error al guardar la traza |
Ejemplo de invocación La petición createIssue de BENT tiene varias casuísticas diferenciadas principalmente por el origen del envío a crear. Este parámetro de origen tiene cuatro valores posibles y según el valor que corresponda se parametrizarán también los valores del emisor (senderDni, senderName y senderOrgCode). Esto no afectará a los parámetros del receptor no obstante. La parametrización del receptor tiene como parámetro obligatorio el receiverOrgCode (deberá ser un organismo de la DGA con su código formateado correctamente ORGXXXXX). El otro parámetro receiverDni, es opcional y se introducirá únicamente si el envío es dirigido a la bandeja personal de un funcionario en concreto del organismo establecido en el receiverOrgCode. Dicho DNI deberá estar registrado correctamente en SIU, si no se especifica ningún dni el envío será recibido en la bandeja del organismo y se deberá crear un registro de entrada a través de SRT para que el envío pueda ser completado y visible en BENT. En caso de realizar un envío a un organismo que no tenga gestores dados de alta en BENT, la aplicación enviará una notificación a soporte para realizar las acciones pertinentes. El parámetro issuerDni, no es obligatorio y únicamente informa del usuario que realizó la operación. La parametrización del sender dependerá del tipo de origen del envío, por lo tanto vamos a mostrar una petición de cada tipo y como se debería parametrizar en cada caso: Origen Administración
El envío proviene de la propia administración interna y se tipificará el campo origen como 0. En este caso la parametrización del sender será igual que la del receiver. Será obligatorio indicar un senderOrgCode con el formato ORGXXXXX y opcional indicar un senderDni correspondiente a un funcionario del organismo, dependiendo si el emisor fuera una bandeja personal o la del propio organismo. Ponemos como ejemplo una petición de la aplicación CPPC que realiza este tipo de envíos, el envío sería dirigido desde una bandeja de organismo a la bandeja de personal de un funcionario en concreto, e incluyendo dos documentos : Code Block |
---|
<arg0>
<applicationId>APP_CODE</applicationId>
<csvMaindoc>CSVJ529Y7L77G1W0BENT</csvMaindoc>
<description>envío origen administración interna</description>
<documentList>
<applicationId>APP_CODE</applicationId>
<csv>CSVJ529Y7L77G1W0BENT</csv>
</documentList>
<documentList>
<applicationId>CPPC</applicationId>
<csv>CSVGK37WVC2761V0BENT</csv>
</documentList>
<insertRegistry>N</insertRegistry>
<issuerDni>00000000T</issuerDni>
<origen>0</origen>
<receiverDni>00000000T</receiverDni>
<receiverOrgCode>ORG07464</receiverOrgCode>
<senderOrgCode>ORG07458</senderOrgCode>
</arg0> |
2. Origen Ciudadano El envío proviene de un ciudadano y se tipificará el campo origen como 1. En este caso en la parametrización del sender se deberá informar un senderDni y un senderName, con los datos del solicitante. El campo senderOrgCode quedará nulo. Ponemos como ejemplo una petición de la aplicación TTO que realiza envíos de este tipo: Code Block |
---|
<arg0>
<applicationId>APP_CODE</applicationId>
<csvMaindoc>CSVV21UZAF88L1M0BENT</csvMaindoc>
<description>prueba </description>
<documentList>
<applicationId>APP_CODE</applicationId>
<csv>CSVV21UZAF88L1M0BENT</csv>
</documentList>
<documentList>
<applicationId>APP_CODE</applicationId>
<csv>CSV5U2UDSD48F1E0BENT</csv>
</documentList>
<origen>1</origen>
<receiverOrgCode>ORG06670</receiverOrgCode>
<senderDni>73133419C</senderDni>
<senderName>DIEGO PATRICIO GONZALEZ PARAMO</senderName>
</arg0> |
3. Administracion Externa El envío proviene de una administración externa a la dga y el campo origen se puede tipificar con el valor 2 (caso de que el envío sea una comunicación) o 3 (caso de que el envío sea una notificación). En este caso se informará como en el caso anterior el senderDni y el senderName, pero en este caso con el dni del gestor y el nombre del organismo. Ponemos como ejemplo una petición de la aplicación SETA que realiza envíos de este tipo: Code Block |
---|
<arg0>
<applicationId>APP_CODE</applicationId>
<csvMaindoc>CSVJ529Y7L77G1W0BENT</csvMaindoc>
<description>prueba </description>
<documentList>
<applicationId>APP_CODE</applicationId>
<csv>CSVJ529Y7L77G1W0BENT</csv>
</documentList>
<!-- 2 Comunicacion - 3 Notificacion -->
<origen>2</origen>
<receiverOrgCode>ORG06670</receiverOrgCode>
<senderDni>00000000T</senderDni>
<senderName>Organismo Externo</senderName>
</arg0> |
|
AcceptIssue
Este método permite aceptar un envío creando una traza con la fecha de aceptación. IMPORTANTE: el integrador debe controlar si el envio esta en estado de poder ser aceptado (ultimo evento tipo 1 - envio, o 4 - reenvio y en estado 3).
...
Code Block |
---|
ParamAcceptIssue paramAcceptIssue = new ParamAcceptIssue();
paramAcceptIssue.setIssueId(Long.parseLong(issueId));
paramAcceptIssue.setUserNif(userNif));
paramAcceptIssue.setOrganismMap(organismMap);
paramAcceptIssue.setNotes(notes);
ResultAcceptIssue result = issueManager.getiIssueService().acceptIssue(paramAcceptIssue);
if (BENTCoreConstants.SendResult.ISSUE_ACCEPTED == result.getResult()) {
log.info("Issue aceptado");
} else {
log.error("Issue no aceptado");
}
|
|
ImportRegfiaEntry
Este método permite realizar la importación de un asiento de REGFIA en BENT
...
Parámetro | Tipo | Descripción |
errorCode | String | Codigo de error producido |
errorMsg | String | Mensaje de error producido |
error | boolean | valor booleano que indica si la importacion se ha realizado correctamente o no |
issueId | Long | devuelve el id de envio creado en la importación |
FindIssueTrayAdvanced
Método que devuelve una lista de envíos correspondientes de la bandeja de recibidos con filtros avanzados
...
( * ) Estos parametros se habilitarán en la siguiente versión 4.17.0
FindSentTrayListAdvanced
Método que devuelve una lista de envíos correspondientes con la bandeja de enviados con filtros adicionales
...
( * ) Estos parametros se habilitarán en la siguiente versión 4.17.0
FindRegfiaIssuesAdvanced
Este método recupera el listado de envíos de REGFIA con filtros y parametros adicionales
...
Parámetro | Tipo | Descripción |
listRegfiaIssues | List<ParamFindRegfiaIssuesAdvanced> | Lista con los valores de los filtros que se van a aplicar a la consulta de envíos DIR3 |
size | int | numero de resultados devueltos |
FindIssueDetailByEventAdvanced
Este método recupera los detalles de un envío dados el identificador del envio y un evento en concreto. Esta ideado para visualizar la informacion de un envio segun el estado del mismo afectando a una bandeja en concreto, dicho de otra manera esta pensado para ser invocado con los datos que devuelven los metodos de consulta de bandeja que se detallan mas arriba.
...
Parámetro | Tipo | Descripción |
issueEventId | Long | identificador del evento |
issueId | Long | identificador del envio |
description | String | descripcion del envio |
origin | String | origen del envio |
state | String | estado del envio |
originalSender | ParamIssueEvent | evento original del envío |
previousSender | ParamIssueEvent | evento anterior al consultado |
lastSender | ParamIssueEvent | evento ultimo del envio |
pararmIssueEvent | ParamIssueEvent | evento consultado |
procNum | Long | numero de procedimiento del envío |
Servicio OrganismManagerService
...
GetEmailListByOrgCode
Este método del servicio organismManager permite recuperar el listado de los emails de los usuarios dados de alta en BENT en una bandeja de organismo concreta. BENT únicamente almacena los dnis de los usuarios en su base de datos, recuperando el email a través de SIU. Si un usuario implicado en la búsqueda no tuviera un email registrado el servicio simplemente no lo añadirá al listado de resultados.