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.RequestBody; 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.model.Processo; import br.com.centralit.api.service.ProcessoService; import br.com.centralit.api.service.UsuarioService; import br.com.centralit.framework.controller.GenericController; import br.com.centralit.framework.dao.arquitetura.SearchSeven; import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.json.Views; import br.com.centralit.framework.json.Views.GenericView; import br.com.centralit.framework.model.SearchParams; import br.com.centralit.framework.util.UtilString; import br.com.centralit.framework.view.GridVH; import br.com.centralit.framework.view.ResultResponseVH; import com.googlecode.genericdao.search.Search; import com.googlecode.genericdao.search.SearchResult; @Controller @RequestMapping("/rest/processo") public class ProcessoController extends GenericController { /** Atributo processoService. */ @Autowired private ProcessoService processoService; /** Atributo usuarioService. */ @Autowired private UsuarioService usuarioService; @Autowired public ProcessoController( ProcessoService processoService ) { super(processoService); this.processoService = processoService; } /** *

* 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.GET, value = "/concluir") @ResponseBody public ResponseBodyWrapper concluir(@RequestParam(value = "idProcesso") Long idProcesso, @RequestParam(value = "idTask") Long idTask) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.concluir(idProcesso, idTask), GenericView.class); return responseBody; } @RequestMapping(method = RequestMethod.POST, value = "atualizarSigiloProcesso") @ResponseBody public ResponseBodyWrapper atualizarSigiloProcesso(@RequestBody Processo processo) throws Exception { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.atualizarSigiloProcesso(processo), GenericView.class); return responseBody; } @RequestMapping(method = RequestMethod.GET, value = "/getProcessoByIdProcessInstance") @ResponseBody public ResponseBodyWrapper getProcessoByIdProcessInstance(@RequestParam(value = "idProcessInstance") Long idProcessInstance) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getProcessoByIdProcessInstance(idProcessInstance), this.getListView()); return responseBody; } @RequestMapping(method = RequestMethod.GET, value = "/getProcessoByProtocolo") @ResponseBody public ResponseBodyWrapper getProcessoByProtocolo(@RequestParam(value = "nup") String nup) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getProcessoByProtocolo(nup), this.getListView()); return responseBody; } /** *

Iniciativa(s): NUMERO_INICIATIVA

* *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

* * Método responsável por retornar apenas os atributos do metadado do processo. * * @author maycon.silva * * @param idProcesso * @return */ @RequestMapping(method = RequestMethod.GET, value = "/getMetadadoProcesso") @ResponseBody public ResponseBodyWrapper getMetadadoProcesso(@RequestParam(value = "idProcesso") Long idProcesso) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getReference(idProcesso), this.getMetadadoProcessoView()); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

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

* * Método responsável por iniciar o gerenciamento do processo * * @author rogerio.costa * * @return Processo */ @RequestMapping(method = RequestMethod.GET, value = "/getProcessoGerenciamento") @ResponseBody public ResponseBodyWrapper getProcessoGerenciamento(@RequestParam(value = "idProcesso") Long idProcesso) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getProcessoGerenciamento(idProcesso), this.getEditView()); return responseBody; } /** *

* Iniciativa(s): NUMERO_INICIATIVA *

* *

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

* * Método responsável por atribuir processo para o usuario logado no primeiro acesso * * @author rogerio.costa * * @param idProcesso * @return */ @RequestMapping(method = RequestMethod.GET, value = "/verificarAtribuicaoProcessoPrimeiroAcesso") @ResponseBody public ResponseBodyWrapper verificarAtribuicaoProcessoPrimeiroAcesso(@RequestParam(value = "idProcesso") Long idProcesso) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.verificarAtribuicaoProcessoPrimeiroAcesso(idProcesso), this.getListView()); return responseBody; } @RequestMapping(value = "/getPage", method = RequestMethod.POST) @ResponseBody @SuppressWarnings("rawtypes") public ResponseBodyWrapper findGrid(@RequestBody SearchParams searchParams) { SearchSeven search; search = new SearchSeven(searchParams); search.setResultMode(Search.RESULT_MAP); SearchResult searchResult = null; if (!UtilString.isNullOrEmpty(searchParams.getNome()) && searchParams.getNome().equals("GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO")) { searchResult = this.processoService.searchAndCountPorSigilo(search); } else { searchResult = genericService.searchAndCount(search); } // DETERMINA QUAIS OS CAMPOS VAI CONSULTAR GridVH gridVH = new GridVH(); gridVH.setObjects(searchResult.getResult()); gridVH.addTotalItensTotalPages(searchParams, Long.valueOf(searchResult.getTotalCount())); ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView()); return responseBody; } @RequestMapping(value = "/autoCompleteProcessoEmAndametoByNup", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper autoCompleteProcessoEmAndametoByNup(@RequestParam(value = "nup") String nup) { ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.processoService.autoCompleteProcessoEmAndametoByNup(nup)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getAutoCompleteView()); return responseBody; } @Override public Class getEditView() { return Views.ProcessoEdit.class; } @Override public Class getListView() { return Views.ProcessoList.class; } @Override public Class getAutoCompleteView() { return Views.ProcessoAutoCompleteView.class; } public Class getMetadadoProcessoView() { return ViewsEcm.MetadadoProcessoView.class; } }