# Filtrowanie listy zadań i listy spraw

W Eximee Dashboard na liście zadań oraz na liście spraw istnieje możliwość filtrowania danych.

## Podstawowe filtrowanie

Mechanizm filtrowania listy zadań oraz listy spraw umożliwia wyszukanie zadań po zmiennej procesu **SEARCH\_STRING**. Do zmiennej można przekazać wiele pól połączonych w jeden ciąg znaków (np. rozdzielonych przecinkami), co pozwala wyszukiwać dane po fragmencie wartości. Filtr działa w oparciu o operator `LIKE` znany z SQL.

Wartość zmiennej **SEARCH\_STRING** powinna zawierać wszystkie dane, po których użytkownik ma mieć możliwość wyszukiwania.

Przykładowy skrypt ustawiający wartość dla zmiennej **SEARCH\_STRING**:

```js
def submittedLeads = execution.getVariable("submittedLeads")
def rejectedLeads = execution.getVariable("rejectedLeads")
def businessKey = execution.getVariable("start.formInstanceNumber")
def lead = execution.getVariable("Lead")
def cif = execution.getVariable("CIF_Klienta")
def time = execution.getVariable("Czas_lokalny")
def modSkp = execution.getVariable("SKP_Wypełniającego")
def skp = execution.getVariable("SKP_doradcy_portfelowego")
def branchSkp = execution.getVariable("Oddział_zgłaszającego")

def dashboardParams = [
	"Numer wniosku"				: businessKey,
    "Wybrane leady"             : lead,
    "Cif klienta"               : cif,
    "Czas złożenia wniosku"     : time,
    "SKP Wypełniającego"        : modSkp,
    "SKP doradcy portfelowego"  : skp,
    "SKP oddziału"              : branchSkp,
	"Leady złożone" 			: submittedLeads,
	"Leady odrzucone"			: rejectedLeads
]

searchString = businessKey + "," + 
               cif + "," + 
               time + "," + 
               modSkp + "," + 
               kp + "," + 
               branchSkp

execution.setVariable("PROCESS_DASHBOARD_DESCRIPTION", "Proces Leadowania")
execution.setVariable("PROCESS_DASHBOARD", dashboardParams)
execution.setVariable("SEARCH_STRING", searchString)
```

W powyższym przykładzie wyszukiwanie będzie możliwe m.in. po:

* numerze wniosku,
* CIF klienta,
* czasie złożenia,
* identyfikatorach SKP.

Filtr podstawowego wyszukiwania znajduje się w lewym górnym rogu (pole z "lupą"). Przykład filtrowania listy spraw po numerze SKP oddziału:

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fgit-blob-dd559e211193af27aac25f23adbfc8b7684cb439%2Ffiltrowanie-lista-spraw.png?alt=media" alt=""><figcaption><p>Ilustracja 1. Filtrowanie listy spraw</p></figcaption></figure>

Aby filtr działał poprawnie należy zmienną **SEARCH\_STRING** dodać w zmiennych procesu.

Filtry zapisywane są w adresie URL, co umożliwia przekazanie linku z ustawionymi filtrami innym użytkownikom oraz zmianę filtrów z poziomu URL.

## Zaawansowane filtrowanie

Funkcjonalność zaawansowanego filtrowania oznaczona jest symbolem: ![Ikona filtra](https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fgit-blob-12df5692274a7e8891b5171bbcb3e3e66b9818be%2Ffiltr_zaawansowany-ikona.png?alt=media)

### Lista zadań

Dostępne parametry filtrowania:

* **Status sprawy**
  * Filtrowanie po zmiennej businessStatus.
  * Pole wielokrotnego wyboru.
  * Lista dostępnych wartości sterowana jest przez zmienną **FILTER\_TASK\_STATUSES**.
* **Osoba przypisana do zadania**

  Dostępne opcje:

  * wszystkie zadania,
  * tylko moje zadania,
  * tylko zadania nieprzypisane,
  * zadania wybranych użytkowników (wyszukiwanie po minimum 3 znakach, możliwość wyboru wielu użytkowników).
* **Data utworzenia zadania**
  * Możliwość określenia zakresu dat (od – do).
* **Typ sprawy**
  * Filtrowanie po zmiennej **processDefinitionKey**.
  * Pole wielokrotnego wyboru.
  * Lista wartości sterowana jest przez zmienną **FILTER\_PROCESS\_TYPES**.
* **Id sprawy**
  * Filtrowanie po zmiennej businessKey.
  * Wyszukiwanie działa na zasadzie operatora `LIKE`.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fgit-blob-89843e6d98175b1613548fe5471425215fa6a108%2F2-filtr-zaawansowany-lista-zadan.png?alt=media" alt=""><figcaption><p>Ilustracja 2. Zaawansowany filtr listy zadań</p></figcaption></figure>

### Lista spraw

Dostępne parametry filtrowania:

* **Status sprawy**
  * Filtrowanie po zmiennej **businessStatus**.
  * Pole wielokrotnego wyboru.
  * Lista wartości sterowana jest przez zmienną **FILTER\_PROCESS\_STATUSES**.
* **Typ sprawy**
  * Filtrowanie po zmiennej **processDefinitionKey**.
  * Pole wielokrotnego wyboru.
  * Lista wartości sterowana jest przez zmienną **FILTER\_PROCESS\_TYPES**.
* **Id sprawy**
  * Filtrowanie po zmiennej **businessKey**.
  * Wyszukiwanie działa na zasadzie operatora `LIKE`.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fgit-blob-9a7f7f5c84b8743f85f150047129bad7fc646983%2F2-filtr-zaawansowany-lista-spraw.png?alt=media" alt=""><figcaption><p>Ilustracja 3. Zaawansowany filtr listy spraw</p></figcaption></figure>
