Import nově přijatých studentů do Evergreenu

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í.

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.

V nastavení importu vyberte znakovou sadu UTF-8 (pokud se nabídne v automatické volbě, není potřeba nic měnit.

Jako národní prostředí vyberte Výchozí – čeština.

Seřaďte uživatele podle UČO (první sloupec) a vpřípadě potřeby smažte prázdné řádky na začátku seznamu.

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í sloupce	A	B	C	D	E	F	G	H	I	J
Popis sloupců	100	add	Uživatelské jméno = Učo	Jméno	Příjmení	číslo karty = prázdná hodnota	Číslo střediska = 1	e-mailová adresa	domovský adresář = prázdná hodnota	UČO
Příklad	100	add	1234	Jana	Nováčková	1	email@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:

Znaková sada: Unicode (UTF-8)

Oddělovač pole: ; (středník )

Oddělovač řetězců: „ (uvozovky)

V zaškrtávacím poli vyberte: Uložit zobrazený obsah buňky

Import dat do systému SafeQ

Přihlaste se do aplikace SafeQ pro správu uživatelů

Na záložce Uživatelé klikněte na položku Akce vpravo nahoře

Z nabídky zvolte Import dat z CSV

V dialogovém okně pro import nastavte kódování znaků CSV souboru na UTF-8

Zvolte soubor pro import

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í.