Le service Task
expose toutes les opérations disponibles autour des composants de type TASK
.
Récupération de tâche
Les exemples ci-dessous indiquent comment récupérer des tâches à partir d’une liste d’identifiant.
GET {{core}}/rest/tasks/{ids} HTTP/1.1
-- Paramètres d'URL --
core : host
ids : identifiants des tâches à récupérer
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private TaskService taskService;
public List<Task> get() throws TechnicalException, FunctionalException
{
List<Id> ids = Lists.newArrayList(new Id("taskId"));
return taskService.get(ids);
}
Création de tâche
Les exemples ci-dessous indiquent comment créer une liste de tâches en utilisant l’opération suivante.
GET {{core}}/rest/tasks/ HTTP/1.1
-- Paramètres d'url --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[
{
"workflow": "Inform",
"assignee": "fadmin",
"category": "TASK",
"data": {
"classId": "GEC_Step3_CourrierLu",
"owner": "clm",
"ACL": "ACL_TASK"
},
"name": "3-Courrier lu",
"tags": [
{
"value": [
"Jean"
],
"name": "PrenomClient",
"readOnly": false
},
{
"value": [
"123456"
],
"name": "RefClient",
"readOnly": false
},
{
"value": [
"DUPONT"
],
"name": "NomClient",
"readOnly": false
}
],
"attachments": [
{
"componentIds": [
"c46de78c-92d4-45ef-b262-8395aa76a4a8"
],
"id": "Courrier",
"category": "DOCUMENT",
"order": 0
}
]
}
]
@Autowired
private TaskService taskService;
public List<Task> create() throws FunctionalException, TechnicalException
{
Task task = new Task();
task.setAssignee("user_responsable");
task.getData().setACL(new Id("acl-creation"));
task.getData().setClassId(new Id("demandeConge_creation"));
task.getData().setOwner("jna");
task.setName("Demande de congé");
task.setTags(new Tags());
task.getTags().getTags().add(TagBuilder.name("RefClient").value("TT2587496").build());
task.getTags().getTags().add(TagBuilder.name("DureeConge").value("5").build());
return taskService.create(Arrays.asList(task));
}
Modification de tâche
Cette opération permet de mettre à jour les données d’une tâche : tags et data (identifiant de la classe, nom de la tâche, ACL …).
GET {{core}}/rest/tasks/{ids} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids: identifiants des tâches à mettre à jour
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[
{
"workflow": "Inform",
"assignee": "fadmin",
"category": "TASK",
"data": {
"classId": "GEC_Step3_CourrierLu",
"owner": "clm",
"ACL": "ACL_TASK"
},
"name": "3-Courrier lu",
"tags": [
{
"value": [
"Jean"
],
"name": "PrenomClient",
"readOnly": false
},
{
"value": [
"123456"
],
"name": "RefClient",
"readOnly": false
},
{
"value": [
"DUPONT"
],
"name": "NomClient",
"readOnly": false
}
],
"attachments": [
{
"componentIds": [
"c46de78c-92d4-45ef-b262-8395aa76a4a8"
],
"id": "Courrier",
"category": "DOCUMENT",
"order": 0
}
]
}
]
@Autowired
private TaskService taskService;
public List<Task> update(Task task) throws FunctionalException, TechnicalException
{
task.getTags().getTags().add(new Tag(Arrays.asList("DUPONT"), "NomClient", false));
return taskService.update(Arrays.asList(task));
}
Recherche de tâche
Les opérations de recherche fonctionnent toutes sur le même modèle décrit ici.
Suppression de tâche
Les exemples ci-dessous indiquent comment supprimer une liste de tâches à partir d’une liste d’identifiant.
DELETE {{core}}/rest/tasks/{ids} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private TaskService taskService;
public void delete() throws FunctionalException, TechnicalException
{
List<Id> ids = Lists.newArrayList(new Id("taskId"));
taskService.delete(ids);
}
Application d’une réponse
Réponse simple
Les exemples ci-dessous indiquent comment appliquer une réponse simple sur une liste de tâches à partir d’une liste d’identifiant.
PUT {{core}}/rest/tasks/{ids}/answer HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids : identifiants des tâches sur lesquels appliquer la réponse
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
{
"id": "Refuser"
}
@Autowired
private TaskService taskService;
public void answer() throws FunctionalException, TechnicalException
{
Answer answer = new Answer();
answer.setId(new Id("Refuser"));
taskService.answer(Lists.newArrayList(new Id("taskId")), answer);
}
Réponse avec motif
Les exemples ci-dessous indiquent comment appliquer une réponse avec motif sur une liste de tâches à partir d’une liste d’identifiant.
PUT {{core}}/rest/tasks/{ids}/answer HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids : identifiants des tâches sur lesquels appliquer la réponse
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
{
"id": "Refuser",
"type": "com.flower.docs.domain.taskclass.ReasonedAnswer",
"tags": [
{
"name": "Commentaire",
"value": [
"Le justificatif n'est pas à jour."
]
}
]
}
@Autowired
private TaskService taskService;
public void answer() throws FunctionalException, TechnicalException
{
ReasonedAnswer answer = new ReasonedAnswer();
answer.setId(new Id("Refuser"));
answer.setTags(null);
answer.setTags(new Tags());
answer.getTags().getTags().add(TagBuilder.name("Commentaire").value("Le jusitifcatif n'est pas à jour.").build());
taskService.answer(Lists.newArrayList(new Id("taskId")), answer);
}
Assignation de tâche
Les exemples ci-dessous indiquent comment assigner une liste de tâches à un utilisateur à partir d’une liste d’identifiant.
PUT {{core}}/rest/tasks/{ids}/assignee/{username} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids: identifiants des tâches à assigner
username: identifiant de l'utilisateur assigné
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private TaskService taskService;
public void assign() throws FunctionalException, TechnicalException
{
List<Id> ids = Lists.newArrayList(new Id("taskId"));
taskService.assign(ids, "jna");
}