| Lines 23-29
          use C4::Context;
      
      
        Link Here | 
        
          | 23 | use parent qw(Exporter); | 23 | use parent qw(Exporter); | 
        
          | 24 |  | 24 |  | 
        
          | 25 | our $VERSION = 3.02; | 25 | our $VERSION = 3.02; | 
            
              | 26 | our $debug   = $ENV{DEBUG} || 0; |  |  | 
        
          | 27 | our @EXPORT  = qw( | 26 | our @EXPORT  = qw( | 
        
          | 28 |   GetHouseboundDetails | 27 |   GetHouseboundDetails | 
        
          | 29 |   CreateHouseboundDetails | 28 |   CreateHouseboundDetails | 
  
    | Lines 75-88
          $notes				- freetext notes containing useful information about the patron (e.g.
      
      
        Link Here | 
        
          | 75 |  | 74 |  | 
        
          | 76 | sub GetHouseboundDetails { | 75 | sub GetHouseboundDetails { | 
        
          | 77 |     my ($borrowernumber) = @_; | 76 |     my ($borrowernumber) = @_; | 
            
              | 78 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 79 |     my $query; | 
            
              | 80 |     my $sth; | 
        
          | 81 |     if ($borrowernumber) { | 77 |     if ($borrowernumber) { | 
          
            
              | 82 |         $sth = $dbh->prepare("select * from housebound where borrowernumber=?"); | 78 |         my $dbh = C4::Context->dbh; | 
            
              |  |  | 79 |         my $sth = | 
            
              | 80 |           $dbh->prepare('select * from housebound where borrowernumber=?'); | 
        
          | 83 |         $sth->execute($borrowernumber); | 81 |         $sth->execute($borrowernumber); | 
          
            
              | 84 |         my $housebound = $sth->fetchrow_hashref; | 82 |         return $sth->fetchrow_hashref; | 
            
              | 85 |         return $housebound; |  |  | 
        
          | 86 |     } | 83 |     } | 
        
          | 87 |     return; | 84 |     return; | 
        
          | 88 | } | 85 | } | 
  
    | Lines 91-102
          sub CreateHouseboundDetails {
      
      
        Link Here | 
        
          | 91 |     my ( $borrowernumber, $day, $frequency, $Itype_quant, $Item_subject, | 88 |     my ( $borrowernumber, $day, $frequency, $Itype_quant, $Item_subject, | 
        
          | 92 |         $Item_authors, $referral, $notes ) | 89 |         $Item_authors, $referral, $notes ) | 
        
          | 93 |       = @_; | 90 |       = @_; | 
            
              | 94 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 95 |     my $query; | 
            
              | 96 |     my $sth; | 
        
          | 97 |     if ($borrowernumber) { | 91 |     if ($borrowernumber) { | 
          
            
              | 98 |         $sth = $dbh->prepare( | 92 |         my $dbh = C4::Context->dbh; | 
            
              | 99 | "insert into housebound (day, frequency, borrowernumber, Itype_quant, Item_subject, Item_authors, referral, notes) values (?,?,?,?,?,?,?,?)" | 93 |         my $sth = $dbh->prepare( | 
            
              |  |  | 94 | 'insert into housebound (day, frequency, borrowernumber, Itype_quant, Item_subject, Item_authors, referral, notes) values (?,?,?,?,?,?,?,?)' | 
        
          | 100 |         ); | 95 |         ); | 
        
          | 101 |         $sth->execute( $day, $frequency, $borrowernumber, $Itype_quant, | 96 |         $sth->execute( $day, $frequency, $borrowernumber, $Itype_quant, | 
        
          | 102 |             $Item_subject, $Item_authors, $referral, $notes ); | 97 |             $Item_subject, $Item_authors, $referral, $notes ); | 
  
    | Lines 105-120
          sub CreateHouseboundDetails {
      
      
        Link Here | 
        
          | 105 | } | 100 | } | 
        
          | 106 |  | 101 |  | 
        
          | 107 | sub UpdateHouseboundDetails { | 102 | sub UpdateHouseboundDetails { | 
          
            
              | 108 |     my ($hbnumber,     $borrowernumber, $day, | 103 |     my ( | 
            
              |  |  | 104 |         $hbnumber,     $borrowernumber, $day, | 
        
          | 109 |         $frequency,    $Itype_quant,    $Item_subject, | 105 |         $frequency,    $Itype_quant,    $Item_subject, | 
        
          | 110 |         $Item_authors, $referral,       $notes | 106 |         $Item_authors, $referral,       $notes | 
        
          | 111 |     ) = @_; | 107 |     ) = @_; | 
            
              | 112 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 113 |     my $query; | 
            
              | 114 |     my $sth; | 
        
          | 115 |     if ($hbnumber) { | 108 |     if ($hbnumber) { | 
          
            
              | 116 |         $sth = $dbh->prepare( | 109 |         my $dbh = C4::Context->dbh; | 
            
              | 117 | "update housebound set day=?,frequency=?,borrowernumber=?,Itype_quant=?,Item_subject=?,Item_authors=?,referral=?,notes=? where hbnumber=?" | 110 |         my $sth = $dbh->prepare( | 
            
              |  |  | 111 | 'update housebound set day=?,frequency=?,borrowernumber=?,Itype_quant=?,Item_subject=?,Item_authors=?,referral=?,notes=? where hbnumber=?' | 
        
          | 118 |         ); | 112 |         ); | 
        
          | 119 |         $sth->execute( | 113 |         $sth->execute( | 
        
          | 120 |             $day,         $frequency,    $borrowernumber, | 114 |             $day,         $frequency,    $borrowernumber, | 
  
    | Lines 127-140
          sub UpdateHouseboundDetails {
      
      
        Link Here | 
        
          | 127 |  | 121 |  | 
        
          | 128 | sub GetCurrentHouseboundInstanceList { | 122 | sub GetCurrentHouseboundInstanceList { | 
        
          | 129 |     my ($borrowernumber) = @_; | 123 |     my ($borrowernumber) = @_; | 
            
              | 130 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 131 |     my $query; | 
            
              | 132 |     my $sth; | 
        
          | 133 |     if ($borrowernumber) { | 124 |     if ($borrowernumber) { | 
          
            
              | 134 |  | 125 |         my $dbh = C4::Context->dbh; | 
            
              | 135 | #$sth = $dbh->prepare("select * from housebound_instance where borrowernumber=?"); | 126 |         my $sth = $dbh->prepare( | 
            
              | 136 |         $sth = $dbh->prepare( | 127 | q|SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, concat(chooser.firstname, ' ', chooser.surname) as cho, concat(deliverer.firstname, ' ', deliverer.surname) as del FROM housebound_instance left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer where housebound_instance.borrowernumber=? order by housebound_instance.dmy desc| | 
            
              | 137 | "SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, concat(chooser.firstname, ' ', chooser.surname) as cho, concat(deliverer.firstname, ' ', deliverer.surname) as del FROM housebound_instance left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer where housebound_instance.borrowernumber=? order by housebound_instance.dmy desc" |  |  | 
        
          | 138 |         ); | 128 |         ); | 
        
          | 139 |         $sth->execute($borrowernumber); | 129 |         $sth->execute($borrowernumber); | 
        
          | 140 |         my $housebound_instances = $sth->fetchall_arrayref( {} ); | 130 |         my $housebound_instances = $sth->fetchall_arrayref( {} ); | 
  
    | Lines 145-155
          sub GetCurrentHouseboundInstanceList {
      
      
        Link Here | 
        
          | 145 |  | 135 |  | 
        
          | 146 | sub GetVolunteerNameAndID { | 136 | sub GetVolunteerNameAndID { | 
        
          | 147 |     my ($borrowernumber) = @_; | 137 |     my ($borrowernumber) = @_; | 
            
              | 148 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 149 |     my $query; | 
            
              | 150 |     my $sth; | 
        
          | 151 |     if ($borrowernumber) { | 138 |     if ($borrowernumber) { | 
          
            
              | 152 |         $sth = $dbh->prepare( | 139 |         my $dbh = C4::Context->dbh; | 
            
              |  |  | 140 |         my $sth = $dbh->prepare( | 
        
          | 153 | "select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?" | 141 | "select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?" | 
        
          | 154 |         ); | 142 |         ); | 
        
          | 155 |         $sth->execute($borrowernumber); | 143 |         $sth->execute($borrowernumber); | 
  
    | Lines 161-187
          sub GetVolunteerNameAndID {
      
      
        Link Here | 
        
          | 161 |  | 149 |  | 
        
          | 162 | sub GetVolunteerList { | 150 | sub GetVolunteerList { | 
        
          | 163 |     my $dbh = C4::Context->dbh; | 151 |     my $dbh = C4::Context->dbh; | 
          
            
              | 164 |     my $query; | 152 |     my $sth = $dbh->prepare( | 
            
              | 165 |     my $sth; | 153 | q|SELECT borrowernumber as volbornumber, concat(title, ' ', firstname, ' ', surname) as fullname from borrowers where categorycode='VOL' order by surname, firstname asc| | 
            
              | 166 |     $sth = $dbh->prepare( |  |  | 
            
              | 167 | "SELECT borrowernumber as volbornumber, concat(title, ' ', firstname, ' ', surname) as fullname from borrowers where categorycode='VOL' order by surname, firstname asc" | 
        
          | 168 |     ); | 154 |     ); | 
        
          | 169 |     $sth->execute(); | 155 |     $sth->execute(); | 
          
            
              | 170 |     my $volunteers = $sth->fetchall_arrayref( {} ); | 156 |     return $sth->fetchall_arrayref( {} ); | 
            
              | 171 |     return $volunteers; |  |  | 
        
          | 172 | } | 157 | } | 
        
          | 173 |  | 158 |  | 
        
          | 174 | sub GetHouseboundInstanceDetails { | 159 | sub GetHouseboundInstanceDetails { | 
        
          | 175 |     my ($instanceid) = @_; | 160 |     my ($instanceid) = @_; | 
            
              | 176 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 177 |     my $query; | 
            
              | 178 |     my $sth; | 
        
          | 179 |     if ($instanceid) { | 161 |     if ($instanceid) { | 
          
            
              | 180 |         $sth = | 162 |         my $dbh = C4::Context->dbh; | 
            
              | 181 |           $dbh->prepare("SELECT * from housebound_instance where instanceid=?"); | 163 |         my $sth = | 
            
              |  |  | 164 |           $dbh->prepare('SELECT * from housebound_instance where instanceid=?'); | 
        
          | 182 |         $sth->execute($instanceid); | 165 |         $sth->execute($instanceid); | 
          
            
              | 183 |         my $instancedetails = $sth->fetchrow_hashref; | 166 |         return $sth->fetchrow_hashref; | 
            
              | 184 |         return $instancedetails; |  |  | 
        
          | 185 |     } | 167 |     } | 
        
          | 186 |  | 168 |  | 
        
          | 187 |     # return undef if no instanceid | 169 |     # return undef if no instanceid | 
  
    | Lines 192-203
          sub UpdateHouseboundInstanceDetails {
      
      
        Link Here | 
        
          | 192 |     my ( $instanceid, $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 174 |     my ( $instanceid, $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 
        
          | 193 |         $chooser, $deliverer ) | 175 |         $chooser, $deliverer ) | 
        
          | 194 |       = @_; | 176 |       = @_; | 
            
              | 195 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 196 |     my $query; | 
            
              | 197 |     my $sth; | 
        
          | 198 |     if ($hbnumber) { | 177 |     if ($hbnumber) { | 
          
            
              | 199 |         $sth = $dbh->prepare( | 178 |         my $dbh = C4::Context->dbh; | 
            
              | 200 | "update housebound_instance set hbnumber=?, dmy=?, time=?, borrowernumber=?, volunteer=?, chooser=?, deliverer=? where instanceid=?" | 179 |         my $sth = $dbh->prepare( | 
            
              |  |  | 180 | 'update housebound_instance set hbnumber=?, dmy=?, time=?, borrowernumber=?, volunteer=?, chooser=?, deliverer=? where instanceid=?' | 
        
          | 201 |         ); | 181 |         ); | 
        
          | 202 |         $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 182 |         $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 
        
          | 203 |             $chooser, $deliverer, $instanceid ); | 183 |             $chooser, $deliverer, $instanceid ); | 
  
    | Lines 209-220
          sub CreateHouseboundInstanceDetails {
      
      
        Link Here | 
        
          | 209 |     my ( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, $chooser, | 189 |     my ( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, $chooser, | 
        
          | 210 |         $deliverer ) | 190 |         $deliverer ) | 
        
          | 211 |       = @_; | 191 |       = @_; | 
            
              | 212 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 213 |     my $query; | 
            
              | 214 |     my $sth; | 
        
          | 215 |     if ($borrowernumber) { | 192 |     if ($borrowernumber) { | 
          
            
              | 216 |         $sth = $dbh->prepare( | 193 |         my $dbh = C4::Context->dbh; | 
            
              | 217 | "insert into housebound_instance (hbnumber, dmy, time, borrowernumber, volunteer, chooser, deliverer) values (?,?,?,?,?,?,?)" | 194 |         my $sth = $dbh->prepare( | 
            
              |  |  | 195 | 'insert into housebound_instance (hbnumber, dmy, time, borrowernumber, volunteer, chooser, deliverer) values (?,?,?,?,?,?,?)' | 
        
          | 218 |         ); | 196 |         ); | 
        
          | 219 |         $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 197 |         $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, | 
        
          | 220 |             $chooser, $deliverer ); | 198 |             $chooser, $deliverer ); | 
  
    | Lines 224-262
          sub CreateHouseboundInstanceDetails {
      
      
        Link Here | 
        
          | 224 |  | 202 |  | 
        
          | 225 | sub DeleteHouseboundInstanceDetails { | 203 | sub DeleteHouseboundInstanceDetails { | 
        
          | 226 |     my ($instanceid) = @_; | 204 |     my ($instanceid) = @_; | 
            
              | 227 |     my $dbh = C4::Context->dbh; |  |  | 
            
              | 228 |     my $query; | 
            
              | 229 |     my $sth; | 
        
          | 230 |     if ($instanceid) { | 205 |     if ($instanceid) { | 
          
            
              | 231 |         $sth = | 206 |         my $dbh = C4::Context->dbh; | 
            
              | 232 |           $dbh->prepare("delete from housebound_instance where instanceid=?"); | 207 |         my $sth = | 
            
              |  |  | 208 |           $dbh->prepare('delete from housebound_instance where instanceid=?'); | 
        
          | 233 |         $sth->execute($instanceid); | 209 |         $sth->execute($instanceid); | 
        
          | 234 |     } | 210 |     } | 
        
          | 235 |     return; | 211 |     return; | 
        
          | 236 | } | 212 | } | 
        
          | 237 |  | 213 |  | 
        
          | 238 | sub CheckPrevIssue { | 214 | sub CheckPrevIssue { | 
          
            
              | 239 | 	my ($borrowernumber,$biblionumber) = @_; | 215 |     my ( $borrowernumber, $biblionumber ) = @_; | 
            
              | 240 | 	my $dbh = C4::Context->dbh; | 216 |     my $dbh       = C4::Context->dbh; | 
            
              | 241 |     my $query; | 217 |     my $previssue = 0; | 
            
              | 242 |     my $item; | 218 |     my $sth = | 
            
              | 243 |     my $sth; | 219 |       $dbh->prepare('select itemnumber from items where biblionumber=?'); | 
            
              | 244 |     my $previssue=0; |  |  | 
            
              | 245 |     $sth = $dbh->prepare("select itemnumber from items where biblionumber=?"); | 
        
          | 246 |     $sth->execute($biblionumber); | 220 |     $sth->execute($biblionumber); | 
          
            
              | 247 |     while(my @row=$sth->fetchrow_array()) | 221 |  | 
            
              | 248 |     { | 222 |     my $query = $dbh->prepare( | 
            
              | 249 | 	$query = $dbh->prepare("select count(itemnumber) from old_issues where borrowernumber=? and itemnumber=?"); | 223 | 'select count(itemnumber) from old_issues where borrowernumber=? and itemnumber=?' | 
            
              | 250 | 	$query->execute($borrowernumber,$row[0]); | 224 |     ); | 
            
              | 251 | 	while(my @matches=$query->fetchrow_array()) | 225 |     while ( my @row = $sth->fetchrow_array() ) { | 
            
              | 252 | 	{ | 226 |         $query->execute( $borrowernumber, $row[0] ); | 
            
              | 253 | 		if ($matches[0]>0) | 227 |         while ( my @matches = $query->fetchrow_array() ) { | 
            
              | 254 | 		{ | 228 |             if ( $matches[0] > 0 ) { | 
            
              | 255 | 			$previssue=1; | 229 |                 $previssue = 1; | 
            
              | 256 | 		} | 230 |             } | 
            
              | 257 | 	} | 231 |         } | 
        
          | 258 |     } | 232 |     } | 
            
              | 259 |     $sth->finish; |  |  | 
        
          | 260 |     return $previssue; | 233 |     return $previssue; | 
        
          | 261 | } | 234 | } | 
        
          | 262 |  | 235 |  | 
            
              | 263 | -  |  |  |