Lines 95-101
my $sth = $dbh->prepare(
Link Here
|
95 |
serial.publisheddate, |
95 |
serial.publisheddate, |
96 |
subscription.subscriptionid |
96 |
subscription.subscriptionid |
97 |
FROM serial |
97 |
FROM serial |
98 |
LEFT JOIN subscription |
98 |
JOIN subscription |
99 |
ON (subscription.subscriptionid=serial.subscriptionid) |
99 |
ON (subscription.subscriptionid=serial.subscriptionid) |
100 |
LEFT JOIN subscription_frequencies |
100 |
LEFT JOIN subscription_frequencies |
101 |
ON (subscription.periodicity = subscription_frequencies.id) |
101 |
ON (subscription.periodicity = subscription_frequencies.id) |
Lines 103-146
my $sth = $dbh->prepare(
Link Here
|
103 |
AND subscription_frequencies.unit IS NOT NULL |
103 |
AND subscription_frequencies.unit IS NOT NULL |
104 |
AND DATE_ADD(planneddate, INTERVAL CAST(graceperiod AS SIGNED) DAY) < NOW() |
104 |
AND DATE_ADD(planneddate, INTERVAL CAST(graceperiod AS SIGNED) DAY) < NOW() |
105 |
AND subscription.closed = 0 |
105 |
AND subscription.closed = 0 |
|
|
106 |
AND publisheddate IS NOT NULL |
106 |
} |
107 |
} |
107 |
); |
108 |
); |
108 |
$sth->execute(); |
109 |
$sth->execute(); |
109 |
|
110 |
|
110 |
while ( my $issue = $sth->fetchrow_hashref ) { |
111 |
while ( my $issue = $sth->fetchrow_hashref ) { |
111 |
|
112 |
if ( $confirm ){ |
112 |
my $subscription = &GetSubscription( $issue->{subscriptionid} ); |
113 |
ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, |
113 |
my $publisheddate = $issue->{publisheddate}; |
114 |
$issue->{planneddate}, $issue->{publisheddate}, $issue->{publisheddatetext}, |
114 |
|
115 |
3, $note ); |
115 |
if ( $subscription && $publisheddate ) { |
116 |
$verbose and print "Serial issue with id=" . $issue->{serialid} . " marked late\n"; |
116 |
my $freqdata = GetSubscriptionFrequency($subscription->{'periodicity'}); |
117 |
} else { |
117 |
my $nextpublisheddate = GetNextDate( $subscription, $publisheddate, $freqdata ); |
118 |
print "Serial issue with id=" . $issue->{serialid} . " would have been marked late\n"; |
118 |
my $today = dt_from_string->ymd; |
|
|
119 |
|
120 |
if ( $nextpublisheddate && $today ) { |
121 |
my ( $year, $month, $day ) = split( /-/, $nextpublisheddate ); |
122 |
my ( $tyear, $tmonth, $tday ) = split( /-/, $today ); |
123 |
if ( check_date( $year, $month, $day ) |
124 |
&& check_date( $tyear, $tmonth, $tday ) |
125 |
&& Date_to_Days( $year, $month, $day ) < |
126 |
Date_to_Days( $tyear, $tmonth, $tday ) ) |
127 |
{ |
128 |
$confirm |
129 |
and ModSerialStatus( $issue->{serialid}, $issue->{serialseq}, |
130 |
$issue->{planneddate}, $issue->{publisheddate}, $issue->{publisheddatetext}, |
131 |
3, $note ); |
132 |
$verbose |
133 |
and print "Serial issue with id=" . $issue->{serialid} . " updated\n"; |
134 |
} |
135 |
} |
136 |
else { |
137 |
$verbose |
138 |
and print "Error with serial(" |
139 |
. $issue->{serialid} |
140 |
. ") has no existent subscription(" |
141 |
. $issue->{subscriptionid} |
142 |
. ") attached or planneddate is wrong\n"; |
143 |
} |
144 |
} |
119 |
} |
145 |
} |
120 |
} |
146 |
|
121 |
|
147 |
- |
|
|