Przeszukaj Bazę wiedzy po słowach kluczowych
[DB] Definicje raportów w SQL
Definicje raportów pod bazą
Dotyczy raportów: https://wms.futuriti.pl/docs/raporty-wms/
Definicje raportów przechowywane są na tabeli [AlpolWMS].[Report]
- Name – nazwa raportu
- TypeId – w jaki sposób wyświetlane będą dane
- 1 – tabela
- 2 – wykres słupkowy (SQL wymaga zwrócenia 3 kolumn)
- 3 – wykres słupkowy skumulowany (SQL wymaga zwrócenia 3 kolumn)
- 4 – mapa cieplna (SQL wymaga zwrócenia 3 kolumn)
- 5 – wykres liniowy (SQL wymaga zwrócenia 3 kolumn)
- 6 – wykres kołowy (SQL wymaga zwrócenia 2 kolumn)
- Permissions – uprawnienia wymagane do wyświetlania raportu
- 1 – magazynier
- 2 – kierownik
- 4 – serwis
- SqlQuery – zapytanie, które zostanie wykonane przez silnik raportów, musi spełniać odpowiednie warunki
- Zwracane kolumny
- dla wykresów wymagających 3 kolumny:
- Kolumna 1 – opis danych (np. login użytkownika)
- Kolumna 2 – dane osi X
- Kolumna 3 – wartości (oś Y)
- dla wykresów wymagających 2 kolumny:
- Kolumna 1 – opis danych (np. login użytkownika)
- Kolumna 2 – wartości
- dla tabel nie ma wymagań odnośnie ilości kolumn, jednak sumowanie odbywa się domyślnie tylko po ostatniej kolumnie
- dla wykresów wymagających 3 kolumny:
- Format zapytania SQL
- W przypadku parametru grupowania daty, wpisywany jest on w komentarz /**dategroup**/
- przykład: DATEADD(/**dategroup**/, DATEDIFF(/**dategroup**/, 0, StorageDate), 0)
- dla grupowania po dniu zostanie zastąpiony ➔ DATEADD(day, DATEDIFF(day, 0, StorageDate), 0)
- W przypadku, gdy dodajemy filtrowanie bez własnego zapytania where wygenerowany filtr zostanie wklejony w komentarz /**where**/
- przykład: SELECT * FROM Tabela /**where**/
- dla parametru Id zostanie zastąpiony ➔ SELECT * FROM Tabela WHERE Id = @Id
- W przypadku, gdy zapytanie posiada już klauzulę where należy użyć komentarza /**params**/
- przykład: SELECT * FROM Tabela WHERE Typ = 5 /**params**/
- dla parametru Stan zostanie zastąpiony ➔ SELECT * FROM Tabela WHERE Typ = 5 AND Stan = @Stan
- W przypadku podania pojedynczego parametry należy podać parametr według wzoru @parametr_bez_spacji
- dla nazwy parametru „Okres od” i „Okres do”
- przykład SELECT * FROM Tabela WHERE Date BETWEEN @Okresod AND @Okresdo
- we wskazane zmienne zostanie zostaną podstawione odpowiednie wartości z parametrów, parametry te muszą zostać podane w momencie generowania raportu
- W przypadku parametru grupowania daty, wpisywany jest on w komentarz /**dategroup**/
- Zwracane kolumny
- DefaultId – zarezerwowane na domyślne raporty Futuriti, dla rozwiązań własnych powinno posiadać wartość NULL
Definicje parametrów znajdują się na tabeli [AlpolWMS].[ParameterDefinition]
- Name – nazwa parametru
- DataTypeId – typ danych parametru
- 1 – Liczba
- 2 – Tekst
- 3 – Data
- 100 – Lista wyboru operatora
- 101 – Lista wyboru typu dokumentu
- 102 – Lista wyboru typu lokalizacji
- 103 – Lista wybotu źródła
- 104 – Lista wyboru typu grupowania dat
- 105 – Lista wyboru magazynu
- 106 – Lista wyboru lokalizacji
- 107 – Lista wyboru regionu
- 108 – Lista wyboru kontrahenta
- 109 – Lista wyboru klasy atrybutu
- LogicId – typ logiki jaka zostanie użyta podczas generowania zapytania SQL dla danego parametru
- 1 – Równe (=)
- 2 – Większe (>)
- 3 – Mniejsze (<)
- 4 – Zawiera (IN)
- 5 – Nie zawiera (NOT IN)
- 6 – Nie równe (<>)
- 7 – Większe lub równe (>=)
- 8 – Mniejsze lub równe (<=)
- 9 – Format (LIKE)
- 10 – Równe bitowo ((x & y) <> 0)
- 11 – Nie równe bitowo ((x & y) = 0)
Przypisanie parametru do raportu znajduje się na tabeli [AlpolWMS].[ReportParameterDefinition]
- ReportId – Id raportu
- ParameterDefinitionId – Id parametru
- IsRequired – czy parametr musi zostać podany w WMS
- SqlColumn – do jakiej kolumny ma zostać porównany parametr