Lines 46-53
my $line = $input->param("Line");
Link Here
|
46 |
my $column = $input->param("Column"); |
46 |
my $column = $input->param("Column"); |
47 |
my $cellvalue = $input->param("Cellvalue"); # one of 'items', 'biblios', 'deleteditems' |
47 |
my $cellvalue = $input->param("Cellvalue"); # one of 'items', 'biblios', 'deleteditems' |
48 |
my @filters = $input->param("Filter"); |
48 |
my @filters = $input->param("Filter"); |
49 |
my $deweydigits = $input->param("deweydigits"); |
|
|
50 |
my $lccndigits = $input->param("lccndigits"); |
51 |
my $cotedigits = $input->param("cotedigits"); |
49 |
my $cotedigits = $input->param("cotedigits"); |
52 |
my $output = $input->param("output"); |
50 |
my $output = $input->param("output"); |
53 |
my $basename = $input->param("basename"); |
51 |
my $basename = $input->param("basename"); |
Lines 70-76
my ($template, $borrowernumber, $cookie)
Link Here
|
70 |
}); |
68 |
}); |
71 |
$template->param(do_it => $do_it); |
69 |
$template->param(do_it => $do_it); |
72 |
if ($do_it) { |
70 |
if ($do_it) { |
73 |
my $results = calculate( $line, $column, $cellvalue, $deweydigits, $lccndigits, $cotedigits, \@filters ); |
71 |
my $results = calculate( $line, $column, $cellvalue, $cotedigits, \@filters ); |
74 |
if ( $output eq "screen" ) { |
72 |
if ( $output eq "screen" ) { |
75 |
$template->param( mainloop => $results ); |
73 |
$template->param( mainloop => $results ); |
76 |
output_html_with_http_headers $input, $cookie, $template->output; |
74 |
output_html_with_http_headers $input, $cookie, $template->output; |
Lines 113-148
if ($do_it) {
Link Here
|
113 |
my $count=0; |
111 |
my $count=0; |
114 |
my $req; |
112 |
my $req; |
115 |
my @select; |
113 |
my @select; |
116 |
# FIXME: no such field "dewey" |
|
|
117 |
# $req = $dbh->prepare("select count(dewey) from biblioitems "); |
118 |
# $req->execute; |
119 |
my $hasdewey = 0; |
120 |
|
121 |
# (rch) biblioitems.lccn is mapped to lccn MARC21 010$a in default framework. |
122 |
# This is not the LC Classification. It's the Control Number. |
123 |
# So I'm just going to remove this bit. Call Number is handled in itemcallnumber. |
124 |
# |
125 |
my $haslccn = 0; |
126 |
# $req = $dbh->prepare( "select count(lccn) from biblioitems "); |
127 |
# $req->execute; |
128 |
# my $hlghtlccn; |
129 |
# while (my ($value) =$req->fetchrow) { |
130 |
# $hlghtlccn = !($hasdewey); |
131 |
# $haslccn =1 if (($value>2) and (! $haslccn)); |
132 |
# $count++ if (($value) and (! $haslccn)); |
133 |
# push @select, $value; |
134 |
# } |
135 |
# my $CGIlccn=CGI::scrolling_list( -name => 'Filter', |
136 |
# -id => 'Filter', |
137 |
# -values => \@select, |
138 |
# -size => 1, |
139 |
# -multiple => 0 ); |
140 |
|
141 |
# No need to test for data here. If you don't have itemcallnumbers, you probably know it. |
142 |
# FIXME: Hardcoding to 5 chars on itemcallnum. |
143 |
# |
144 |
my $hascote = 1; |
145 |
my $highcote = 5; |
146 |
|
114 |
|
147 |
$req = $dbh->prepare("select itemtype, description from itemtypes order by description"); |
115 |
$req = $dbh->prepare("select itemtype, description from itemtypes order by description"); |
148 |
$req->execute; |
116 |
$req->execute; |
Lines 181-189
if ($do_it) {
Link Here
|
181 |
my @mime = ( map { +{type =>$_} } (split /[;:]/, 'CSV') ); # FIXME translation |
149 |
my @mime = ( map { +{type =>$_} } (split /[;:]/, 'CSV') ); # FIXME translation |
182 |
|
150 |
|
183 |
$template->param( |
151 |
$template->param( |
184 |
hasdewey => $hasdewey, |
|
|
185 |
haslccn => $haslccn, |
186 |
hascote => $hascote, |
187 |
CGIItemType => $CGIitemtype, |
152 |
CGIItemType => $CGIitemtype, |
188 |
CGIBranch => GetBranchesLoop( C4::Context->userenv->{'branch'} ), |
153 |
CGIBranch => GetBranchesLoop( C4::Context->userenv->{'branch'} ), |
189 |
locationloop => \@locations, |
154 |
locationloop => \@locations, |
Lines 200-206
output_html_with_http_headers $input, $cookie, $template->output;
Link Here
|
200 |
|
165 |
|
201 |
|
166 |
|
202 |
sub calculate { |
167 |
sub calculate { |
203 |
my ( $line, $column, $cellvalue, $deweydigits, $lccndigits, $cotedigits, $filters ) = @_; |
168 |
my ( $line, $column, $cellvalue, $cotedigits, $filters ) = @_; |
204 |
my @mainloop; |
169 |
my @mainloop; |
205 |
my @loopfooter; |
170 |
my @loopfooter; |
206 |
my @loopcol; |
171 |
my @loopcol; |
Lines 233-336
sub calculate {
Link Here
|
233 |
my @loopfilter; |
198 |
my @loopfilter; |
234 |
for ( my $i = 0 ; $i <= @$filters ; $i++ ) { |
199 |
for ( my $i = 0 ; $i <= @$filters ; $i++ ) { |
235 |
my %cell; |
200 |
my %cell; |
236 |
if ( defined @$filters[$i] and @$filters[$i] ne '' and $i != 15 ) { |
201 |
if ( defined @$filters[$i] and @$filters[$i] ne '' and $i != 11 ) { |
237 |
if ( ( ( $i == 1 ) or ( $i == 3 ) or ( $i == 5 ) or ( $i == 9 ) ) and ( @$filters[ $i - 1 ] ) ) { |
202 |
if ( ( ( $i == 1 ) or ( $i == 5 ) ) and ( @$filters[ $i - 1 ] ) ) { |
238 |
$cell{err} = 1 if ( @$filters[$i] < @$filters[ $i - 1 ] ); |
203 |
$cell{err} = 1 if ( @$filters[$i] < @$filters[ $i - 1 ] ); |
239 |
} |
204 |
} |
240 |
$cell{filter} .= @$filters[$i]; |
205 |
$cell{filter} .= @$filters[$i]; |
241 |
$cell{crit} .= |
206 |
$cell{crit} .= |
242 |
( $i == 0 ) ? "Dewey Classification From" |
207 |
( $i == 0 ) ? "Item CallNumber From" |
243 |
: ( $i == 1 ) ? "Dewey Classification To" |
208 |
: ( $i == 1 ) ? "Item CallNumber To" |
244 |
: ( $i == 2 ) ? "Lccn Classification From" |
209 |
: ( $i == 2 ) ? "Item type" |
245 |
: ( $i == 3 ) ? "Lccn Classification To" |
210 |
: ( $i == 3 ) ? "Publisher" |
246 |
: ( $i == 4 ) ? "Item CallNumber From" |
211 |
: ( $i == 4 ) ? "Publication year From" |
247 |
: ( $i == 5 ) ? "Item CallNumber To" |
212 |
: ( $i == 5 ) ? "Publication year To" |
248 |
: ( $i == 6 ) ? "Item type" |
213 |
: ( $i == 6 ) ? "Library" |
249 |
: ( $i == 7 ) ? "Publisher" |
214 |
: ( $i == 7 ) ? "Shelving Location" |
250 |
: ( $i == 8 ) ? "Publication year From" |
215 |
: ( $i == 8 ) ? "Collection Code" |
251 |
: ( $i == 9 ) ? "Publication year To" |
216 |
: ( $i == 9 ) ? "Status" |
252 |
: ( $i == 10 ) ? "Library" |
217 |
: ( $i == 10 ) ? "Materials" |
253 |
: ( $i == 11 ) ? "Shelving Location" |
218 |
: ( $i == 12 and $filters->[11] == 0 ) ? "Barcode (not like)" |
254 |
: ( $i == 12 ) ? "Collection Code" |
219 |
: ( $i == 12 and $filters->[11] == 1 ) ? "Barcode (like)" |
255 |
: ( $i == 13 ) ? "Status" |
220 |
: ( $i == 13 ) ? "Acquired date from" |
256 |
: ( $i == 14 ) ? "Materials" |
221 |
: ( $i == 14 ) ? "Acquired date to" |
257 |
: ( $i == 16 and $filters->[15] == 0 ) ? "Barcode (not like)" |
222 |
: ( $i == 15 ) ? "Removed date from" |
258 |
: ( $i == 16 and $filters->[15] == 1 ) ? "Barcode (like)" |
223 |
: ( $i == 16 ) ? "Removed date to" |
259 |
: ( $i == 17 ) ? "Acquired date from" |
|
|
260 |
: ( $i == 18 ) ? "Acquired date to" |
261 |
: ( $i == 19 ) ? "Removed date from" |
262 |
: ( $i == 20 ) ? "Removed date to" |
263 |
: ''; |
224 |
: ''; |
264 |
|
225 |
|
265 |
push @loopfilter, \%cell; |
226 |
push @loopfilter, \%cell; |
266 |
} |
227 |
} |
267 |
} |
228 |
} |
268 |
|
229 |
|
269 |
@$filters[18] = C4::Dates->new(@$filters[18])->output('iso') if @$filters[18]; |
230 |
@$filters[14] = C4::Dates->new(@$filters[14])->output('iso') if @$filters[14]; |
270 |
@$filters[19] = C4::Dates->new(@$filters[19])->output('iso') if @$filters[19]; |
231 |
@$filters[15] = C4::Dates->new(@$filters[15])->output('iso') if @$filters[15]; |
271 |
@$filters[20] = C4::Dates->new(@$filters[20])->output('iso') if @$filters[20]; |
232 |
@$filters[16] = C4::Dates->new(@$filters[16])->output('iso') if @$filters[16]; |
272 |
@$filters[21] = C4::Dates->new(@$filters[21])->output('iso') if @$filters[21]; |
233 |
@$filters[17] = C4::Dates->new(@$filters[17])->output('iso') if @$filters[17]; |
273 |
|
234 |
|
274 |
my @linefilter; |
235 |
my @linefilter; |
275 |
$linefilter[0] = @$filters[0] if ( $line =~ /dewey/ ); |
236 |
$linefilter[0] = @$filters[0] if ( $line =~ /items\.itemcallnumber/ ); |
276 |
$linefilter[1] = @$filters[1] if ( $line =~ /dewey/ ); |
237 |
$linefilter[1] = @$filters[1] if ( $line =~ /items\.itemcallnumber/ ); |
277 |
$linefilter[0] = @$filters[2] if ( $line =~ /lccn/ ); |
|
|
278 |
$linefilter[1] = @$filters[3] if ( $line =~ /lccn/ ); |
279 |
$linefilter[0] = @$filters[4] if ( $line =~ /items\.itemcallnumber/ ); |
280 |
$linefilter[1] = @$filters[5] if ( $line =~ /items\.itemcallnumber/ ); |
281 |
if ( C4::Context->preference('item-level_itypes') ) { |
238 |
if ( C4::Context->preference('item-level_itypes') ) { |
282 |
$linefilter[0] = @$filters[6] if ( $line =~ /items\.itype/ ); |
239 |
$linefilter[0] = @$filters[2] if ( $line =~ /items\.itype/ ); |
283 |
} else { |
240 |
} else { |
284 |
$linefilter[0] = @$filters[6] if ( $line =~ /itemtype/ ); |
241 |
$linefilter[0] = @$filters[2] if ( $line =~ /itemtype/ ); |
285 |
} |
242 |
} |
286 |
$linefilter[0] = @$filters[7] if ( $line =~ /publishercode/ ); |
243 |
$linefilter[0] = @$filters[3] if ( $line =~ /publishercode/ ); |
287 |
$linefilter[0] = @$filters[8] if ( $line =~ /publicationyear/ ); |
244 |
$linefilter[0] = @$filters[4] if ( $line =~ /publicationyear/ ); |
288 |
$linefilter[1] = @$filters[9] if ( $line =~ /publicationyear/ ); |
245 |
$linefilter[1] = @$filters[5] if ( $line =~ /publicationyear/ ); |
289 |
|
246 |
|
290 |
$linefilter[0] = @$filters[10] if ( $line =~ /items\.homebranch/ ); |
247 |
$linefilter[0] = @$filters[6] if ( $line =~ /items\.homebranch/ ); |
291 |
$linefilter[0] = @$filters[11] if ( $line =~ /items\.location/ ); |
248 |
$linefilter[0] = @$filters[7] if ( $line =~ /items\.location/ ); |
292 |
$linefilter[0] = @$filters[12] if ( $line =~ /items\.ccode/ ); |
249 |
$linefilter[0] = @$filters[8] if ( $line =~ /items\.ccode/ ); |
293 |
$linefilter[0] = @$filters[13] if ( $line =~ /items\.notforloan/ ); |
250 |
$linefilter[0] = @$filters[9] if ( $line =~ /items\.notforloan/ ); |
294 |
$linefilter[0] = @$filters[14] if ( $line =~ /items\.materials/ ); |
251 |
$linefilter[0] = @$filters[10] if ( $line =~ /items\.materials/ ); |
295 |
$linefilter[0] = @$filters[17] if ( $line =~ /items\.dateaccessioned/ ); |
252 |
$linefilter[0] = @$filters[13] if ( $line =~ /items\.dateaccessioned/ ); |
296 |
$linefilter[1] = @$filters[18] if ( $line =~ /items\.dateaccessioned/ ); |
253 |
$linefilter[1] = @$filters[14] if ( $line =~ /items\.dateaccessioned/ ); |
297 |
$linefilter[0] = @$filters[19] if ( $line =~ /deleteditems\.timestamp/ ); |
254 |
$linefilter[0] = @$filters[15] if ( $line =~ /deleteditems\.timestamp/ ); |
298 |
$linefilter[1] = @$filters[20] if ( $line =~ /deleteditems\.timestamp/ ); |
255 |
$linefilter[1] = @$filters[16] if ( $line =~ /deleteditems\.timestamp/ ); |
299 |
|
256 |
|
300 |
my @colfilter; |
257 |
my @colfilter; |
301 |
$colfilter[0] = @$filters[0] if ( $column =~ /dewey/ ); |
258 |
$colfilter[0] = @$filters[0] if ( $column =~ /items\.itemcallnumber/ ); |
302 |
$colfilter[1] = @$filters[1] if ( $column =~ /dewey/ ); |
259 |
$colfilter[1] = @$filters[1] if ( $column =~ /items\.itemcallnumber/ ); |
303 |
$colfilter[0] = @$filters[2] if ( $column =~ /lccn/ ); |
|
|
304 |
$colfilter[1] = @$filters[3] if ( $column =~ /lccn/ ); |
305 |
$colfilter[0] = @$filters[4] if ( $column =~ /items\.itemcallnumber/ ); |
306 |
$colfilter[1] = @$filters[5] if ( $column =~ /items\.itemcallnumber/ ); |
307 |
if ( C4::Context->preference('item-level_itypes') ) { |
260 |
if ( C4::Context->preference('item-level_itypes') ) { |
308 |
$colfilter[0] = @$filters[6] if ( $column =~ /items\.itype/ ); |
261 |
$colfilter[0] = @$filters[2] if ( $column =~ /items\.itype/ ); |
309 |
} else { |
262 |
} else { |
310 |
$colfilter[0] = @$filters[6] if ( $column =~ /itemtype/ ); |
263 |
$colfilter[0] = @$filters[2] if ( $column =~ /itemtype/ ); |
311 |
} |
264 |
} |
312 |
$colfilter[0] = @$filters[7] if ( $column =~ /publishercode/ ); |
265 |
$colfilter[0] = @$filters[3] if ( $column =~ /publishercode/ ); |
313 |
$colfilter[0] = @$filters[8] if ( $column =~ /publicationyear/ ); |
266 |
$colfilter[0] = @$filters[4] if ( $column =~ /publicationyear/ ); |
314 |
$colfilter[1] = @$filters[9] if ( $column =~ /publicationyear/ ); |
267 |
$colfilter[1] = @$filters[5] if ( $column =~ /publicationyear/ ); |
315 |
$colfilter[0] = @$filters[10] if ( $column =~ /items\.homebranch/ ); |
268 |
$colfilter[0] = @$filters[6] if ( $column =~ /items\.homebranch/ ); |
316 |
$colfilter[0] = @$filters[11] if ( $column =~ /items\.location/ ); |
269 |
$colfilter[0] = @$filters[7] if ( $column =~ /items\.location/ ); |
317 |
$colfilter[0] = @$filters[12] if ( $column =~ /items\.ccode/ ); |
270 |
$colfilter[0] = @$filters[8] if ( $column =~ /items\.ccode/ ); |
318 |
$colfilter[0] = @$filters[13] if ( $column =~ /items\.notforloan/ ); |
271 |
$colfilter[0] = @$filters[9] if ( $column =~ /items\.notforloan/ ); |
319 |
$colfilter[0] = @$filters[14] if ( $column =~ /items\.materials/ ); |
272 |
$colfilter[0] = @$filters[10] if ( $column =~ /items\.materials/ ); |
320 |
$colfilter[0] = @$filters[17] if ( $column =~ /items.dateaccessioned/ ); |
273 |
$colfilter[0] = @$filters[13] if ( $column =~ /items.dateaccessioned/ ); |
321 |
$colfilter[1] = @$filters[18] if ( $column =~ /items\.dateaccessioned/ ); |
274 |
$colfilter[1] = @$filters[14] if ( $column =~ /items\.dateaccessioned/ ); |
322 |
$colfilter[0] = @$filters[19] if ( $column =~ /deleteditems\.timestamp/ ); |
275 |
$colfilter[0] = @$filters[15] if ( $column =~ /deleteditems\.timestamp/ ); |
323 |
$colfilter[1] = @$filters[20] if ( $column =~ /deleteditems\.timestamp/ ); |
276 |
$colfilter[1] = @$filters[16] if ( $column =~ /deleteditems\.timestamp/ ); |
324 |
|
277 |
|
325 |
# 1st, loop rows. |
278 |
# 1st, loop rows. |
326 |
my $origline = $line; |
279 |
my $origline = $line; |
327 |
$line =~ s/^items\./deleteditems./ if($cellvalue eq "deleteditems"); |
280 |
$line =~ s/^items\./deleteditems./ if($cellvalue eq "deleteditems"); |
328 |
my $linefield; |
281 |
my $linefield; |
329 |
if ( ( $line =~ /dewey/ ) and ($deweydigits) ) { |
282 |
if ( ( $line =~ /itemcallnumber/ ) and ($cotedigits) ) { |
330 |
$linefield = "left($line,$deweydigits)"; |
|
|
331 |
} elsif ( ( $line =~ /lccn/ ) and ($lccndigits) ) { |
332 |
$linefield = "left($line,$lccndigits)"; |
333 |
} elsif ( ( $line =~ /itemcallnumber/ ) and ($cotedigits) ) { |
334 |
$linefield = "left($line,$cotedigits)"; |
283 |
$linefield = "left($line,$cotedigits)"; |
335 |
} elsif ( $line =~ /^deleteditems\.timestamp$/ ) { |
284 |
} elsif ( $line =~ /^deleteditems\.timestamp$/ ) { |
336 |
$linefield = "DATE($line)"; |
285 |
$linefield = "DATE($line)"; |
Lines 391-401
sub calculate {
Link Here
|
391 |
my $origcolumn = $column; |
340 |
my $origcolumn = $column; |
392 |
$column =~ s/^items\./deleteditems./ if($cellvalue eq "deleteditems"); |
341 |
$column =~ s/^items\./deleteditems./ if($cellvalue eq "deleteditems"); |
393 |
my $colfield; |
342 |
my $colfield; |
394 |
if ( ( $column =~ /dewey/ ) and ($deweydigits) ) { |
343 |
if ( ( $column =~ /itemcallnumber/ ) and ($cotedigits) ) { |
395 |
$colfield = "left($column,$deweydigits)"; |
|
|
396 |
} elsif ( ( $column =~ /lccn/ ) and ($lccndigits) ) { |
397 |
$colfield = "left($column,$lccndigits)"; |
398 |
} elsif ( ( $column =~ /itemcallnumber/ ) and ($cotedigits) ) { |
399 |
$colfield = "left($column,$cotedigits)"; |
344 |
$colfield = "left($column,$cotedigits)"; |
400 |
} elsif ( $column =~ /^deleteditems\.timestamp$/ ) { |
345 |
} elsif ( $column =~ /^deleteditems\.timestamp$/ ) { |
401 |
$colfield = "DATE($column)"; |
346 |
$colfield = "DATE($column)"; |
Lines 474-556
sub calculate {
Link Here
|
474 |
|
419 |
|
475 |
if ( @$filters[0] ) { |
420 |
if ( @$filters[0] ) { |
476 |
@$filters[0] =~ s/\*/%/g; |
421 |
@$filters[0] =~ s/\*/%/g; |
477 |
$strcalc .= " AND dewey >" . @$filters[0]; |
422 |
$strcalc .= " AND $itemstable.itemcallnumber >=" . $dbh->quote( @$filters[0] ); |
478 |
} |
423 |
} |
|
|
424 |
|
479 |
if ( @$filters[1] ) { |
425 |
if ( @$filters[1] ) { |
480 |
@$filters[1] =~ s/\*/%/g; |
426 |
@$filters[1] =~ s/\*/%/g; |
481 |
$strcalc .= " AND dewey <" . @$filters[1]; |
427 |
$strcalc .= " AND $itemstable.itemcallnumber <=" . $dbh->quote( @$filters[1] ); |
482 |
} |
428 |
} |
|
|
429 |
|
483 |
if ( @$filters[2] ) { |
430 |
if ( @$filters[2] ) { |
484 |
@$filters[2] =~ s/\*/%/g; |
431 |
@$filters[2] =~ s/\*/%/g; |
485 |
$strcalc .= " AND lccn >" . @$filters[2]; |
432 |
$strcalc .= " AND " . ( C4::Context->preference('item-level_itypes') ? "$itemstable.itype" : 'biblioitems.itemtype' ) . " LIKE '" . @$filters[2] . "'"; |
486 |
} |
433 |
} |
|
|
434 |
|
487 |
if ( @$filters[3] ) { |
435 |
if ( @$filters[3] ) { |
488 |
@$filters[3] =~ s/\*/%/g; |
436 |
@$filters[3] =~ s/\*/%/g; |
489 |
$strcalc .= " AND lccn <" . @$filters[3]; |
437 |
@$filters[3] .= "%" unless @$filters[3] =~ /%/; |
|
|
438 |
$strcalc .= " AND biblioitems.publishercode LIKE \"" . @$filters[3] . "\""; |
490 |
} |
439 |
} |
491 |
if ( @$filters[4] ) { |
440 |
if ( @$filters[4] ) { |
492 |
@$filters[4] =~ s/\*/%/g; |
441 |
@$filters[4] =~ s/\*/%/g; |
493 |
$strcalc .= " AND $itemstable.itemcallnumber >=" . $dbh->quote( @$filters[4] ); |
442 |
$strcalc .= " AND publicationyear >" . @$filters[4]; |
494 |
} |
443 |
} |
495 |
|
|
|
496 |
if ( @$filters[5] ) { |
444 |
if ( @$filters[5] ) { |
497 |
@$filters[5] =~ s/\*/%/g; |
445 |
@$filters[5] =~ s/\*/%/g; |
498 |
$strcalc .= " AND $itemstable.itemcallnumber <=" . $dbh->quote( @$filters[5] ); |
446 |
$strcalc .= " AND publicationyear <" . @$filters[5]; |
499 |
} |
447 |
} |
500 |
|
|
|
501 |
if ( @$filters[6] ) { |
448 |
if ( @$filters[6] ) { |
502 |
@$filters[6] =~ s/\*/%/g; |
449 |
@$filters[6] =~ s/\*/%/g; |
503 |
$strcalc .= " AND " . ( C4::Context->preference('item-level_itypes') ? "$itemstable.itype" : 'biblioitems.itemtype' ) . " LIKE '" . @$filters[6] . "'"; |
450 |
$strcalc .= " AND $itemstable.homebranch LIKE '" . @$filters[6] . "'"; |
504 |
} |
451 |
} |
505 |
|
|
|
506 |
if ( @$filters[7] ) { |
452 |
if ( @$filters[7] ) { |
507 |
@$filters[7] =~ s/\*/%/g; |
453 |
@$filters[7] =~ s/\*/%/g; |
508 |
@$filters[7] .= "%" unless @$filters[7] =~ /%/; |
454 |
$strcalc .= " AND $itemstable.location LIKE '" . @$filters[7] . "'"; |
509 |
$strcalc .= " AND biblioitems.publishercode LIKE \"" . @$filters[7] . "\""; |
|
|
510 |
} |
455 |
} |
511 |
if ( @$filters[8] ) { |
456 |
if ( @$filters[8] ) { |
512 |
@$filters[8] =~ s/\*/%/g; |
457 |
@$filters[8] =~ s/\*/%/g; |
513 |
$strcalc .= " AND publicationyear >" . @$filters[8]; |
458 |
$strcalc .= " AND $itemstable.ccode LIKE '" . @$filters[8] . "'"; |
514 |
} |
459 |
} |
515 |
if ( @$filters[9] ) { |
460 |
if ( defined @$filters[9] and @$filters[9] ne '' ) { |
516 |
@$filters[9] =~ s/\*/%/g; |
461 |
@$filters[9] =~ s/\*/%/g; |
517 |
$strcalc .= " AND publicationyear <" . @$filters[9]; |
462 |
$strcalc .= " AND $itemstable.notforloan LIKE '" . @$filters[13] . "'"; |
518 |
} |
463 |
} |
519 |
if ( @$filters[10] ) { |
464 |
if ( defined @$filters[10] and @$filters[10] ne '' ) { |
520 |
@$filters[10] =~ s/\*/%/g; |
465 |
@$filters[10] =~ s/\*/%/g; |
521 |
$strcalc .= " AND $itemstable.homebranch LIKE '" . @$filters[10] . "'"; |
466 |
$strcalc .= " AND $itemstable.materials LIKE '" . @$filters[10] . "'"; |
522 |
} |
|
|
523 |
if ( @$filters[11] ) { |
524 |
@$filters[11] =~ s/\*/%/g; |
525 |
$strcalc .= " AND $itemstable.location LIKE '" . @$filters[11] . "'"; |
526 |
} |
527 |
if ( @$filters[12] ) { |
528 |
@$filters[12] =~ s/\*/%/g; |
529 |
$strcalc .= " AND $itemstable.ccode LIKE '" . @$filters[12] . "'"; |
530 |
} |
467 |
} |
531 |
if ( defined @$filters[13] and @$filters[13] ne '' ) { |
468 |
if ( @$filters[13] ) { |
532 |
@$filters[13] =~ s/\*/%/g; |
469 |
@$filters[13] =~ s/\*/%/g; |
533 |
$strcalc .= " AND $itemstable.notforloan LIKE '" . @$filters[13] . "'"; |
470 |
$strcalc .= " AND $itemstable.dateaccessioned >= '@$filters[13]' "; |
534 |
} |
471 |
} |
535 |
if ( defined @$filters[14] and @$filters[14] ne '' ) { |
472 |
if ( @$filters[14] ) { |
536 |
@$filters[14] =~ s/\*/%/g; |
473 |
@$filters[14] =~ s/\*/%/g; |
537 |
$strcalc .= " AND $itemstable.materials LIKE '" . @$filters[14] . "'"; |
474 |
$strcalc .= " AND $itemstable.dateaccessioned <= '@$filters[14]' "; |
538 |
} |
|
|
539 |
if ( @$filters[17] ) { |
540 |
@$filters[17] =~ s/\*/%/g; |
541 |
$strcalc .= " AND $itemstable.dateaccessioned >= '@$filters[17]' "; |
542 |
} |
543 |
if ( @$filters[18] ) { |
544 |
@$filters[18] =~ s/\*/%/g; |
545 |
$strcalc .= " AND $itemstable.dateaccessioned <= '@$filters[18]' "; |
546 |
} |
475 |
} |
547 |
if ( $cellvalue eq 'deleteditems' and @$filters[19] ) { |
476 |
if ( $cellvalue eq 'deleteditems' and @$filters[15] ) { |
548 |
@$filters[19] =~ s/\*/%/g; |
477 |
@$filters[15] =~ s/\*/%/g; |
549 |
$strcalc .= " AND DATE(deleteditems.timestamp) >= '@$filters[19]' "; |
478 |
$strcalc .= " AND DATE(deleteditems.timestamp) >= '@$filters[15]' "; |
550 |
} |
479 |
} |
551 |
if ( $cellvalue eq 'deleteditems' and @$filters[20] ) { |
480 |
if ( $cellvalue eq 'deleteditems' and @$filters[16] ) { |
552 |
@$filters[20] =~ s/\*/%/g; |
481 |
@$filters[16] =~ s/\*/%/g; |
553 |
$strcalc .= " AND DATE(deleteditems.timestamp) <= '@$filters[20]' "; |
482 |
$strcalc .= " AND DATE(deleteditems.timestamp) <= '@$filters[16]' "; |
554 |
} |
483 |
} |
555 |
$strcalc .= " group by $linefield, $colfield order by $linefield,$colfield"; |
484 |
$strcalc .= " group by $linefield, $colfield order by $linefield,$colfield"; |
556 |
$debug and warn "SQL: $strcalc"; |
485 |
$debug and warn "SQL: $strcalc"; |
557 |
- |
|
|