Hello Nishant,
From your code it is clearly visible that you have used too many SELECT queries to fetch the data from different tables. Since it is hitting the database every time you execute a SELECT query, the report takes long runtime.
Try to reduce the SELECT queries by using INNER JOIN in the tables where you have the linkage.
Regards,
Thanga