|
Lines 56-61
my $rodsp = $input->param("ReturnDisplay");
Link Here
|
| 56 |
my $calc = $input->param("Cellvalue"); |
56 |
my $calc = $input->param("Cellvalue"); |
| 57 |
my $output = $input->param("output"); |
57 |
my $output = $input->param("output"); |
| 58 |
my $basename = $input->param("basename"); |
58 |
my $basename = $input->param("basename"); |
|
|
59 |
my $itype = C4::Context->preference('item-level_itypes') ? "items.itype" : "biblioitems.itemtype"; |
| 60 |
|
| 59 |
#warn "calcul : ".$calc; |
61 |
#warn "calcul : ".$calc; |
| 60 |
my ($template, $borrowernumber, $cookie) |
62 |
my ($template, $borrowernumber, $cookie) |
| 61 |
= get_template_and_user({template_name => $fullreportname, |
63 |
= get_template_and_user({template_name => $fullreportname, |
|
Lines 242-249
sub calculate {
Link Here
|
| 242 |
# warn "filtres ".@filters[2]; |
244 |
# warn "filtres ".@filters[2]; |
| 243 |
# warn "filtres ".@filters[3]; |
245 |
# warn "filtres ".@filters[3]; |
| 244 |
$line = "old_issues.".$line if ($line=~/branchcode/) or ($line=~/timestamp/); |
246 |
$line = "old_issues.".$line if ($line=~/branchcode/) or ($line=~/timestamp/); |
| 245 |
$line = "biblioitems.".$line if $line=~/itemtype/; |
247 |
if ( $line=~/itemtype/ ) { $line = $itype; } |
| 246 |
|
|
|
| 247 |
$linefilter[0] = @$filters[0] if ($line =~ /timestamp/ ) ; |
248 |
$linefilter[0] = @$filters[0] if ($line =~ /timestamp/ ) ; |
| 248 |
$linefilter[1] = @$filters[1] if ($line =~ /timestamp/ ) ; |
249 |
$linefilter[1] = @$filters[1] if ($line =~ /timestamp/ ) ; |
| 249 |
$linefilter[2] = @$filters[2] if ($line =~ /timestamp/ ) ; |
250 |
$linefilter[2] = @$filters[2] if ($line =~ /timestamp/ ) ; |
|
Lines 255-267
sub calculate {
Link Here
|
| 255 |
$linefilter[0] = @$filters[8] if ($line =~ /category/ ) ; |
256 |
$linefilter[0] = @$filters[8] if ($line =~ /category/ ) ; |
| 256 |
$linefilter[0] = @$filters[9] if ($line =~ /itemtype/ ) ; |
257 |
$linefilter[0] = @$filters[9] if ($line =~ /itemtype/ ) ; |
| 257 |
$linefilter[0] = @$filters[10] if ($line =~ /branch/ ) ; |
258 |
$linefilter[0] = @$filters[10] if ($line =~ /branch/ ) ; |
| 258 |
# $linefilter[0] = @$filters[11] if ($line =~ /sort2/ ) ; |
|
|
| 259 |
$linefilter[0] = @$filters[11] if ($line =~ /sort1/ ) ; |
259 |
$linefilter[0] = @$filters[11] if ($line =~ /sort1/ ) ; |
| 260 |
$linefilter[0] = @$filters[12] if ($line =~ /sort2/ ) ; |
260 |
$linefilter[0] = @$filters[12] if ($line =~ /sort2/ ) ; |
| 261 |
#warn "filtre lignes".$linefilter[0]." ".$linefilter[1]; |
261 |
|
| 262 |
# |
|
|
| 263 |
$column = "old_issues.".$column if (($column=~/branchcode/) or ($column=~/timestamp/)); |
262 |
$column = "old_issues.".$column if (($column=~/branchcode/) or ($column=~/timestamp/)); |
| 264 |
$column = "biblioitems.".$column if $column=~/itemtype/; |
263 |
if ( $column=~/itemtype/ ) { $column = $itype; } |
| 265 |
my @colfilter ; |
264 |
my @colfilter ; |
| 266 |
$colfilter[0] = @$filters[0] if ($column =~ /timestamp/ ) ; |
265 |
$colfilter[0] = @$filters[0] if ($column =~ /timestamp/ ) ; |
| 267 |
$colfilter[1] = @$filters[1] if ($column =~ /timestamp/ ) ; |
266 |
$colfilter[1] = @$filters[1] if ($column =~ /timestamp/ ) ; |
|
Lines 272-283
sub calculate {
Link Here
|
| 272 |
$colfilter[2] = @$filters[6] if ($column =~ /returndate/ ) ; |
271 |
$colfilter[2] = @$filters[6] if ($column =~ /returndate/ ) ; |
| 273 |
$colfilter[3] = @$filters[7] if ($column =~ /returndate/ ) ; |
272 |
$colfilter[3] = @$filters[7] if ($column =~ /returndate/ ) ; |
| 274 |
$colfilter[0] = @$filters[8] if ($column =~ /category/ ) ; |
273 |
$colfilter[0] = @$filters[8] if ($column =~ /category/ ) ; |
| 275 |
$colfilter[0] = @$filters[9] if ($column =~ /itemtype/ ) ; |
274 |
$colfilter[0] = @$filters[9] if ($column =~ $itype ) ; |
| 276 |
$colfilter[0] = @$filters[10] if ($column =~ /branch/ ) ; |
275 |
$colfilter[0] = @$filters[10] if ($column =~ /branch/ ) ; |
| 277 |
# $colfilter[0] = @$filters[11] if ($column =~ /sort2/ ) ; |
|
|
| 278 |
$colfilter[0] = @$filters[11] if ($column =~ /sort1/ ) ; |
276 |
$colfilter[0] = @$filters[11] if ($column =~ /sort1/ ) ; |
| 279 |
$colfilter[0] = @$filters[12] if ($column =~ /sort2/ ) ; |
277 |
$colfilter[0] = @$filters[12] if ($column =~ /sort2/ ) ; |
| 280 |
#warn "filtre col ".$colfilter[0]." ".$colfilter[1]; |
|
|
| 281 |
|
278 |
|
| 282 |
# 1st, loop rows. |
279 |
# 1st, loop rows. |
| 283 |
my $linefield; |
280 |
my $linefield; |
|
Lines 310-316
sub calculate {
Link Here
|
| 310 |
LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) |
307 |
LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) |
| 311 |
LEFT JOIN issuingrules ON |
308 |
LEFT JOIN issuingrules ON |
| 312 |
(issuingrules.branchcode=old_issues.branchcode |
309 |
(issuingrules.branchcode=old_issues.branchcode |
| 313 |
AND issuingrules.itemtype=biblioitems.itemtype |
310 |
AND issuingrules.itemtype=$itype |
| 314 |
AND issuingrules.categorycode=borrowers.categorycode) |
311 |
AND issuingrules.categorycode=borrowers.categorycode) |
| 315 |
WHERE 1"; |
312 |
WHERE 1"; |
| 316 |
|
313 |
|
|
Lines 338-344
sub calculate {
Link Here
|
| 338 |
my $sth = $dbh->prepare( $strsth ); |
335 |
my $sth = $dbh->prepare( $strsth ); |
| 339 |
$sth->execute; |
336 |
$sth->execute; |
| 340 |
|
337 |
|
| 341 |
|
|
|
| 342 |
while ( my ($celvalue) = $sth->fetchrow) { |
338 |
while ( my ($celvalue) = $sth->fetchrow) { |
| 343 |
my %cell; |
339 |
my %cell; |
| 344 |
if ($celvalue) { |
340 |
if ($celvalue) { |
|
Lines 372-378
sub calculate {
Link Here
|
| 372 |
$colfield .= $column; |
368 |
$colfield .= $column; |
| 373 |
$colorder .= $column; |
369 |
$colorder .= $column; |
| 374 |
} |
370 |
} |
| 375 |
|
371 |
|
| 376 |
my $strsth2; |
372 |
my $strsth2; |
| 377 |
$strsth2 .= "SELECT distinctrow $colfield |
373 |
$strsth2 .= "SELECT distinctrow $colfield |
| 378 |
FROM `old_issues` |
374 |
FROM `old_issues` |
|
Lines 381-387
sub calculate {
Link Here
|
| 381 |
LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) |
377 |
LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) |
| 382 |
LEFT JOIN issuingrules ON |
378 |
LEFT JOIN issuingrules ON |
| 383 |
(issuingrules.branchcode=old_issues.branchcode |
379 |
(issuingrules.branchcode=old_issues.branchcode |
| 384 |
AND issuingrules.itemtype=biblioitems.itemtype |
380 |
AND issuingrules.itemtype=$itype |
| 385 |
AND issuingrules.categorycode=borrowers.categorycode) |
381 |
AND issuingrules.categorycode=borrowers.categorycode) |
| 386 |
WHERE 1"; |
382 |
WHERE 1"; |
| 387 |
|
383 |
|
|
Lines 407-420
sub calculate {
Link Here
|
| 407 |
$strsth2 .=" ORDER BY $colorder"; |
403 |
$strsth2 .=" ORDER BY $colorder"; |
| 408 |
|
404 |
|
| 409 |
my $sth2 = $dbh->prepare( $strsth2 ); |
405 |
my $sth2 = $dbh->prepare( $strsth2 ); |
|
|
406 |
|
| 410 |
if (( @colfilter ) and ($colfilter[1])){ |
407 |
if (( @colfilter ) and ($colfilter[1])){ |
| 411 |
$sth2->execute("'".$colfilter[0]."'","'".$colfilter[1]."'"); |
408 |
$sth2->execute("'".$colfilter[0]."'","'".$colfilter[1]."'"); |
| 412 |
} elsif ($colfilter[0]) { |
409 |
} elsif ($colfilter[0]) { |
| 413 |
$sth2->execute($colfilter[0]); |
410 |
$sth2->execute; |
| 414 |
} else { |
411 |
} else { |
| 415 |
$sth2->execute; |
412 |
$sth2->execute; |
| 416 |
} |
413 |
} |
| 417 |
|
|
|
| 418 |
|
414 |
|
| 419 |
while (my ($celvalue) = $sth2->fetchrow) { |
415 |
while (my ($celvalue) = $sth2->fetchrow) { |
| 420 |
my %cell; |
416 |
my %cell; |
|
Lines 449-455
sub calculate {
Link Here
|
| 449 |
|
445 |
|
| 450 |
# Processing average loanperiods |
446 |
# Processing average loanperiods |
| 451 |
$strcalc .= "SELECT $linefield, $colfield, "; |
447 |
$strcalc .= "SELECT $linefield, $colfield, "; |
| 452 |
$strcalc .= " issuedate, returndate, old_issues.timestamp, COUNT(*), date_due, old_issues.renewals, issuelength FROM `old_issues`,borrowers,biblioitems LEFT JOIN items ON (biblioitems.biblioitemnumber=items.biblioitemnumber) LEFT JOIN issuingrules ON (issuingrules.branchcode=branchcode AND issuingrules.itemtype=biblioitems.itemtype AND issuingrules.categorycode=categorycode) WHERE old_issues.itemnumber=items.itemnumber AND old_issues.borrowernumber=borrowers.borrowernumber"; |
448 |
$strcalc .= " issuedate, returndate, old_issues.timestamp, COUNT(*), date_due, old_issues.renewals, issuelength FROM `old_issues`,borrowers,biblioitems LEFT JOIN items ON (biblioitems.biblioitemnumber=items.biblioitemnumber) LEFT JOIN issuingrules ON (issuingrules.branchcode=branchcode AND issuingrules.itemtype=$itype AND issuingrules.categorycode=categorycode) WHERE old_issues.itemnumber=items.itemnumber AND old_issues.borrowernumber=borrowers.borrowernumber"; |
| 453 |
|
449 |
|
| 454 |
@$filters[0]=~ s/\*/%/g if (@$filters[0]); |
450 |
@$filters[0]=~ s/\*/%/g if (@$filters[0]); |
| 455 |
$strcalc .= " AND old_issues.timestamp > '" . @$filters[0] ."'" if ( @$filters[0] ); |
451 |
$strcalc .= " AND old_issues.timestamp > '" . @$filters[0] ."'" if ( @$filters[0] ); |
|
Lines 462-468
sub calculate {
Link Here
|
| 462 |
@$filters[8]=~ s/\*/%/g if (@$filters[8]); |
458 |
@$filters[8]=~ s/\*/%/g if (@$filters[8]); |
| 463 |
$strcalc .= " AND borrowers.categorycode like '" . @$filters[8] ."'" if ( @$filters[8] ); |
459 |
$strcalc .= " AND borrowers.categorycode like '" . @$filters[8] ."'" if ( @$filters[8] ); |
| 464 |
@$filters[9]=~ s/\*/%/g if (@$filters[9]); |
460 |
@$filters[9]=~ s/\*/%/g if (@$filters[9]); |
| 465 |
$strcalc .= " AND biblioitems.itemtype like '" . @$filters[9] ."'" if ( @$filters[9] ); |
461 |
$strcalc .= " AND $itype like '" . @$filters[9] ."'" if ( @$filters[9] ); |
| 466 |
@$filters[10]=~ s/\*/%/g if (@$filters[10]); |
462 |
@$filters[10]=~ s/\*/%/g if (@$filters[10]); |
| 467 |
$strcalc .= " AND old_issues.branchcode like '" . @$filters[10] ."'" if ( @$filters[10] ); |
463 |
$strcalc .= " AND old_issues.branchcode like '" . @$filters[10] ."'" if ( @$filters[10] ); |
| 468 |
@$filters[11]=~ s/\*/%/g if (@$filters[11]); |
464 |
@$filters[11]=~ s/\*/%/g if (@$filters[11]); |
|
Lines 486-492
sub calculate {
Link Here
|
| 486 |
my $err; |
482 |
my $err; |
| 487 |
my $emptycol; |
483 |
my $emptycol; |
| 488 |
my $weightrow; |
484 |
my $weightrow; |
| 489 |
|
485 |
|
| 490 |
while (my @data = $dbcalc->fetchrow) { |
486 |
while (my @data = $dbcalc->fetchrow) { |
| 491 |
my ($row, $col, $issuedate, $returndate, $weight)=@data; |
487 |
my ($row, $col, $issuedate, $returndate, $weight)=@data; |
| 492 |
# warn "filling table $row / $col / $issuedate / $returndate /$weight"; |
488 |
# warn "filling table $row / $col / $issuedate / $returndate /$weight"; |
|
Lines 579-584
sub calculate {
Link Here
|
| 579 |
$globalline{column} = $column; |
575 |
$globalline{column} = $column; |
| 580 |
push @mainloop,\%globalline; |
576 |
push @mainloop,\%globalline; |
| 581 |
return \@mainloop; |
577 |
return \@mainloop; |
|
|
578 |
|
| 582 |
} |
579 |
} |
| 583 |
|
580 |
|
| 584 |
1; |
581 |
1; |
| 585 |
- |
|
|