package br.com.centralit.controller; import java.util.Collection; 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.framework.json.ViewsEcm; import br.com.centralit.api.model.PlanoClassificacao; import br.com.centralit.api.service.PlanoClassificacaoService; import br.com.centralit.framework.controller.GenericController; import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.view.ResultResponseVH; /** *

* *

* *

* Company: Central IT - Governança Corporativa - *

* *

* Title: *

* *

* Description: *

* *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * @since 22/10/2015 - 10:07:13 * * @version 1.0.0 * * @author rogerio.costa * */ @Controller @RequestMapping("/rest/planoClassificacao") public class PlanoClassificacaoController extends GenericController { /** Atributo planoClassificacaoService. */ private PlanoClassificacaoService planoClassificacaoService; /** * Responsável pela criação de novas instâncias desta classe. * * @param planoClassificacaoService */ @Autowired public PlanoClassificacaoController( PlanoClassificacaoService planoClassificacaoService ) { super(planoClassificacaoService); this.planoClassificacaoService = planoClassificacaoService; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * Método responsável por listar a entidadePlanoClassificacao que não contem parent, ou sejá o primeiro nó da arvore * * @author rogerio.costa * * @param idOrganizacao * * @return Collection */ @RequestMapping(value = "/findParent", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper findParent(@RequestParam(value = "idOrganizacao") Long idOrganizacao) { ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.planoClassificacaoService.findParent(idOrganizacao)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, ViewsEcm.PlanoClassificacaoParent.class); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * Método responsável por listar a entidadePlanoClassificacao que não contem parent, ou sejá o primeiro nó da arvore * * @author rogerio.costa * * @param idOrganizacao * * @return Collection */ @RequestMapping(value = "/findChildrens", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper findChildrens(@RequestParam(value = "idPlanoClassificacao") Long idPlanoClassificacao) { ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.planoClassificacaoService.findChildrens(idPlanoClassificacao)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, ViewsEcm.PlanoClassificacaoParent.class); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * Método responsável por listar recursivo * * @author rogerio.costa * * @param nome * @return */ @RequestMapping(value = "/findTree", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper findTree(@RequestParam(value = "nome") String nome) { ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.planoClassificacaoService.findTree(nome)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, ViewsEcm.PlanoClassificacaoAutocompleteRecursive.class); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * Método responsável por listar ultimo nivel ou que possua a opção "permitirUsarComoClassificacao" * * @author rogerio.costa * * @param codigoNome * * @return Collection */ @RequestMapping(value = "/findAssuntoAutoComplete", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper findAssuntoAutoComplete(@RequestParam(value = "codigoNome") String codigoNome) { ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.planoClassificacaoService.findAssuntoAutoComplete(codigoNome)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, ViewsEcm.PlanoCLassificacaoAutoComplete.class); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* * Método responsável por * * @author rogerio.costa * * @param pessoaVH * @return * @throws Exception */ @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/atualizarTemporalidadeDestinacao") @ResponseBody public void atualizarTemporalidadeDestinacao() throws Exception { this.planoClassificacaoService.atualizarTemporalidadeDestinacao(); } @Override public Class getListView() { return ViewsEcm.PlanoClassificacaoListView.class; } @Override public Class getEditView() { return ViewsEcm.PlanoClassificacaoEditView.class; } @Override public Class getAutoCompleteView() { return ViewsEcm.PlanoCLassificacaoAutoComplete.class; } }