package br.com.centralit.citcorpore.ajaxForms;
import java.util.ArrayList;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citajax.html.HTMLSelect;
import br.com.centralit.citcorpore.bean.CidadesDTO;
import br.com.centralit.citcorpore.bean.GrupoDTO;
import br.com.centralit.citcorpore.bean.LocalidadeItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.RegiaoDTO;
import br.com.centralit.citcorpore.bean.UfDTO;
import br.com.centralit.citcorpore.bean.UnidadeDTO;
import br.com.centralit.citcorpore.negocio.CidadesService;
import br.com.centralit.citcorpore.negocio.GrupoService;
import br.com.centralit.citcorpore.negocio.LocalidadeItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.RegiaoService;
import br.com.centralit.citcorpore.negocio.UfService;
import br.com.centralit.citcorpore.negocio.UnidadeService;
import br.com.citframework.dto.IDto;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilI18N;
@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
public class LocalidadeItemConfiguracao extends AjaxFormAction {
private LocalidadeItemConfiguracaoDTO localidadeItemConfiguracaoDto;
@Override
public Class getBeanClass() {
// TODO Auto-generated method stub
return LocalidadeItemConfiguracaoDTO.class;
}
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
document.focusInFirstActivateField(null);
preencherComboGrupo(document, request, response);
preencherComboUnidade(document, request, response);
preencherComboRegioes(document, request, response);
}
/**
* Iniciliza combo.
*
* @param componenteCombo
* @author thays.araujo
*/
private void inicializarCombo(HTMLSelect componenteCombo) {
componenteCombo.removeAllOptions();
componenteCombo.addOption("", "-- Selecione --");
}
/**
* Preenche a combo Unidade.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboUnidade(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
HTMLSelect comboUnidade = (HTMLSelect) document.getSelectById("idUnidade");
ArrayList<UnidadeDTO> unidades = (ArrayList) unidadeService.list();
inicializarCombo(comboUnidade);
if (unidades != null) {
for (UnidadeDTO unidade : unidades)
if (unidade.getDataFim() == null)
comboUnidade.addOption(unidade.getIdUnidade().toString(), unidade.getNome());
}
}
/**
* Preenche combo de Grupos.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboGrupo(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
HTMLSelect comboGrupo = (HTMLSelect) document.getSelectById("departamento");
ArrayList<GrupoDTO> grupos = (ArrayList) grupoService.list();
inicializarCombo(comboGrupo);
for (GrupoDTO grupo : grupos)
if (grupo.getDataFim() == null) {
comboGrupo.addOption(grupo.getNome(), grupo.getNome());
}
}
/**
* Preenche combo de Regioes.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboRegioes(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
RegiaoService regiaoService = (RegiaoService) ServiceLocator.getInstance().getService(RegiaoService.class, null);
HTMLSelect comboRegioes = (HTMLSelect) document.getSelectById("idRegioes");
ArrayList<RegiaoDTO> regioes = (ArrayList) regiaoService.list();
inicializarCombo(comboRegioes);
for (RegiaoDTO regiao : regioes) {
comboRegioes.addOption(regiao.getIdRegioes().toString(), regiao.getNome());
}
}
/**
* Preenche combo de Ufs.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboUfs(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UfService ufService = (UfService) ServiceLocator.getInstance().getService(UfService.class, null);
this.setLocalidadeItemconfiguracaoDto((LocalidadeItemConfiguracaoDTO) document.getBean());
UfDTO ufRegiao = new UfDTO();
ufRegiao.setIdRegioes(this.getLocalidadeItemconfiguracaoDto().getIdRegioes());
HTMLSelect comboUfs = (HTMLSelect) document.getSelectById("idUf");
inicializarCombo(comboUfs);
if (getLocalidadeItemconfiguracaoDto().getIdRegioes() != null) {
Collection<UfDTO> ufs = (Collection<UfDTO>) ufService.listByIdRegioes(ufRegiao);
for (UfDTO uf : ufs)
comboUfs.addOption(uf.getIdUf().toString(), uf.getNomeUf());
} else {
this.setLocalidadeItemconfiguracaoDto(this.getLocalidadeItemConfiguracaoService().restore(getLocalidadeItemconfiguracaoDto()));
UfDTO ufRegiaorestore = new UfDTO();
ufRegiaorestore.setIdRegioes(this.getLocalidadeItemconfiguracaoDto().getIdRegioes());
Collection<UfDTO> ufs = (Collection<UfDTO>) ufService.listByIdRegioes(ufRegiaorestore);
for (UfDTO uf : ufs)
comboUfs.addOption(uf.getIdUf().toString(), uf.getNomeUf());
}
}
/**
* Preenche combo de cidades.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboCidades(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
CidadesService cidadesService = (CidadesService) ServiceLocator.getInstance().getService(CidadesService.class, null);
this.setLocalidadeItemconfiguracaoDto((LocalidadeItemConfiguracaoDTO) document.getBean());
HTMLSelect comboCidades = (HTMLSelect) document.getSelectById("cidade");
inicializarCombo(comboCidades);
CidadesDTO cidadeUf = new CidadesDTO();
cidadeUf.setIdUf(this.getLocalidadeItemconfiguracaoDto().getIdUf());
if (getLocalidadeItemconfiguracaoDto().getIdUf() != null) {
ArrayList<CidadesDTO> cidades = (ArrayList) cidadesService.listByIdCidades(cidadeUf);
for (CidadesDTO cidade : cidades)
comboCidades.addOption(cidade.getNomeCidade(), cidade.getNomeCidade());
} else {
this.setLocalidadeItemconfiguracaoDto(this.getLocalidadeItemConfiguracaoService().restore(getLocalidadeItemconfiguracaoDto()));
CidadesDTO cidadeUfRestore = new CidadesDTO();
cidadeUfRestore.setIdUf(this.getLocalidadeItemconfiguracaoDto().getIdUf());
ArrayList<CidadesDTO> cidades = (ArrayList) cidadesService.listByIdCidades(cidadeUfRestore);
for (CidadesDTO cidade : cidades)
comboCidades.addOption(cidade.getNomeCidade(), cidade.getNomeCidade());
}
}
/**
* Inclui Nova LocalidadeItemConfiguracao.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
this.setLocalidadeItemconfiguracaoDto((LocalidadeItemConfiguracaoDTO) document.getBean());
if (this.getLocalidadeItemconfiguracaoDto().getIdLocalidade() == null || this.getLocalidadeItemconfiguracaoDto().getIdLocalidade().intValue() == 0) {
this.getLocalidadeItemconfiguracaoDto().setDataInicio(UtilDatas.getDataAtual());
this.getLocalidadeItemConfiguracaoService().create(this.getLocalidadeItemconfiguracaoDto());
document.alert("Registro gravado com sucesso!");
} else {
this.getLocalidadeItemConfiguracaoService().update(this.getLocalidadeItemconfiguracaoDto());
document.alert("Registro alterado com sucesso!");
}
HTMLForm form = document.getForm("form");
form.clear();
}
/**
* Recupera LalidadeItemconfiguracao
*
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
* */
public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
this.setLocalidadeItemconfiguracaoDto((LocalidadeItemConfiguracaoDTO) document.getBean());
this.setLocalidadeItemconfiguracaoDto(this.getLocalidadeItemConfiguracaoService().restore(getLocalidadeItemconfiguracaoDto()));
LocalidadeItemConfiguracaoDTO dadoRegiao = this.getLocalidadeItemConfiguracaoService().listByIdRegiao(getLocalidadeItemconfiguracaoDto());
this.preencherComboGrupo(document, request, response);
this.preencherComboUnidade(document, request, response);
this.preencherComboRegioes(document, request, response);
this.preencherComboUfs(document, request, response);
this.preencherComboCidades(document, request, response);
getLocalidadeItemconfiguracaoDto().setIdRegioes(dadoRegiao.getIdRegioes());
LocalidadeItemConfiguracaoDTO dadoUf = this.getLocalidadeItemConfiguracaoService().listByIdUf(getLocalidadeItemconfiguracaoDto());
getLocalidadeItemconfiguracaoDto().setIdUf(dadoUf.getIdUf());
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(getLocalidadeItemconfiguracaoDto());
}
/**
* Exclui Empregado atribuindo sua data fim em Empregado.
*
* @param document
* @param request
* @param response
* @throws Exception
*/
public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
this.setLocalidadeItemconfiguracaoDto((LocalidadeItemConfiguracaoDTO) document.getBean());
if (this.getLocalidadeItemconfiguracaoDto().getIdLocalidade().intValue() > 0) {
getLocalidadeItemconfiguracaoDto().setDataFim(UtilDatas.getDataAtual());
this.getLocalidadeItemConfiguracaoService().update(getLocalidadeItemconfiguracaoDto());
}
HTMLForm form = document.getForm("form");
form.clear();
document.alert(UtilI18N.internacionaliza(request, "MSG07"));
}
/**
* Retorna instancia de LocalidadeItemconfiguracaoService.
*
* @return EmpregadoService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public LocalidadeItemConfiguracaoService getLocalidadeItemConfiguracaoService() throws ServiceException, Exception {
return (LocalidadeItemConfiguracaoService) ServiceLocator.getInstance().getService(LocalidadeItemConfiguracaoService.class, null);
}
/**
* Atribui valor de LocalidadeItemconfiguracaoDTO.
*
* @param empregado
* @author thays.araujo
*/
public void setLocalidadeItemconfiguracaoDto(IDto localidadeItemConfiguracao) {
this.localidadeItemConfiguracaoDto = (LocalidadeItemConfiguracaoDTO) localidadeItemConfiguracao;
}
/**
* Retorna bean de LocalidadeItemconfiguracao.
*
* @return EmpregadoDTO
* @author thays.araujo
*/
public LocalidadeItemConfiguracaoDTO getLocalidadeItemconfiguracaoDto() {
return this.localidadeItemConfiguracaoDto;
}
}