|
Lines 39-44
use Pod::Usage;
Link Here
|
| 39 |
|
39 |
|
| 40 |
use C4::Letters qw( GetPreparedLetter EnqueueLetter ); |
40 |
use C4::Letters qw( GetPreparedLetter EnqueueLetter ); |
| 41 |
use Koha::Acquisition::Orders; |
41 |
use Koha::Acquisition::Orders; |
|
|
42 |
use Koha::DateUtils qw( dt_from_string output_pref ); |
| 42 |
|
43 |
|
| 43 |
=head1 NAME |
44 |
=head1 NAME |
| 44 |
|
45 |
|
|
Lines 114-136
while ( my ( $basketno, $orderids ) = each %$baskets_orders ) {
Link Here
|
| 114 |
$delay = $bookseller->deliverytime || 0; |
115 |
$delay = $bookseller->deliverytime || 0; |
| 115 |
} |
116 |
} |
| 116 |
|
117 |
|
| 117 |
my $dbh = C4::Context->dbh; |
118 |
my $orders = []; |
| 118 |
|
119 |
my $order_objects = Koha::Acquisition::Orders->search( { ordernumber => { -in => $orderids } } ); |
| 119 |
my $orderids_str = join( ',', ('?') x @$orderids ); |
120 |
while ( my $order = $order_objects->next ) { |
| 120 |
my $orders = $dbh->selectall_arrayref( |
121 |
my $claims_count = $order->claims_count; |
| 121 |
qq{ |
122 |
my $last_claim = dt_from_string( $order->claimed_date ); |
| 122 |
SELECT aqorders.*, aqbasket.*, biblio.*, |
123 |
|
| 123 |
COUNT(aqorders_claims.claimed_on) AS claims_count, |
124 |
next if $claims_count > $max_claims; |
| 124 |
MAX(aqorders_claims.claimed_on) AS last_claim |
125 |
next if $last_claim && $last_claim > dt_from_string->subtract( days => $claimed_for ); |
| 125 |
FROM aqorders |
126 |
|
| 126 |
LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber |
127 |
my $result = { |
| 127 |
LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno |
128 |
%{ $order->unblessed }, |
| 128 |
LEFT JOIN aqorders_claims ON aqorders.ordernumber = aqorders_claims.ordernumber |
129 |
%{ $order->basket->unblessed }, |
| 129 |
WHERE aqorders.ordernumber IN ($orderids_str) |
130 |
%{ $order->biblio->unblessed }, |
| 130 |
HAVING claims_count <= $max_claims |
131 |
claims_count => $claims_count, |
| 131 |
AND (last_claim IS NULL or last_claim <= DATE_SUB(CAST(now() AS date),INTERVAL $claimed_for DAY)) |
132 |
last_claim => $last_claim, |
| 132 |
}, { Slice => {} }, @$orderids |
133 |
}; |
| 133 |
); |
134 |
|
|
|
135 |
push @$orders, $result; |
| 136 |
} |
| 134 |
|
137 |
|
| 135 |
next unless @$orders; |
138 |
next unless @$orders; |
| 136 |
|
139 |
|
| 137 |
- |
|
|