Obsah

Import nově přijatých studentů do Evergreenu a systému pro monitoring tisku SafeQ

Export nových studentů z ISu

Studijní agenda > hromadný výběr > Vybrat dotaz „Jabok: Přijat nezapsán(stav 88)“.

Dotaz je možné také zadat ručně:

[fak JA10][stud_stav 88]

Po vypsání výsledků dotazu (seznam studentů) použít odkaz „Zpět na Manipulace se seznamem vybraných studentů“

Poté v sekci Studijní - výběr studentů a operací vybrat „Tisky“ > Seznamy, sestavy (návod k sestavám, Prezentátoru) >

Ve „Výběru z připravených popisů sestav“ vybrat popis „JABOK: Knihovna: import nově přijatých studentů“.

Popis lze vložit také ručně:

<SESTAVA>
<STUDENT><TFORMA>
<F_OSOBA_UCO/>,<F_OSOBA_JMENO F_JMENA="prijmeni"/>,<F_OSOBA_JMENO F_JMENA="jmeno"/>,<F_OSOBA_EMAIL_PRIHLASKA/>,MAILING,<F_OSOBA_TRVBYD_ADRESA_RADEK1/>,<F_OSOBA_TRVBYD_ADRESA_RADEK2/>,<F_OSOBA_TRVBYD_STAT/>,<F_OSOBA_TRVBYD_ADRESA_PSC/>,<F_OSOBA_TRVBYD_TELEFON/>,111,3,<F_OSOBA_CISLO_OP/>,103,2,<F_OSOBA_DAT_NAROZENI FORMAT="11"/>,false,2019-09-01,</TFORMA>
<DATA_OSOBA><OSOBA_STUDIUM STUDIUM="?"/></DATA_OSOBA>
</STUDENT>
</SESTAVA>

V sestavě je nutné změnit datum expirace čtenářského účtu na 1.9. následujícího roku (v uložené sestavě je to datum 2019-09-01, které je ve výstupu posledním údajem na řádku)

Jako formu výstupu zvolit „Textový soubor s kódováním UTF-8 (Unicode)“

Import studentů do Evergreenu

Vytvoření tabulky s novými čtenáři

CREATE TABLE jabok_students (
    student_id integer,
    barcode text,
    last_name text,
    first_name text,
    email text,
    address_type text DEFAULT 'MAILING',
    street1 text,
    street2 text,
    city text,
    country text DEFAULT 'Česká republika',
    postal_code text,
    phone text,
    profile_id integer,
    ident_type integer,
    ident_value text,
    home_ou integer,
    net_access_level integer,
    date_of_birth date,
    active boolean,
    expire_date timestamp,
    stat_cat integer,
    stat_cat_entry integer);
    

Kopírování dat z CSV

COPY jabok_students (barcode, last_name, first_name, email, address_type, street1, city, country, postal_code, phone, profile_id, ident_type, ident_value, home_ou, net_access_level, date_of_birth, active, expire_date, stat_cat, stat_cat_entry)
    FROM '/home/opensrf/Ctenari/data_pro_import.csv'
        WITH CSV HEADER;

Nalezení duplicit dle jména a data narození

SELECT actor.usr.first_given_name, actor.usr.family_name, actor.usr.dob, jabok_students.first_name, jabok_students.last_name, jabok_students.barcode FROM jabok_students INNER JOIN actor.usr ON jabok_students.date_of_birth IS NOT DISTINCT FROM actor.usr.dob AND actor.usr.first_given_name IS NOT DISTINCT FROM jabok_students.first_name;

Výstup s duplicitními hodnotami

 first_given_name | family_name |    dob     | first_name |  last_name  | barcode
------------------+-------------+------------+------------+-------------+---------
 Adam             | Novák       | 1991-11-30 | Adam       | Novák       | 1234
 Anna             | Nováčková   | 1996-05-07 | Anna       | Nováčková   | 2345
 Alice            | Nováková    | 1979-07-07 | Alice      | Nováková    | 3456
 Amos             | Nováček     | 1973-04-11 | Amos       | Nováček     | 4567
(4 rows)

Smazání všech vypsaných duplicitních čtenářů

DELETE  FROM jabok_students USING actor.usr WHERE jabok_students.date_of_birth IS NOT DISTINCT FROM actor.usr.dob AND actor.usr.first_given_name IS NOT DISTINCT FROM jabok_students.first_name;

Vložení do tabulky actor.usr

Pozn.: do tabulky musí být vloženo heslo

INSERT INTO actor.usr (
    profile, usrname, passwd, email, ident_type, ident_value, first_given_name, family_name,
    day_phone, home_ou, claims_returned_count, net_access_level, dob, expire_date, active)
    SELECT profile_id, barcode, email, email, ident_type, ident_value, first_name,
    last_name, phone, home_ou, 0, net_access_level, date_of_birth, expire_date, active FROM jabok_students;

Vložení úvodního čárového kódu (barcode)

Pozn.: číslo pro „barcode“ je totožné se „student id“)

INSERT INTO actor.card (usr, barcode)
    SELECT actor.usr.id, jabok_students.barcode
    FROM jabok_students
        INNER JOIN actor.usr ON jabok_students.barcode = actor.usr.usrname;

UPDATE actor.usr AS au SET card = ac.id FROM actor.card AS ac WHERE au.id=ac.usr AND au.id between 2089 AND 2184;


INSERT INTO actor.usr_address (usr, street1, city, state, country, post_code, address_type)
    SELECT actor.usr.id, jabok_students.street1, jabok_students.city, jabok_students.country, jabok_students.country, jabok_students.postal_code, jabok_students.address_type
    FROM jabok_students
    INNER JOIN actor.usr ON jabok_students.barcode = actor.usr.usrname;


UPDATE actor.usr SET expire_date = '2018-09-01 00:00:00+02' where id between 2089 AND 2184;

Import studentů do systému pro monitoring tisku SafeQ

Vytvoření CSV souboru pro import

Pro přípravu CSV souboru pro import do kopírovacího systému doporučujeme použít LibreOffice Calc, který automaticky nabízí import dat z textového souboru při jeho otevření.

  1. V LibreOffice Calc otevřete textový soubor s daty vyexportovanými z ISu (pomocí ikony pro otevření souboru). LibreOffice automaticky nabídne možnost importu dat z textového souboru.
  2. V nastavení importu vyberte znakovou sadu UTF-8 (pokud se nabídne v automatické volbě, není potřeba nic měnit.
  3. Jako národní prostředí vyberte Výchozí – čeština.
  4. Seřaďte uživatele podle UČO (první sloupec) a v případě potřeby smažte prázdné řádky na začátku seznamu.
  5. Poté upravte pořadí sloupců tak, aby odpovídaly pořadí údajů pro import do SafeQ, tj.:
    • Sloupec A: 100 (výběr operace přidání/mazání uživatelů)
    • Sloupec B: Add (výběr přidání nového uživatele)
    • Sloupec C: UČO (uživatelské jméno)
    • Sloupec D: Jméno
    • Sloupec E: Příjmení
    • Sloupec F: Prázdný sloupec (číslo karty – doplňuje se při registraci uživatele do systému)
    • Sloupec G: 1 (číslo střediska)
    • Sloupec H: E-mailová adresa
    • Sloupec I: Prázdný sloupec (adresář – nepoužíváme)
    • Sloupec J: UČO
Označení sloupceABCDEFGHIJ
Popis sloupců100addUživatelské jméno = UčoJménoPříjmeníčíslo karty = prázdná hodnotaČíslo střediska = 1e-mailová adresadomovský adresář = prázdná hodnotaUČO
Příklad100add1234JanaNováčková 1email@adresa.cz 1234

Upravenou tabulku uložte jako Text CSV. Pokud se při ukládání zobrazí varování o nestandardním formátu souboru, potvrďte uložení ve formátu CSV.

Nastavení možností exportu

Ve vyskakovacím okně pro nastavení možností exportu zvolte následující hodnoty:

Import dat do systému SafeQ

  1. Přihlaste se do aplikace SafeQ pro správu uživatelů
  2. Na záložce Uživatelé klikněte na položku Akce vpravo nahoře
  3. Z nabídky zvolte Import dat z CSV
  4. V dialogovém okně pro import nastavte kódování znaků CSV souboru na UTF-8
  5. Zvolte soubor pro import
  6. Klikněte na tlačítko Importovat data

Doporučujeme nejdříve testovací import dat jednoho uživatele, optimálně takového, který má v příjmení diakritiku aby se ověřila jak správnosti polí, tak správnost kódování.