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)
AcceptIssue
Este método permite aceptar un envío creando una traza con la fecha de aceptación. Los envios considerados como aceptables son los que tienen como ultimo evento uno de tipo 1 (envio) o 4 (reenvio), cuyo estado es finalizado OK (3) y no contienen documentos editables. Tampoco se permite realizar una aceptación sobre una importación de REGFIA directamente.
En caso de que el envío se encuentre en esta situación, se comprobará también que el receptor último del envío coincida con el indicado en los parametros userNif o userOrganismCode dependiendo de si el receptor es un funcionario o un organismo.
Signatura
public ResultAcceptIssue acceptIssue(ParamAcceptIssue paramAcceptIssue) throws InternalCoreException
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramAcceptIssue | ParamAcceptIssue | SI | Objeto donde están encapsulados los datos relativos al envío que queremos aceptar |
Parámetros de salida
Parámetro | Tipo | Descripción |
acceptIssue | ResultAcceptIssue | Objeto que contiene un código con el valor que indica cómo terminó el proceso |
Ejemplo de invocación
ParamAcceptIssue paramAcceptIssue = new ParamAcceptIssue(); paramAcceptIssue.setIssueId(Long.parseLong(issueId)); // indicar unicamente este parametro si el receptor ultimo del envio es personal paramAcceptIssue.setUserNif(userNif)); // indicar unicamente este parametro si el receptor ultimo del envio es un organismo paramAcceptIssue.setUserOrganismCode(userOrganismCode); paramAcceptIssue.setNotes(notes); ResultAcceptIssue result = issueManager.getiIssueService().acceptIssue(paramAcceptIssue); if (BENTCoreConstants.SendResult.ISSUE_ACCEPTED.equals(result.getResult()) { log.info("Envio aceptado"); } else if (BENTCoreConstants.SendResult.ISSUE_ESTATE_INVALID.equals(result.getResult()) { log.ingo("El envío no se encontraba en estado de poder ser aceptado"); } else if (BENTCoreConstants.SendResult.USER_WITHOUT_PERMISSION.equals(result.getResult()) { log.info("El usuario/organismo indicado no era el correspondiente para aceptar el envío"); } |
ImportRegfiaEntry
Este método permite realizar la importación de un asiento de REGFIA en BENT
Signatura
public ResultImportRegfiaEntry importRegfiaEntry(ParamImportRegfiaEntry paramImportRegfiaEntry)
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramImportRegfiaEntry | ParamImportRegfiaEntry | SI | Objeto donde están encapsulados los datos relativos al asiento a importar |
Parámetros de salida
Parámetro | Tipo | Descripción |
resultImportRegfiaEntry | ResultImportRegfiaEntry | Objeto que contiene el id de envio generado en BENT, o la informacion del error producido |
Ejemplo de invocación
ParamImportRegfiaEntry arg6 = new ParamImportRegfiaEntry(); // parametros obtenidos del asiento de REGFIA arg6.setApplicationId("BENT"); arg6.setAsunto("Programa emprendedores autónomos"); arg6.setCodOrganismoDestino("ORG06670"); arg6.setCodOrganismoOrigen(null); arg6.setDsOrganismoOrigen(null); arg6.setIdentificadorAgente("17756357N"); arg6.setNombreCompletoAgente("Mª Jose Montesa Letosa"); arg6.setNumeroRegistro("E20140015950"); arg6.setTipoAsiento("E"); // el asiento de REGFIA contiene un listado de objetos document de REGFIA, solo se pasa un listado de String con los csvs List<String> csvList = new ArrayList<String>(); csvList.add("CSVO33FKMM3S6AE01PFI"); arg6.setCsvList(csvList); ResultImportRegfiaEntry result = bentClient.importRegfiaEntry(arg6); if (result.getError()) { log.error("Error: " + result.getErrorMsg()); } else { log.info("OK: " + result.getIssueId()"); } |
ParamImportRegfiaEntry
La clase ParamImportRegfiaEntry encapsula los parametros del asiento de REGFIA que son necesario para realizar la importacion en BENT tal y como los devuelve esta aplicacion en el metodo getRegistry.
Ver detalles
Parámetro | Tipo | Obligatorio | Descripción |
asunto | String | SI | Asunto del asiento a importar |
codOrganismoDestino | String | SI | codigo del organismo receptor de la importación. Debe ser un codigo valido de SIU |
codOrganismoOrigen | String | NO* | codigo del organismo origen de la importación |
dsOrganismoOrigen | String | NO* | descripcion del organismo emisor de la importación |
numeroRegistro | String | SI | numero de registro del asiento |
tipoAsiento | String | SI | Debe ser “E” solo se permiten importar asientos de entrada |
identificadorAgente | String | NO* | identificador del primer interesado del asiento |
nombreCompletoAgente | String | NO* | nombre completo del primer interesado del asiento |
csvList | List<String> | SI | listado de csvs del asiento. BENT comprueba y elimina los documentos en estado borrador. En el caso de que todos sean borradores el envio fallará. |
( * ) deben introducirse los datos del organismo origen, o del agente interesado obligatoriamente. En cualquier caso estos parametros se deben rellenar siempre con lo que venga informado en el asiento de REGFIA: organismoOrigen e interesados (el primero del listado).
ResultImportRegfiaEntry
La clase ResultImportRegfiaEntry contiene el resultado de la importación.
Ver detalles
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
Signatura
public ResultTrayListAdvanced findIssueTray(ParamFindTrayAdvanced paramTraySearch) throws InternalCoreException
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramTraySearch | ParamFindTrayAdvanced | SI | Objeto donde están encapsulados los datos para realizar la búsqueda de envíos recibidos |
Parámetros de salida
Parámetro | Tipo | Descripción |
resultTrayList | ResultTrayListAdvanced | Objeto donde se encuentran encapsulados la lista de envíos correspondientes a la bandeja y su tamaño |
Excepciones
Tipo de excepción | Descripción |
InternalCoreException | Error en una operación del núcleo |
Ejemplo de invocación
ResultTrayListAdvanced resultTrayList = new ResultTrayListAdvanced(); ParamFindTrayAdvanced paramTraySearch = new ParamFindTrayAdvanced(); paramTraySearch.setIssueId(Long.parseLong(issueId)); paramTraySearch.setFromIndex(-1); paramTraySearch.setReceiverDni(user.getNif()); paramTraySearch.setReceiverOrgCode(user.getOrganismCode()); resultTrayList = issueManager.getiIssueService().findIssueTrayAdvanced(paramTraySearch); |
ParamFindTrayAdvanced
La clase ParamFindTrayAdvanced es la que contiene los parámetros para la obtención de los listados que se muestran en las bandejas que ve el usuario, se la bandeja de usuario o la de organismo, tanto para entrada como para salida, con filtros adicionales.
Ver detalles
Parámetro | Tipo | Obligatorio | Descripción |
senderDni | String | NO | DNI del remitente |
senderName | String | NO | Nombre del remitente |
receiverDni | String | NO | DNI del destinatario |
receiverName | String | NO | Nombre del destinatario |
origin | String | NO | Origen de creación del envío |
adminFileNumber | String | NO | Número del expediente |
issueId | Long | NO | Identificador del envío |
status | Long | NO | Estado en el que se encuentra el envío |
acceptanceNif | String | NO | NIF de la persona que realiza la aceptación del envío |
description | String | NO | Descripción del envío |
entryDateFrom | Date | NO | Fecha inicial para el rango de fechas de entrada del envío en el sistema |
entryDateTo | Date | NO | Fecha final para el rango de fecha de entrada del envío en el sistema |
receptionDateFrom | Date | NO | Fecha inicial para el rango de fechas de recepción del envío |
receptionDateTo | Date | NO | Fecha final para el rango de fechas de recepción del envío |
viewIfIntermediate | Boolean | NO | Incluir o no en el resultado los envíos en los que el organismo es un organismo intermedio en la ruta de remisión |
fromIndex | int | NO | Para consultas paginadas recuperar desde el registro con el número indicado en fromIndex |
toIndex | int | NO | Para consultas paginadas recuperar hasta el registro con el número indicado en toIndex |
maxResults | int | NO | Para consultas paginadas indica el número máximo de registros a retornar |
sortColumn | String | NO | Columna por la cual se van a ordenar los resultados |
ascending | Boolean | NO | Ordenación ascendente (true) o descendente (false) de los resultados |
userSentNif | String | NO | NIF del usuario que realiza el envío, aplicable sólo para envíos remitidos a otro usuario/organismo |
userOrgCode | String | NO | Código del organismo desde el que se realiza el envío, aplicable sólo para envíos remitidos a otro usuario/organismo |
acceptedIssue | String | NO | Estado de aceptación de un envío |
editableDocs | String | NO | Documentos que hay que editar el código de procedimiento |
origen | String | NO | Parámetro que indica el origen del envío |
procNum | Long | NO | Codigo de procedimiento |
eventCause | Long | NO | Causa del evento del envio |
regInNumber | String | NO | Numero de registro de entrada |
regOutNumber | String | NO | Numero de registro de salida |
regInDateFrom | Date | NO | Fecha de registro de entrada |
regOutDateFrom | Date | NO | Fecha de registro de salida |
regInCsv | String | NO | Csv del documento de registro de entrada |
regOutCsv | String | NO | Csv del documento de registro de salida |
ResultTrayListAdvanced
La clase ResultTrayListAdvanced contiene el resultado de buscar la lista de trazas de un envío.
Ver detalles
Parámetro | Tipo | Descripción |
list | List<ParamReceivedTrayAdvanced> | Lista que contiene uno o varios objetos ParamReceivedTrayAdvanced |
size | int | Número de objetos que contiene la lista |
ParamReceivedTrayAdvanced
La clase ParamReceivedTrayAdvanced contiene los datos a mostrar en el listado de la bandeja de recibidos.
Ver detalles
Parámetro | Tipo | Descripción |
issueId | Long | Identificador del envío |
issueEventId | Long | Identificador del evento de envío |
acceptanceNif | String | NIF del usuario que realiza la aceptación del envío |
adminFileNumber | String | Número de expediente |
entryDate | Date | Fecha de entrada del envío |
receptionDate | Date | Fecha de recepción del envío |
senderDni | String | DNI del usuario que remite el envío |
senderName | String | Nombre del usuario que remite el envío |
receiverDni | String | DNI del usuario que se va consultar la bandeja de elementos recibidos |
description | String | Descripción del envío |
origin | String | Origen del envío, ver códigos en “Tipos de origen de creación del envío” |
state | Integer | Estado en el que se encuentra el registro, ver “Valores del campo status” |
senderOrgName | String | Nombre del organismo del remitente |
sender | String | Nombre del remitente completo |
acceptedIssue | String | Estado de aceptación del issue |
editableDocs | String | Documentos que hay que editar el código de procedimiento |
origen | String | Parámetro que indica el origen del documento |
receiverOrgCode | String | Código del organismo del receptor |
eventCause | String | Causa del evento del envío |
procNum | Long | Codigo de procedimiento del evio |
regInNumber | String | numero de registro de entrada |
regOutNumber | String | numero de registro de salida |
regInDate | Date | fecha de registro de entrada |
regOutDate | Date | fecha de registro de salida |
regInCsv | String | csv del documento de registro de entrada |
regOutCsv | String | csv del documento de registro de salida |
FindIssueTrayExternal
Método que devuelve una lista de envíos correspondientes de la bandeja de recibidos con filtros avanzados
Signatura
public ResultTrayListExternal findIssueTrayAppExternal(ParamFindTrayExternal paramTraySearch) throws InternalCoreException {
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramTraySearch | ParamFindTrayExternal | SI | Objeto donde están encapsulados los datos para realizar la búsqueda de envíos recibidos |
Parámetros de salida
Parámetro | Tipo | Descripción |
resultTrayList | ResultTrayListExternal | Objeto donde se encuentran encapsulados la lista de envíos correspondientes a la bandeja y su tamaño |
Excepciones
Tipo de excepción | Descripción |
InternalCoreException | Error en una operación del núcleo |
Ejemplo de invocación
ResultTrayListExternal resultTrayList = new ResultTrayListExternal(); ParamFindTrayExternal paramTraySearch = new ParamFindTrayExternal(); paramTraySearch.setApplicationId("APP_CODE"); // codigo SIU de bandeja consultada (se ha de tener permisos en el admin de BENT) paramTraySearch.setReceiverOrgCode(orgCode); // filtro de estados de envios opcional List<Integer> filterStates = new ArrayList<Integer>(); filterStates.add(BENTCoreConstants.EventType.SEND); filterStates.add(BENTCoreConstants.EventType.FORWARD); filterStates.add(BENTCoreConstants.EventType.ACCEPT); paramTraySearch.setState(filterStates); // añadir paginacion opcional paramTraySearch.setFromIndex(1); paramTraySearch.setToIndex(10); paramTraySearch.setAscending(false); resultTrayList = issueManager.getiIssueService().findIssueTrayAppExternal(paramTraySearch); if (resultTrayList.getErrorCode() != null) { if (resultTrayList.getErrorCode().equals(ErrorCode.FIND_ISSUE_EXTERNAL_NO_RECEIVER_ORGCODE)) { log.error("El parametro receiverOrgCode ha sido pasado nulo o vacio"); } else if (resultTrayList.getErrorCode().equals(ErrorCode.FIND_ISSUE_EXTERNAL_ORGCODE_NOT_ALLOWED)) { log.error("No existen permisos sobre la bandeja consultada para esta aplicación"); } else if (resultTrayList.getErrorCode().equals(ErrorCode.FIND_ISSUE_EXTERNAL_STATE_INVALID)) { log.error("Alguno de los valores indicados en el filtro de estados es incorrecto"); } else if (resultTrayList.getErrorCode().equals(ErrorCode.FIND_ISSUE_EXTERNAL_PAGIN_PARAMS)) { log.error("Los parametros de paginacion no han sido introducidos correctamente"); } } else { log.info("Consulta realizada con exito. Envios devueltos: " + result.getList().size() + " - total de la consulta: " + result.getSize()); } |
ParamFindTrayExternal
La clase ParamFindTrayExternal es la que contiene los parámetros para la obtención de los listados de consulta para aplicaciones externas
Ver detalles
Parámetro | Tipo | Obligatorio | Descripción |
receiverOrgCode | String | SI | codigo de organismo a consultar |
state | List<Integer> | NO | filtro de estados de envio |
fromIndex | Integer | NO | valor inicial de paginacion (valor minimo 1) |
toIndex | Integer | NO | valor final de paginacion |
ascending | Boolean | NO | indica la ordenacion ascendente o descendente (por fecha de envio) |
ResultTrayListExternal
La clase ResultTrayListExternal contiene el resultado de la búsqueda.
Ver detalles
Parámetro | Tipo | Descripción |
list | List<ParamReceivedTrayAdvanced> | Lista que contiene uno o varios objetos ParamReceivedTrayAdvanced |
size | int | Número de objetos que contiene la lista |
errorCode | String | codigo de error |
errorMsg | String | mensaje de error |
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.
Signatura
public List<String> getEmailListByOrgCode(ParamOrganismManager paramOrganismManager) throws InternalCoreException
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramOrganismManager | ParamOrganismManager | SI | Objeto donde están encapsulados los datos relativos a la consulta a realizar |
Parámetros de salida
Tipo | Descripción |
List<String> | Listado de emails |
Ejemplo de invocación
ParamOrganismManager paramOrganismManager = new ParamOrganismManager(); // el id de aplicacion se rellena automaticamente si esta configurado el interceptor de autorización de salida, si no se ha de indicar paramOrganismManager.setApplicationId("SETA"); // indicamos un codigo de organismo paramOrganismManager.setOrgCode("ORG06670"); List<String> result = bentOrganismManagerClient.getEmailListByOrgCode(paramOrganismManager); if (result == null || result.size() == 0) { log.info("No se encontraron gestores asociados con el organismo"); } else { for (String managerEmail: result) { log.info("Encontrado email de gestor: " + managerEmail"); } } |
getOrganismManagerListByOrgCode
Este método del servicio organismManager permite recuperar el listado de gestores asociados en BENT con un código de organismo concreto.
Signatura
public List<ParamOrganismManager> getOrganismManagerListByOrgCode(ParamOrganismManager paramOrganismManager) throws InternalCoreException
Parámetros de entrada
Parámetro | Tipo | Obligatorio | Descripción |
paramOrganismManager | ParamOrganismManager | SI | Objeto donde están encapsulados los datos relativos a la consulta a realizar |
Parámetros de salida
Tipo | Descripción |
List<ParamOrganismManager> | Listado de duplas gestor - organismo |
Ejemplo de invocación
ParamOrganismManager paramOrganismManager = new ParamOrganismManager(); // el id de aplicacion se rellena automaticamente si esta configurado el interceptor de autorización de salida, si no se ha de indicar paramOrganismManager.setApplicationId("AGUAE"); // indicamos un codigo de organismo paramOrganismManager.setOrgCode("ORG06670"); List<ParamOrganismManager> result = bentOrganismManagerClient.getOrganismManagerListByOrgCode(paramOrganismManager); if (result == null || result.size() == 0) { log.info("No se encontraron gestores asociados con el organismo"); } else { for (ParamOrganismManager manager : result) { log.info("Encontrado gestor con dni " + manager.getManagerDni() + " e id de gestor " + manager.getOrganismManagerId() + " en el organismo"); } } |