|
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 |
- |
|
|