package br.com.centralit.controller;
import java.util.Collection;
import java.util.List;
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.model.ConfiguracaoUsuarioUnidade;
import br.com.centralit.api.service.ConfiguracaoUsuarioUnidadeService;
import br.com.centralit.api.viewHelper.ConfiguracaoUnidadeUsuarioVH;
import br.com.centralit.framework.controller.GenericController;
import br.com.centralit.framework.json.ResponseBodyWrapper;
import br.com.centralit.framework.json.Views;
/**
*
*
*
*
*
* Company: Central IT - Governança Corporativa -
*
*
*
* Title:
*
*
*
* Description:
*
*
*
* Iniciativa(s): NUMERO_INICIATIVA
*
*
*
* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
*
*
* @since 08/12/2015 - 09:55:51
*
* @version 1.0.0
*
* @author rogerio.costa
*
*/
@Controller
@RequestMapping("/rest/configuracaoUsuarioUnidade")
public class ConfiguracaoUsuarioUnidadeController extends GenericController {
/** Atributo configuracaoUsuarioUnidadeService. */
public ConfiguracaoUsuarioUnidadeService configuracaoUsuarioUnidadeService;
/**
* Responsável pela criação de novas instâncias desta classe.
*
* @param configuracaoUsuarioUnidadeService
*/
@Autowired
public ConfiguracaoUsuarioUnidadeController( ConfiguracaoUsuarioUnidadeService configuracaoUsuarioUnidadeService ) {
super(configuracaoUsuarioUnidadeService);
this.configuracaoUsuarioUnidadeService = configuracaoUsuarioUnidadeService;
}
@RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "salvar")
@ResponseBody
public ResponseBodyWrapper save(@RequestBody ConfiguracaoUnidadeUsuarioVH configuracaoUsuarioUnidade) throws Exception {
ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.configuracaoUsuarioUnidadeService.salvarConfiguracao(configuracaoUsuarioUnidade), getEditView());
return responseBody;
}
@RequestMapping(method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseBodyWrapper getList() {
List listConfiguracao = genericService.findAll();
ResponseBodyWrapper responseBody = new ResponseBodyWrapper(listConfiguracao, Views.ConfiguracaoUsuarioUnidadeEditView.class);
return responseBody;
}
@RequestMapping(method = RequestMethod.GET, produces = "application/json", value = "findPorUsuarioOrganizacao")
@ResponseBody
public ResponseBodyWrapper findPorUsuarioOrganizacao() {
Collection listConfiguracao = this.configuracaoUsuarioUnidadeService.findPorUsuarioOrganizacao();
ResponseBodyWrapper responseBody = new ResponseBodyWrapper(listConfiguracao, Views.ConfiguracaoUsuarioUnidadeListView.class);
return responseBody;
}
@RequestMapping(method = RequestMethod.GET, produces = "application/json", value = "findPorEstruturaOrganizacionalECM")
@ResponseBody
public ResponseBodyWrapper findPorEstruturaOrganizacionalECM(@RequestParam(value = "idUnidade") Long idUnidade) {
Collection listConfiguracao = this.configuracaoUsuarioUnidadeService.findPorIdEstruturaOrganizacionalECM(idUnidade);
ResponseBodyWrapper responseBody = new ResponseBodyWrapper(listConfiguracao, Views.ConfiguracaoUsuarioUnidadeListView.class);
return responseBody;
}
/**
*
* Iniciativa(s): NUMERO_INICIATIVA
*
*
*
* Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
*
*
* Método responsável por listar usuarios através da unidade e username
*
* @author rogerio.costa
*
* @param username
* @param idUnidade
* @return Collection
*/
@RequestMapping(value = "/findPorUsernameUsuarioAndUnidade", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseBodyWrapper findPorUsernameUsuarioAndUnidade(@RequestParam(value = "username") String username, @RequestParam(value = "idUnidade") Long idUnidade) {
Collection configuracoes = this.configuracaoUsuarioUnidadeService.findPorUsernameUsuarioAndUnidade(username, idUnidade);
ResponseBodyWrapper responseBody = new ResponseBodyWrapper(configuracoes, Views.UsuarioAutoCompleteView.class);
return responseBody;
}
@Override
public Class getEditView() {
return Views.ConfiguracaoUsuarioUnidadeEditView.class;
}
@Override
public Class getListView() {
return Views.ConfiguracaoUsuarioUnidadeListView.class;
}
}