TermoReferenciaController.java 3 KB
package br.com.centralit.controller;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import br.com.centralit.api.model.TermoReferencia;
import br.com.centralit.api.service.TermoReferenciaService;
import br.com.centralit.api.viewHelper.ViewsContrato;
import br.com.centralit.framework.controller.GenericController;
import br.com.centralit.framework.json.ResponseBodyWrapper;


/**
 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
 *
 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
 *
 * <p><b>Title: </b></p>
 *
 * <p><b>Description: </b></p>
 *
 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2389</a></p>
 *
 * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
 *
 * @since 06/01/2016 - 11:35:46
 *
 * @version 1.0.0
 *
 * @author juliana.barbosa
 *
 */
@Controller
@RequestMapping("/rest/termoReferencia")
public class TermoReferenciaController extends GenericController<TermoReferencia> {

	private TermoReferenciaService termoReferenciaService;

	/**
	 * Responsável pela criação de novas instâncias desta classe.
	 * @param termoReferenciaService
	 */
	@Autowired
	public TermoReferenciaController( TermoReferenciaService termoReferenciaService ) {

		super(termoReferenciaService);

		this.termoReferenciaService = termoReferenciaService;
	}


	/**
	 * {@inheritDoc}
	 */
	@Override
	public Class<ViewsContrato.TermoReferenciaListView> getListView() {

		return ViewsContrato.TermoReferenciaListView.class;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Class<ViewsContrato.TermoReferenciaEditView> getEditView() {

		return ViewsContrato.TermoReferenciaEditView.class;
	}

	@ResponseBody
	@RequestMapping(method = RequestMethod.GET, value = "/pdfGerarTermoReferencia")
	public void gerarPdfTermoReferencia(@RequestParam(value = "termoReferenciaId") Long termoReferenciaId,
										@RequestParam(value = "download") boolean download, HttpServletResponse response)
										throws SQLException, JRException, IOException {

		termoReferenciaService.gerarPdfTermoReferencia (termoReferenciaId, download, response);
	}

	@RequestMapping(value = "/findAutoCompleteTermoReferencia", method = RequestMethod.GET, produces = "application/json")
	@ResponseBody
	public ResponseBodyWrapper findAutoCompleteTermoReferencia(@RequestParam(value = "value") String value, @RequestParam(value = "idOrganizacao") Long idOrganizacao) {

		ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.termoReferenciaService.findAutoCompleteTermoReferencia(value, idOrganizacao), getEditView());

		return responseBody;
	}
}