QueryCases
De
<keywords content="keywords"> querySOA, query SOA, queries SOA, queryCases, query Cases, queryCasesAsString, SOA Layer, soa, queries, reportes, buscar casos, consultar, consulta de casos, consulta casos, consultar casos </keywords>
Contenido |
QueryCases
Es un método del servicio web QuerySOA web que se utiliza para ejecutar una forma de consulta Bizagi existente.
La invocación a este método retorna los casos con su detalle tal como es posible mediante la forma de consulta que se ejecuta. Se permite filtrar los casos de acuerdo a datos de negocio (así mismo como datos de proceso), y también es posible manejar la paginación de los resultados (dado que la consulta puede arrojar una cantidad significativa de casos).
La información de este documento también aplica para el método QueryCasesAsString.
Descripción
Este método realiza la ejecución de una forma de consulta para la búsqueda de casos en la aplicación de Bizagi. Este método es poderoso y muy útil para la generación de reportes via la capa SOA.
Vea mayor información sobre formas de consulta en Bizagi (reportes).
El método QueryCases recibe y retorna un documento XML (XmlDocument), mientras que el método QueryCasesAsString recibe y retorna una cadena (string) cuya información viene en formato XML.
Datos de entrada (Input)
El siguiente esquema define la estructura XML que espera como dato de entrada este método:
Parámetro 1 (XmlDocument o String )
BizAgiWSParam: Es el nodo raíz que contiene toda la información para ejecutar la forma de consulta. Contiene los nodos "domain", "userName", "QueryParams", y "Parameters".
domain: Acá se especifica el dominio del usuario en Bizagi que ejecuta la consulta.
userName: El nombre de usuario que ejecuta la consulta.
QueryParams: Contiene la información para los filtros de la búsqueda al ejecutar la consulta. Contiene los nodos "Internals" y "XPaths".
Internals: Contiene 1 o más nodos de tipo "Internal", que se utilizan para especificar los filtros relacionados a los datos de proceso (por medio de renders internos).
Internal: Especifica en su atributo "Name", el render interno. El valor del filtro va como el valor del nodo y es sensible a mayúsculas.
Los posible valores para el atributo "Name" de Internal son:
- ProcessState: Permite filtrar los casos que estén abietos ("Running"), cerrados ("Completed") o que hayan sido abortados ("Aborted"). "ALL" se utliza como defecto, en cuyo caso no habría filtro para este criterio.
- RadNumber: Permite filtrar para obtener un caso específico.
- CreationDate: Permite filtrar de acuerdo a la fecha de creación del caso.
- ExpiryDate: Permite filtrar de acuerdo a la fecha de vencimiento del caso.
- ExpiryDays: Permite filtrar de acuerdo al número de días que quedan para el vencimiento del caso.
- Users: Permite filtrar de acuerdo a los usuarios (especificando el UserId) que estén actualmente trabajando en los casos.
- Creatorfullname: nombre completo (fullname) del creador del caso.
- Creatorposition: posición del creador del caso.
- Creatorloginname: nombre de usuario (username) del creador del caso.
- Userfullname: nombre completo (fullname) del usuario actualmente loggeado (currentuser).
- Userposition: posición del usuario actualmente loggeado (currentuser).
- Userloginname: nombre de usuario (username) del usuario actualmente loggeado (currentuser).
- idWfClass: Permite filtrar de acuerdo al id de proceso (wfclass).
- idApplication: Permite filtrar de acuerdo al id de la aplicación Bizagi.
- idCategory: Permite filtrar de acuerdo al id de la categoría de proceso.
- idTask: Permite filtrar de acuerdo a la actividad actual.
XPaths: Contiene 1 o más nodos "XPath", que se utilizan para especificar filtros relacionados a datos de negocio.
XPath: Especifica en su atributo "Path", la ruta XPath del atributo en el modelo de datos tal como se filtra en la forma de consulta. El XPath utiliza el caracter punto (.) como separador. El valor del filtro va como "Value" del nodo y es sensible a mayúsculas. Únicamente cuando se especifique un rango de valores (para filtrar una fecha), será necesario incluír los subnodos "<From>" y/o "<To>" para que éstos contengan los valores de los límites del rango.
Otros atributos adicionales en este nodo son:
+ "Include": Se puede incluir y definirse como "true" para incluir los resultados de ese atributo en la respuesta.
+ "Approx": Se puede incluir y definirse como "true" para realizar una búsqueda aproximada en atributos de tipo "string" (cadenas de texto).
+ "Sort": Se puede incluir y definirse como "Desc" (descendiente) or "Asc" (ascendiente) para ordenar los resultados de acuerdo al valor del atributo. Cuando no se especifica esta opción, el ordenamiento de los registros por defecto tendrá en cuenta el "RadNumber" de manera ascendenete.
Parameters: Contiene 1 o más nodos "Parameter", que se utilizan para especificar los parámetros de la ejecución de la forma de consulta y el manejo de los resultados.
Parameter: Especifica en su atributo "Name", las diversas opciones para manejar los resultados de la forma de consulta. El valor del filtro va como "Value" del nodo y es sensible a mayúsculas.
Los posibles valores para el atributo "Name" son: "idQueryForm" (define un número que corresponde al id de la forma de consulta), "PageSize" (define el número de registros que componen cada página de la ejecución), "pag" (define un número de página específico que contiene los casos), "Culture" (define la cultura global para el soporte multi-lenguage de los resultados, por ejemplo: "en-Us").
Ejemplo
Con el siguiente XML de ejemplo, el usuario domain\admon ejecutará la forma de consulta QueryForm1 con los siguientes filtros:
- Sólo casos que estén abiertos (running).
- Sólo casos que fueron abiertos a partir de Noviembre 4 de 2011.
Datos de salida (Output)
El siguiente esquema define la estructura XML que se retorna por este método:
La respuesta (response) incluye la información de los casos e información sobre el resultado de la consulta.
BizAgiWSResponse: Es el nodo raíz que contiene toda la información para ejecutar la forma de consulta. Contiene los nodos "Results", y "Parameters".
Results: Contiene los nodos "RowsCount", "PageCount" y "Tables" con la información de los casos.
RowsCount: Número total de registros (casos) retornados por la ejecución de la forma de consulta.
PageCount: Número total de páginas retornadas por la ejecución de la forma de consulta.
Tables: Contiene los nodos "CaseTable" y "TaskTable".
CaseTable: Contiene 1 ocurrencia del nodo "Columns", y ocurrencias indefinidas del nodo "Rows" (una ocurrencia para cada registro resultado).
Los siguientes subnodos se incluyen en este nodo:
RADNUMBER: Número (cadena) de radicación.
BAWORKFLOWPATH: Path del proceso.
WFCLSDISPLAYNAME: El nombre para mostrar del proceso.
CASCREATIONDATE: Fecha de creación del caso.
CASSOLUCIONDATE: Fecha de solución del caso.
IDWFCLASS: Id del proceso.
IDCASE: Número de creación del caso.
IDCASESTATE: El estado del caso manejado por Bizagi. Los siguientes código de estados son válidos: Iniciado "Initiated" (1), "Ejecutándose" Running (2), Suspendido "Suspended" (3), Abortado "Aborted" (4), Cerrado "Completed" (5), No-iniciado "NotInitiated" (6), Cancelado por evento de compensación "CancelledByCompensation" (7), Cancelado por excepción "CancelledByException" (8).
TaskTable: Contiene 1 ocurrencia del nodo "Columns", y ocurrencias indefinidas del nodo "Rows" (una para cada actividad).
Los siguiente subnodos se incluyen en este nodo:
TaskState: Estado actual de la actividad.
CurrentTask: El nombre para mostrar de la actividad.
wiEstimatedSolutionDate: Fecha de solución estimada para la actividad.
idTaskType: Tipo de actividad.
idTask: Id de la actividad.
idWorkItem: Id del workitem.
idCase: Número de caso relacionado a esa instancia de actividad.
Parameters: Contiene 1 o más nodos "Parameter", los cuales se utilizaron como parámetros para la ejecución de la consulta.
Parameter: Especifica en su atributo "Name", las parametrizaciones usadas para el manejo de los resultados de la ejecución de la consulta.
Ejemplo
El siguiente XML, es un ejemplo de la respuesta retornada por este método. En este caso, es la respuesta de nuestro ejemplo de entrada anterior:
Artículos Relacionados
- La capa SOA de Bizagi.
- Vea información sobre los métodos web getCaseDataUsingSchema y getCaseDataUsingSchemaLite, útiles para obtener el detalle de un caso específico.
- Vea información sobre el método web GetCaseDataUsingXPaths para obtener el detalle de un caso específico.
- Vea información sobre el método web GetCases para realizar una consulta de casos sin la necesidad de utilizar una forma de consulta.
- Reportes (formas de consulta) en Bizagi
<comments />