Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Servicios de gestión de notificaciones en estado borrador
Método 'createDraft' @deprecated
Inicia el proceso de alta de una notificación creando para ello un borrador en el sistema con los metadatos asociados a la notificación.
A la hora de crear un borrador tenemos que tener en cuenta la visibilidad. Todos los borradores creados con este método se crearán con visibilidad compartida y el organismo gestor será el indicado en el campo organismo.
Método deprecado, es recomendable usar el servicio → createDrafwithOrganism() para gestionar de manera específica la visibilidad de las notificaciones.
Información
Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama. Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.
//objetos del servicio
ParamCreateDraft paramCreateDraft = new ParamCreateDraft();
ResultCreateDraft resultCreateDraft;
//Se crea un receiver
DraftReceiver draftReceiver = new DraftReceiver();
draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion
draftReceiver.setName("name");
draftReceiver.setSurname1("surname1");
draftReceiver.setSurname2("surname2");
draftReceiver.setAddress("address");
draftReceiver.setEmail("email@email.com");
//Se crea la lista de Receivers
DraftReceiver[] draftReceivers = new DraftReceiver[1];
draftReceivers[0] = draftReceiver;
//Se crea la lista de datos específicos
Data[] specificDataList=new Data[3];
specificDataList[0] = new Data("keyA1","valueA1");
specificDataList[1] = new Data("keyA2","valueA2");
specificDataList[2] = new Data("keyA3","valueA3");
//Se crea el organismo asociado
Organism organism = new Organism();
organism.setCode("ORG14668");
organism.setName("Departamento de Economía y Hacienda");
//Se rellena el objeto Draft
Draft draftCreate = new Draft();
draftCreate.setDossier("20110224-01"); // expediente
draftCreate.setCreatorId("11111111H");
draftCreate.setDescription("20110224-01");
draftCreate.setOrganism(organism);
draftCreate.setSpecificDataList(specificDataList);
draftCreate.setDraftReceiversList(draftReceivers);
draftCreate.setExpireTime(new Integer(10));
draftCreate.setContent("20110224-01");
draftCreate.setProcedure("1");
//Se rellena el objeto ParamCreateDraft
paramCreateDraft.setDraft(draftCreate);
//Se hace la invocación
try {
resultCreateDraft = draftClient.createDraft(paramCreateDraft);
System.out.println(resultCreateDraft.getDraftId());
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'createDraftWithOrganism'
Inicia el proceso de alta de una notificación creando para ello un borrador en el sistema con los metadatos asociados a la notificación
A la hora de crear un borrador tenemos que tener en cuenta la visibilidad. Si se quiere crear un borrador con visibilidad compartida tenemos que asignarle la lista de organismos (organismVisibilityList). Si no asignamos la lista de organismos, el borrador se creará con visibilidad limitada.
En la lista de visibilidad de organismos solamente hay que pasar los organismos gestores ya que el organismo productor se obtiene automáticamente por código.
Información
Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama. Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.
En este ejemplo vamos a crear una notificación con visibilidad compartida, ya que vamos a indicar una lista de organismos gestores.
Ejemplo de invocación
//objetos del servicio
ParamCreateDraftWithOrganism paramCreateDraft = new ParamCreateDraftWithOrganism();
ResultCreateDraft resultCreateDraft;
//Se crea un receiver
DraftReceiver draftReceiver = new DraftReceiver();
draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion
draftReceiver.setName("name");
draftReceiver.setSurname1("surname1");
draftReceiver.setSurname2("surname2");
draftReceiver.setAddress("address");
draftReceiver.setEmail("email@email.com"); //se podrán añadir más de una dirección separadas por ;
//Se crea la lista de Receivers
DraftReceiver[] draftReceivers = new DraftReceiver[1];
draftReceivers[0] = draftReceiver;
//Se crea la lista de datos específicos
Data[] specificDataList=new Data[3];
specificDataList[0] = new Data("keyA1","valueA1");
specificDataList[1] = new Data("keyA2","valueA2");
specificDataList[2] = new Data("keyA3","valueA3");
//Se crea el organismo asociado
Organism organism = new Organism();
organism.setCode("ORG14668");
organism.setName("Departamento de Economía y Hacienda");
//Se rellena el objeto Draft
DraftWithOrganism draftCreate = new DraftWithOrganism();
draftCreate.setDossier("20110224-01"); // expediente
draftCreate.setCreatorId("11111111H"); // creador de la notificación
draftCreate.setDescription("20110224-01");
draftCreate.setOrganism(organism);
draftCreate.setSpecificDataList(specificDataList);
draftCreate.setDraftReceiversList(draftReceivers);
draftCreate.setExpireTime(new Integer(10));
draftCreate.setContent("20110224-01");
draftCreate.setProcedure("1"); // procedimiento de la notificación
//lista de organismos gestores para la visibilidad compartida (si no se asigna la lista se creará con visibilidad limitada)
OrganismVisibility[] organismVisibilities = new OrganismVisibility[2];
OrganismVisibility organismVisibility = new OrganismVisibility();
organismVisibility.setOrganismCode("ORG14668");
organismVisibility.setTipoRelacion(SNTClientConstants.ORG_GESTOR);
organismVisibilities[0] = organismVisibility;
organismVisibility = new OrganismVisibility();
organismVisibility.setOrganismCode("ORG12358");
organismVisibility.setTipoRelacion(SNTClientConstants.ORG_GESTOR);
organismVisibilities[1] = organismVisibility;
draftCreate.setOrganismVisibilityList(organismVisibilities);
//Se rellena el objeto ParamCreateDraft
paramCreateDraft.setDraft(draftCreate);
//Se hace la invocación
try {
resultCreateDraft = draftClient.createDraftWithOrganism(paramCreateDraft);
System.out.println(resultCreateDraft.getDraftId());
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
En este ejemplo vamos a crear una notificación con visibilidad limitada, ya que vamos a indicar una lista vacía de organismos gestores.
Ejemplo de invocación
//objetos del servicio
ParamCreateDraftWithOrganism paramCreateDraft = new ParamCreateDraftWithOrganism();
ResultCreateDraft resultCreateDraft;
//Se crea un receiver
DraftReceiver draftReceiver = new DraftReceiver();
draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion
draftReceiver.setName("name");
draftReceiver.setSurname1("surname1");
draftReceiver.setSurname2("surname2");
draftReceiver.setAddress("address");
draftReceiver.setEmail("email@email.com"); //se podrán añadir más de una dirección separadas por ;
//Se crea la lista de Receivers
DraftReceiver[] draftReceivers = new DraftReceiver[1];
draftReceivers[0] = draftReceiver;
//Se crea la lista de datos específicos
Data[] specificDataList=new Data[3];
specificDataList[0] = new Data("keyA1","valueA1");
specificDataList[1] = new Data("keyA2","valueA2");
specificDataList[2] = new Data("keyA3","valueA3");
//Se crea el organismo asociado
Organism organism = new Organism();
organism.setCode("ORG14668");
organism.setName("Departamento de Economía y Hacienda");
//Se rellena el objeto Draft
DraftWithOrganism draftCreate = new DraftWithOrganism();
draftCreate.setDossier("20110224-01"); // expediente
draftCreate.setCreatorId("11111111H"); // creador de la notificación
draftCreate.setDescription("20110224-01");
draftCreate.setOrganism(organism);
draftCreate.setSpecificDataList(specificDataList);
draftCreate.setDraftReceiversList(draftReceivers);
draftCreate.setExpireTime(new Integer(10));
draftCreate.setContent("20110224-01");
draftCreate.setProcedure("1"); // procedimiento de la notificación
draftCreate.setOrganismVisibilityList(null); // lista vacia de organismos gestores
//Se rellena el objeto ParamCreateDraft
paramCreateDraft.setDraft(draftCreate);
//Se hace la invocación
try {
resultCreateDraft = draftClient.createDraftWithOrganism(paramCreateDraft);
System.out.println(resultCreateDraft.getDraftId());
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'updateDraft' @deprecated
Actualiza una solicitud de notificación dada de alta en el sistema. En el caso de enviar el documento la notificación (draftDocument) se actualizaría o añadiría y se actualizarían los metadados del draft. Si solo se enviase el parámetro draft, solamente se actualizarían los metadatos de éste.
A la hora de actualizar un borrador tenemos que tener en cuenta la visibilidad. Todos los borradores actualizados con este método se actualizarán con visibilidad compartida y el organismo gestor será el indicado en el campo organismo
Método deprecado, es recomendable usar el servicio → updateDraftWithOrganism() para gestionar de manera específica la visibilidad de las notificaciones.
Información
Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama. Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.
Signatura
Result updateDraft(String applicationId, ParamUpdateDraft paramUpdateDraft, DataHandler draftDocument) throws RemoteException, InternalCoreException;
Parámetros de invocación
Nombre
Tipo
Obligatorio
Descripción
Nombre
Tipo
Obligatorio
Descripción
applicationId
String
Sí
Aplicación que ejecuta el método
draftDocument
DataHandler
No
Documento de principal de la notificación.
ParamUpdateDraft
Objeto de actualización de borrador
draft
Draft
Sí
Objeto solicitud
invokingId
String
No
Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.
Parámetros de respuesta
Nombre
Tipo
Descripción
Nombre
Tipo
Descripción
ResultUpdateDraft
ResultUpdateDraft
Objeto que se devuelve como resultado sin ningún parámetro.
Ejemplo de invocación
Ejemplo de invocación
ParamGetDraft paramGetDraft = new ParamGetDraft();
paramGetDraft.setDraftId(result.getDraftId());
ResultGetDraft resultGetDraft = draftClient.getDraft(paramGetDraft);
Draft draft = resultGetDraft.getDraft();
// Le añadimos los metadatos del documento de notificación
draft.setFormatSignature(new Long(SNTClientConstants.SIGN_TYPE_PDF));
draft.setMimeType("application/pdf");
draft.setFileName("NOTIFICATION_ATTACHED_PDF.pdf");
draft.setSignDate(Calendar.getInstance());
ParamUpdateDraft paramUpdateDraft = new ParamUpdateDraft();
paramUpdateDraft.setDraft(draft);
paramUpdateDraft.setInvokingId("1111111H");
// Cargamos el fichero de notificación
FileDataSource dataSourceNotification = new FileDataSource(new File("src/test/docs/NOTIFICATION.pdf"));
DataHandler draftDocument = new DataHandler(dataSourceNotification);
// Invocamos al servicio
draftClient.updateDraft(paramUpdateDraft, draftDocument);
Método 'updateDraftWithOrganism'
Actualiza una solicitud de notificación dada de alta en el sistema. En el caso de enviar el documento la notificación (draftDocument) se actualizaría o añadiría y se actualizarían los metadados del draft. Si solo se enviase el parámetro draft, solamente se actualizarían los metadatos de éste.
A la hora de actualizar un borrador tenemos que tener en cuenta la visibilidad. En la obtención del borrador obtendremos también los organismos gestores e irá incluido en la lista el organismo aportador, por lo que tenemos que quitarlo de la lista si queremos gestionarlos en nuestra aplicación.
En la lista de visibilidad de organismos solamente hay que pasar los organismos gestores ya que el organismo productor se obtiene automáticamente por código.
Información
Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama. Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.
Signatura
Result updateDraft(String applicationId, ParamUpdateDraftWithOrganism paramUpdateDraftWithOrganism, DataHandler draftDocument) throws RemoteException, InternalCoreException;
Parámetros de invocación
Nombre
Tipo
Obligatorio
Descripción
Nombre
Tipo
Obligatorio
Descripción
applicationId
String
Sí
Aplicación que ejecuta el método
draftDocument
DataHandler
No
Documento de principal de la notificación.
ParamUpdateDraftWithOrganism
Objeto de actualización de borrador
draftWithOrganism
DraftWithOrganism
Sí
Objeto solicitud
invokingId
String
No
Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.
Parámetros de respuesta
Nombre
Tipo
Descripción
Nombre
Tipo
Descripción
ResultUpdateDraft
ResultUpdateDraft
Objeto que se devuelve como resultado sin ningún parámetro.
Ejemplo de invocación
Ejemplo de invocación
ParamGetDraft paramGetDraft = new ParamGetDraft();
paramGetDraft.setDraftId(10940L);
ResultGetDraftWithOrganism resultGetDraft = draftClient.getDraftWithOrganism(paramGetDraft);
DraftWithOrganism draft = resultGetDraft.getDraft();
// Le añadimos los metadatos del documento de notificación
draft.setFormatSignature(new Long(SNTClientConstants.SIGN_TYPE_PDF));
draft.setMimeType("application/pdf");
draft.setFileName("NOTIFICATION_ATTACHED_PDF.pdf");
draft.setSignDate(Calendar.getInstance());
ParamUpdateDraftWithOrganism paramUpdateDraft = new ParamUpdateDraftWithOrganism();
paramUpdateDraft.setDraft(draft);
paramUpdateDraft.setInvokingId("1111111H");
// Cargamos el fichero de notificación
FileDataSource dataSourceNotification = new FileDataSource(new File("src/test/docs/NOTIFICATION.pdf"));
DataHandler draftDocument = new DataHandler(dataSourceNotification);
// Invocamos al servicio
draftClient.updateDraftWithOrganism(paramUpdateDraft, draftDocument);
Método 'deleteDraft'
Elimina una solicitud de notificación dada de alta en el sistema.
Signatura
Result deleteDraft(String applicationId, ParamDeleteDraft paramDeleteDraft) throws RemoteException, InternalCoreException;
Parámetros de invocación
Nombre
Tipo
Descripción
Nombre
Tipo
Descripción
applicationId
String
Aplicación que ejecuta el método
ParamDeleteDraft
Objeto de borrado
draftId
String
Identificador de la solicitud a eliminar
invokingId
String
Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.
Parámetros de respuesta
Nombre
Tipo
Descripción
Nombre
Tipo
Descripción
-
Result
Objeto que se devuelve como resultado sin ningún parámetro.
Ejemplo de invocación
Ejemplo de invocación
// Objectos del servicio
ParamDeleteDraft paramDeleteDraft = new ParamDeleteDraft();
// Indicamos el Draft a eliminar
paramDeleteDraft.setDraftId(10940L);
paramDeleteDraft.setInvokingId("1111111H");
// Se hace la invocación
try {
Result resultDeleteDraft = draftClient.deleteDraft(paramDeleteDraft);
System.out.println("Se ha eliminado el borrador correctamente");
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'getDraft' @deprecated
Obtiene los metadatos (sin los datos físicos del documento de notificación) de una solicitud de notificación dada de alta en el sistema.
En el borrador obtenido, no se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.
Método deprecado, es recomendable usar el servicio → getDraftWithOrganism() para obtener visibilidad de las notificaciones.
//Objetos del servicio
ParamGetDraft paramGetDraft = new ParamGetDraft();
ResultGetDraft resultGetDraft;
//Se indica el Draft a obtener
paramGetDraft.setDraftId(new Long(1));
//Se hace la invocación
try {
resultGetDraft = draftClient.getDraft(paramGetDraft);
if(resultGetDraft!=null && resultGetDraft.getDraft()!=null){
System.out.println("Se ha obtenido el borrador");
}else{
System.out.println("No se ha encontrado el borrador");
}
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'getDraftWithOrganism'
Obtiene los metadatos (sin los datos físicos del documento de notificación) de una solicitud de notificación dada de alta en el sistema.
En el borrador obtenido, se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.
//Objetos del servicio
ParamGetDraft paramGetDraft = new ParamGetDraft();
//Se indica el Draft a obtener
paramGetDraft.setDraftId(new Long(1));
//Se hace la invocación
try {
ResultGetDraftWithOrganism resultGetDraft = draftClient.getDraftWithOrganism(paramGetDraft);
if(resultGetDraft!=null && resultGetDraft.getDraft()!=null){
System.out.println("Se ha obtenido el borrador");
}else{
System.out.println("No se ha encontrado el borrador");
}
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'getDraftList' @deprecated
Obtiene una lista de solicitudes de notificación dadas de alta en el sistema, según un criterio de búsqueda.
Método deprecado, es recomendable usar el servicio → getDraftListWithOrganism() para obtener visibilidad de las notificaciones.
Número de elementos coincidentes con la búsqueda que se encuentran en la base de datos. Este parámetro se devuelve ya que con los parámetros de paginación se pueden solicitar que devuelva un máximo de objetos independientemente de cuántos haya en la base de datos.
Ejemplo de invocación
Ejemplo de invocación
//Objetos del servicio
ParamGetDraftList paramGetDraftList = new ParamGetDraftList();
DraftSearch objDraft = new DraftSearch();
// parametros por los que filtrar
objDraft.setCreatorId("00000000T");
// buscamos por procedimiento y organismos
objDraft.setProcedure("1");
// Lista de organismos gestores a buscar
String[] orgListVisibility = new String[2];
orgListVisibility[0] = "ORG14668"; // organismo gestor
orgListVisibility[1] = "ORG12358"; // organismo gestor
objDraft.setOrgListVisibility(orgListVisibility);
paramGetDraftList.setDraftSearch(objDraft);
// Se hace la invocación
try {
ResultGetDraftList resultGetDraftList = draftClient.getDraftList(paramGetDraftList);
if(resultGetDraftList!=null){
System.out.println("Numero de resultados: "+resultGetDraftList.getSize());
}else{
System.out.println("No se han encontrado resultados");
}
} catch (SNTException e) {
System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo());
}
Método 'getDraftListWithOrganism'
Obtiene una lista de solicitudes de notificación dadas de alta en el sistema, según un criterio de búsqueda.
En los borradores obtenidos, se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.