3 ## EXTRACTED USING THIS:
4 # grep -Pnir "'notforloan' => '6'" 01_items0* | grep -Po "'id' => '-?(\d+)'" | grep -Po "\d+" > itemnumbers_notforloan_6.txt
13 print "\nTHE FOLLOWING STATISTIC ENTRIES HAVE BEEN UPDATED\n------------------------------------------------\n";
15 ##Caches all the loaded Borrowers
17 my $deletedBorrowers = {};
19 my $dbh = C4::Context->dbh;
21 my $sthDelBor = $dbh->prepare("SELECT * FROM deletedborrowers WHERE borrowernumber = ? ");
22 my $sthUpdateStat = $dbh->prepare("UPDATE statistics SET categorycode = ? WHERE datetime = ? AND branch = ? AND type = ? AND itemnumber = ? ");
24 my $query2 = "SELECT * FROM statistics WHERE type = 'issue' OR type = 'renew' OR type = 'localuse'";
25 my $sth2 = $dbh->prepare($query2);
27 my $stats = $sth2->fetchall_arrayref({});
29 foreach my $stat (@$stats) {
30 my $borrower = getCachedBorrower( $stat->{borrowernumber} );
32 $borrower = getCachedDeletedBorrower( $stat->{borrowernumber} ) unless $borrower;
35 $borrower = $borrower->unblessed;
36 $stat->{categorycode} = $borrower->{categorycode};
37 $sthUpdateStat->execute( $stat->{categorycode},
43 print( $stat->{categorycode} . " " .
44 $stat->{datetime} . " " .
45 $stat->{branch} . " " .
47 $stat->{itemnumber} . " "
55 ##Members are repeatedly loaded in various parts of this code. Better to cache them.
56 sub getCachedBorrower {
57 my $borrowernumber = shift; #The hash to store all branches by branchcode
59 if (exists $borrowers->{$borrowernumber}) {
60 return $borrowers->{$borrowernumber};
62 my $borrower = Koha::Patrons->find({ borrowernumber => $borrowernumber });
63 $borrowers->{$borrowernumber} = $borrower;
66 ##Deleted members are repeatedly loaded in various parts of this code. Better to cache them.
67 sub getCachedDeletedBorrower {
68 my $borrowernumber = shift; #The hash to store all branches by branchcode
70 if (exists $deletedBorrowers->{$borrowernumber}) {
71 return $deletedBorrowers->{$borrowernumber};
73 $sthDelBor->execute( $borrowernumber );
75 my $borrower = $sthDelBor->fetchrow_hashref();
76 $borrowers->{$borrowernumber} = $borrower;