package br.com.centralit.citcorpore.ajaxForms; 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.TemplateSolicitacaoServicoDTO; import br.com.centralit.citcorpore.negocio.CategoriaProblemaService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.negocio.TemplateSolicitacaoServicoService; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citquestionario.negocio.QuestionarioService; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilI18N; /** * * @author Augusto * */ public class TemplateSolicitacaoServico extends AjaxFormAction { /** * Inicializa os dados ao carregar a tela. * * @param document * @param request * @param response * @throws Exception */ public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { QuestionarioService questionarioService = (QuestionarioService) ServiceLocator.getInstance().getService(QuestionarioService.class, WebUtil.getUsuarioSistema(request)); HTMLSelect idQuestionario = (HTMLSelect) document.getSelectById("idQuestionario"); idQuestionario.removeAllOptions(); idQuestionario.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); Collection colQuestionarios = questionarioService.list(); if(colQuestionarios != null && !colQuestionarios.isEmpty()) idQuestionario.addOptions(colQuestionarios, "idQuestionarioOrigem", "nomeQuestionario", null); } /** * Inclui registro. * * @param document * @param request * @param response * @throws Exception */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { TemplateSolicitacaoServicoDTO templateSolicitacaoServicoDTO = (TemplateSolicitacaoServicoDTO) document.getBean(); TemplateSolicitacaoServicoService templateSolicitacaoServicoService = (TemplateSolicitacaoServicoService) ServiceLocator.getInstance() .getService(TemplateSolicitacaoServicoService.class, null); if (templateSolicitacaoServicoDTO.getHabilitaDirecionamento() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaSituacao() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaSolucao() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaUrgenciaImpacto() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaNotificacaoEmail() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaProblema() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getHabilitaMudanca() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios")); return; } if (templateSolicitacaoServicoDTO.getIdTemplate() == null || templateSolicitacaoServicoDTO.getIdTemplate().intValue() == 0) { templateSolicitacaoServicoService.create(templateSolicitacaoServicoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { templateSolicitacaoServicoService.update(templateSolicitacaoServicoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } HTMLForm form = document.getForm("form"); form.clear(); } /** * Restaura os dados ao clicar em um registro. * * @param document * @param request * @param response * @throws Exception */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { TemplateSolicitacaoServicoDTO templateSolicitacaoServicoDTO = (TemplateSolicitacaoServicoDTO) document.getBean(); TemplateSolicitacaoServicoService templateSolicitacaoServicoService = (TemplateSolicitacaoServicoService) ServiceLocator.getInstance() .getService(TemplateSolicitacaoServicoService.class, null); templateSolicitacaoServicoDTO = (TemplateSolicitacaoServicoDTO) templateSolicitacaoServicoService.restore(templateSolicitacaoServicoDTO); HTMLForm form = document.getForm("form"); form.clear(); form.setValues(templateSolicitacaoServicoDTO); } public Class<TemplateSolicitacaoServicoDTO> getBeanClass() { return TemplateSolicitacaoServicoDTO.class; } public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { TemplateSolicitacaoServicoDTO templateSolicitacaoServicoDTO = (TemplateSolicitacaoServicoDTO) document.getBean(); TemplateSolicitacaoServicoService templateSolicitacaoServicoService = (TemplateSolicitacaoServicoService) ServiceLocator.getInstance().getService(TemplateSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); CategoriaProblemaService categoriaProblemaService = (CategoriaProblemaService) ServiceLocator.getInstance().getService(CategoriaProblemaService.class, WebUtil.getUsuarioSistema(request)); try { categoriaProblemaService.desvincularCategoriaProblemasRelacionadasTemplate(templateSolicitacaoServicoDTO.getIdTemplate()); } catch (Exception e) { e.printStackTrace(); } ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, WebUtil.getUsuarioSistema(request)); try { servicoService.desvincularServicosRelacionadosTemplate(templateSolicitacaoServicoDTO.getIdTemplate()); } catch (Exception e) { e.printStackTrace(); } if (templateSolicitacaoServicoDTO.getIdTemplate().intValue() > 0) { templateSolicitacaoServicoService.delete(templateSolicitacaoServicoDTO); } document.alert(UtilI18N.internacionaliza(request, "MSG07")); HTMLForm form = document.getForm("form"); form.clear(); } }