Wiki source code of Příklady podmínek

Version 8.1 by Jan Šimeček on 2024/08/15 11:04

Show last authors
1 {{toc/}}
2
3 |(% colspan="1" %)(((
4 = Obecné podmínky na dílo, svazek, čtenáře =
5
6 |
7
8 (% class="active" %)|**Popis podmínky**|(% colspan="1" %)**Podmínka FOX/SQL**|(% colspan="1" %)**Podmínka v [[TQL - Tritius Query Language>>doc:uzivatelsky-manual.Pro-spravce.TQL-Tritius-Query-Language.WebHome]] od verze 6.1.0**|**PodmínkaSQL**|(% colspan="1" %)**Automatický převod**
9 |Titulová podmínka na druh dokumentu kromě AV Media|(% colspan="1" %)druhdoku<>'AV'|(% colspan="1" %)workTypeId <> -7| |(% colspan="1" %)
10 |(% colspan="1" %) |(% colspan="1" %)tsign like 'TK%' or tsign like 'DH%'|(% colspan="1" %)workLocMark STARTS IN ('TK', 'DH')|(% colspan="1" %) |(% colspan="1" %)
11 |(% colspan="1" %) |(% colspan="1" %)druhdoku='AV' and tsign not like 'DVDB%'|(% colspan="1" %)workTypeId = -7 AND workLocMark NOT STARTS 'DVDB'|(% colspan="1" %) |(% colspan="1" %)
12 |Svazková podmínka na kategorii (kategorie<>N)|(% colspan="1" %)kategorie<>'N'|(% colspan="1" %)itemBorrowCategoryExternalId IS NULL OR itemBorrowCategoryExternalId <> 'N'| |(% colspan="1" %)Ano
13 |(% colspan="1" %)Svazková kategorie je|(% colspan="1" %)inlist(kategorie,'N','L')|(% colspan="1" %)itemBorrowCategoryId IN (4, 1)|(% colspan="1" %) |(% colspan="1" %)
14 |Čtenářská podmínka (kategorie=I)|(% colspan="1" %) |(% colspan="1" %)(((
15 userCategoryCode = 'I'
16
17 nebo
18
19 userCategoryId IN (201, 310, 311, 308)
20 )))| |(% colspan="1" %)
21 |Svazková podmínka (lokace in)|(% colspan="1" %) |(% colspan="1" %)itemLocationExternalId IN ('501H', '501H1', '501H2')|i.location in (1,4,6)|(% colspan="1" %)
22 |(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)itemLocationId IN (40, 29, 43, 39, 42, 1)|(% colspan="1" %) |(% colspan="1" %)
23 |(% colspan="1" %)Svazková podmínka na signaturu|(% colspan="1" %)sign in ('M PK','IS','BI','PE','NA','KA','RE','EK','PK','OS')|(% colspan="1" %)itemLocMarkValueShow IN ('M PK', 'IS', 'BI', 'PE', 'NA', 'KA', 'RE', 'EK', 'PK', 'OS')|(% colspan="1" %) |(% colspan="1" %)
24 |Titulová podmínka druh dokumentu (v tomto případě MVS|(% colspan="1" %) |(% colspan="1" %)itemType = 'ILS'| |(% colspan="1" %)
25 |(% colspan="1" %)Poznámka začíná textem|(% colspan="1" %)poznamka='Novink'|(% colspan="1" %)itemNote STARTS 'Novink'|(% colspan="1" %) |(% colspan="1" %)
26 |Podmínka prezenčnosti posledního čísla periodika|(% colspan="1" %) |(% colspan="1" %)(((
27 workTypeId = -8
28
29 Poslední čísla periodik: 1
30 )))| |(% colspan="1" %)
31 |Čtenářská podmínka (do 15 let)|(% colspan="1" %)DekodVek(rcislo)<15|(% colspan="1" %)userAge < 15| |(% colspan="1" %)Ano
32 |Do 27 let a profese student|(% colspan="1" %) |(% colspan="1" %)userAge < 27 AND userProfessionId = -8| |(% colspan="1" %)
33 |Signatura začíná|(% colspan="1" %) |(% colspan="1" %)itemLocMarkValueShow STARTS 'PK'|lm.value_show like "PK%"|(% colspan="1" %)
34 |Povolání důchodce|(% colspan="1" %) |(% colspan="1" %)userProfessionId = -2| |(% colspan="1" %)
35 |(% colspan="1" %)Povolání Důchodce, Student nebo V domácnosti|(% colspan="1" %)inlist(prof,'d','s','V')|(% colspan="1" %)userProfessionId IN (-2, -8, -11)|(% colspan="1" %) |(% colspan="1" %)
36 |(% colspan="1" %)Škola (id 3)|(% colspan="1" %)skola='b'|(% colspan="1" %)userSchoolId = 3|(% colspan="1" %) |(% colspan="1" %)
37 |Domovské oddělení čtenáře je (kde="D");|(% colspan="1" %) |(% colspan="1" %)userDefaultDepartmentShortcut = 'D'| |(% colspan="1" %)
38 |(((
39 Signatura  je (sign in ('PK','RR','S','X')
40
41
42 )))|(% colspan="1" %) |(% colspan="1" %)itemLocMarkValueShow STARTS IN ('PK', 'RR', 'S', 'X')| |(% colspan="1" %)
43 |Kategorie X, M nebo ccislo > 9999799|(% colspan="1" %)inlist(kategorie,'X','M') or ccislo>9999799|(% colspan="1" %)userCategoryCode IN ('X', 'M') OR userReaderNumberValue > 9999799| |(% colspan="1" %)Ano
44 |Kategorie I, N|(% colspan="1" %)inlist(kategorie,'I','N')|(% colspan="1" %)userCategoryCode IN ('I', 'N')| |(% colspan="1" %)Ano
45 |(% colspan="1" %) |(% colspan="1" %)DekodVek(rcislo)<15|(% colspan="1" %)userAge < 15|(% colspan="1" %) |(% colspan="1" %)Ano
46 |(% colspan="1" %) |(% colspan="1" %)DekodVek(rcislo)<16|(% colspan="1" %)userAge < 16|(% colspan="1" %) |(% colspan="1" %)Ano
47 |(% colspan="1" %) |(% colspan="1" %)prof='s'|(% colspan="1" %)userProfessionId = -8|(% colspan="1" %) |(% colspan="1" %)Ano
48 |(% colspan="1" %) |(% colspan="1" %)prof='d'|(% colspan="1" %)userProfessionId = -2|(% colspan="1" %) |(% colspan="1" %)Ano
49 | |(% colspan="1" %)druhdoku='AV'|(% colspan="1" %)workTypeId = -7| |(% colspan="1" %)Ano
50 | |(% colspan="1" %)druhdoku='PE'|(% colspan="1" %)workTypeId = -8| |(% colspan="1" %)Ano
51 |(% colspan="1" %) |(% colspan="1" %)druhdoku='VS'|(% colspan="1" %)itemType = 'ILS'|(% colspan="1" %) |(% colspan="1" %)Ano
52 |(% colspan="1" %) |(% colspan="1" %)druhdoku<>'AV' and druhdoku<>'VS'|(% colspan="1" %)workTypeId <> -7 AND itemType <> 'ILS'|(% colspan="1" %) |(% colspan="1" %)Ano
53 | |(% colspan="1" %)sign like 'BIS%'|(% colspan="1" %)itemLocMarkValueShow STARTS 'BIS'| |(% colspan="1" %)Ano
54 |(% colspan="1" %) |(% colspan="1" %)sign in ('BIS')|(% colspan="1" %)itemLocMarkValueShow = 'BIS'|(% colspan="1" %) |(% colspan="1" %)
55 |(% colspan="1" %) |(% colspan="1" %)lokace in ('BIS','PK')|(% colspan="1" %)itemLocationExternalId IN ('BIS', 'PK')|(% colspan="1" %) |(% colspan="1" %)Ano
56 |(% colspan="1" %) |(% colspan="1" %)lokace not like '%m%'|(% colspan="1" %)itemLocationCode NOT CONTAINS 'm'|(% colspan="1" %) |(% colspan="1" %)
57 |(% colspan="1" %) |(% colspan="1" %)sign like '%H'|(% colspan="1" %)itemLocMarkValueShow ENDS 'H'|(% colspan="1" %) |(% colspan="1" %)
58 |(% colspan="1" %) |(% colspan="1" %)kategorie='M'|(% colspan="1" %)userCategoryCode = 'M'|(% colspan="1" %) |(% colspan="1" %)Ano
59 |(% colspan="1" %) |(% colspan="1" %)kategore <> M|(% colspan="1" %)userCategoryCode IS NULL OR userCategoryCode <> 'M'|(% colspan="1" %) |(% colspan="1" %)
60 |(% colspan="1" %) |(% colspan="1" %)lokace<>'HO' and kategorie<>'N'|(% colspan="1" %)itemLocationCode <> 'HO' AND (itemBorrowCategoryExternalId IS NULL OR itemBorrowCategoryExternalId <> 'N')|(% colspan="1" %) |(% colspan="1" %)
61 |(% colspan="1" %)Čtenář starší 70 let|(% colspan="1" %)DekodVek(rcislo)>=70|(% colspan="1" %)userAge >= 70|(% colspan="1" %) |(% colspan="1" %)
62 |(% colspan="1" %)Podmínka kategorie operací pro AV média|(% colspan="1" %)druhdoku='AV' and nosic='CD'|(% colspan="1" %)workTypeId = -7 AND workMedium STARTS 'CD'|(% colspan="1" %) |(% colspan="1" %)Ano
63 |(% colspan="1" %)Podmínka webové definice|(% colspan="1" %)S.kategorie<>'*' and S.lokace not in ('VF')|(% colspan="1" %)itemType <> 'ILS' AND itemLibraryId = 1 AND itemLocationId <> 3 AND (itemBorrowCategoryId IS NULL OR itemBorrowCategoryId <> 3)|(% colspan="1" %) |(% colspan="1" %)
64 |(% colspan="1" %)Podmínka prohledávaných oblastí|(% colspan="1" %)S.lokace in ('DOSP')|(% colspan="1" %)itemLocationCode = 'DOSP'|(% colspan="1" %) |(% colspan="1" %)
65 |(% colspan="1" %)~-~- dtto ~-~-|(% colspan="1" %)S.lokace='M'|(% colspan="1" %)itemLocationCode = 'M'|(% colspan="1" %) |(% colspan="1" %)
66 |(% colspan="1" %)~-~- dtto ~-~-|(% colspan="1" %)S.lokace='HUD'|(% colspan="1" %)itemLocationCode = 'HUD'|(% colspan="1" %) |(% colspan="1" %)
67 |(% colspan="1" %) |(% colspan="1" %)cena>=700|(% colspan="1" %)itemPrice >= 700.0|(% colspan="1" %) |(% colspan="1" %)
68 |(% colspan="1" %)Poslední návštěva pod čtenáře.
69 Nastavení - Vlastní informace|(% colspan="1" %) |(% colspan="1" %)UserVisit lastUserVisit = userVisitService.loadLastVisit(reader, department, now);|(% colspan="1" %) |(% colspan="1" %)
70 |(% colspan="1" %)Registrace do(((
71 Nastavení - Vlastní informace
72 )))|(% colspan="1" %) |(% colspan="1" %)(((
73 if (charge != null) {
74
75 result += ", " + readerContainer.translate("Reg_until") + ": " + DateHelper.formatDate(charge.getDateTo());
76
77 }
78 )))|(% colspan="1" %) |(% colspan="1" %)
79 |(% colspan="1" %)Cena svazku je větší než 500|(% colspan="1" %) |(% colspan="1" %)itemPrice > 500|(% colspan="1" %)return item.getPrice() ~!= null && item.getPrice().compareTo(new java.math.BigDecimal(500)) > 0;|(% colspan="1" %)
80 |(% colspan="1" %)tematika =|(% colspan="1" %)tematika='6'|(% colspan="1" %)itemThematicGroupId IS NULL OR itemThematicGroupId = 3|(% colspan="1" %)return item.getThematicGroup() == null ~|~| item.getThematicGroup().getId().equals(3L)
81 |(% colspan="1" %)Nevyplněná adresa čtenáře s vyloučenými kategoriemi a čtenářské číslo menší než 9999000|(% colspan="1" %)(tulice=' ' or tmesto=' ' or tpsc=' ') and  !inlist(kategorie,'h','M','X') and ccislo < 9999000 |(% colspan="1" %)(userStreetNumberPermanent = '' OR userCityPermanent = '' OR userPostNumberPermanent = '')
82 AND (userCategoryCode IS NULL OR userCategoryCode NOT IN ('h', 'M', 'X'))
83 AND userReaderNumberValue < 9999000|(% colspan="1" %)return (user.getStreetNumberPermanent().isEmpty() ~|~| user.getCityPermanent().isEmpty() ~|~| user.getPostNumberPermanent().isEmpty())
84 && !((user.getCategory() ~!= null && user.getCategory().getCode().equals("h")) ~|~| (user.getCategory() ~!= null && user.getCategory().getCode().equals("M")) ~|~| (user.getCategory() ~!= null && user.getCategory().getCode().equals("X"~)~)~)
85 && (user.getReaderNumber() ~!= null && user.getReaderNumber().getValue() < 9999000);
86 |(% colspan="1" %)Nevyplněná občanka u čtenářů starších 15 let s vyloučenými kategoriemi a čtenářské číslo menší než 9999000|(% colspan="1" %)obcanka=' ' and DekodVek(rcislo)>=15 and !inlist(kategorie,'M','h','X') and ccislo < 9999000 |(% colspan="1" %)userIdentityCardNumber IS NULL
87 AND userAge >= 15
88 AND (userCategoryCode IS NULL OR userCategoryCode NOT IN ('h', 'M', 'X'))
89 AND userReaderNumberValue < 9999000|(% colspan="1" %)return !(user.getIdentityCardNumber() ~!= null)
90 && (user.getAge(now) ~!= null && user.getAge(now) >= 15)
91 && !((user.getCategory() ~!= null && user.getCategory().getCode().equals("h")) ~|~| (user.getCategory() ~!= null && user.getCategory().getCode().equals("M")) ~|~| (user.getCategory() ~!= null && user.getCategory().getCode().equals("X"~)~)~)
92 && (user.getReaderNumber() ~!= null && user.getReaderNumber().getValue() < 9999000);
93 |(% colspan="1" %)(((
94 Podmínka na aktuální datum a čas.
95
96 2.3.2020 00:00:00 - 6.3.2020 23:59:59
97 )))|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)boolean afterStart =cz.effectiva.tritius.shared.DateHelper.parse("2.3.2020 00:00:00", "dd.MM.yyyy HH:mm:ss").compareTo(now) <= 0;
98 boolean beforeEnd = cz.effectiva.tritius.shared.DateHelper.parse("6.3.2020 23:59:59", "dd.MM.yyyy HH:mm:ss").compareTo(now) >= 0;
99 return afterStart && beforeEnd;
100 |(% colspan="1" %)Podmínka pro anonymní vracení, kdy svazek není půjčený|(% colspan="1" %) |(% colspan="1" %)userId = -147|(% colspan="1" %)return user.getId() ~!= null && user.getId() == -147;
101 |(% colspan="1" %)Podmínka pro více čtenářských čísel|(% colspan="1" %) |(% colspan="1" %)userReaderNumberValue IN (9999967, 7980, 7981, 7982, 7983, 7984)|(% colspan="1" %)return userResult.getUser().getReaderNumber() ~!= null
102 && java.util.Arrays.asList(9999967L, 7980L, 7981L, 7982L, 7983L,7984L).contains(userResult.getUser().getReaderNumber().getValue());
103 |(% colspan="1" %)Pravidlo registrací na určité datum, rozsah datumů nebo rozsah časů|(% colspan="1" %) |(% colspan="1" %)currentDate = '14.02.2022' OR currentDate BETWEEN ('01.03.2022', '31.03.2022') OR currentTime BETWEEN ('16:00', '17:00')|(% colspan="1" %)return user.isDate("14.02.2022") ~|~| user.isBetweenDate("01.03.2022", "31.03.2022") ~|~| user.isTimeBetween("16:00", "17:00");
104 |(% colspan="1" %)Svazek je starší než dva roky|(% colspan="1" %) |(% colspan="1" %)itemDateCreated <= nowAddMonths(-24)|(% colspan="1" %)return item.isOlderThan("dateCreated", 2, 0, 0);
105 |(% colspan="1" %)Čtenář má 2 a více e-knih (výpůjčka 3. a další e-knihy) ze sklízeného zdroje ID -3, -4 za posledních 31 dní.Poslední návštěva pod čtenáře.|(% colspan="1" %) |(% colspan="1" %)(((
106 ~/~/ Titulová podmínka
107 workTypeId = -31
108
109 ~/~/ Čtenářská podmínka
110 userElectronicBorrowingsCount(31, -3, -4) >= 2
111 )))|(% colspan="1" %)(((
112 ~/~/ Titulová podmínka
113 return work.isInWorkType(-31L);
114
115 ~/~/ Čtenářská podmínka
116 return getElectronicBorrowingsCount(user, department, now, 31, -3L, -4L) >= 2;
117 )))
118 |(% colspan="1" %)Čtenář má 2 a více e-knih (výpůjčka 3. a další e-knihy) ze sklízeného zdroje ID -3 a -4 za aktuální kalendářní měsíc.|(% colspan="1" %) |(% colspan="1" %)(((
119 ~/~/ Titulová podmínka
120 workTypeId = -31
121
122 ~/~/ Čtenářská podmínka
123 userElectronicBorrowingsCurrentMonthCount(-3, -4) >= 2
124 )))|(% colspan="1" %)(((
125 ~/~/ Titulová podmínka
126 return work.isInWorkType(-31L);
127
128 ~/~/ Čtenářská podmínka
129 return getElectronicBorrowingsCurrentMonthCount(user, department, now, -3L, -4L) >= 2;
130 )))
131 |(% colspan="1" %)Každá výpůjčka e-knihy ze sklízeného zdroje ID -3 a -4 za posledních 31 dní.|(% colspan="1" %) |(% colspan="1" %)(((
132 ~/~/ Titulová podmínka
133 workTypeId = -31
134
135 ~/~/ Čtenářská podmínka
136 userElectronicBorrowingsCount(31, -3, -4) >= 0
137 )))|(% colspan="1" %)(((
138 ~/~/ Titulová podmínka
139 return work.isInWorkType(-31L);
140
141 ~/~/ Čtenářská podmínka
142 return getElectronicBorrowingsCount(user, department, now, 31, -3L, -4L) >= 0;
143 )))
144 |(% colspan="1" %)Čtenář má dohromady 2 a více e-knih nebo audioknih (výpůjčka 3. a dalšího e-dokumentu) ze sklízeného zdroje ID -6 za posledních 31 dní.|(% colspan="1" %) |(% colspan="1" %)(((
145 ~/~/ Titulová podmínka
146 workTypeId IN (-31, -32)
147
148 ~/~/ Čtenářská podmínka
149 userElectronicBorrowingsCount(31, -6) >= 2
150 )))|(% colspan="1" %)
151 |(% colspan="1" %)Kontrola abecedy na regálech v revizi|(% colspan="1" %) |(% colspan="1" %)~/~/ V revizi je potřeba povolit použítí regálů
152 ~/~/ Pro každé písmeno abecedy je potřeba vytvořit vlastní regál
153 ~/~/ Titulová podmínka
154 workAuthorShow STARTS 'A' OR (workAuthorShow = '' AND workTitleShow STARTS 'A')|(% colspan="1" %)~/~/ V revizi je potřeba povolit použítí regálů
155 ~/~/ Pro každé písmeno abecedy je potřeba vytvořit vlastní regál
156 ~/~/ Titulová podmínka
157 return work.getAuthorShow() ~!= null && !work.getAuthorShow().isEmpty() ? work.getAuthorShow().startsWith("A") : work.getTitleShow().startsWith("A");
158 |(% colspan="1" %)Dílo/svazek má přiřazený alespoň jeden z uvedených štítků (zadává se ID štítku)|(% colspan="1" %) |(% colspan="1" %)(((
159 ~/~/ Titulová podmínka
160 workHasAnyLabelIds(5, 8)
161
162 ~/~/ Svazková podmínka
163 itemHasAnyLabelIds(5, 8)
164 )))|(% colspan="1" %)
165 |(% colspan="1" %)Dílo/svazek má přiřazené všechny uvedené štítky (zadává se ID štítku)|(% colspan="1" %) |(% colspan="1" %)(((
166 ~/~/ Titulová podmínka
167 workHasAllLabelIds(3, 6)
168
169 ~/~/ Svazková podmínka
170 itemHasAllLabelIds(3, 6)
171 )))|(% colspan="1" %)
172 )))|(% colspan="1" %)
173
174 = SQL podmínky (na díla, svazky, ...) =
175
176 * Používají se u některých definic.
177 ** Např. prohledávané oblasti, webové definice, revize, ...
178 * Takto zadané podmínky musí jít transformovat:
179 *1. Do ujormu - používá používá jiné aliasy než se zadávají v podmínkách.
180 *1. Do javy - svazky/díla se načítají hromadně a pak se teprve vyhodnocuje, zda patří/nepatří k dané definici (revizi, oblasti apod.).
181 * SQL konstrukce tedy nejsou podporovány automaticky, ale musí se pro ně podpora programovat → **ne každé SQL jde vždy použít!**
182
183 == Podmínky na čas ==
184
185 * Může být potřeba omezit např. revizi jen na nové/staré svazky - do svazková podmínka omezená pod data vytvoření.
186 * Příklad: **i.date_created < '2015-06-15'**
187 * Časové podmínky podporují tyto operátory: 
188 ** =, <. <=, >, >=.
189 * Jdou podporovány následující formáty datumu:
190 ** '2020-03-26'
191 ** '2020-03-26 14:50:00'
192 ** '2020-03-26 14:50:00.000'
193
194 * **Pokud bude použit jiný operátor nebo formát datumu, nebude SQL podmínka validní, popř. nemusí fungovat správně!**
195
196
197 |(((
198 = Pravidla akcí - Změny před/po akci =
199
200 |=Popis|=(% colspan="1" %)[[TQL - Tritius Query Language>>doc:uzivatelsky-manual.Pro-spravce.TQL-Tritius-Query-Language.WebHome]] před akcí od verze 6.1.0|=(% colspan="1" %)[[TQL - Tritius Query Language>>doc:uzivatelsky-manual.Pro-spravce.TQL-Tritius-Query-Language.WebHome]] po akci od verze 6.1.0|=(% colspan="1" %)JAVA podmínka před akcí|=JAVA podmínka po akci|=(% colspan="1" %)Poznámka
201 |(% colspan="1" %)Přepůjčení svazku čtenáři s id = 1|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)skipReservations(params);|(% colspan="1" %)borrowToReader(1L, item, department, now);|(% colspan="1" %)Od verze 1.22.0
202 |(% colspan="1" %)Přepůjčení svazku čtenáři s id = 1 pokud neexistuje rezervace|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)borrowToReaderIfNotReserved(1L, item, department, now);|(% colspan="1" %)Od verze 1.28.0
203 |(% colspan="1" %)Změna kategorie svazku po vrácení|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)item.setBorrowCategory(serviceProvider.getBorrowCategoryService().load(1102L));|(% colspan="1" %)-
204 |(% colspan="1" %)Změna lokace svazku po vrácení|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)item.setLocation(serviceProvider.getLocationService().load(1L));|(% colspan="1" %)-
205 |(% colspan="1" %)Změna lokace a vlastnící lokace svazku po vrácení|(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %) |(% colspan="1" %)(((
206 item.setLocation(serviceProvider.getLocationService().load(245L));
207
208 item.setLocationOwner(serviceProvider.getLocationService().load(245L));
209 )))|(% colspan="1" %)-
210
211 |=Popis|=(% colspan="1" %)[[TQL - Tritius Query Language>>doc:uzivatelsky-manual.Pro-spravce.TQL-Tritius-Query-Language.WebHome]] podmínka od verze 6.1.0|=JAVA podmínka|=Poznámka
212 |Čtenářská podmínka, zda má čtenář platnou registraci na oddělení, na které přichází.|(% colspan="1" %) |
213
214 {{{cz.effectiva.tritius.server.ao.contexts.ServiceContext context = cz.effectiva.tritius.utils.UserContext.createCurrentContext(now); cz.effectiva.tritius.server.usecase.registration.CheckRegistrationRequest request = cz.effectiva.tritius.server.usecase.registration.CheckRegistrationRequest.lastEndingActiveOf(userResult.getUser(), department, context); return serviceProvider.getRegistrationService().checkRegistration(request).isHasActiveRegistration();}}}|-
215
216 |(% colspan="1" %)Čtenářská podmínka, zda má čtenář platnou registraci na oddělení id=123.|(% colspan="1" %) |(% colspan="1" %)
217
218 {{{cz.effectiva.tritius.server.ao.contexts.ServiceContext context = cz.effectiva.tritius.utils.UserContext.createCurrentContext(now); department = serviceProvider.getDepartmentService().load(123L); cz.effectiva.tritius.server.usecase.registration.CheckRegistrationRequest request = cz.effectiva.tritius.server.usecase.registration.CheckRegistrationRequest.lastEndingActiveOf(userResult.getUser(), department, context); return serviceProvider.getRegistrationService().checkRegistration(request).isHasActiveRegistration();}}}|(% colspan="1" %)-
219
220
221 **Automatické přepůjčení na karanténu**
222
223 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2021-3-23_12-8-7.png?version=1&modificationDate=1616497688000&api=v2]]
224 )))
225
226 = Dispečink internetu =
227
228 |=Popis příkazu|=(% colspan="1" %)Podmínka v [[TQL - Tritius Query Language>>doc:uzivatelsky-manual.Pro-spravce.TQL-Tritius-Query-Language.WebHome]] od verze 6.1.0|=(% colspan="1" %)Java podmínka|=(% colspan="1" %)Poznámka
229 |(% colspan="1" %)Podmínka na konkrétního uživatele|(% colspan="1" %)userReaderNumberValue= 644|(% colspan="1" %)return (userResult ~!= null && userResult.getUser() ~!= null && userResult.getUser().getReaderNumber() ~!=null) ? userResult.getUser().getReaderNumber().getValue().equals(644L) : false;|(% colspan="1" %)
230
231 = Vlastní informace =
232
233 Používá se **FreeMarker**. Viz Google a psaní podmínek.
234
235 |=(% style="width: 255px;" %)Popis|=(% colspan="1" style="width: 745px;" %)Kód|=(% style="width: 517px;" %)Náhled
236 |(% style="width:255px" %)(((
237 Čtenářské číslo; - Jméno čtenáře
238
239 Datum narození; Datum poslední návštěvy; - Počet čekajících rezervací a odložení; - Text z kolonky POZOR
240 )))|(% colspan="1" style="width:745px" %)(((
241 <#if container.getBirthdate()??>
242 ${container.getBirthdate()?datetime?string('dd.MM.yy')}
243 </#if>
244
245 ${container.getInfoLastVisit()}
246
247 <#if container.getWaitingRequestsCount()!=0>
248 <font color="red"> - ${container.translate("Waiting_reservations/retrievals")} - ${container.getWaitingRequestsCount()}</font>
249 </#if>
250
251 <#if container.hasCautionNote()>
252 - <font color="red"> ${container.getCautionNote()}</font>
253 </#if>
254 )))|(% style="width:517px" %)(((
255 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2019-9-3%209%3A29%3A14.png?version=1&modificationDate=1567495748000&api=v2]]
256 )))
257 |(% colspan="1" style="width:255px" %)(((
258 Čtenářské číslo; - Jméno čtenáře
259
260 Věk čtenáře; @ pokud má čtenář vyplněný email; Datum poslední návštěvy; Datum konce registrace
261 )))|(% colspan="1" style="width:745px" %)<#if container.getAgeFormated()??>
262 Věk: ${container.getAgeFormated()}
263 </#if>
264 ${container.getInfoMailLastVisitEndingRegistration()}|(% colspan="1" style="width:517px" %)(((
265 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2019-9-3%209%3A33%3A56.png?version=1&modificationDate=1567496030000&api=v2]]
266 )))
267 |(% colspan="1" style="width:255px" %)(((
268 Čtenářské číslo; - Jméno čtenáře
269
270 Počet čekajících rezervací a odložení; Datum poslední návštěvy; Datum konce registrace
271 )))|(% colspan="1" style="width:745px" %)(((
272 <#if container.getWaitingRequestsCount()!=0>
273 <font color="red">${container.translate("Waiting_retrievals")}: ${container.getWaitingRequestsCount()}
274 </font>
275 </#if>
276
277 ${container.getInfoMailLastVisitEndingRegistration()}
278 )))|(% colspan="1" style="width:517px" %)(((
279 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2019-9-3%209%3A37%3A5.png?version=1&modificationDate=1567496219000&api=v2]]
280 )))
281 |(% colspan="1" style="width:255px" %)(((
282 Čtenářské číslo; - Jméno čtenáře
283
284 @ pokud má čtenář vyplněný email; Datum poslední návštěvy; Datum konce registrace (zeleně pokud platí, červeně pokud již skončila)
285 )))|(% colspan="1" style="width:745px" %)${container.getInfoMailLastVisit()}
286 <#if container.isRegistrationExpired() && container.loadLastEndingRegistrationCharge()??>
287 <font color="red">${container.loadLastEndingRegistrationCharge()?string("dd.MM.yyyy")}</font>
288 </#if>
289 <#if container.isRegistrationExpired()==false && container.loadLastEndingRegistrationCharge()??>
290 <font color="green">${container.loadLastEndingRegistrationCharge()?string("dd.MM.yyyy")}</font>
291 </#if>|(% colspan="1" style="width:517px" %)(((
292 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2019-9-6%2011%3A1%3A21.png?version=1&modificationDate=1567760475000&api=v2]]
293 )))
294 |(% colspan="1" style="width:255px" %)(((
295 Čtenářské číslo; - Jméno čtenáře
296
297 @ pokud má čtenář vyplněný email; Datum poslední návštěvy; Datum konce registrace (zeleně pokud platí, červeně pokud během 31 dní vyprší)
298 )))|(% colspan="1" style="width:745px" %)(((
299 ${container.getInfoMailLastVisit()}
300
301 <#if container.getWaitingRequestsCount()!=0>
302 <font color="red"> - ${container.translate("Waiting_reservations/retrievals")} - ${container.getWaitingRequestsCount()}</font>
303 </#if>
304
305 <#if container.loadLastEndingRegistrationCharge()?? >
306 Reg. do:
307 <#if container.loadLastEndingRegistrationCharge()?long lt .now?long + (31 * 86400000) >
308 <font color="red">
309 <#else>
310 <font color="green">
311 </#if>
312 ${container.loadLastEndingRegistrationCharge()?string("dd.MM.yyyy")}</font>
313 </#if>
314 )))|(% colspan="1" style="width:517px" %)(((
315 [[image:https://confluence.tritius.cz/download/attachments/35815451/snimek-vlastni-info.png?version=1&modificationDate=1602765335000&api=v2]]
316 )))
317 |(% colspan="1" style="width:255px" %)Věk obarvený podle let. Nad 15 (a zároveň) červený, pod 15 modrý. |(% colspan="1" style="width:745px" %)<#if container.getAgeFormated()??>
318 <#if container.getAgeFormated()?number gte 15>
319 Věk: <font color="red"> ${container.getAgeFormated()}</font>
320 <#else>
321 Věk: <font color="blue"> ${container.getAgeFormated()}</font>
322 </#if>
323 </#if>|(% colspan="1" style="width:517px" %)
324 |(% colspan="1" style="width:255px" %)(((
325 Rozpis počtu čekajících objednávek čtenáře.
326
327 Jednotlivé typy objednávek se oddělují lomenem.
328
329 Odložení z poličky a objednávky ze skladu sčítá dohromady.
330
331 Daný typ se zobrazuje pouze pokud pro daný typ existuje alespoň jedna čekající objednávka.
332
333
334 )))|(% colspan="1" style="width:745px" %)(((
335 ${container.getInfoMailLastVisit()}
336
337 <#if (container.getWaitingRequestsCount() != 0 ||
338 container.getInsertedBoxRetrievalRequestsDepartmentCount() != 0)>
339 <font color="red"> - Ček.
340
341 <#if container.getWaitingReservationCount() != 0>
342 rez. ${container.getWaitingReservationCount()}
343 </#if>
344
345 <#if (container.getWaitingShelfRetrievalRequestsDepartmentCount() != 0 ||
346 container.getWaitingStackRetrievalRequestsDepartmentCount() != 0)>
347 <#if container.getWaitingReservationCount() != 0> / </#if>
348 odl. ${(container.getWaitingShelfRetrievalRequestsDepartmentCount() +
349 container.getWaitingStackRetrievalRequestsDepartmentCount())}
350 </#if>
351
352 <#if container.getInsertedBoxRetrievalRequestsDepartmentCount() != 0>
353 <#if (container.getWaitingReservationCount() != 0 ||
354 container.getWaitingShelfRetrievalRequestsDepartmentCount() != 0 ||
355 container.getWaitingStackRetrievalRequestsDepartmentCount() != 0)> / </#if>
356 box ${container.getInsertedBoxRetrievalRequestsDepartmentCount()}
357 </#if>
358
359 <#if container.getWaitingIlsDepartmentCount() != 0>
360 <#if (container.getWaitingReservationCount() != 0 ||
361 container.getWaitingShelfRetrievalRequestsDepartmentCount() != 0 ||
362 container.getWaitingStackRetrievalRequestsDepartmentCount() != 0 ||
363 container.getInsertedBoxRetrievalRequestsDepartmentCount() != 0)> / </#if>
364 MVS ${container.getWaitingIlsDepartmentCount()}
365 </#if>
366
367 </font>
368 </#if>
369 )))|(% colspan="1" style="width:517px" %)(((
370 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2024-3-14_13-23-44.png?version=1&modificationDate=1710419025000&api=v2||width="500"]]
371 )))
372 |(% colspan="1" style="width:255px" %)Zobrazuje upozornění, že má čtenář dnes narozeniny nebo svátek.|(% colspan="1" style="width:745px" %)(((
373 <#if container.hasBirthday()>
374 <font color="red"> - narozeniny</font>
375 </#if>
376
377 <#if container.hasNameDay()>
378 <font color="red"> - svátek</font>
379 </#if>
380 )))|(% colspan="1" style="width:517px" %)(((
381 [[image:https://confluence.tritius.cz/download/attachments/35815451/image2024-3-14_13-37-46.png?version=1&modificationDate=1710419867000&api=v2||width="400"]]
382 )))
383 |(% colspan="1" style="width:255px" %)(((
384 Výchozí stav ( mail, posl. návštěva, svátek, čekající rez./odl. ) + věk různobarevný podle hranice 15let
385
386 * použito v Domažlice
387 )))|(% colspan="1" style="width:745px" %)(((
388 ${container.getInfoMailLastVisit()} <#if container.hasNameDay()> <font color="red"> - ${container.translate("has_nameday_today")}.</font> </#if> <#if container.getWaitingRequestsCount()!=0> <font color="red"> - ${container.translate("Waiting_reservations/retrievals")} - ${container.getWaitingRequestsCount()}</font> </#if>
389
390 <#if container.getAgeFormated()??>
391 <#if container.getAgeFormated()?number gte 15>
392 Věk: <font color="#95954A"> ${container.getAgeFormated()}</font>
393 <#else>
394 Věk: <font color="blue"> ${container.getAgeFormated()}</font>
395 </#if>
396 </#if>
397 )))|(% colspan="1" style="width:517px" %)
398 |(% colspan="1" style="width:255px" %)(((
399 Mail, posl. návštěva, končící registrace , povolání, vzdělání, škola, svátek a čekající rez./odl.
400
401 * použito v Chotěboř
402 )))|(% colspan="1" style="width:745px" %)(((
403 ${container.getInfoMailLastVisitEndingRegistration()}
404 <#if container.hasProfession()>
405 <font color="green">${container.getProfession()}</font>
406 </#if>
407 <#if container.hasEducationLevel()>
408 <font color="orange">${container.getEducationLevel()}</font>
409 </#if>
410 <#if container.getSchool()??>
411 <font color="yellow">${container.getSchool()}</font>
412 </#if>
413 <#if container.hasNameDay()> <font color="red"> - ${container.translate("has_nameday_today")}.</font> 
414 </#if> <#if container.getWaitingRequestsCount()!=0> <font color="red"> - ${container.translate("Waiting_reservations/retrievals")} - ${container.getWaitingRequestsCount()}</font> </#if>
415
416
417 )))|(% colspan="1" style="width:517px" %)
418 |(% colspan="1" style="width:255px" %)(((
419 Mail, posl. návštěva, vzdělání, povolání, svátek, čekající rez./odl.
420
421 * použito v UNYP
422 )))|(% colspan="1" style="width:745px" %)${container.getInfoMailLastVisit()} 
423 <#if container.hasEducationLevel()>
424 <font color="orange">${container.getEducationLevel()}</font>
425 </#if>
426 <#if container.hasProfession()>
427 <font color="green">${container.getProfession()}</font>
428 </#if>
429 <#if container.hasNameDay()> <font color="red"> - ${container.translate("has_nameday_today")}.</font> </#if> <#if container.getWaitingRequestsCount()~!=0> <font color="red"> - ${container.translate("Waiting_reservations/retrievals")} - ${container.getWaitingRequestsCount()}</font> </#if>|(% colspan="1" style="width:517px" %)