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