Bug 9004 - Talking Tech doesn't account for holidays when calculating a holds last pickup date - Add holidays check
Signed-off-by: Chris William <chrisw@pascolibraries.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
1cdc1ae3d6
commit
dafbd180a0
|
|
@ -291,14 +291,20 @@ sub GetWaitingHolds {
|
|||
$sth->execute();
|
||||
my @results;
|
||||
while ( my $issue = $sth->fetchrow_hashref() ) {
|
||||
my @waitingdate = split( /-/, $issue->{'waitingdate'} );
|
||||
my @date_due = Add_Delta_Days( $waitingdate[0], $waitingdate[1], $waitingdate[2], $pickupdelay );
|
||||
$issue->{'date_due'} = sprintf( "%04d-%02d-%02d", $date_due[0], $date_due[1], $date_due[2] );
|
||||
my $calendar = C4::Calendar->new( branchcode => $issue->{'site'} );
|
||||
|
||||
my ( $waiting_year, $waiting_month, $waiting_day ) = split( /-/, $issue->{'waitingdate'} );
|
||||
my ( $pickup_year, $pickup_month, $pickup_day ) = Add_Delta_Days( $waiting_year, $waiting_month, $waiting_day, $pickupdelay );
|
||||
|
||||
while ( $calendar->isHoliday( $pickup_day, $pickup_month, $pickup_year ) ) {
|
||||
( $pickup_year, $pickup_month, $pickup_day ) = Add_Delta_Days( $pickup_year, $pickup_month, $pickup_day, 1 );
|
||||
}
|
||||
|
||||
$issue->{'date_due'} = sprintf( "%04d-%02d-%02d", $pickup_year, $pickup_month, $pickup_day );
|
||||
$issue->{'level'} = 1; # only one level for Hold Waiting notifications
|
||||
|
||||
my $days_to_subtract = 0;
|
||||
my $calendar = C4::Calendar->new( branchcode => $issue->{'site'} );
|
||||
while ( $calendar->isHoliday( reverse( Add_Delta_Days( $waitingdate[0], $waitingdate[1], $waitingdate[2], $days_to_subtract ) ) ) ) {
|
||||
while ( $calendar->isHoliday( reverse( Add_Delta_Days( $waiting_year, $waiting_month, $waiting_day, $days_to_subtract ) ) ) ) {
|
||||
$days_to_subtract++;
|
||||
}
|
||||
$issue->{'days_since_waiting'} = $issue->{'days_since_waiting'} - $days_to_subtract;
|
||||
|
|
|
|||
Loading…
Reference in New Issue