Para os métodos de update que recebem objetos complexos(DocumentDto, ColleagueDto, GroupDto, etc) é obrigatório passar todos os campos do objeto alterado. Os campos não informados serão substituídos por branco, nulo ou zero, dependendo do seu tipo.
Para evitar esta situação, sugerimos sempre utilizar os métodos get para recuperar o objeto, efetuar as alterações nos campos necessários e enviá-lo para o método update.
Nota
title
Observação
Identificamos em alguns objetos os
Identificação dos atributos: Os atributos de retorno dos métodos são identificados nos objetos. Caso não tenha encontrado o objeto que procura é possível fazer uma pesquisa nos datasets e assim identificar os atributos. Para mais informações sobre como consultar o dataset, acesse a documentação Desenvolvimento de Datasets.
Nota
title
Observação
Tratamento de exceção (try/catch): Quando o serviço utilizado não estiver disponível, não haverá retorno. Para esse tipo de caso, é aconselhável realizar o tratamento utilizando Try / Catch.
ECMAttributionMecanismService
...
Cloak
visible
true
title
No quadro 5, é mostrado todos os métodos disponíveis na classe CardService.
findWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorna as tarefas do usuário que estão abertas, paginadas.
Método:
findWorkflowTasksOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
limit: número de registros a serem retornados.
lastRowId: última linha retornada.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Método: findExpiredWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorna a quantidade de tarefas atrasadas, no prazo e sem prazo de um usuário.
Método:
fillStatusTask(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: List de int[], com a quantidade de tarefas atrasadas.
fillChronoTasks
Retorna a quantidade de tarefas com prazo de conclusão que foram atribuidas atribuídas ao usuário e não foram finalizadas.
Método:
fillChronoTasks(String user, String password, int companyId, String colleagueId, int yearIni, int yearFin, int mounthIni, int mounthFin, int dayIni, int dayFin, int kindTask)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
yearIni: ano inicial.
yearFin: ano final.
mounthIni: mês inicial.
mounthFin: mês final.
dayIni: dia inicial.
dayFin: dia final.
kindTask: tipo da tarefa.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: : Lista de int[], com a quantidade de tarefas com prazo de conclusão atribuída ao usuário.
fillTypeTasks
Retorna os tipos de tarefas que o usuário possui.
Método:
fillTypeTasks(String user, String password, int companyId, String colleagueId)
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Modifica o tipo da segurança dos grupos na permissão e na restrição. Existem duas opções que são representadas por um inteiro:
0 - TODOS os usuários dos Grupos.
1 - SOMENTE usuários comuns dos grupos.
Método:
updateGroupSecurityType(String user, String password, int companyId, int documentId, int version, int permissionType, int restrictionType, String colleagueId)
Parâmetros:
user: código do usuário de integração.
password: senha do usuário de integração.
companyId: código da empresa.
documentId: código do documento.
version: versão do documento.
permissionType: tipo da permissão (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
restrictionType: tipo da restrição (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
Retorna o número da próxima atividade de uma solicitação.
Método:
getAvailableStates(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: Integer[].
getAvailableStatesDetail
Retorna detalhes das atividades disponíveis para seleção...
Atenção
Caso haja necessidade de utilizar este método na primeira instância do processo, favor consultar a .
Método:
getAvailableStatesDetail(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorna os usuários que podem executar a tarefa corrente de uma solicitação.
Método:
getAvailableUsers(String username, String password, int companyId, int processInstanceId, int state, int threadSequence)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
getAvailableUsersOnDemand
Retorna os usuários que podem executar a tarefa corrente de uma solicitação, paginados e com busca.
Método:
getAvailableUsersOnDemand(String username, String password, int companyId, int processInstanceId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorna os usuários disponíveis na abertura de uma solicitação.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
getAvailableUsersStartOnDemand
Retorna os usuários disponíveis na abertura de uma solicitação, paginados e com busca.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
newProcess: indica se deve ser criado um processo ou atualizado o existente.
overWrite: indica se as atividades e fluxos do processo existentes devem ser sobrescritas.
colleagueId : matrícula do usuário.
parentDocId: número do formulário.
docDescription: descrição.
cardDescription: nome.
datasetName: nome do dataset.
cardAttachs: arquivo anexo.
customEvents: eventos.
update: caso verdadeiro ('true'), informa que será uma atualização.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
releaseProcess
Libera processos workflow.
Método:
releaseProcess(String user, String password, int companyId, String processId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTask
Movimenta solicitação para próxima atividade.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTask(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, String[][] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTaskByReplacement
Movimenta solicitação para próxima atividade utilizando usuário substituto.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTaskByReplacement (String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, String[][] cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence, String replacementId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
replacementId: matrícula do usuário substituto.
Retorno: String[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTaskClassic
Movimenta solicitação para próxima atividade e retorna um array de objeto com chave e valor.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTaskClassic(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[] attachments, KeyValueDto[]cardData, ProcessTaskAppointmentDto[] appointment, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Estrutura mínima para movimentação com anexo
xmlExemplo usando SoapUI
O exemplo de movimentação com anexo foi criado considerando do uso da pasta de upload do volume. Sendo assim, o arquivo para transferência deverá estar contido na pasta de upload do usuário.
Considerando o exemplo acima, o arquivo pdf_para_teste.pdf deverá estar contido na pasta do usuário, que fica localizada dentro do diretório upload no volume do fluig.
Caso não queira utilizar este tipo de transferência para anexo e sim a transferência via Bytes, devem ser adicionadas à estrutura, abaixo da tag <fileName>, as seguintes tags:
<fileSize> = para indicar o tamanho do arquivo
<filecontent> = que deverá conter os bytes referentes ao arquivo
Adicionando estas tags será ignorada a busca no diretório de upload do usuário, sendo considerado o arquivo contido na tag <filecontent>.
Seleciona usuário(s) e avança atividade automática.
Método:
setAutomaticDecisionClassic(String user, String password, int companyId, int processInstanceId, int iTaskAutom, int iTask, int condition, String[] colleagueIds, String comments, String userId, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
iTaskAutom: número da atividade automática.
iTask: número da atividade atual.
condition: número da condição da atividade automática.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
setDueDate(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String newDueDate, int timeInSeconds)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: matrícula do usuário. Quando é Para um Grupo ou Para um Papel deve ser passado da seguinte forma: Papel: "Pool:Role:CodigoDoPapel"; Grupo: "Pool:Group:CodigoDoGrupo".
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
newDueDate: nova data de prazo da tarefa. Exemplo: "2014-08-20".
timeInSeconds: quantidade de segundos após a meia noite. Exemplo: "32000".
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
setTasksComments
Altera os comentários da tarefa.
Método:
setTasksComments(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String comments)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: mátricula do usuário.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
colleagueIds: usuário que receberá a tarefa. Caso a solicitação esteja sendo atribuída "Para um Papel" ou "Para um Grupo", o parâmetro colleagueIds deve ser informado da seguinte forma: Papel: Pool:Role:Nome_do_papel Grupo: Pool:Group:Nome_do_grupo
comments: comentários.
userId: matrícula do usuário que vai iniciar a solicitação.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
takeProcessTaskByReplacement
Assume uma tarefa utilizando usuário substituto.
Método:
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence, String replacementId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
replacementId: matrícula do usuário substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
updateWorkflowAttachment
Atualiza um documento do tipo 7.
Retorna uma string contendo a descrição de sucesso ou falha da operação.
Método:
updateWorkflowAttachment(String username, String password, int companyId, int processInstanceId, String usuario, DocumentDto[] docdtos, Attachment[] attach)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação workflow.
usuario: usuário responsável pela edição do documento.
documents: documento ou documentos que serão publicados.