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 com.googlecode.genericdao.search.Search; import com.googlecode.genericdao.search.SearchResult; import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.api.service.UnidadeProcessoService; import br.com.centralit.api.viewHelper.EnviarProcessoVH; 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.model.SearchParams; import br.com.centralit.framework.util.UtilString; import br.com.centralit.framework.view.GridVH; 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 05/01/2016 - 14:57:41 * * @version 1.0.0 * * @author rogerio.costa * */ @SuppressWarnings({ "unchecked", "rawtypes" }) @Controller @RequestMapping("/rest/unidadeProcesso") public class UnidadeProcessoController extends GenericController { /** Atributo unidadeProcessoService. */ private UnidadeProcessoService unidadeProcessoService; /** * Responsável pela criação de novas instâncias desta classe. * * @param unidadeProcessoService */ @Autowired public UnidadeProcessoController( UnidadeProcessoService unidadeProcessoService ) { super(unidadeProcessoService); this.unidadeProcessoService = unidadeProcessoService; } @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "save") @ResponseBody public ResponseBodyWrapper save(@RequestBody EnviarProcessoVH enviarProcessoVH) throws Exception { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.unidadeProcessoService.save(enviarProcessoVH), Views.EnviarProcessoView.class); return responseBody; } @RequestMapping(value = "/findByIdProcesso", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper findByIdProcesso(@RequestParam(value = "idProcesso") Long idProcesso) { final Collection list = this.unidadeProcessoService.findByIdProcesso(idProcesso); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(list, Views.EnviarProcessoView.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 idProcesso * @param idUnidade * @return */ @RequestMapping(value = "/obterPorUnidadeEProcesso", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper obterPorUnidadeEProcesso(@RequestParam(value = "idProcesso") Long idProcesso, @RequestParam(value = "idUnidade") Long idUnidade) { ResultResponseVH resultResponseVH = new ResultResponseVH(this.unidadeProcessoService.obterPorUnidadeEProcesso(idProcesso, idUnidade)); ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, Views.EnviarProcessoView.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 idProcesso * @param idUnidade * @return */ @RequestMapping(value = "/isProcessoNaUnidadeUsuarioLogado", method = RequestMethod.GET, produces = "application/json") @ResponseBody public ResponseBodyWrapper isProcessoNaUnidadeUsuarioLogado(@RequestParam(value = "idProcesso") Long idProcesso) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.unidadeProcessoService.isProcessoNaUnidadeUsuarioLogado(idProcesso), Views.GenericView.class); return responseBody; } @RequestMapping(value = "/getPage", method = RequestMethod.POST) @ResponseBody public ResponseBodyWrapper findGrid(@RequestBody SearchParams searchParams) { SearchSeven search; search = new SearchSeven(searchParams); search.setResultMode(Search.RESULT_MAP); SearchResult searchResult = null; String nomeGrid = UtilString.isNullOrEmpty(searchParams.getNome()) ? "" : searchParams.getNome(); switch (nomeGrid) { case Processo.GRID_PROCESSO_NA_UNIDADE: searchResult = this.unidadeProcessoService.searchAndCountPorUnidade(search); break; default: searchResult = genericService.searchAndCount(search); break; } // 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, Views.UnidadeProcessoListView.class); return responseBody; } @Override public Class getEditView() { return Views.EnviarProcessoView.class; } }