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