Lines 32-37
use C4::Serials::Frequency;
Link Here
|
32 |
use C4::Serials::Numberpattern; |
32 |
use C4::Serials::Numberpattern; |
33 |
use Koha::AdditionalField; |
33 |
use Koha::AdditionalField; |
34 |
use Koha::DateUtils; |
34 |
use Koha::DateUtils; |
|
|
35 |
use Koha::Database; |
35 |
|
36 |
|
36 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
37 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
37 |
|
38 |
|
Lines 1187-1198
sub ModSerialStatus {
Link Here
|
1187 |
# next date (calculated from actual date & frequency parameters) |
1188 |
# next date (calculated from actual date & frequency parameters) |
1188 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1); |
1189 |
my $nextpublisheddate = GetNextDate($subscription, $publisheddate, 1); |
1189 |
my $nextpubdate = $nextpublisheddate; |
1190 |
my $nextpubdate = $nextpublisheddate; |
1190 |
NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate ); |
|
|
1191 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1191 |
$query = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=? |
1192 |
WHERE subscriptionid = ?"; |
1192 |
WHERE subscriptionid = ?"; |
1193 |
$sth = $dbh->prepare($query); |
1193 |
$sth = $dbh->prepare($query); |
1194 |
$sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid ); |
1194 |
$sth->execute( $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1, $newinnerloop2, $newinnerloop3, $subscriptionid ); |
1195 |
|
1195 |
|
|
|
1196 |
NewIssue( $newserialseq, $subscriptionid, $subscription->{'biblionumber'}, 1, $nextpubdate, $nextpubdate ); |
1197 |
|
1196 |
# check if an alert must be sent... (= a letter is defined & status became "arrived" |
1198 |
# check if an alert must be sent... (= a letter is defined & status became "arrived" |
1197 |
if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) { |
1199 |
if ( $subscription->{letter} && $status == ARRIVED && $oldstatus != ARRIVED ) { |
1198 |
require C4::Letters; |
1200 |
require C4::Letters; |
Lines 1444-1456
sub NewSubscription {
Link Here
|
1444 |
|
1446 |
|
1445 |
# calculate issue number |
1447 |
# calculate issue number |
1446 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1448 |
my $serialseq = GetSeq($subscription, $pattern) || q{}; |
1447 |
$query = qq| |
1449 |
|
1448 |
INSERT INTO serial |
1450 |
my $serial_rs = Koha::Database->new()->schema()->resultset('Serial'); |
1449 |
(serialseq,subscriptionid,biblionumber,status, planneddate, publisheddate) |
1451 |
$serial_rs->create( |
1450 |
VALUES (?,?,?,?,?,?) |
1452 |
{ |
1451 |
|; |
1453 |
serialseq => $serialseq, |
1452 |
$sth = $dbh->prepare($query); |
1454 |
serialseq_x => $subscription->{'lastvalue1'}, |
1453 |
$sth->execute( $serialseq, $subscriptionid, $biblionumber, EXPECTED, $firstacquidate, $firstacquidate ); |
1455 |
serialseq_y => $subscription->{'lastvalue2'}, |
|
|
1456 |
serialseq_z => $subscription->{'lastvalue3'}, |
1457 |
subscriptionid => $subscriptionid, |
1458 |
biblionumber => $biblionumber, |
1459 |
status => EXPECTED, |
1460 |
planneddate => $firstacquidate, |
1461 |
publisheddate => $firstacquidate, |
1462 |
} |
1463 |
); |
1454 |
|
1464 |
|
1455 |
logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog"); |
1465 |
logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog"); |
1456 |
|
1466 |
|
Lines 1548-1569
sub NewIssue {
Link Here
|
1548 |
|
1558 |
|
1549 |
return unless ($subscriptionid); |
1559 |
return unless ($subscriptionid); |
1550 |
|
1560 |
|
|
|
1561 |
my $schema = Koha::Database->new()->schema(); |
1562 |
|
1563 |
my $subscription = $schema->resultset('Subscription')->find( $subscriptionid ); |
1564 |
|
1565 |
my $serial = $schema->resultset('Serial')->create( |
1566 |
{ |
1567 |
serialseq => $serialseq, |
1568 |
serialseq_x => $subscription->lastvalue1(), |
1569 |
serialseq_y => $subscription->lastvalue2(), |
1570 |
serialseq_z => $subscription->lastvalue3(), |
1571 |
subscriptionid => $subscriptionid, |
1572 |
biblionumber => $biblionumber, |
1573 |
status => $status, |
1574 |
planneddate => $planneddate, |
1575 |
publisheddate => $publisheddate, |
1576 |
publisheddatetext => $publisheddatetext, |
1577 |
notes => $notes, |
1578 |
} |
1579 |
); |
1580 |
|
1551 |
my $dbh = C4::Context->dbh; |
1581 |
my $dbh = C4::Context->dbh; |
|
|
1582 |
my $serialid = $serial->id(); |
1583 |
|
1552 |
my $query = qq| |
1584 |
my $query = qq| |
1553 |
INSERT INTO serial (serialseq, subscriptionid, biblionumber, status, |
|
|
1554 |
publisheddate, publisheddatetext, planneddate, notes) |
1555 |
VALUES (?,?,?,?,?,?,?,?) |
1556 |
|; |
1557 |
my $sth = $dbh->prepare($query); |
1558 |
$sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, |
1559 |
$publisheddate, $publisheddatetext, $planneddate, $notes ); |
1560 |
my $serialid = $dbh->{'mysql_insertid'}; |
1561 |
$query = qq| |
1562 |
SELECT missinglist,recievedlist |
1585 |
SELECT missinglist,recievedlist |
1563 |
FROM subscriptionhistory |
1586 |
FROM subscriptionhistory |
1564 |
WHERE subscriptionid=? |
1587 |
WHERE subscriptionid=? |
1565 |
|; |
1588 |
|; |
1566 |
$sth = $dbh->prepare($query); |
1589 |
my $sth = $dbh->prepare($query); |
1567 |
$sth->execute($subscriptionid); |
1590 |
$sth->execute($subscriptionid); |
1568 |
my ( $missinglist, $recievedlist ) = $sth->fetchrow; |
1591 |
my ( $missinglist, $recievedlist ) = $sth->fetchrow; |
1569 |
|
1592 |
|
1570 |
- |
|
|