package com.bizofficer.util.module;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.EntityManager;
import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class TemplateTopics {
	

    @Autowired
    DataSource appDataSource;
    Connection conn;
    PreparedStatement ps;
    ResultSet rs;
    
	public List<Integer> getTopicIds(EntityManager entityManager, Integer templateId)
    {
        List<Integer> topicList = new ArrayList<Integer>();
        
        try{
        	
        	conn = appDataSource.getConnection();
            if(conn != null)
            {
                ps = conn.prepareStatement("SELECT a.* FROM "+MysqlTableNames.getPgprepAssessmentTreeview()+" a LEFT JOIN "+MysqlTableNames.getTemplateAssessmentTreeview()+" b ON a.childnode_id=b.childnode_id WHERE b.template_id=? AND b.status='Active' AND a.parentnode_name=?");
                ps.setInt(1, templateId);
                ps.setString(2, "");
                System.out.println("topic main query: "+ps);
                rs = ps.executeQuery();
                while(rs.next())
                {
                	if(rs.getInt("childnode_id")>0) {
    					if(topicList.indexOf(rs.getInt("childnode_id"))==-1) {
    						topicList.add(rs.getInt("childnode_id"));
    					}
    				}
                }
                rs.close();
                ps.close();
                conn.close();
            }
        	
			System.out.println( "topicList >>>> " + topicList);
			
  	    }catch(Exception ex){
    	   ex.printStackTrace();
   	    }

        
        return topicList;
        
  }

	
	
}
