Hi,

Below is my updated version of serials query for finding late issues based
on the already existing query in koha sql reports library.
Hope is it useful for other members.

SELECT @kp:=@kp+1 as S_No,serial.serialseq,
DATE_FORMAT(serial.planneddate, "%d %b %Y" ) as Planneddate,
DATE_FORMAT(subscription.startdate, "%d %b %Y" ) as Startdate,
DATE_FORMAT(serial.publisheddate, "%d %b %Y" ) as publisheddate,
biblio.title,
CASE WHEN serial.status = '3' or serial.status = '7' THEN 'LATE'
WHEN serial.status = '1' THEN 'EXPECTED'
END  AS STATUS,
CASE WHEN subscription.periodicity = '4' THEN 'Weekly'
WHEN subscription.periodicity = '5' THEN 'Fortnightly'
WHEN subscription.periodicity = '7' THEN 'Monthly'
WHEN subscription.periodicity = '8' THEN 'Bi-Monthly'
WHEN subscription.periodicity = '9' THEN 'Quarterly'
WHEN subscription.periodicity = '10' THEN 'Semi-Annual'
WHEN subscription.periodicity = '13' THEN 'Irregular'
END as Frequency,
CASE WHEN subscription.periodicity = '4' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>7 THEN 'Late'
WHEN subscription.periodicity = '4' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<7 THEN 'Expected'
WHEN subscription.periodicity = '5' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>14 THEN 'Late'
WHEN subscription.periodicity = '5' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<14 THEN 'Expected'
WHEN subscription.periodicity = '7' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>30 THEN 'Late'
WHEN subscription.periodicity = '7' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<30 THEN 'Expected'
WHEN subscription.periodicity = '7' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>30 THEN 'Late'
WHEN subscription.periodicity = '9' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<90 THEN 'Expected'
WHEN subscription.periodicity = '9' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>90 THEN 'Late'
WHEN subscription.periodicity = '10' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>180 THEN 'Late'
WHEN subscription.periodicity = '10' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<180 THEN 'Expected'
WHEN subscription.periodicity = '13' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))>30 THEN 'Late'
WHEN subscription.periodicity = '13' and (TO_DAYS(curdate())-TO_DAYS(
publisheddate))<30 THEN 'Expected'
END as Status_calculated,
DATE_FORMAT(subscription.enddate, "%d %b %Y" ) as enddate,
(TO_DAYS(curdate())-TO_DAYS( publisheddate)) AS 'Delay Days',
left(aqbasket.basketname,7)) as PONumber,
CASE WHEN subscription.aqbooksellerid = 'xx' THEN 'Vendor1'
WHEN subscription.aqbooksellerid = 'XX' THEN 'Vendor2'
END as Vendor
FROM serial
LEFT JOIN serialitems on (serial.serialid=serialitems.serialid)
LEFT JOIN subscription on
(serial.subscriptionid=subscription.subscriptionid)
LEFT JOIN subscriptionhistory on
(serial.subscriptionid=subscriptionhistory.subscriptionid)
LEFT JOIN subscriptionroutinglist on
(serial.subscriptionid=subscriptionroutinglist.subscriptionid)
LEFT JOIN biblioitems on (biblioitems.biblionumber=serial.biblionumber)
LEFT JOIN biblio on (biblio.biblionumber=biblioitems.biblionumber)
LEFT JOIN aqbooksellers on (subscription.aqbooksellerid=aqbooksellers.id)
LEFT JOIN aqbasket on (subscription.aqbooksellerid=aqbasket.booksellerid),
(select @kp:= 0) AS kp
WHERE serial.planneddate < CURDATE() AND serial.STATUS NOT IN
('2','5','8','42','7') and
(serial.planneddate>=subscription.startdate and
serial.planneddate<=subscription.enddate) and subscription.closed='0'
order by biblio.title

-- 
Regards
T. Suresh Kumar
_______________________________________________
Koha mailing list  http://koha-community.org
Koha@lists.katipo.co.nz
https://lists.katipo.co.nz/mailman/listinfo/koha

Reply via email to