package br.com.centralit.citcorpore.ajaxForms; import java.io.File; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.htmlparser.jericho.Source; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import br.com.centralit.bpm.negocio.ItemTrabalho; 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.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.ADUserDTO; import br.com.centralit.citcorpore.bean.AcordoNivelServicoDTO; import br.com.centralit.citcorpore.bean.AcordoServicoContratoDTO; import br.com.centralit.citcorpore.bean.BaseConhecimentoDTO; import br.com.centralit.citcorpore.bean.CategoriaOcorrenciaDTO; import br.com.centralit.citcorpore.bean.ClienteDTO; import br.com.centralit.citcorpore.bean.ConhecimentoSolicitacaoDTO; import br.com.centralit.citcorpore.bean.ContadorAcessoDTO; import br.com.centralit.citcorpore.bean.ContatoSolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.ContratoDTO; import br.com.centralit.citcorpore.bean.ContratosGruposDTO; import br.com.centralit.citcorpore.bean.EmailSolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.EventoMonitConhecimentoDTO; import br.com.centralit.citcorpore.bean.EventoMonitoramentoDTO; import br.com.centralit.citcorpore.bean.FornecedorDTO; import br.com.centralit.citcorpore.bean.GrupoDTO; import br.com.centralit.citcorpore.bean.GrupoEmpregadoDTO; import br.com.centralit.citcorpore.bean.ImpactoDTO; import br.com.centralit.citcorpore.bean.ImportanciaConhecimentoGrupoDTO; import br.com.centralit.citcorpore.bean.ItemCfgSolicitacaoServDTO; import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.JustificativaSolicitacaoDTO; import br.com.centralit.citcorpore.bean.LocalidadeDTO; import br.com.centralit.citcorpore.bean.LocalidadeUnidadeDTO; import br.com.centralit.citcorpore.bean.OcorrenciaSolicitacaoDTO; import br.com.centralit.citcorpore.bean.OrigemAtendimentoDTO; import br.com.centralit.citcorpore.bean.OrigemOcorrenciaDTO; import br.com.centralit.citcorpore.bean.ProblemaDTO; import br.com.centralit.citcorpore.bean.RequisicaoMudancaDTO; import br.com.centralit.citcorpore.bean.ServicoContratoDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoEvtMonDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoQuestionarioDTO; import br.com.centralit.citcorpore.bean.TemplateSolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.TipoDemandaServicoDTO; import br.com.centralit.citcorpore.bean.TipoItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.UnidadeDTO; import br.com.centralit.citcorpore.bean.UploadDTO; import br.com.centralit.citcorpore.bean.UrgenciaDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.bean.ValorDTO; import br.com.centralit.citcorpore.integracao.AcordoNivelServicoDao; import br.com.centralit.citcorpore.integracao.CategoriaOcorrenciaDAO; import br.com.centralit.citcorpore.integracao.OrigemOcorrenciaDAO; import br.com.centralit.citcorpore.integracao.ad.LDAPUtils; import br.com.centralit.citcorpore.negocio.AcordoNivelServicoService; import br.com.centralit.citcorpore.negocio.AcordoServicoContratoService; import br.com.centralit.citcorpore.negocio.BaseConhecimentoService; import br.com.centralit.citcorpore.negocio.CategoriaServicoService; import br.com.centralit.citcorpore.negocio.CategoriaSolucaoService; import br.com.centralit.citcorpore.negocio.CausaIncidenteService; import br.com.centralit.citcorpore.negocio.ClienteService; import br.com.centralit.citcorpore.negocio.ConhecimentoSolicitacaoService; import br.com.centralit.citcorpore.negocio.ContadorAcessoService; import br.com.centralit.citcorpore.negocio.ContatoSolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.ContratoService; import br.com.centralit.citcorpore.negocio.EmailSolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.EventoMonitConhecimentoService; import br.com.centralit.citcorpore.negocio.EventoMonitoramentoService; import br.com.centralit.citcorpore.negocio.FornecedorService; import br.com.centralit.citcorpore.negocio.GrupoEmpregadoService; import br.com.centralit.citcorpore.negocio.GrupoService; import br.com.centralit.citcorpore.negocio.ImportanciaConhecimentoGrupoService; import br.com.centralit.citcorpore.negocio.ItemCfgSolicitacaoServService; import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService; import br.com.centralit.citcorpore.negocio.JustificativaSolicitacaoService; import br.com.centralit.citcorpore.negocio.LocalidadeService; import br.com.centralit.citcorpore.negocio.LocalidadeUnidadeService; import br.com.centralit.citcorpore.negocio.OcorrenciaSolicitacaoService; import br.com.centralit.citcorpore.negocio.OrigemAtendimentoService; import br.com.centralit.citcorpore.negocio.PrioridadeSolicitacoesService; import br.com.centralit.citcorpore.negocio.ProblemaService; import br.com.centralit.citcorpore.negocio.RequisicaoMudancaService; import br.com.centralit.citcorpore.negocio.ServicoContratoService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.negocio.SolicitacaoServicoEvtMonService; import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.TemplateSolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.TipoDemandaServicoService; import br.com.centralit.citcorpore.negocio.TipoItemConfiguracaoService; import br.com.centralit.citcorpore.negocio.UnidadeService; import br.com.centralit.citcorpore.negocio.UsuarioService; import br.com.centralit.citcorpore.negocio.ValorService; import br.com.centralit.citcorpore.util.Enumerados; import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema; import br.com.centralit.citcorpore.util.Enumerados.TipoDate; import br.com.centralit.citcorpore.util.Enumerados.TipoOrigemLeituraEmail; import br.com.centralit.citcorpore.util.ParametroUtil; import br.com.centralit.citcorpore.util.Util; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citged.bean.ControleGEDDTO; import br.com.centralit.citged.negocio.ControleGEDService; import br.com.centralit.lucene.Lucene; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.PersistenceException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilHTML; import br.com.citframework.util.UtilI18N; import br.com.citframework.util.UtilStrings; @SuppressWarnings({"rawtypes", "unchecked"}) public class SolicitacaoServicoMultiContratos extends AjaxFormAction { private String calcularDinamicamente; ContratoDTO contratoDtoAux = new ContratoDTO(); Collection<ContratoDTO> listContratosUsuario = null; private Boolean acao = false; private PrioridadeSolicitacoesService prioridadeSolicitacoesService; private ProblemaService problemaService; private ConhecimentoSolicitacaoService conhecimentoSolicitacaoService; private RequisicaoMudancaService requisicaoMudancaService; private UnidadeService unidadeService; private GrupoService grupoService; private SolicitacaoServicoService solicitacaoServicoService; private ClienteService clienteService; private OrigemAtendimentoService origemAtendimentoService; private ContratoService contratoService; private ServicoContratoService servicoContratoService; private CategoriaSolucaoService categoriaSolucaoService; private CausaIncidenteService causaIncidenteService; private TipoDemandaServicoService tipoDemandaService; private FornecedorService fornecedorService; private AcordoNivelServicoService acordoNivelServicoService; private AcordoServicoContratoService acordoServicoContratoService; private GrupoEmpregadoService grupoEmpregadoService; private ImportanciaConhecimentoGrupoService importanciaConhecimentoGrupoService; private ItemConfiguracaoService itemConfiguracaoService; private ItemCfgSolicitacaoServService itemCfgSolicitacaoServService; private UsuarioService usuarioService; private EmpregadoService empregadoService; private TipoItemConfiguracaoService tipoItemConfiguracaoService; private CategoriaServicoService categoriaService; private ControleGEDService controleGedService; private ServicoService servicoService; private OcorrenciaSolicitacaoService ocorrenciaSolicitacaoService; private JustificativaSolicitacaoService justificativaSolicitacaoService; private ValorService valorService; private BaseConhecimentoService baseConhecimentoService; private LocalidadeService localidadeService; private ContadorAcessoService contadorAcessoService; private LocalidadeUnidadeService localidadeUnidadeService; public boolean validaParametrosUpload() { final String GED_DIRETORIO = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.GedDiretorio, ""); if (GED_DIRETORIO == null || GED_DIRETORIO.trim().equals("")) { return false; } final File pastaGed = new File(GED_DIRETORIO); if (!pastaGed.exists()) { return false; } final String DISKFILEUPLOAD_REPOSITORYPATH = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.DISKFILEUPLOAD_REPOSITORYPATH, ""); if (DISKFILEUPLOAD_REPOSITORYPATH == null || DISKFILEUPLOAD_REPOSITORYPATH.trim().equals("")) { return false; } final File pastaUpload = new File(DISKFILEUPLOAD_REPOSITORYPATH); if (!pastaUpload.exists()) { return false; } return true; } public void chamaComboOrigem(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { preencherComboOrigem(document, request, response); } /** * Alterado m�todo para carragar somente o essencial para o primeiro passo * * @author thyen.chang * @since 09/02/2015 - OPERA��O USAIN BOLT */ @Override public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); request.setAttribute("parametrosUploadValidos", validaParametrosUpload()); final UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada")); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } document.executeScript("habilitaBotaoGravar()"); final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); /** * Adicionado para fazer limpeza do upload que est� na sess�o . * * @author maycon.fernandes * @since 28/10/2013 08:21 */ request.getSession(true).setAttribute("colUploadsGED2", null); request.getSession(true).setAttribute("dados_solicit_quest", null); document.executeScript("document.getElementById(\"divCategoriaServico\").style.display = 'none'"); if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdSolicitacaoServico() != null) { request.getSession().removeAttribute("segundoPassoLoad"); request.getSession().removeAttribute("terceiroPassoLoad"); request.getSession().removeAttribute("quartoPassoLoad"); carregaSegundoPasso(document, request, response); carregaTerceiroPasso(document, request, response); carregaQuartoPasso(document, request, response); restore(document, request, response); solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); } else { document.getElementById("quantidadeAnexos").setValue("0"); document.getElementById("quantidadeOcorrencias").setValue("0"); document.getElementById("quantidadeNovasSolicitacoes").setValue("0"); document.getElementById("quantidadeIncidentesRelacionados").setValue("0"); document.getElementById("quantidadeProblema").setValue("0"); document.getElementById("quantidadeMudanca").setValue("0"); document.getElementById("quantidadeItemConfiguracao").setValue("0"); document.getElementById("quantidadeBaseConhecimento").setValue("0"); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getEditar() == null) { solicitacaoServicoDto.setEditar(""); document.executeScript("$('#liNovasolicitacao').addClass('inativo')"); } /* * Desenvolvedor: Thiago Matias - Data: 08/11/2013 - Hor�rio: 09:30 - ID Citsmart: 123357 - Motivo/Coment�rio: Verificando a * variavel editar da URL est� setada com N, pois se estiver � para * setar no objeto e sdesabilitar os campos abaixo */ if (solicitacaoServicoDto != null && request.getParameter("editar") != null && request.getParameter("editar").equalsIgnoreCase("N")) { solicitacaoServicoDto.setEditar("N"); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getEditar().equalsIgnoreCase("N")) { document.getElementById("idOrigem").setDisabled(true); document.getElementById("solicitante").setDisabled(true); document.getElementById("telefonecontato").setDisabled(true); document.getElementById("ramal").setDisabled(true); document.getElementById("idUnidade").setDisabled(true); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) { document.getElementById("unidadeDes").setDisabled(true); } document.getElementById("idLocalidade").setDisabled(true); document.getElementById("emailcontato").setDisabled(true); document.getElementById("descricao").setDisabled(true); document.getElementById("idCausaIncidente").setDisabled(true); document.getElementById("idCategoriaSolucao").setDisabled(true); document.getElementById("solucaoTemporaria").setDisabled(true); document.executeScript("document.getElementById('divBotoes').style.display = 'none';"); document.executeScript("bloqueiaBotoesVisualizacao()"); document.executeScript("$('#uniform-gravaSolucaoRespostaBaseConhecimento').addClass('disabled')"); document.getElementById("gravaSolucaoRespostaBaseConhecimento").setDisabled(true); document.executeScript("desabilitaSituacao()"); document.executeScript("$('#tituloSolicitacao').removeClass('inativo')"); document.getElementById("enviaEmailCriacao").setDisabled(true); document.executeScript("$('#uniform-enviaEmailCriacao').addClass('disabled')"); document.getElementById("enviaEmailFinalizacao").setDisabled(true); document.executeScript("$('#uniform-enviaEmailFinalizacao').addClass('disabled')"); document.getElementById("enviaEmailAcoes").setDisabled(true); document.executeScript("$('#uniform-enviaEmailAcoes').addClass('disabled')"); document.executeScript("$('#addProblema').attr('disabled', 'disabled')"); } else if (solicitacaoServicoDto != null && solicitacaoServicoDto.getEditar().equalsIgnoreCase("S")) { document.executeScript("$('#liNovasolicitacao').removeClass('inativo')"); document.executeScript("$('#tituloSolicitacao').removeClass('inativo')"); } carregarComboContrato(document, usuario, solicitacaoServicoDto); final String acaoFluxo = request.getParameter("acaoFluxo"); if (acaoFluxo != null && acaoFluxo.equalsIgnoreCase("E")) { document.executeScript("mostrarPassoQuatroExecucaoTarefa()"); } String tarefaAssociada = "N"; if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdTarefa() != null) { tarefaAssociada = "S"; } /** * RECLASSIFICAR SOLICITACAO Visualiza o 3 passo do cadastro de solicita��o de servi�o, mostrando apenas campos especificos para a * reclassifica��o da solicita��o **/ String visualizarPasso = request.getParameter("visualizarPasso"); visualizarPasso = UtilStrings.nullToVazio(visualizarPasso); if (visualizarPasso != null && visualizarPasso.equalsIgnoreCase("C")) { document.executeScript("visualizaCollapse3()"); document.getElementById("reclassicarSolicitacao").setValue("S"); tarefaAssociada = "N"; } else { document.getElementById("reclassicarSolicitacao").setValue("N"); } request.setAttribute("tarefaAssociada", tarefaAssociada); if (solicitacaoServicoDto != null && solicitacaoServicoDto.getUrgencia() != null && StringUtils.isNotBlank(solicitacaoServicoDto.getUrgencia())) { document.getElementById("urgencia").setValue(solicitacaoServicoDto.getUrgencia().trim()); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getImpacto() != null && StringUtils.isNotBlank(solicitacaoServicoDto.getImpacto())) { document.getElementById("impacto").setValue(solicitacaoServicoDto.getImpacto().trim()); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdContrato() != null) { document.getElementById("idContrato").setValue("" + solicitacaoServicoDto.getIdContrato()); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdServicoContrato() != null) { document.getElementById("idServico").setValue("" + solicitacaoServicoDto.getIdServico()); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdContrato() != null) { verificaGrupoExecutor(document, request, response); document.getSelectById("idGrupoAtual").setValue("" + solicitacaoServicoDto.getIdGrupoAtual()); } document.executeScript("JANELA_AGUARDE_MENU.hide();$('#loading_overlay').hide();"); if (request.getParameter("idEmpregado") == null) { document.executeScript("parent.fecharJanelaAguarde();"); } else { solicitacaoServicoDto.setIsIframe("true"); document.getElementById("isIframe").setValue("true"); } alimentarSolicitanteChamadaAsterisk(document, request, response, solicitacaoServicoDto, UNIDADE_AUTOCOMPLETE); final HTMLForm form = document.getForm("form"); form.setValues(solicitacaoServicoDto); String sla = ""; /* * M�rio J�nior - 04/12/2013 #Solicita��o-125972 Alterado pois na vizualiza��o e na execu��o o SLA n�o � mostrado no 3 passo da * solicita��o. */ if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdContrato() != null && solicitacaoServicoDto.getIdServico() != null) { if (solicitacaoServicoDto.getPrazoHH() != null && solicitacaoServicoDto.getPrazoMM() != null) { String hh = solicitacaoServicoDto.getPrazoHH().toString(); String mm = solicitacaoServicoDto.getPrazoMM().toString(); if (hh.equals("0") && mm.equals("0")) { sla = UtilI18N.internacionaliza(request, "citcorpore.comum.aCombinar"); } else if (!hh.equals("0") || !mm.equals("0")) { if (hh.length() == 1) { hh = "0" + hh; } if (mm.length() == 1) { mm = "0" + mm; } sla = hh + ":" + mm; } } if (sla.equals("")) { sla = "N/A"; } document.executeScript("document.getElementById('tdResultadoSLAPrevisto').innerHTML = '" + sla + "';"); } final String mostraGravarBaseConhec = ParametroUtil.getValorParametroCitSmartHashMap( ParametroSistema.MOSTRAR_GRAVAR_BASE_CONHECIMENTO, "S"); document.executeScript("validaExibicaoBaseConhecimento('" + mostraGravarBaseConhec + "')"); if (solicitacaoServicoDto == null || solicitacaoServicoDto != null && solicitacaoServicoDto.getIdSolicitacaoServico() == null) { request.getSession().removeAttribute("segundoPassoLoad"); request.getSession().removeAttribute("terceiroPassoLoad"); request.getSession().removeAttribute("quartoPassoLoad"); } solicitacaoServicoDto = null; } /** * Carrega segunndo passo da solicita��o * * @author thyen.chang * @since 09/02/2015 - OPERA��O USAIN BOLT * @param document * @param request * @param response * @throws Exception */ public void carregaSegundoPasso(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { if (request.getSession().getAttribute("segundoPassoLoad") == null) { final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); StringBuilder objeto; if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) { objeto = new StringBuilder(); objeto.append("<label class='strong campoObrigatorio'>"); objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade")); objeto.append("</label>"); objeto.append("<input type='text' name='unidadeDes' id='unidadeDes' style='width: 100%;' onkeypress='onkeypressUnidadeDes();' onfocus='montaParametrosAutocompleteUnidade();'>"); objeto.append("<input type='hidden' name='idUnidade' id='idUnidade' value='0'/>"); document.getElementById("divUnidade").setInnerHTML(objeto.toString()); document.executeScript("geraAutoComplete()"); } else { objeto = new StringBuilder(); objeto.append("<label class='strong campoObrigatorio'>"); objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade")); objeto.append("</label>"); objeto.append("<select class='span12' name='idUnidade' id='idUnidade' required='required' onchange='document.form.fireEvent(\"preencherComboLocalidade\");'></select>"); document.getElementById("divUnidade").setInnerHTML(objeto.toString()); } preencherComboOrigem(document, request, response); carregarComboGrupoAtual(document, request); carregaUnidade(document, request, response); Integer idSolicitacaoRelacionada = null; if (request.getParameter("idSolicitacaoRelacionada") != null && !request.getParameter("idSolicitacaoRelacionada").equalsIgnoreCase("")) { idSolicitacaoRelacionada = Integer.parseInt(request.getParameter("idSolicitacaoRelacionada")); Integer idContrato = null; SolicitacaoServicoDTO solicitacaoServico = new SolicitacaoServicoDTO(); final SolicitacaoServicoDTO solicitacaoServicoInformacoesContato = new SolicitacaoServicoDTO(); if (request.getParameter("idContrato") != null && !request.getParameter("idContrato").equalsIgnoreCase("")) { idContrato = Integer.parseInt(request.getParameter("idContrato")); if (idContrato != null) { solicitacaoServico.setIdContrato(idContrato); } } solicitacaoServico.setIdSolicitacaoRelacionada(idSolicitacaoRelacionada); verificaGrupoExecutor(document, request, response); verificaImpactoUrgencia(document, request, response); if (idContrato != null) { document.executeScript("adicionarIdContratoNaLookup(" + idContrato + ")"); } solicitacaoServico = getSolicitacaoServicoService().restoreAll(idSolicitacaoRelacionada); if (solicitacaoServico != null) { solicitacaoServicoInformacoesContato.setIdSolicitante(solicitacaoServico.getIdSolicitante()); solicitacaoServicoInformacoesContato.setSolicitante(solicitacaoServico.getSolicitante()); solicitacaoServicoInformacoesContato.setNomecontato(solicitacaoServico.getNomecontato()); solicitacaoServicoInformacoesContato.setTelefonecontato(solicitacaoServico.getTelefonecontato()); solicitacaoServicoInformacoesContato.setEmailcontato(solicitacaoServico.getEmailcontato()); solicitacaoServicoInformacoesContato.setRamal(solicitacaoServico.getRamal()); solicitacaoServicoInformacoesContato.setObservacao(solicitacaoServico.getObservacao()); solicitacaoServicoInformacoesContato.setIdUnidade(solicitacaoServico.getIdUnidade()); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoInformacoesContato.getIdUnidade() != null) { solicitacaoServicoInformacoesContato.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoInformacoesContato.getIdUnidade())); } solicitacaoServicoInformacoesContato.setIdSolicitacaoRelacionada(idSolicitacaoRelacionada); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdSolicitacaoServico() == null && solicitacaoServicoDto.getIdSolicitacaoRelacionada() != null) { ((SolicitacaoServicoDTO) document.getBean()) .setIdSolicitante(solicitacaoServico.getIdSolicitante()); renderizaHistoricoSolicitacoesEmAndamentoUsuario(document, request, response); } document.getForm("form").setValues(solicitacaoServicoInformacoesContato); if (solicitacaoServico != null) { preencherComboLocalidade(document, request, response); } } if (acao && idSolicitacaoRelacionada == null) { if (solicitacaoServicoDto.getIdSolicitacaoServico() == null || solicitacaoServicoDto.getIdSolicitacaoServico().intValue() == 0) { verificaGrupoExecutor(document, request, response); verificaImpactoUrgencia(document, request, response); } } preencherComboLocalidade(document, request, response); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoDto.getIdUnidade() != null) { solicitacaoServicoDto.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoDto.getIdUnidade())); } request.getSession().setAttribute("segundoPassoLoad", true); } } /** * Carrega segunndo passo da solicita��o * * @author thyen.chang * @since 09/02/2015 - OPERA��O USAIN BOLT * @param document * @param request * @param response * @throws Exception */ public void carregaTerceiroPasso(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { if (request.getSession().getAttribute("terceiroPassoLoad") == null) { final UsuarioDTO usuario = WebUtil.getUsuario(request); carregarCombosImpactoUrgente(document, request); final Collection<GrupoDTO> listGrupoDoEmpregadoLogado = getGrupoService().getGruposByEmpregado( usuario.getIdEmpregado()); if (listGrupoDoEmpregadoLogado != null && !listGrupoDoEmpregadoLogado.isEmpty()) { boolean isAbertura = false; boolean isEncerramento = false; boolean isAndamento = false; for (final GrupoDTO grupoDto : listGrupoDoEmpregadoLogado) { if (isAbertura && isEncerramento && isAndamento) { break; } else { if (grupoDto.getAbertura() != null && grupoDto.getAbertura().trim().equals("S") && !isAbertura) { document.getElementById("enviaEmailCriacao").setDisabled(true); document.executeScript("$('#uniform-enviaEmailCriacao').addClass('disabled')"); isAbertura = true; } if (grupoDto.getEncerramento() != null && grupoDto.getEncerramento().trim().equals("S") && !isEncerramento) { document.getElementById("enviaEmailFinalizacao").setDisabled(true); document.executeScript("$('#uniform-enviaEmailFinalizacao').addClass('disabled')"); isEncerramento = true; } if (grupoDto.getAndamento() != null && grupoDto.getAndamento().trim().equals("S") && isAndamento) { document.getElementById("enviaEmailAcoes").setDisabled(true); document.executeScript("$('#uniform-enviaEmailAcoes').addClass('disabled')"); isAndamento = true; } } } } carregarComboTipoDemanda(document, request); request.getSession().setAttribute("terceiroPassoLoad", true); } } /** * Carrega segunndo passo da solicita��o * * @author thyen.chang * @since 09/02/2015 - OPERA��O USAIN BOLT * @param document * @param request * @param response * @throws Exception */ public void carregaQuartoPasso(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { if (request.getSession().getAttribute("quartoPassoLoad") == null) { carregarComboCausa(document, request); carregarComboCategoriaSolucao(document, request); request.getSession().setAttribute("quartoPassoLoad", true); } } private void alimentarSolicitanteChamadaAsterisk(DocumentHTML document, HttpServletRequest request, HttpServletResponse response, SolicitacaoServicoDTO solicitacaoServicoDto, String unidade_AUTOCOMPLETE) throws ServiceException, Exception { if (request.getParameter("idEmpregado") != null && !request.getParameter("idEmpregado").equals("") && !request.getParameter("idEmpregado").equals("NaN")) { final Integer idEmpregado = Integer.parseInt(request.getParameter("idEmpregado")); // Contratos vinculados ao colaborador final Collection<ContratoDTO> listContratosEmpregado = getContratoService().findAtivosByIdEmpregado( idEmpregado); ContratoDTO contratoSelecionado = null; // Encontra o primeiro contrato do colaborador que est� presente na lista de contratos do usu�rio if (listContratosEmpregado != null && listContratosEmpregado.size() > 0) { for (final ContratoDTO contratoEmpregado : listContratosEmpregado) { if (listContratosUsuario.contains(contratoEmpregado)) { contratoSelecionado = contratoEmpregado; break; } } } // S� alimenta o solicitante se ele estiver lotado no contrato ao qual o usu�rio est� vinculado if (contratoSelecionado == null) { document.alert(UtilI18N.internacionaliza(request, "asterisk.alertaSolicitanteNaoPertenceContrato")); } else { solicitacaoServicoDto.setIdContrato(contratoSelecionado.getIdContrato()); // Setando o ID do contrato selecionado EmpregadoDTO empregadoDTO = new EmpregadoDTO(); empregadoDTO.setIdEmpregado(idEmpregado); empregadoDTO = (EmpregadoDTO) getEmpregadoService().restore(empregadoDTO); if (empregadoDTO != null && empregadoDTO.getIdEmpregado() != null) { document.getElementById("idSolicitante").setValue(empregadoDTO.getIdEmpregado().toString()); } if (empregadoDTO != null) { document.getElementById("solicitante").setValue(empregadoDTO.getNome()); } if (empregadoDTO != null) { solicitacaoServicoDto.setNomecontato(empregadoDTO.getNome()); solicitacaoServicoDto.setTelefonecontato(empregadoDTO.getTelefone()); solicitacaoServicoDto.setRamal(empregadoDTO.getRamal()); solicitacaoServicoDto.setEmailcontato(empregadoDTO.getEmail().trim()); solicitacaoServicoDto.setIdUnidade(empregadoDTO.getIdUnidade()); if (unidade_AUTOCOMPLETE != null && unidade_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoDto.getIdUnidade() != null) { solicitacaoServicoDto.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoDto.getIdUnidade())); } solicitacaoServicoDto.setRamal(empregadoDTO.getRamal()); } aplicaOrigemHelpDesk(document); } } } private void aplicaOrigemHelpDesk(final DocumentHTML document) throws ServiceException, Exception { final OrigemAtendimentoDTO origemAtendimentoDTO = getOrigemAtendimentoService().buscarOrigemAtendimento( "Help Desk"); if (origemAtendimentoDTO != null && origemAtendimentoDTO.getIdOrigem() != null) { try { document.getElementById("idOrigem").setValue(origemAtendimentoDTO.getIdOrigem().toString()); } catch (final Exception e) { e.printStackTrace(); } } } /** * Carrega Combo de Contratos de acordo com PAR�METRO de Vinculo de Colaboradores. * * @param document * @param usuario * @param solicitacaoServicoDto * @param contratoService * @throws Exception * @throws LogicException * @throws ServiceException * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarComboContrato(final DocumentHTML document, final UsuarioDTO usuario, final SolicitacaoServicoDTO solicitacaoServicoDto) throws Exception, LogicException, ServiceException { Collection<ContratoDTO> listContratoAtivo = null; String COLABORADORES_VINC_CONTRATOS = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.COLABORADORES_VINC_CONTRATOS, "N"); if (COLABORADORES_VINC_CONTRATOS == null) { COLABORADORES_VINC_CONTRATOS = "N"; } // COMBO CONTRATO document.getSelectById("idContrato").removeAllOptions(); // N�O H� NECESSIDADE DE CARREGAR TODOS OS CONTRATOS if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdSolicitacaoServico() != null) { ContratoDTO contratoDto = new ContratoDTO(); contratoDto.setIdContrato(solicitacaoServicoDto.getIdContrato()); contratoDto = (ContratoDTO) getContratoService().restore(contratoDto); contratoDto.setNome(tratarNomeContrato(contratoDto, document.getLanguage())); document.getSelectById("idContrato").addOption("" + contratoDto.getIdContrato(), contratoDto.getNome()); } else { // H� NECESSIDADE DE CARREGAR TODOS OS CONTRATOS (de acordo com o Usu�rio Logado) if (COLABORADORES_VINC_CONTRATOS != null && COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) { // PAR�METRO DE VINCULO ATIVO listContratoAtivo = getContratoService().findAtivosByIdEmpregado(usuario.getIdEmpregado()); } else { // PAR�METRO DE VINCULO INATIVO listContratoAtivo = getContratoService().listAtivos(); } if (listContratoAtivo != null && !listContratoAtivo.isEmpty()) { for (final ContratoDTO contratoDto : listContratoAtivo) { contratoDto.setNome(tratarNomeContrato(contratoDto, document.getLanguage())); } if (listContratoAtivo.size() > 1) { document.getSelectById("idContrato").addOption("", "Selecione"); document.getSelectById("idContrato").addOptions(listContratoAtivo, "idContrato", "nome", null); } else { final ContratoDTO contratoDto = ((List<ContratoDTO>) listContratoAtivo).get(0); document.executeScript("adicionarIdContratoNaLookup(" + contratoDto.getIdContrato() + ")"); document.getSelectById("idContrato").addOption("" + contratoDto.getIdContrato(), contratoDto.getNome()); acao = true; // � utilizado para carregar as Unidades. contratoDtoAux.setIdContrato(contratoDto.getIdContrato()); } } } // Lista utilizada para verificar se o empregado da chamada Asterisk est� inserido no contrato que o usu�rio est� vinculado listContratosUsuario = listContratoAtivo; } /** * Carrega Combo Categoria Solu��o. * * @param document * @param request * @throws ServiceException * @throws Exception * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarComboCategoriaSolucao(final DocumentHTML document, final HttpServletRequest request) throws ServiceException, Exception { final Collection listCategoriaSolucao = getCategoriaSolucaoService().listHierarquia(); final HTMLSelect idCategoriaSolucao = document.getSelectById("idCategoriaSolucao"); idCategoriaSolucao.removeAllOptions(); idCategoriaSolucao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (listCategoriaSolucao != null && !listCategoriaSolucao.isEmpty()) { idCategoriaSolucao.addOptions(listCategoriaSolucao, "idCategoriaSolucao", "descricaoCategoriaNivel", null); } } /** * Carrega Combo Causa. * * @param document * @param request * @throws ServiceException * @throws Exception * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarComboCausa(final DocumentHTML document, final HttpServletRequest request) throws ServiceException, Exception { final Collection colCausas = getCausaIncidenteService().listHierarquia(); final HTMLSelect idCausa = document.getSelectById("idCausaIncidente"); idCausa.removeAllOptions(); idCausa.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colCausas != null && !colCausas.isEmpty()) { idCausa.addOptions(colCausas, "idCausaIncidente", "descricaoCausaNivel", null); } } /** * Carrega Combo Grupo Atual. * * @param document * @param request * @throws Exception * @throws ServiceException * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarComboGrupoAtual(final DocumentHTML document, final HttpServletRequest request) throws Exception, ServiceException { final HTMLSelect idGrupoAtual = document.getSelectById("idGrupoAtual"); idGrupoAtual.removeAllOptions(); idGrupoAtual.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); final Collection<GrupoDTO> listGrupoServiceDesk = getGrupoService().listGruposServiceDesk(); if (listGrupoServiceDesk != null) { idGrupoAtual.addOptions(listGrupoServiceDesk, "idGrupo", "nome", null); } } /** * Carrega Combo de Tipo Demanda Servi�o. * * @param document * @param request * @throws ServiceException * @throws Exception * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarComboTipoDemanda(final DocumentHTML document, final HttpServletRequest request) throws ServiceException, Exception { final HTMLSelect idTipoDemandaServico = document.getSelectById("idTipoDemandaServico"); idTipoDemandaServico.removeAllOptions(); idTipoDemandaServico.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); final Collection<TipoDemandaServicoDTO> listTipoDemanda = getTipoDemandaService().listSolicitacoes(); if (listTipoDemanda != null) { idTipoDemandaServico.addOptions(listTipoDemanda, "idTipoDemandaServico", "nomeTipoDemandaServico", null); } } /** * Carrega Combos Impact e Urg�ncia. * * @param document * @param request * @throws Exception * @throws ServiceException * @author valdoilo.damasceno * @since 03.11.2013 */ private void carregarCombosImpactoUrgente(final DocumentHTML document, final HttpServletRequest request) throws Exception, ServiceException { final HTMLSelect urgencia = document.getSelectById("urgencia"); urgencia.removeAllOptions(); final HTMLSelect impacto = document.getSelectById("impacto"); impacto.removeAllOptions(); if (!getCalcularDinamicamente().trim().equalsIgnoreCase("S")) { urgencia.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")); urgencia.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media")); urgencia.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta")); impacto.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")); impacto.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media")); impacto.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta")); } else { final Collection<UrgenciaDTO> listUrgenciaDTO = getPrioridadeSolicitacoesService().consultaUrgencia(); if (listUrgenciaDTO != null && !listUrgenciaDTO.isEmpty()) { for (final UrgenciaDTO urgenciaTemp : listUrgenciaDTO) { urgencia.addOption(urgenciaTemp.getSiglaUrgencia().toString(), urgenciaTemp.getNivelUrgencia()); } } final Collection<ImpactoDTO> listImpactoDTO = getPrioridadeSolicitacoesService().consultaImpacto(); if (listImpactoDTO != null && !listImpactoDTO.isEmpty()) { for (final ImpactoDTO impactoTemp : listImpactoDTO) { impacto.addOption(impactoTemp.getSiglaImpacto().toString(), impactoTemp.getNivelImpacto()); } } } } /** * Concatena ao Nome do Contrato o N�mero do Contrato + Data do Contrato + Nome do Cliente + Nome do Fornecedor. * * @param contratoDto * @return String - Nome do Contrato tratado. * @throws Exception * @author valdoilo.damasceno * @param language * @since 03.11.2013 */ private String tratarNomeContrato(final ContratoDTO contratoDto, final String language) throws Exception { String nomeCliente = ""; String nomeFornecedor = ""; ClienteDTO clienteDto = new ClienteDTO(); clienteDto.setIdCliente(contratoDto.getIdCliente()); clienteDto = (ClienteDTO) getClienteService().restore(clienteDto); if (clienteDto != null) { nomeCliente = clienteDto.getNomeRazaoSocial(); } FornecedorDTO fornecedorDto = new FornecedorDTO(); fornecedorDto.setIdFornecedor(contratoDto.getIdFornecedor()); fornecedorDto = (FornecedorDTO) getFornecedorService().restore(fornecedorDto); if (fornecedorDto != null) { nomeFornecedor = fornecedorDto.getRazaoSocial(); } final String nomeContrato = "" + contratoDto.getNumero() + " de " + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, contratoDto.getDataContrato(), language) + " (" + nomeCliente + " - " + nomeFornecedor + ")"; return nomeContrato; } public void save(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { boolean bExisteSolicitacao = false; SolicitacaoServicoQuestionarioDTO solicitacaoServicoQuestionarioDto = null; try { final UsuarioDTO usuario = WebUtil.getUsuario(request); final String CAMPOS_OBRIGATORIO_SOLICITACAOSERVICO = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.CAMPOS_OBRIGATORIO_SOLICITACAOSERVICO, "N"); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada")); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto != null) { bExisteSolicitacao = solicitacaoServicoDto.getIdSolicitacaoServico() != null; } final boolean bAlterarSituacao = solicitacaoServicoDto.getAlterarSituacao() != null && solicitacaoServicoDto.getAlterarSituacao().equalsIgnoreCase("S"); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); final TemplateSolicitacaoServicoService templateService = (TemplateSolicitacaoServicoService) ServiceLocator .getInstance().getService(TemplateSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); final TemplateSolicitacaoServicoDTO templateDto = templateService .recuperaTemplateServico(solicitacaoServicoDto); if (templateDto != null && templateDto.isQuestionario()) { final Timestamp ts1 = UtilDatas.getDataHoraAtual(); double tempo = 0; solicitacaoServicoQuestionarioDto = (SolicitacaoServicoQuestionarioDTO) request.getSession() .getAttribute("dados_solicit_quest"); while (solicitacaoServicoQuestionarioDto == null && tempo <= 10000) { solicitacaoServicoQuestionarioDto = (SolicitacaoServicoQuestionarioDTO) request.getSession() .getAttribute("dados_solicit_quest"); final Timestamp ts2 = UtilDatas.getDataHoraAtual(); tempo = UtilDatas.calculaDiferencaTempoEmMilisegundos(ts2, ts1); } if (solicitacaoServicoQuestionarioDto == null) { document.alert(UtilI18N.internacionaliza(request, "solicitacaoservico.validacao.informacoesComplementares")); carregaInformacoesComplementares(document, request, solicitacaoServicoDto); return; } } solicitacaoServicoService.deserializaInformacoesComplementares(solicitacaoServicoDto, solicitacaoServicoQuestionarioDto); final BaseConhecimentoDTO baseConhecimento = new BaseConhecimentoDTO(); final UsuarioDTO usuarioDto = WebUtil.getUsuario(request); if (solicitacaoServicoDto != null) { baseConhecimento.setTitulo(solicitacaoServicoDto.getTituloBaseConhecimento()); baseConhecimento.setConteudo("Descri��o: " + solicitacaoServicoDto.getDescricaoSemFormatacao() + "<br><br>" + "Solu��o/Resposta: " + solicitacaoServicoDto.getResposta()); } baseConhecimento.setOrigem("5");// Servi�o baseConhecimento .setDataExpiracao(UtilDatas.getSqlDate(UtilDatas.geraUmAnoSeguinte(UtilDatas.getDataAtual()))); baseConhecimento.setStatus("N"); baseConhecimento.setErroConhecido("S"); baseConhecimento.setSituacao("EAV"); baseConhecimento.setPrivacidade("C"); baseConhecimento.setDataInicio(UtilDatas.getDataAtual()); baseConhecimento.setArquivado("N"); baseConhecimento.setVersao("1.0"); baseConhecimento.setIdUsuarioAutor(usuarioDto.getIdUsuario()); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setBeanBaseConhecimento(baseConhecimento); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdUnidade() == null && solicitacaoServicoDto.getIdUnidade() != 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.unidadecontato")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getEscalar() != null && solicitacaoServicoDto.getEscalar().equalsIgnoreCase("S")) { if (solicitacaoServicoDto.getIdGrupoAtual() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.grupoatendimento")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } } ServicoContratoDTO servicoContratoDto = null; if (solicitacaoServicoDto != null) { servicoContratoDto = getServicoContratoService().findByIdContratoAndIdServico( solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdServico()); } if (servicoContratoDto != null) { if (servicoContratoDto != null && solicitacaoServicoDto.getIdGrupoNivel1() == null || solicitacaoServicoDto.getIdGrupoNivel1().intValue() <= 0) { Integer idGrupoNivel1 = null; if (servicoContratoDto.getIdGrupoNivel1() != null && servicoContratoDto.getIdGrupoNivel1().intValue() > 0) { idGrupoNivel1 = servicoContratoDto.getIdGrupoNivel1(); } else { final String idGrupoN1 = ParametroUtil.getValor(ParametroSistema.ID_GRUPO_PADRAO_NIVEL1, null, null); if (idGrupoN1 != null && !idGrupoN1.trim().equalsIgnoreCase("")) { try { idGrupoNivel1 = new Integer(idGrupoN1); } catch (final Exception e) { e.printStackTrace(); } } } if (idGrupoNivel1 == null || idGrupoNivel1.intValue() <= 0) { document.alert(UtilI18N.internacionaliza(request, "solicitacaoservico.validacao.grupoatendnivel")); if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } } } final List<ConhecimentoSolicitacaoDTO> colConhecimentoSolicitacao = (List<ConhecimentoSolicitacaoDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(ConhecimentoSolicitacaoDTO.class, "colConhecimentoSolicitacao_Serialize", request); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColConhecimentoSolicitacaoSerialize(colConhecimentoSolicitacao); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getSituacao() != null && solicitacaoServicoDto.getSituacao().equalsIgnoreCase( Enumerados.SituacaoSolicitacaoServico.Resolvida.name())) { if (solicitacaoServicoDto.getResposta().trim().equalsIgnoreCase("")) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.solucaoresposta")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator .getInstance().getService(TipoDemandaServicoService.class, WebUtil.getUsuarioSistema(request)); TipoDemandaServicoDTO tipoDemandaServicoDTO = new TipoDemandaServicoDTO(); tipoDemandaServicoDTO.setIdTipoDemandaServico(solicitacaoServicoDto.getIdTipoDemandaServico()); if (tipoDemandaServicoDTO.getIdTipoDemandaServico() == null) { final SolicitacaoServicoDTO solicitacaoServicoAux = solicitacaoServicoService .restoreAll(solicitacaoServicoDto.getIdSolicitacaoServico()); tipoDemandaServicoDTO.setIdTipoDemandaServico(solicitacaoServicoAux.getIdTipoDemandaServico()); } tipoDemandaServicoDTO = (TipoDemandaServicoDTO) tipoDemandaServicoService .restore(tipoDemandaServicoDTO); if (tipoDemandaServicoDTO != null) { if (tipoDemandaServicoDTO.getClassificacao().equalsIgnoreCase("I")) { if (CAMPOS_OBRIGATORIO_SOLICITACAOSERVICO.trim().equalsIgnoreCase("S")) { if (solicitacaoServicoDto.getIdCausaIncidente() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.classifiqueincidente")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } if (solicitacaoServicoDto.getIdCategoriaSolucao() == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.classifiquesolucao")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } } } } final boolean bvalidaBaseConhecimento = solicitacaoServicoDto.getValidaBaseConhecimento() != null && solicitacaoServicoDto.getValidaBaseConhecimento().equalsIgnoreCase("S"); if (bvalidaBaseConhecimento) { final boolean informouBaseConhecimento = solicitacaoServicoDto .getColConhecimentoSolicitacaoSerialize() != null && solicitacaoServicoDto.getColConhecimentoSolicitacaoSerialize().size() > 0; if (!informouBaseConhecimento) { document.alert(UtilI18N .internacionaliza(request, "citcorpore.comum.validacao.baseconhecimento")); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } return; } } } final Collection<UploadDTO> arquivosUpados = (Collection<UploadDTO>) request.getSession(true).getAttribute( "colUploadsGED2"); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColArquivosUpload(arquivosUpados); } final Collection colItensProblema = br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( ProblemaDTO.class, "colItensProblema_Serialize", request); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColItensProblema(colItensProblema); } final List<RequisicaoMudancaDTO> colItensMudanca = (List<RequisicaoMudancaDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(RequisicaoMudancaDTO.class, "colItensMudanca_Serialize", request); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColItensMudanca(colItensMudanca); } final List<ItemConfiguracaoDTO> colItensIC = (List<ItemConfiguracaoDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(ItemConfiguracaoDTO.class, "colItensIC_Serialize", request); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColItensICSerialize(colItensIC); } final List<BaseConhecimentoDTO> colItensBaseConhecimento = (List<BaseConhecimentoDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(BaseConhecimentoDTO.class, "colItensBaseConhecimento_Serialize", request); if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setColItensBaseConhecimento(colItensBaseConhecimento); } if (solicitacaoServicoDto != null) { solicitacaoServicoDto.setUsuarioDto(usuario); solicitacaoServicoDto.setRegistradoPor(usuario.getNomeUsuario()); } try { if (solicitacaoServicoDto != null && (solicitacaoServicoDto.getIdSolicitacaoServico() == null || solicitacaoServicoDto .getIdSolicitacaoServico().intValue() == 0)) { solicitacaoServicoDto = (SolicitacaoServicoDTO) solicitacaoServicoService .create(solicitacaoServicoDto); // Registra o email se tiver sido utilizado final EmailSolicitacaoServicoService emailSolicitacaoServicoService = (EmailSolicitacaoServicoService) ServiceLocator .getInstance().getService(EmailSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); if (solicitacaoServicoDto != null && solicitacaoServicoDto.getMessageId() != null && solicitacaoServicoDto.getMessageId().trim().length() > 0) { final EmailSolicitacaoServicoDTO emailDto = new EmailSolicitacaoServicoDTO(); emailDto.setIdSolicitacao(solicitacaoServicoDto.getIdSolicitacaoServico()); emailDto.setIdMessage(solicitacaoServicoDto.getMessageId()); emailDto.setOrigem(TipoOrigemLeituraEmail.SOLICITACAO_SERVICO.toString()); emailSolicitacaoServicoService.create(emailDto); } document.executeScript("$('#divInformacoesComplementares').switchClass( 'ativo', 'inativo', null );"); String comando = "mostraMensagemInsercao('<h3>" + UtilI18N.internacionaliza(request, "MSG05") + ".<br>" + UtilI18N.internacionaliza(request, "gerenciaservico.numerosolicitacao") + " <b><u>" + solicitacaoServicoDto.getIdSolicitacaoServico() + "</u></b> " + UtilI18N.internacionaliza(request, "citcorpore.comum.crida") + ".<br><br>" + UtilI18N.internacionaliza(request, "prioridade.prioridade") + ": " + solicitacaoServicoDto.getIdPrioridade(); if (solicitacaoServicoDto.getPrazoHH() > 0 || solicitacaoServicoDto.getPrazoMM() > 0) { comando = comando + " - SLA: " + solicitacaoServicoDto.getSLAStr() + ""; } comando = comando + "</h3>')"; document.executeScript(comando); return; } else { // Registra o email se tiver sido utilizado final EmailSolicitacaoServicoService emailSolicitacaoServicoService = (EmailSolicitacaoServicoService) ServiceLocator .getInstance().getService(EmailSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); if (solicitacaoServicoDto != null && solicitacaoServicoDto.getMessageId() != null && solicitacaoServicoDto.getMessageId().trim().length() > 0) { EmailSolicitacaoServicoDTO emailDto = emailSolicitacaoServicoService .getEmailByIdSolicitacaoAndOrigem(solicitacaoServicoDto.getIdSolicitacaoServico(), TipoOrigemLeituraEmail.SOLICITACAO_SERVICO.toString()); if (emailDto != null && emailDto.getIdEmail() != null) { emailDto.setIdMessage(solicitacaoServicoDto.getMessageId()); emailDto.setOrigem(TipoOrigemLeituraEmail.SOLICITACAO_SERVICO.toString()); emailSolicitacaoServicoService.update(emailDto); } else { emailDto = new EmailSolicitacaoServicoDTO(); emailDto.setIdSolicitacao(solicitacaoServicoDto.getIdSolicitacaoServico()); emailDto.setIdMessage(solicitacaoServicoDto.getMessageId()); emailDto.setOrigem(TipoOrigemLeituraEmail.SOLICITACAO_SERVICO.toString()); emailSolicitacaoServicoService.create(emailDto); } } document.alert(UtilI18N.internacionaliza(request, "MSG06")); } } catch (final Exception e) { if (!bExisteSolicitacao) { solicitacaoServicoDto.setIdSolicitacaoServico(null); } if (solicitacaoServicoQuestionarioDto != null) { carregaInformacoesComplementares(document, request, solicitacaoServicoDto); } String msgErro = e.getMessage(); msgErro = msgErro.replaceAll("java.lang.Exception:", ""); msgErro = msgErro.replaceAll("br.com.citframework.excecao.ServiceException:", ""); msgErro = msgErro.replaceAll("br.com.citframework.excecao.LogicException:", ""); msgErro = msgErro.replaceAll("br.com.citframework.excecao.LogicException:", ""); msgErro = msgErro.replaceAll("br.com.centralit.citcorpore.exception.LogicException:", ""); msgErro = msgErro.replaceAll("br.com.centralit.citajax.exception.LogicException:", ""); msgErro = msgErro.replaceAll("Wrapped", ""); msgErro = msgErro.replaceAll("params.get\\(\"execucaoFluxo\"\\).recuperaGrupoAprovador\\(\\);", ""); msgErro = msgErro.replaceAll("!params.get\\(\"execucaoFluxo\"\\).exigeAutorizacao\\(\\);", ""); msgErro = msgErro.replaceAll("\\(script#1\\)", ""); document.alert(UtilI18N.internacionaliza(request, msgErro)); verificaImpactoUrgencia(document, request, response); document.executeScript("habilitaBotaoGravar()"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } return; } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getReclassificar() != null && solicitacaoServicoDto.getReclassificar().equals("S")) { document.executeScript("document.getElementById('divBotoes').style.display = 'block';"); } carregaInformacoesComplementares(document, request, solicitacaoServicoDto); final String reclassificar = request.getParameter("reclassificar"); final String gravaContinua = request.getParameter("acaoFluxo"); if (reclassificar != null && reclassificar != "" && reclassificar.equals("S") || gravaContinua != null && gravaContinua != "" && gravaContinua.equals("I")) { document.executeScript("parent.refreshTelaGerenciamento()"); request.getSession().setAttribute("gravaEContinua", null); } else { document.executeScript("parent.carregaListaServico()"); } solicitacaoServicoDto = null; } finally { document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); } } private boolean isContratoInList(final Integer idContrato, final Collection colContratosColab) { if (colContratosColab != null) { for (final Iterator it = colContratosColab.iterator(); it.hasNext();) { final ContratosGruposDTO contratosGruposDTO = (ContratosGruposDTO) it.next(); if (contratosGruposDTO.getIdContrato().intValue() == idContrato.intValue()) { return true; } } } return false; } public void sincronizaAD(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getFiltroADPesq() == null) { solicitacaoServicoDto.setFiltroADPesq(document.getElementById("filtroADPesq").getValue()); } ContratoDTO contratoDto = new ContratoDTO(); contratoDto.setIdContrato(solicitacaoServicoDto.getIdContrato()); contratoDto = (ContratoDTO) getContratoService().restore(contratoDto); final Collection<ADUserDTO> listUsuariosADDto = LDAPUtils.consultaEmpregado( solicitacaoServicoDto.getFiltroADPesq(), contratoDto.getIdGrupoSolicitante()); if (listUsuariosADDto != null && !listUsuariosADDto.isEmpty()) { for (final ADUserDTO usuarioADDto : listUsuariosADDto) { document.getElementById("POPUP_SINCRONIZACAO_DETALHE").setInnerHTML( "Sincroniza��o conclu�da com sucesso. Favor fazer a busca na lookup de colaborador."); } } else { document.getElementById("POPUP_SINCRONIZACAO_DETALHE").setInnerHTML("Nenhum resultado encontrado."); } document.executeScript("fechar_aguarde();"); solicitacaoServicoDto = null; contratoDto = null; } /** * Preenche a Combo de Unidades de acordo com o Par�metro UNIDADE_VINC_CONTRATOS. * * @param document * @param request * @param response * @throws Exception */ public void carregaUnidade(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); // Se o par�metro de ativa��o do campo autocomplete unidade for diferente de 'N' carrego a combo de unidade if (UNIDADE_AUTOCOMPLETE != null && !UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) { final String parametroUnidadeVinculadoAContratos = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.UNIDADE_VINC_CONTRATOS, "N"); SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getIdSolicitacaoServico() != null && solicitacaoServicoDto.getIdSolicitacaoServico().intValue() > 0) { solicitacaoServicoDto = (SolicitacaoServicoDTO) getSolicitacaoServicoService().restore( solicitacaoServicoDto); ServicoContratoDTO servicoContratoDTO = new ServicoContratoDTO(); servicoContratoDTO.setIdServicoContrato(solicitacaoServicoDto.getIdServicoContrato()); if (solicitacaoServicoDto.getIdServicoContrato() != null) { servicoContratoDTO = (ServicoContratoDTO) getServicoContratoService().restore(servicoContratoDTO); } else { servicoContratoDTO = null; } if (servicoContratoDTO != null) { solicitacaoServicoDto.setIdServico(servicoContratoDTO.getIdServico()); solicitacaoServicoDto.setIdContrato(servicoContratoDTO.getIdContrato()); } } if (solicitacaoServicoDto.getIdContrato() == null || solicitacaoServicoDto.getIdContrato().intValue() == 0) { solicitacaoServicoDto.setIdContrato(contratoDtoAux.getIdContrato()); } final HTMLSelect comboUnidadeMultContratos = document.getSelectById("idUnidade"); inicializarCombo(comboUnidadeMultContratos, request); if (parametroUnidadeVinculadoAContratos.trim().equalsIgnoreCase("S")) { final Integer idContrato = solicitacaoServicoDto.getIdContrato(); if (idContrato != null) { final ArrayList<UnidadeDTO> unidades = (ArrayList) getUnidadeService() .listHierarquiaMultiContratos(idContrato); if (unidades != null && !unidades.isEmpty()) { for (final UnidadeDTO unidade : unidades) { if (unidade.getDataFim() == null) { comboUnidadeMultContratos.addOption( Util.tratarAspasSimples(unidade.getIdUnidade().toString()), Util.tratarAspasSimples(unidade.getNomeNivel())); } } } } } else { final ArrayList<UnidadeDTO> unidades = (ArrayList) getUnidadeService().listHierarquia(); if (unidades != null && !unidades.isEmpty()) { for (final UnidadeDTO unidade : unidades) { if (unidade.getDataFim() == null) { comboUnidadeMultContratos.addOption( Util.tratarAspasSimples(unidade.getIdUnidade().toString()), Util.tratarAspasSimples(unidade.getNomeNivel())); } } } } solicitacaoServicoDto = null; } } private void inicializarCombo(final HTMLSelect componenteCombo, final HttpServletRequest request) { componenteCombo.removeAllOptions(); componenteCombo.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); } public void carregaServicos(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { // carregaServicosMulti(document, request, response); } public void verificaImpactoUrgencia(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getIdContrato() == null || solicitacaoServicoDto.getIdContrato().intValue() == 0) { solicitacaoServicoDto.setIdContrato(contratoDtoAux.getIdContrato()); } document.getSelectById("impacto").setDisabled(false); document.getSelectById("urgencia").setDisabled(false); if (solicitacaoServicoDto.getIdServico() == null || solicitacaoServicoDto.getIdContrato() == null) { return; } ServicoContratoDTO servicoContratoDto = getServicoContratoService().findByIdContratoAndIdServico( solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdServico()); if (servicoContratoDto != null) { AcordoNivelServicoDTO acordoNivelServicoDto = getAcordoNivelServicoService().findAtivoByIdServicoContrato( servicoContratoDto.getIdServicoContrato(), "T"); if (acordoNivelServicoDto == null) { // Se nao houver acordo especifico, ou seja, associado direto ao servicocontrato, entao busca um acordo geral que esteja // vinculado ao servicocontrato. final AcordoServicoContratoDTO acordoServicoContratoDTO = getAcordoServicoContratoService() .findAtivoByIdServicoContrato(servicoContratoDto.getIdServicoContrato(), "T"); if (acordoServicoContratoDTO == null) { document.alert(UtilI18N.internacionaliza(request, "solicitacaoservico.validacao.tempoacordo")); return; } // Apos achar a vinculacao do acordo com o servicocontrato, entao faz um restore do acordo de nivel de servico. acordoNivelServicoDto = new AcordoNivelServicoDTO(); acordoNivelServicoDto.setIdAcordoNivelServico(acordoServicoContratoDTO.getIdAcordoNivelServico()); acordoNivelServicoDto = (AcordoNivelServicoDTO) new AcordoNivelServicoDao() .restore(acordoNivelServicoDto); if (acordoNivelServicoDto == null) { // Se nao houver acordo especifico, ou seja, associado direto ao servicocontrato document.alert(UtilI18N.internacionaliza(request, "solicitacaoservico.validacao.tempoacordo")); return; } } if (acordoNivelServicoDto.getImpacto() != null) { document.getSelectById("impacto").setValue("" + acordoNivelServicoDto.getImpacto()); if (acordoNivelServicoDto.getPermiteMudarImpUrg() != null && acordoNivelServicoDto.getPermiteMudarImpUrg().equalsIgnoreCase("N")) { document.getSelectById("impacto").setDisabled(true); } } else { document.getSelectById("impacto").setValue("B"); } if (acordoNivelServicoDto.getUrgencia() != null) { document.getSelectById("urgencia").setValue("" + acordoNivelServicoDto.getUrgencia()); if (acordoNivelServicoDto.getPermiteMudarImpUrg() != null && acordoNivelServicoDto.getPermiteMudarImpUrg().equalsIgnoreCase("N")) { document.getSelectById("urgencia").setDisabled(true); } } else { document.getSelectById("urgencia").setValue("B"); } } else { document.getSelectById("impacto").setValue("B"); document.getSelectById("urgencia").setValue("B"); } servicoContratoDto = null; solicitacaoServicoDto = null; } public void restore(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final String editar = request.getParameter("editar"); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); final ContatoSolicitacaoServicoService contatoSolicitacaoServicoService = (ContatoSolicitacaoServicoService) ServiceLocator .getInstance().getService(ContatoSolicitacaoServicoService.class, null); final SolicitacaoServicoEvtMonService solicitacaoServicoEvtMonService = (SolicitacaoServicoEvtMonService) ServiceLocator .getInstance().getService(SolicitacaoServicoEvtMonService.class, WebUtil.getUsuarioSistema(request)); final EventoMonitoramentoService eventoMonitoramentoService = (EventoMonitoramentoService) ServiceLocator .getInstance().getService(EventoMonitoramentoService.class, WebUtil.getUsuarioSistema(request)); final EventoMonitConhecimentoService eventoMonitConhecimentoService = (EventoMonitConhecimentoService) ServiceLocator .getInstance().getService(EventoMonitConhecimentoService.class, WebUtil.getUsuarioSistema(request)); final BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance() .getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); final Integer idTarefa = solicitacaoServicoDto.getIdTarefa(); final String acaoFluxo = solicitacaoServicoDto.getAcaoFluxo(); final String reclassificar = solicitacaoServicoDto.getReclassificar(); final String escalar = solicitacaoServicoDto.getEscalar(); final String alterarSituacao = solicitacaoServicoDto.getAlterarSituacao(); final String validaBaseConhecimento = solicitacaoServicoDto.getValidaBaseConhecimento(); solicitacaoServicoDto = solicitacaoServicoService.restoreAll(solicitacaoServicoDto.getIdSolicitacaoServico()); if (solicitacaoServicoDto == null) { document.alert(UtilI18N.internacionaliza(request, "solicitacaoServico.solicitacaoServico.msg.registronaoencotrado")); return; } solicitacaoServicoDto.setIdTarefa(idTarefa); solicitacaoServicoDto.setAcaoFluxo(acaoFluxo); solicitacaoServicoDto.setReclassificar(reclassificar); solicitacaoServicoDto.setEscalar(escalar); solicitacaoServicoDto.setAlterarSituacao(alterarSituacao); solicitacaoServicoDto.setValidaBaseConhecimento(validaBaseConhecimento); EmpregadoDTO empregadoDTO = new EmpregadoDTO(); if (solicitacaoServicoDto.getIdSolicitante() != null) { empregadoDTO.setIdEmpregado(solicitacaoServicoDto.getIdSolicitante()); empregadoDTO = (EmpregadoDTO) getEmpregadoService().restore(empregadoDTO); } ServicoContratoDTO servicoContratoDTO = new ServicoContratoDTO(); servicoContratoDTO.setIdServicoContrato(solicitacaoServicoDto.getIdServicoContrato()); if (solicitacaoServicoDto.getIdServicoContrato() != null) { servicoContratoDTO = (ServicoContratoDTO) getServicoContratoService().restore(servicoContratoDTO); } else { servicoContratoDTO = null; } if (servicoContratoDTO != null) { solicitacaoServicoDto.setIdServico(servicoContratoDTO.getIdServico()); solicitacaoServicoDto.setIdContrato(servicoContratoDTO.getIdContrato()); ServicoDTO servicoDto = new ServicoDTO(); servicoDto.setIdServico(servicoContratoDTO.getIdServico()); servicoDto = (ServicoDTO) getServicoService().restore(servicoDto); if (servicoDto != null) { solicitacaoServicoDto.setIdCategoriaServico(servicoDto.getIdCategoriaServico()); } } ContatoSolicitacaoServicoDTO contatoSolicitacaoServicoDTO = null; if (solicitacaoServicoDto.getIdContatoSolicitacaoServico() != null) { contatoSolicitacaoServicoDTO = new ContatoSolicitacaoServicoDTO(); contatoSolicitacaoServicoDTO.setIdcontatosolicitacaoservico(solicitacaoServicoDto .getIdContatoSolicitacaoServico()); contatoSolicitacaoServicoDTO = (ContatoSolicitacaoServicoDTO) contatoSolicitacaoServicoService .restore(contatoSolicitacaoServicoDTO); } if (contatoSolicitacaoServicoDTO != null) { solicitacaoServicoDto.setNomecontato(contatoSolicitacaoServicoDTO.getNomecontato()); solicitacaoServicoDto.setEmailcontato(contatoSolicitacaoServicoDTO.getEmailcontato()); solicitacaoServicoDto.setTelefonecontato(contatoSolicitacaoServicoDTO.getTelefonecontato()); solicitacaoServicoDto.setRamal(contatoSolicitacaoServicoDTO.getRamal()); solicitacaoServicoDto.setObservacao(contatoSolicitacaoServicoDTO.getObservacao()); solicitacaoServicoDto.setIdLocalidade(contatoSolicitacaoServicoDTO.getIdLocalidade()); preencherComboLocalidade(document, request, response); } ItemConfiguracaoDTO itemConfiguracaoDTO = null; ItemConfiguracaoDTO itemConfiguracaoFilhoDTO = null; String tagItemCfg = ""; if (solicitacaoServicoDto.getIdItemConfiguracao() != null) { itemConfiguracaoDTO = new ItemConfiguracaoDTO(); itemConfiguracaoDTO.setIdItemConfiguracao(solicitacaoServicoDto.getIdItemConfiguracao()); itemConfiguracaoDTO = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore(itemConfiguracaoDTO); if (solicitacaoServicoDto.getIdItemConfiguracaoFilho() != null) { itemConfiguracaoFilhoDTO = new ItemConfiguracaoDTO(); itemConfiguracaoFilhoDTO.setIdItemConfiguracao(solicitacaoServicoDto.getIdItemConfiguracaoFilho()); itemConfiguracaoFilhoDTO = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore( itemConfiguracaoFilhoDTO); if (itemConfiguracaoFilhoDTO != null && itemConfiguracaoFilhoDTO.getIdTipoItemConfiguracao() != null) { TipoItemConfiguracaoDTO tipoItemConfiguracaoDTO = new TipoItemConfiguracaoDTO(); tipoItemConfiguracaoDTO.setId(itemConfiguracaoFilhoDTO.getIdTipoItemConfiguracao()); tipoItemConfiguracaoDTO = (TipoItemConfiguracaoDTO) getItemConfiguracaoService().restore( tipoItemConfiguracaoDTO); if (tipoItemConfiguracaoDTO != null) { tagItemCfg = tipoItemConfiguracaoDTO.getTag(); } } } } if (solicitacaoServicoDto.getSolicitanteUnidade() == null) { solicitacaoServicoDto.setSolicitanteUnidade(""); } if (solicitacaoServicoDto.getSolicitante() == null) { solicitacaoServicoDto.setSolicitante(""); } if (itemConfiguracaoDTO != null) { document.getTextBoxById("itemConfiguracao").setValue(itemConfiguracaoDTO.getIdentificacao()); /* document.executeScript("exibeCampos()"); */ document.setBean(solicitacaoServicoDto); if (tagItemCfg != null && tagItemCfg.equalsIgnoreCase("SOFTWARES")) { document.executeScript("document.form.caracteristica[0].checked = true"); preecherComboSoftware(document, request, response); } else { preecherComboHardware(document, request, response); } } if (solicitacaoServicoDto.getEditar() == null) { solicitacaoServicoDto.setEditar("S"); } if (empregadoDTO != null) { document.getTextBoxById("solicitante").setValue(empregadoDTO.getNome()); } if (solicitacaoServicoDto.getReclassificar() != null && solicitacaoServicoDto.getReclassificar().equalsIgnoreCase("S")) { // document.getElementById("divMessage").setInnerHTML("<font color='red'>" + UtilI18N.internacionaliza(request, // "solicitacaoServico.solicitacaoServico.msg.reclassificacao") + ".</font>"); } else { document.getSelectById("idCategoriaServico").setDisabled(true); document.getSelectById("idContrato").setDisabled(true); document.getSelectById("idServico").setDisabled(true); document.getSelectById("idTipoDemandaServico").setDisabled(true); document.getSelectById("utilizaCategoriaServico").setDisabled(true); document.getSelectById("checkUtilizaCategoriaServico").setDisabled(true); document.getSelectById("uniform-utilizaCategoriaServico").setDisabled(true); document.getSelectById("urgencia").setDisabled(true); document.getSelectById("impacto").setDisabled(true); if (solicitacaoServicoDto.getEditar() == null) { solicitacaoServicoDto.setEditar("S"); } } final boolean bEscalar = solicitacaoServicoDto.getEscalar() != null && solicitacaoServicoDto.getEscalar().equalsIgnoreCase("S"); final boolean bAlterarSituacao = solicitacaoServicoDto.getAlterarSituacao() != null && solicitacaoServicoDto.getAlterarSituacao().equalsIgnoreCase("S"); if (!bAlterarSituacao) { document.executeScript("desabilitarSituacao();"); } if (!bEscalar) { document.getSelectById("idGrupoAtual").setDisabled(true); } final Collection colAnexos = getControleGedService().listByIdTabelaAndID( ControleGEDDTO.TABELA_SOLICITACAOSERVICO, solicitacaoServicoDto.getIdSolicitacaoServico()); final Collection colAnexosUploadDTO = getControleGedService().convertListControleGEDToUploadDTO(colAnexos); String quantidadeAnexosStr = "0"; if (colAnexosUploadDTO != null && colAnexosUploadDTO.size() > 0) { final Integer quantidadeAnexos = colAnexosUploadDTO.size(); quantidadeAnexosStr = String.valueOf(quantidadeAnexos); document.getElementById("quantidadeAnexos").setValue(quantidadeAnexosStr); } else { document.getElementById("quantidadeAnexos").setValue(quantidadeAnexosStr); } request.getSession(true).setAttribute("colUploadsGED2", colAnexosUploadDTO); request.getSession().setAttribute("colUploadsGED2", colAnexosUploadDTO); final Collection colOcorrencias = getOcorrenciaSolicitacaoService().findByIdSolicitacaoServico( solicitacaoServicoDto.getIdSolicitacaoServico()); if (colOcorrencias != null && colOcorrencias.size() > 0) { final String str = listInfoRegExecucaoSolicitacao(colOcorrencias, request); request.setAttribute("strRegistrosExecucao", str); /** * Quantitativo de ocorrencia * * @author thays.araujo */ String quantidadeOcorrenciasStr = "0"; Integer quantidadeOcorrencias; quantidadeOcorrencias = colOcorrencias.size(); quantidadeOcorrenciasStr = String.valueOf(quantidadeOcorrencias); document.getElementById("quantidadeOcorrencias").setValue(quantidadeOcorrenciasStr); } carregaInformacoesComplementares(document, request, solicitacaoServicoDto); /** * Verifica o uso da vers�o free */ if (!br.com.citframework.util.Util.isVersionFree(request)) { final HTMLTable tblProblema = document.getTableById("tblProblema"); tblProblema.deleteAllRows(); if (solicitacaoServicoDto != null) { final ProblemaDTO problemadto = new ProblemaDTO(); problemadto.setIdSolicitacaoServico(solicitacaoServicoDto.getIdSolicitacaoServico()); final Collection col = getProblemaService().findByIdSolictacaoServico( problemadto.getIdSolicitacaoServico()); if (col != null) { tblProblema.addRowsByCollection(col, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idProblema"}, "Problema j� cadastrado!!", new String[] {"exibeIconesProblema"}, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblProblema', 'tblProblema');"); /** * Quantitativo de Problemas * * @author thays.araujo */ String quantidadeProblemaStr = "0"; Integer quantidadeProblema; quantidadeProblema = col.size(); quantidadeProblemaStr = String.valueOf(quantidadeProblema); document.getElementById("quantidadeProblema").setValue(quantidadeProblemaStr); } } final HTMLTable tblMudanca = document.getTableById("tblMudanca"); tblMudanca.deleteAllRows(); if (solicitacaoServicoDto != null) { final RequisicaoMudancaDTO requisicaoMudancaDTO = new RequisicaoMudancaDTO(); requisicaoMudancaDTO.setIdSolicitacaoServico(solicitacaoServicoDto.getIdSolicitacaoServico()); final Collection col = getRequisicaoMudancaService().findBySolictacaoServico(requisicaoMudancaDTO); if (col != null) { tblMudanca.addRowsByCollection(col, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idRequisicaoMudanca"}, "Mudan�a j� cadastrado!!", new String[] {"exibeIconesMudanca"}, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblMudanca', 'tblMudanca');"); /** * Quantitativo de Mudanca * * @author thays.araujo */ String quantidadeMudancaStr = "0"; Integer quantidadeMudanca; quantidadeMudanca = col.size(); quantidadeMudancaStr = String.valueOf(quantidadeMudanca); document.getElementById("quantidadeMudanca").setValue(quantidadeMudancaStr); } } final HTMLTable tblBaseConhecimento = document.getTableById("tblBaseConhecimento"); tblBaseConhecimento.deleteAllRows(); final ConhecimentoSolicitacaoDTO conhecimentoSolicitacaoDTO = new ConhecimentoSolicitacaoDTO(); conhecimentoSolicitacaoDTO.setIdSolicitacaoServico(solicitacaoServicoDto.getIdSolicitacaoServico()); final Collection colConhecimentoSolicitacao = getConhecimentoSolicitacaoService().findBySolictacaoServico( conhecimentoSolicitacaoDTO); if (colConhecimentoSolicitacao != null) { tblBaseConhecimento.addRowsByCollection(colConhecimentoSolicitacao, new String[] {"idBaseConhecimento", "titulo", ""}, new String[] {"idBaseConhecimento"}, UtilI18N.internacionaliza(request, "baseConhecimento.baseConhecimentoJaCadastrada"), new String[] {"exibeIconesBaseConhecimento"}, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblBaseConhecimento', 'tblBaseConhecimento');"); /** * Quantitativo de Base Conhecimento * * @author thays.araujo */ String quantidadeBaseConhecimentoStr = "0"; Integer quantidadeBaseConhecimento; quantidadeBaseConhecimento = colConhecimentoSolicitacao.size(); quantidadeBaseConhecimentoStr = String.valueOf(quantidadeBaseConhecimento); document.getElementById("quantidadeBaseConhecimento").setValue(quantidadeBaseConhecimentoStr); } final HTMLTable tblIC = document.getTableById("tblIC"); tblIC.deleteAllRows(); if (solicitacaoServicoDto != null) { final ItemCfgSolicitacaoServDTO itemCfgSolicitacaoServDTO = new ItemCfgSolicitacaoServDTO(); final Collection col = getItemCfgSolicitacaoServService().findByIdSolicitacaoServico( solicitacaoServicoDto.getIdSolicitacaoServico()); if (col != null) { for (final Iterator it = col.iterator(); it.hasNext();) { final ItemCfgSolicitacaoServDTO itemCfgSolicitacaoServAux = (ItemCfgSolicitacaoServDTO) it .next(); ItemConfiguracaoDTO itemConfiguracaoAux = new ItemConfiguracaoDTO(); itemConfiguracaoAux.setIdItemConfiguracao(itemCfgSolicitacaoServAux.getIdItemConfiguracao()); itemConfiguracaoAux = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore( itemConfiguracaoAux); if (itemConfiguracaoAux != null) { itemCfgSolicitacaoServAux.setIdentificacaoStatus(itemConfiguracaoAux .getIdentificacaoStatus()); } } } if (col != null) { tblIC.addRowsByCollection(col, new String[] {"idItemConfiguracao", "identificacao", "", ""}, new String[] {"idItemConfiguracao"}, "Item Configura��o j� cadastrado!!", new String[] {"exibeIconesIC"}, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblIC', 'tblIC');"); /** * Quantitativo de Item Configura��o * * @author thays.araujo */ String quantidadeItemConfiguracaoStr = "0"; Integer quantidadeItemConfiguracao; quantidadeItemConfiguracao = col.size(); quantidadeItemConfiguracaoStr = String.valueOf(quantidadeItemConfiguracao); document.getElementById("quantidadeItemConfiguracao").setValue(quantidadeItemConfiguracaoStr); } } } abrirListaDeSubSolicitacoes(document, request, response); /** * Quantitativo de Incidentes Relacionados * * @author thays.araujo */ setQuantitativoIncidentesRelacionados(document, request, response); final StringBuilder strEventos = new StringBuilder(); final Collection colEventsSolic = solicitacaoServicoEvtMonService.findByIdSolicitacao(solicitacaoServicoDto .getIdSolicitacaoServico()); if (colEventsSolic != null && colEventsSolic.size() > 0) { strEventos.append("<table border='1' width='100%'>"); for (final Iterator it = colEventsSolic.iterator(); it.hasNext();) { final SolicitacaoServicoEvtMonDTO solicitacaoServicoEvtMonDTO = (SolicitacaoServicoEvtMonDTO) it.next(); EventoMonitoramentoDTO eventoMonitoramentoDto = new EventoMonitoramentoDTO(); eventoMonitoramentoDto.setIdEventoMonitoramento(solicitacaoServicoEvtMonDTO.getIdEventoMonitoramento()); eventoMonitoramentoDto = (EventoMonitoramentoDTO) eventoMonitoramentoService .restore(eventoMonitoramentoDto); if (eventoMonitoramentoDto != null) { final Collection<EventoMonitConhecimentoDTO> colEventos = eventoMonitConhecimentoService .listByIdEventoMonitoramento(eventoMonitoramentoDto.getIdEventoMonitoramento()); Integer[] ids = null; if (colEventos != null && colEventos.size() > 0) { ids = new Integer[colEventos.size()]; int x = 0; for (final Object element : colEventos) { final EventoMonitConhecimentoDTO eventoMonitConhecimentoDTO = (EventoMonitConhecimentoDTO) element; ids[x] = eventoMonitConhecimentoDTO.getIdBaseConhecimento(); x++; } } final Collection colBasesConhec = baseConhecimentoService.listarBaseConhecimentoByIds(ids); final StringBuilder strBC = new StringBuilder(); if (colBasesConhec != null && colBasesConhec.size() > 0) { strBC.append("<table width='100%'>"); for (final Iterator itBC = colBasesConhec.iterator(); itBC.hasNext();) { final BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) itBC.next(); final String onclickStr = "onclick='abreConhecimento(\"" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/pages\", \"idBaseConhecimento=" + baseConhecimentoDto.getIdBaseConhecimento() + "\")'"; strBC.append("<tr>"); strBC.append("<td>"); strBC.append("<img style='cursor:pointer' src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/script.png' border='0' " + onclickStr + "/>"); strBC.append("</td>"); strBC.append("<td style='cursor:pointer' " + onclickStr + ">"); strBC.append("" + UtilStrings.retiraAspasApostrofe(baseConhecimentoDto.getTitulo())); strBC.append("</td>"); strBC.append("</tr>"); } strBC.append("</table>"); } strEventos.append("<tr>"); strEventos.append("<td style='background-color:yellow; border:1px solid red'>"); strEventos.append("<img src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/relampago.png' border='0'/>"); strEventos.append("</td>"); strEventos.append("<td style='background-color:yellow; border:1px solid red'>"); strEventos.append(UtilStrings.retiraAspasApostrofe(eventoMonitoramentoDto.getNomeEvento())); strEventos.append("</td>"); strEventos.append("<td style='background-color:yellow; border:1px solid red'>"); strEventos.append(UtilStrings.retiraAspasApostrofe(UtilStrings .nullToVazio(solicitacaoServicoEvtMonDTO.getNomeHost()))); strEventos.append("</td>"); strEventos.append("<td style='background-color:yellow; border:1px solid red'>"); strEventos.append(UtilStrings.retiraAspasApostrofe(UtilStrings .nullToVazio(solicitacaoServicoEvtMonDTO.getNomeService()))); strEventos.append("</td>"); strEventos.append("<td style='background-color:yellow; border:1px solid red'>"); strEventos.append(strBC.toString()); strEventos.append("</td>"); strEventos.append("</tr>"); } } strEventos.append("</table>"); } /* * Desenvolvedor: M�rio J�nior - Data: 23/10/2013 - Hor�rio: 16h00min - ID Citsmart: 122010 - Motivo/Coment�rio: Inser��o do t�tulo * da solicita��o, informa��o do frame de solicita��o */ final String tarefa = request.getParameter("idTarefa"); String responsavelAtual = ""; String tarefaAtual = ""; if (solicitacaoServicoDto.getIdTarefa() != null || tarefa != null) { ItemTrabalho itemTrabalho = null; if (solicitacaoServicoDto.getIdTarefa() != null) { itemTrabalho = solicitacaoServicoService.getItemTrabalho(solicitacaoServicoDto.getIdTarefa()); } else { final Integer idTarefaStr = Integer.parseInt(tarefa); itemTrabalho = solicitacaoServicoService.getItemTrabalho(idTarefaStr); } if (itemTrabalho != null) { tarefaAtual = itemTrabalho.getElementoFluxoDto().getNome(); if (itemTrabalho.getItemTrabalhoDto() != null) { if (itemTrabalho.getItemTrabalhoDto().getIdResponsavelAtual() != null) { UsuarioDTO usuarioDto = new UsuarioDTO(); usuarioDto.setIdUsuario(itemTrabalho.getItemTrabalhoDto().getIdResponsavelAtual()); usuarioDto = (UsuarioDTO) getUsuarioService().restore(usuarioDto); if (usuarioDto != null) { EmpregadoDTO empDto = new EmpregadoDTO(); empDto.setIdEmpregado(usuarioDto.getIdEmpregado()); empDto = (EmpregadoDTO) getEmpregadoService().restore(empDto); if (empDto != null) { responsavelAtual = empDto.getNome(); } } } } } } document.executeScript("informaNumeroSolicitacao(\"" + solicitacaoServicoDto.getIdSolicitacaoServico() + "\", \"" + UtilStrings.nullToVazio(responsavelAtual) + "\", \"" + UtilStrings.nullToVazio(tarefaAtual) + "\")"); document.executeScript("$('#tituloSolicitacao').removeClass('inativo')"); // Isto permite que nas classes herdadas, seja colocado o Bean no document. document.setBean(solicitacaoServicoDto); if (solicitacaoServicoDto.getObservacao() != null && !solicitacaoServicoDto.getObservacao().equals("")) { document.executeScript("setValorTextArea(\"#observacao\",'" + StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getObservacao()) + "', '" + (editar != null ? editar : 'S') + "')"); } if (solicitacaoServicoDto.getDescricao() != null && !solicitacaoServicoDto.getDescricao().equals("")) { document.executeScript("setValorTextArea(\"#descricao\",'" + StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getDescricao()) + "', '" + (editar != null ? editar : 'S') + "')"); } if (solicitacaoServicoDto.getDetalhamentoCausa() != null && !solicitacaoServicoDto.getDetalhamentoCausa().equals("")) { document.executeScript("setValorTextArea(\"#detalhamentoCausa\",'" + StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getDetalhamentoCausa()) + "', '" + (editar != null ? editar : 'S') + "')"); } if (solicitacaoServicoDto.getResposta() != null && !solicitacaoServicoDto.getResposta().equals("")) { document.executeScript("setValorTextArea(\"#resposta\",'" + StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getResposta()) + "', '" + (editar != null ? editar : 'S') + "')"); } if (solicitacaoServicoDto.getSolicitante().isEmpty()) { document.executeScript("validaCampoExecutanteNullparaVazio()"); } if (editar != null && editar.equals("N")) { document.executeScript("document.getElementById('divBotoes').style.display = 'none';"); } if (solicitacaoServicoDto.getEditar() == null) { solicitacaoServicoDto.setEditar("S"); } if (solicitacaoServicoDto.getEditar().equalsIgnoreCase("N")) { document.getTextBoxById("servicoBusca").setDisabled(true); } else { if (solicitacaoServicoDto.getReclassificar() == null || solicitacaoServicoDto.getReclassificar().equalsIgnoreCase("N")) { document.getTextBoxById("servicoBusca").setDisabled(true); } } if (solicitacaoServicoDto.getIdSolicitacaoServico() != null) { renderizaHistoricoSolicitacoesEmAndamentoUsuario(document, request, response); carregaBaseConhecimentoAssoc(document, request, response); } solicitacaoServicoDto = null; } public void verificaGrupoExecutor(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getIdContrato() == null || solicitacaoServicoDto.getIdContrato().intValue() == 0) { solicitacaoServicoDto.setIdContrato(contratoDtoAux.getIdContrato()); } String COLABORADORES_VINC_CONTRATOS = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.COLABORADORES_VINC_CONTRATOS, "N"); if (COLABORADORES_VINC_CONTRATOS == null) { COLABORADORES_VINC_CONTRATOS = "N"; } if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) { final HTMLSelect idGrupoAtual = document.getSelectById("idGrupoAtual"); idGrupoAtual.removeAllOptions(); idGrupoAtual.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); final Collection colGrupos = getGrupoService().listGruposServiceDeskByIdContrato( solicitacaoServicoDto.getIdContrato()); if (colGrupos != null) { idGrupoAtual.addOptions(colGrupos, "idGrupo", "nome", null); } } verificaGrupoExecutorInterno(document, solicitacaoServicoDto); solicitacaoServicoDto = null; } public void verificaGrupoExecutorInterno(final DocumentHTML document, final SolicitacaoServicoDTO solicitacaoServicoDto) throws Exception { if (solicitacaoServicoDto.getIdServico() == null || solicitacaoServicoDto.getIdContrato() == null) { return; } final ServicoContratoDTO servicoContratoDto = getServicoContratoService().findByIdContratoAndIdServico( solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdServico()); if (servicoContratoDto != null && servicoContratoDto.getIdGrupoExecutor() != null) { document.getElementById("idGrupoAtual").setValue("" + servicoContratoDto.getIdGrupoExecutor()); } else { document.getElementById("idGrupoAtual").setValue(""); } } public void carregarModalDuplicarSolicitacao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); String situacao; if (solicitacaoServicoDto != null && solicitacaoServicoDto.getSituacao() != null) { situacao = solicitacaoServicoDto.getSituacao(); } else { situacao = ""; } Integer idGrupoAtual; if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdGrupoAtual() != null) { idGrupoAtual = solicitacaoServicoDto.getIdGrupoAtual(); } else { idGrupoAtual = -1; } solicitacaoServicoDto = (SolicitacaoServicoDTO) getSolicitacaoServicoService().restore(solicitacaoServicoDto); ServicoContratoDTO servicoContratoDto = new ServicoContratoDTO(); servicoContratoDto.setIdServicoContrato(solicitacaoServicoDto.getIdServicoContrato()); servicoContratoDto = (ServicoContratoDTO) getServicoContratoService().restore(servicoContratoDto); solicitacaoServicoDto.setIdContrato(servicoContratoDto.getIdContrato()); document.getElementById("idContrato").setValue(solicitacaoServicoDto.getIdContrato().toString()); final HTMLForm formSolicitacaoServico = document.getForm("formInformacoesContato"); formSolicitacaoServico.setValues(solicitacaoServicoDto); preencherComboOrigem(document, request, response); StringBuilder objeto; if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) { objeto = new StringBuilder(); objeto.append("<label class='strong campoObrigatorio'>"); objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade")); objeto.append("</label>"); objeto.append("<input type='text' name='unidadeDes' id='unidadeDes' style='width: 100%;' onkeypress='onkeypressUnidadeDes();' onfocus='montaParametrosAutocompleteUnidade();'>"); objeto.append("<input type='hidden' name='idUnidade' id='idUnidade' value='0'/>"); document.getElementById("divUnidade").setInnerHTML(objeto.toString()); document.executeScript("geraAutoComplete()"); } else { objeto = new StringBuilder(); objeto.append("<label class='strong campoObrigatorio'>"); objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade")); objeto.append("</label>"); objeto.append("<select class='span12' name='idUnidade' id='idUnidade' required='required' onchange='document.formInformacoesContato.fireEvent(\"preencherComboLocalidade\");'></select>"); document.getElementById("divUnidade").setInnerHTML(objeto.toString()); } carregaUnidade(document, request, response); preencherComboLocalidade(document, request, response); /* * Rodrigo Pecci Acorse - 03/12/2013 14h40 - #126139 Ao setar o DTO da solicita��o de servi�os, a situa��o e grupo executor do * filtro estava sendo preenchida indevidamente. As linhas abaixo * preenchem os selects com os valores corretos. */ document.executeScript("$('#situacao').find('option[value=\"" + situacao + "\"]').attr(\"selected\",true);"); document.executeScript("$('#idGrupoAtual').find('option[value=\"" + idGrupoAtual + "\"]').attr(\"selected\",true);"); solicitacaoServicoDto = null; servicoContratoDto = null; } public void duplicarSolicitacao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { SolicitacaoServicoDTO novaSolicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); UsuarioDTO usuarioDto = new UsuarioDTO(); usuarioDto = WebUtil.getUsuario(request); SolicitacaoServicoDTO solicitacaoServicoOrigem = new SolicitacaoServicoDTO(); ServicoContratoDTO servicoContratoDto = new ServicoContratoDTO(); solicitacaoServicoOrigem.setIdSolicitacaoServico(novaSolicitacaoServicoDto.getIdSolicitacaoServico()); solicitacaoServicoOrigem = (SolicitacaoServicoDTO) getSolicitacaoServicoService().restore( solicitacaoServicoOrigem); servicoContratoDto.setIdServicoContrato(solicitacaoServicoOrigem.getIdServicoContrato()); servicoContratoDto = (ServicoContratoDTO) getServicoContratoService().restore(servicoContratoDto); novaSolicitacaoServicoDto.setIdSolicitacaoServico(null); novaSolicitacaoServicoDto.setIdSolicitacaoPai(solicitacaoServicoOrigem.getIdSolicitacaoServico()); novaSolicitacaoServicoDto.setIdContatoSolicitacaoServico(null); novaSolicitacaoServicoDto.setIdServico(servicoContratoDto.getIdServico()); novaSolicitacaoServicoDto.setUsuarioDto(usuarioDto); novaSolicitacaoServicoDto.setDescricao(solicitacaoServicoOrigem.getDescricao()); novaSolicitacaoServicoDto.setSituacao(solicitacaoServicoOrigem.getSituacao()); novaSolicitacaoServicoDto.setRegistroexecucao(""); novaSolicitacaoServicoDto.setEnviaEmailCriacao("S"); novaSolicitacaoServicoDto = (SolicitacaoServicoDTO) getSolicitacaoServicoService().create( novaSolicitacaoServicoDto); document.alert(UtilI18N.internacionaliza(request, "gerenciaservico.duplicadacomsucesso")); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.executeScript("parent.refreshTelaGerenciamento()"); novaSolicitacaoServicoDto = null; solicitacaoServicoOrigem = null; servicoContratoDto = null; } public void restauraSolicitante(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); EmpregadoDTO empregadoDto = new EmpregadoDTO(); empregadoDto.setIdEmpregado(solicitacaoServicoDto.getIdSolicitante()); empregadoDto = (EmpregadoDTO) getEmpregadoService().restore(empregadoDto); if (empregadoDto != null) { solicitacaoServicoDto.setSolicitante(empregadoDto.getNome()); solicitacaoServicoDto.setNomecontato(empregadoDto.getNome()); solicitacaoServicoDto.setTelefonecontato(empregadoDto.getTelefone()); solicitacaoServicoDto.setEmailcontato(empregadoDto.getEmail()); solicitacaoServicoDto.setIdUnidade(empregadoDto.getIdUnidade()); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoDto.getIdUnidade() != null) { solicitacaoServicoDto.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoDto.getIdUnidade())); } preencherComboLocalidade(document, request, response); } UsuarioDTO usuarioDto = new UsuarioDTO(); if (empregadoDto != null) { usuarioDto = getUsuarioService().restoreByIdEmpregado(empregadoDto.getIdEmpregado()); } if (usuarioDto != null) { final String login = usuarioDto.getLogin(); final SolicitacaoServicoDTO solicitacaoServicoComItemConfiguracaoDoSolicitante = solicitacaoServicoService .retornaSolicitacaoServicoComItemConfiguracaoDoSolicitante(login); if (solicitacaoServicoComItemConfiguracaoDoSolicitante != null) { solicitacaoServicoDto.setIdItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getIdItemConfiguracao()); solicitacaoServicoDto.setItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getItemConfiguracao()); document.executeScript("exibeCampos()"); } } final HTMLForm formSolicitacaoServico = document.getForm("formInformacoesContato"); formSolicitacaoServico.setValues(solicitacaoServicoDto); document.executeScript("fecharPopup(\"#POPUP_SOLICITANTE\")"); solicitacaoServicoDto = null; } public void restoreSolicitante(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); EmpregadoDTO empregadoDto = new EmpregadoDTO(); empregadoDto.setIdEmpregado(solicitacaoServicoDto.getIdSolicitante()); empregadoDto = (EmpregadoDTO) getEmpregadoService().restore(empregadoDto); if (empregadoDto != null) { solicitacaoServicoDto.setNomeSolicitante(empregadoDto.getNome()); solicitacaoServicoDto.setNomecontato(empregadoDto.getNome()); solicitacaoServicoDto.setTelefonecontato(empregadoDto.getTelefone()); solicitacaoServicoDto.setEmailcontato(empregadoDto.getEmail()); solicitacaoServicoDto.setIdUnidade(empregadoDto.getIdUnidade()); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoDto.getIdUnidade() != null) { solicitacaoServicoDto.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoDto.getIdUnidade())); } } UsuarioDTO usuarioDto = new UsuarioDTO(); if (empregadoDto != null) { usuarioDto = getUsuarioService().restoreByIdEmpregado(empregadoDto.getIdEmpregado()); } if (usuarioDto != null) { final String login = usuarioDto.getLogin(); final SolicitacaoServicoDTO solicitacaoServicoComItemConfiguracaoDoSolicitante = solicitacaoServicoService .retornaSolicitacaoServicoComItemConfiguracaoDoSolicitante(login); if (solicitacaoServicoComItemConfiguracaoDoSolicitante != null) { solicitacaoServicoDto.setIdItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getIdItemConfiguracao()); solicitacaoServicoDto.setItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getItemConfiguracao()); } } final HTMLForm formSolicitacaoServico = document.getForm("formInformacoesContato"); formSolicitacaoServico.setValues(solicitacaoServicoDto); document.executeScript("fecharPopup(\"#POPUP_SOLICITANTE\")"); document.executeScript("setDataEditor()"); // verifica se tem historico para mostrar botao de historico final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario( solicitacaoServicoDto.getIdSolicitante(), null); if (resumo == null || resumo.size() <= 0) { document.executeScript("escondeMostraDiv('btHistoricoSolicitante', 'none')"); } else { document.executeScript("escondeMostraDiv('btHistoricoSolicitante', 'inline')"); } resumo = solicitacaoService.findSolicitacoesServicosUsuario(solicitacaoServicoDto.getIdSolicitante(), null, null); if (resumo == null || resumo.size() <= 0) { document.executeScript("escondeMostraDiv('btHistoricoSolicitanteEmAndamento', 'none')"); } else { document.executeScript("escondeMostraDiv('btHistoricoSolicitanteEmAndamento', 'inline')"); } solicitacaoServicoDto = null; } private void carregaComboOrigem(final DocumentHTML document, final HttpServletRequest request) throws ServiceException, Exception, LogicException { final HTMLSelect origem = document.getSelectById("idOrigem"); origem.removeAllOptions(); inicializarCombo(origem, request); final Collection listOrigem = getOrigemAtendimentoService().list(); if (listOrigem != null) { origem.addOptions(listOrigem, "idOrigem", "descricao", null); } } public void preenchePorEmail(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); EmpregadoDTO empregadoDTO = new EmpregadoDTO(); empregadoDTO = getEmpregadoService().listEmpregadoContrato(solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getEmailcontato()); if (empregadoDTO != null) { document.getElementById("idSolicitante").setValue(empregadoDTO.getIdEmpregado().toString()); document.getElementById("nomecontato").setValue(empregadoDTO.getNome()); document.getElementById("telefonecontato").setValue(empregadoDTO.getTelefone()); document.getElementById("idUnidade").setValue( Util.tratarAspasSimples(empregadoDTO.getIdUnidade().toString())); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && empregadoDTO.getIdUnidade() != null) { document.getElementById("unidadeDes").setValue( Util.tratarAspasSimples(unidadeService.retornaNomeUnidadeByID(empregadoDTO.getIdUnidade()))); } document.getElementById("solicitante").setValue(empregadoDTO.getNome()); document.getElementById("idOrigem").setValue("3"); } else { document.getElementById("emailcontato").setValue(""); } document.executeScript("$('#modal_leituraEmails').modal('hide');"); solicitacaoServicoDto = null; empregadoDTO = null; } public void calculaSLA(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { String sla = ""; try { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getIdContrato() == null || solicitacaoServicoDto.getIdContrato().intValue() == 0) { throw new LogicException("Contrato n�o encontrado"); } if (solicitacaoServicoDto.getIdServico() == null || solicitacaoServicoDto.getIdServico().intValue() == 0) { throw new LogicException("Servi�o n�o encontrado"); } sla = getSolicitacaoServicoService().calculaSLA(solicitacaoServicoDto, request); if (sla.equals("")) { sla = "N/A"; } document.executeScript("stopLoading();"); document.executeScript("$('#tdResultadoSLAPrevisto').text('" + sla + "');"); document.executeScript("$('#tdResultadoSLAPrevisto').css('display','block)'"); } catch (final Exception e) { e.printStackTrace(); document.executeScript("stopLoading()"); if (sla.equals("")) { sla = "N/A"; } document.executeScript("document.getElementById('tdResultadoSLAPrevisto').innerHTML = '" + sla + "';"); } } public void atualizaGridProblema(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO bean = (SolicitacaoServicoDTO) document.getBean(); ProblemaDTO problemaDTO = new ProblemaDTO(); problemaDTO.setIdProblema(bean.getIdProblema()); problemaDTO = (ProblemaDTO) getProblemaService().restore(problemaDTO); if (problemaDTO == null) { return; } final HTMLTable tblProblema = document.getTableById("tblProblema"); if (problemaDTO.getSequenciaProblema() == null) { tblProblema.addRow(problemaDTO, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idProblema"}, "Problema j� cadastrado!!", new String[] {"exibeIconesProblema"}, null, null); } else { tblProblema.updateRow(problemaDTO, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idProblema"}, "Problema j� cadastrado!!", new String[] {"exibeIconesProblema"}, "buscaProblema", null, problemaDTO.getSequenciaProblema()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblProblema', 'tblProblema');"); document.executeScript("fecharModalProblema();"); bean = null; } public void atualizaGridMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO bean = (SolicitacaoServicoDTO) document.getBean(); RequisicaoMudancaDTO requisicaoMudancaDTO = new RequisicaoMudancaDTO(); requisicaoMudancaDTO.setIdRequisicaoMudanca(bean.getIdRequisicaoMudanca()); requisicaoMudancaDTO = (RequisicaoMudancaDTO) getRequisicaoMudancaService().restore(requisicaoMudancaDTO); final HTMLTable tblMudanca = document.getTableById("tblMudanca"); if (requisicaoMudancaDTO.getSequenciaMudanca() == null) { tblMudanca.addRow(requisicaoMudancaDTO, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idRequisicaoMudanca"}, "Mudan�a j� cadastrado!!", new String[] {"exibeIconesMudanca"}, null, null); } else { tblMudanca.updateRow(requisicaoMudancaDTO, new String[] {"numberAndTitulo", "status", ""}, new String[] {"idRequisicaoMudanca"}, "Mudan�a j� cadastrado!!", new String[] {"exibeIconesMudanca"}, "buscaMudanca", null, requisicaoMudancaDTO.getSequenciaMudanca()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblMudanca', 'tblMudanca');"); document.executeScript("fecharModalMudanca();"); bean = null; } public void atualizaGridBaseConhecimento(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDTO = (SolicitacaoServicoDTO) document.getBean(); BaseConhecimentoDTO baseConhecimentoDTO = new BaseConhecimentoDTO(); if (solicitacaoServicoDTO.getIdItemBaseConhecimento() != null) { baseConhecimentoDTO.setIdBaseConhecimento(solicitacaoServicoDTO.getIdItemBaseConhecimento()); baseConhecimentoDTO = (BaseConhecimentoDTO) getBaseConhecimentoService().restore(baseConhecimentoDTO); final HTMLTable tblBaseConhecimento = document.getTableById("tblBaseConhecimento"); if (baseConhecimentoDTO.getSequenciaBaseConhecimento() == null) { tblBaseConhecimento.addRow(baseConhecimentoDTO, new String[] {"idBaseConhecimento", "titulo", ""}, new String[] {"idBaseConhecimento"}, UtilI18N.internacionaliza(request, "baseConhecimento.baseConhecimentoJaCadastrada"), new String[] {"exibeIconesBaseConhecimento"}, null, null); } else { tblBaseConhecimento.updateRow(baseConhecimentoDTO, new String[] {"idBaseConhecimento", "titulo", ""}, new String[] {"idBaseConhecimento"}, UtilI18N.internacionaliza(request, "baseConhecimento.baseConhecimentoJaCadastrada"), new String[] {"exibeIconesBaseConhecimento"}, null, null, baseConhecimentoDTO.getSequenciaBaseConhecimento()); } document.executeScript("setQuantitativoBaseConhecimento()"); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblBaseConhecimento', 'tblBaseConhecimento');"); document.executeScript("fecharBaseConhecimento();"); } } public void atualizaGridItemConfiguracao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDTO = (SolicitacaoServicoDTO) document.getBean(); ItemConfiguracaoDTO itemConfiguracaoDTO = new ItemConfiguracaoDTO(); if (solicitacaoServicoDTO.getIdItemBaseConhecimento() != null) { itemConfiguracaoDTO.setIdItemConfiguracao(solicitacaoServicoDTO.getIdItemBaseConhecimento()); itemConfiguracaoDTO = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore(itemConfiguracaoDTO); final HTMLTable tblBaseConhecimento = document.getTableById("tblIC"); if (itemConfiguracaoDTO.getSequenciaIC() == null) { tblBaseConhecimento.addRow(itemConfiguracaoDTO, new String[] {"idItemConfiguracao", "descricao", "", ""}, new String[] {"idItemConfiguracao"}, "Item Configura��o j� cadastrado!!", new String[] {"exibeIconesMudanca"}, "abreItemConfiguracao", null); } else { tblBaseConhecimento.updateRow(itemConfiguracaoDTO, new String[] {"idItemConfiguracao", "descricao", "", ""}, new String[] {"idBaseConhecimento"}, UtilI18N.internacionaliza(request, "baseConhecimento.baseConhecimentoJaCadastrada"), new String[] {"exibeIconesBaseConhecimento"}, null, null, itemConfiguracaoDTO.getSequenciaIC()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblIC', 'tblIC');"); document.executeScript("fecharModalItemConfiguracao();"); } } public void carregaInformacoesComplementares(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); carregaInformacoesComplementares(document, request, solicitacaoServicoDto); solicitacaoServicoDto = null; } private boolean validaPermissoesDoTemplate(final DocumentHTML document, final HttpServletRequest request, final SolicitacaoServicoDTO solicitacaoServicoDto, final String urlTemplate) throws ServiceException { boolean validacao = true; if (urlTemplate.contains("/requisicaoPessoal.load")) { try { if (!getSolicitacaoServicoService().verificaPermGestorSolicitanteRH( solicitacaoServicoDto.getIdSolicitante())) { validacao = false; document.alert(UtilI18N.internacionaliza(request, "requisicaoPessoal.somenteGestoresSupDirPodemAbrirReqPessoal")); document.executeScript("limparServico();"); } } catch (final PersistenceException e) { validacao = false; e.printStackTrace(); } } return validacao; } private void carregaInformacoesComplementares(final DocumentHTML document, final HttpServletRequest request, final SolicitacaoServicoDTO solicitacaoServicoDto) throws Exception { document.executeScript("document.getElementById('flagGrupo').value = 1;"); document.executeScript("document.getElementById('divGrupoAtual').style.display = 'block';"); document.executeScript("document.getElementById('divSituacao').style.display = 'block';"); document.executeScript("document.getElementById('solucao').style.display = 'block';"); document.executeScript("document.getElementById('divUrgencia').style.display = 'block';"); document.executeScript("document.getElementById('divImpacto').style.display = 'block';"); document.executeScript("document.getElementById('divNotificacaoEmail').style.display = 'block';"); document.executeScript("document.getElementById('divProblema').style.display = 'block';"); document.executeScript("document.getElementById('divMudanca').style.display = 'block';"); document.executeScript("document.getElementById('divItemConfiguracao').style.display = 'block';"); document.executeScript("document.getElementById('col4').style.display = 'block';"); final TemplateSolicitacaoServicoService templateService = (TemplateSolicitacaoServicoService) ServiceLocator .getInstance().getService(TemplateSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); ServicoContratoDTO servicoContrato = null; // Valida permissoes do template if (validaPermissoesDoTemplate(document, request, solicitacaoServicoDto, getSolicitacaoServicoService() .getUrlInformacoesComplementares(solicitacaoServicoDto))) { request.getSession().setAttribute("idSolicitante", solicitacaoServicoDto.getIdSolicitante()); document.executeScript("exibirInformacoesComplementares(\"" + solicitacaoServicoService.getUrlInformacoesComplementares(solicitacaoServicoDto) + "\");"); // Inclu�do, quando question�rio for recarregado. document.executeScript("incluiInfoComplSeQuestionario(\"" + solicitacaoServicoService.getUrlInformacoesComplementares(solicitacaoServicoDto) + "\");"); final TemplateSolicitacaoServicoDTO templateDto = templateService .recuperaTemplateServico(solicitacaoServicoDto); if (templateDto != null) { carregaInformacoesComplementaresTemplate(document, request, templateDto, solicitacaoServicoDto); } final String exandiTelaPadrao = (String) request.getSession().getAttribute("expandiuTela"); /** * @author david.silva - data 25/06/2014 ajustarTelaPadraoTemplate() - responsavel por expandir a tela de Solicita��o de * Servi�o. * * Altera��o mario.haysaki inser��o de flag para tela de expandir tela. */ if (solicitacaoServicoDto.getIdContrato() != null && solicitacaoServicoDto.getIdServico() != null) { servicoContrato = getServicoContratoService().findByIdContratoAndIdServico( solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdServico()); if (servicoContrato != null && servicoContrato.getExpandir() != null && servicoContrato.getExpandir().equalsIgnoreCase("S")) { document.executeScript("ajustarTelaPadraoTemplate();"); request.getSession().setAttribute("expandiuTela", "S"); } else if (exandiTelaPadrao != null && exandiTelaPadrao.equals("S")) { document.executeScript("ajustarTelaPadraoCitsmart()"); request.getSession().setAttribute("expandiuTela", null); } } } } /** * @author david.silva * * Separa��o do codigo que cuida da gera��o do template, para um metodo expecifico. */ private void carregaInformacoesComplementaresTemplate(final DocumentHTML document, final HttpServletRequest request, final TemplateSolicitacaoServicoDTO templateDto, final SolicitacaoServicoDTO solicitacaoServicoDto) { ServicoContratoDTO servicoContrato = null; try { servicoContrato = getServicoContratoService().findByIdContratoAndIdServico( solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdServico()); } catch (final Exception e) { e.printStackTrace(); } if (templateDto.getScriptAposRecuperacao() != null && !StringUtils.isBlank(templateDto.getScriptAposRecuperacao())) { document.executeScript(templateDto.getScriptAposRecuperacao()); } if (!templateDto.getHabilitaDirecionamento().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('flagGrupo').value = 0;"); document.executeScript("document.getElementById('divGrupoAtual').style.display = 'none';"); } if (!templateDto.getHabilitaSituacao().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divSituacao').style.display = 'none';"); } if (!templateDto.getHabilitaSolucao().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('solucao').style.display = 'none';"); } if (!templateDto.getHabilitaUrgenciaImpacto().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divUrgencia').style.display = 'none';"); document.executeScript("document.getElementById('divImpacto').style.display = 'none';"); } if (!templateDto.getHabilitaNotificacaoEmail().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divNotificacaoEmail').style.display = 'none';"); } if (!templateDto.getHabilitaProblema().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divProblema').style.display = 'none';"); } if (!templateDto.getHabilitaMudanca().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divMudanca').style.display = 'none';"); } if (!templateDto.getHabilitaItemConfiguracao().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('divItemConfiguracao').style.display = 'none';"); } if (!templateDto.getHabilitaSolicitacaoRelacionada().equalsIgnoreCase("S")) { if (request.getAttribute("tarefaAssociada") != null && !((String) request.getAttribute("tarefaAssociada")).equalsIgnoreCase("N")) { document.executeScript("document.getElementById('liIncidentesRelacionados').style.display = 'none';"); } } if (!templateDto.getHabilitaGravarEContinuar().equalsIgnoreCase("S") && solicitacaoServicoDto.getIdTarefa() != null) { document.executeScript("document.getElementById('btnGravarEContinuar').style.display = 'none';"); } /* * Desenvolvedor: Riubbe Oliveira - Data: 08/11/2013 - Hor�rio: 17:39 - ID Citsmart: 123538 Motivo/Coment�rio: Esta parte do codigo * estava sendo comentada, isso nao deve ser feito. � nesse * momento que � carregado a informa��o da altura do template, se estiver tendo problema com a altura da sua template entre no * sistema e altera o tamanho por l�. */ if (templateDto.getAlturaDiv() != null) { document.executeScript("document.getElementById('divInformacoesComplementares').style.height = '" + templateDto.getAlturaDiv().intValue() + "px';"); } if (!templateDto.getHabilitaSituacao().equalsIgnoreCase("S") && !templateDto.getHabilitaSolucao().equalsIgnoreCase("S")) { document.executeScript("document.getElementById('col4').style.display = 'none';"); } } public void trataTemplatesViagens(final TemplateSolicitacaoServicoDTO templateDto, final SolicitacaoServicoDTO solicitacaoServicoDto, final HttpServletRequest request, final DocumentHTML document) { final UsuarioDTO usuario = WebUtil.getUsuario(request); if (templateDto != null && templateDto.getIdentificacao() != null && (templateDto.getIdentificacao().equalsIgnoreCase("ControleFinanceiroViagem") || templateDto.getIdentificacao().equalsIgnoreCase("AdiantamentoViagem") || templateDto.getIdentificacao().equalsIgnoreCase("AlteracaoRequisicaoViagem") || templateDto.getIdentificacao().equalsIgnoreCase("ExecComprasViagem") || templateDto .getIdentificacao().equalsIgnoreCase("AutorizacaoViagem"))) { // regra: permite que o usu�rio solicitante cancele a solicita��o durante essas fases do fluxo // mas o usu�rio n�o pode marcar a solicita��o como resolvida document.executeScript("document.getElementById('col4').style.display = 'block';"); document.executeScript("document.getElementById('divSituacao').style.display = 'block';"); document.executeScript("document.getElementById('radioResolvida').disabled=true;"); } } public void pesquisaBaseConhecimento(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto.setTermoPesquisa(solicitacaoServicoDto.getDescricaoSemFormatacao()); final UsuarioDTO usuario = WebUtil.getUsuario(request); List<BaseConhecimentoDTO> listaPesquisaBaseConhecimento = null; if ((baseConhecimentoDto.getTermoPesquisa() == null || baseConhecimentoDto.getTermoPesquisa().trim() .equalsIgnoreCase("")) && baseConhecimentoDto.getIdUsuarioAutorPesquisa() == null && baseConhecimentoDto.getIdUsuarioAprovadorPesquisa() == null && baseConhecimentoDto.getDataInicioPesquisa() == null && baseConhecimentoDto.getDataPublicacaoPesquisa() == null && (baseConhecimentoDto.getTermoPesquisaNota() == null || baseConhecimentoDto.getTermoPesquisaNota() .equalsIgnoreCase(""))) { document.alert("Informe um termo para pesquisa"); return; } else { document.executeScript("$('#modal_pesquisaSolucaoBaseConhecimento').modal('show')"); final Lucene lucene = new Lucene(); listaPesquisaBaseConhecimento = lucene.pesquisaBaseConhecimento(baseConhecimentoDto); } final StringBuilder TabelaDados = new StringBuilder("<table>"); final CompararBaseConhecimentoGrauImportancia comparaGrauDeImportancia = new CompararBaseConhecimentoGrauImportancia(); if (listaPesquisaBaseConhecimento != null && !listaPesquisaBaseConhecimento.isEmpty()) { for (final BaseConhecimentoDTO baseConhecimentoDTO : listaPesquisaBaseConhecimento) { if (baseConhecimentoDTO != null && baseConhecimentoDTO.getIdPasta() != null) { if (baseConhecimentoDTO != null) { if (getBaseConhecimentoService() .obterGrauDeImportanciaParaUsuario(baseConhecimentoDTO, usuario) != null) { final Integer grauImportancia = getBaseConhecimentoService() .obterGrauDeImportanciaParaUsuario(baseConhecimentoDTO, usuario); baseConhecimentoDTO.setGrauImportancia(grauImportancia); } } } } Collections.sort(listaPesquisaBaseConhecimento, comparaGrauDeImportancia); for (final BaseConhecimentoDTO dto : listaPesquisaBaseConhecimento) { final Integer importancia = dto.getGrauImportancia(); String titulo = UtilStrings.nullToVazio(dto.getTitulo()); titulo = titulo.replaceAll("\"", ""); titulo = titulo.replaceAll("/", ""); TabelaDados.append("<ul>"); TabelaDados.append("<tr style='height: 25px !important;'>"); TabelaDados .append("<td style='FONT-WEIGHT: bold; FONT-SIZE: small; FONT-FAMILY: Arial; width: 422px;'>"); TabelaDados.append("<li>"); TabelaDados.append("<a href='#' onclick='contadorClicks(" + dto.getIdBaseConhecimento() + ");abreVISBASECONHECIMENTO(" + dto.getIdBaseConhecimento() + ");'>"); TabelaDados.append(titulo + getGrauImportancia(request, importancia) + "</a>"); TabelaDados.append("</li>"); TabelaDados.append("</td>"); TabelaDados.append("</tr>"); TabelaDados.append("</ul>"); } } else { TabelaDados.append("<tr style='height: 25px !important;'>"); TabelaDados .append("<td style='FONT-WEIGHT: bold; FONT-SIZE: small; FONT-FAMILY: 'Arial'; width : 422px;'>"); TabelaDados.append("<label> " + UtilI18N.internacionaliza(request, "citcorpore.comum.resultado") + "</label>"); TabelaDados.append("</td>"); TabelaDados.append("</tr>"); } TabelaDados.append("</table>"); document.getElementById("resultPesquisa").setInnerHTML(TabelaDados.toString()); document.getElementById("modal_pesquisaSolucaoBaseConhecimento").setVisible(true); } public void contadorDeClicks(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final UsuarioDTO usuario = WebUtil.getUsuario(request); BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto.setIdBaseConhecimento(solicitacaoServicoDto.getIdBaseConhecimento()); baseConhecimentoDto = (BaseConhecimentoDTO) getBaseConhecimentoService().restore(baseConhecimentoDto); final ContadorAcessoDTO contadorAcessoDto = new ContadorAcessoDTO(); if (contadorAcessoDto.getIdContadorAcesso() == null) { contadorAcessoDto.setIdUsuario(usuario.getIdUsuario()); contadorAcessoDto.setIdBaseConhecimento(baseConhecimentoDto.getIdBaseConhecimento()); contadorAcessoDto.setDataHoraAcesso(UtilDatas.getDataHoraAtual()); contadorAcessoDto.setContadorAcesso(1); if (getContadorAcessoService().verificarDataHoraDoContadorDeAcesso(contadorAcessoDto)) { getContadorAcessoService().create(contadorAcessoDto); // Avalia��o - M�dia da nota dada pelos usu�rios final Double media = getBaseConhecimentoService().calcularNota( baseConhecimentoDto.getIdBaseConhecimento()); if (media != null) { baseConhecimentoDto.setMedia(media.toString()); } else { baseConhecimentoDto.setMedia(null); } // Qtde de cliques final Integer quantidadeDeCliques = getContadorAcessoService().quantidadesDeAcessoPorBaseConhecimnto( baseConhecimentoDto); if (quantidadeDeCliques != null) { baseConhecimentoDto.setContadorCliques(quantidadeDeCliques); } else { baseConhecimentoDto.setContadorCliques(0); } final Lucene lucene = new Lucene(); lucene.indexarBaseConhecimento(baseConhecimentoDto); } } } /** * Alterado por desenvolvedor: rcs (Rafael C�sar Soyer) data: 09/01/2015 * * @param document * @param request * @param response * @throws Exception */ public void listarServicosPorContratoDemandaCategoria(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final HTMLTable tblListaServicos = document.getTableById("tblListaServicos"); tblListaServicos.deleteAllRows(); final Collection<ServicoDTO> colServicos = getServicoService().findByIdTipoDemandaAndIdContrato( solicitacaoServicoDto.getIdTipoDemandaServico(), solicitacaoServicoDto.getIdContrato(), solicitacaoServicoDto.getIdCategoriaServico()); if (colServicos != null && !colServicos.isEmpty()) { tblListaServicos.addRowsByCollection(colServicos, new String[] {"idServico", "nomeServico"}, null, null, null, "selecionarServico", null); document.executeScript("$('#modal_infoServicos').modal('show')"); } else { if (solicitacaoServicoDto.getIdCategoriaServico() == null) { document.alert(UtilI18N.internacionaliza(request, "solicitacaoServico.semServicoParaTipoSolicitacaoContrato")); } else { document.alert(UtilI18N.internacionaliza(request, "solicitacaoServico.semServicoParaTipoSolicitacaoContratoCategoriaServico")); } } document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); } public void preencherComboOrigem(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final HTMLSelect selectOrigem = document.getSelectById("idOrigem"); selectOrigem.removeAllOptions(); final ArrayList<OrigemAtendimentoDTO> todasOrigens = (ArrayList) getOrigemAtendimentoService().list(); final ArrayList<OrigemAtendimentoDTO> origensNaoExcluidas = new ArrayList<OrigemAtendimentoDTO>(); final String origemPadrao = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.ORIGEM_PADRAO, ""); selectOrigem.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (todasOrigens != null) { for (final OrigemAtendimentoDTO origemAtendimento : todasOrigens) { if (origemAtendimento.getDataFim() == null) { origensNaoExcluidas.add(origemAtendimento); } } selectOrigem.addOptions(origensNaoExcluidas, "idOrigem", "descricao", origemPadrao); } } /** * Preenche a combo Localidade. * * @param document * @param request * @param response * @throws Exception * @author thays.araujo */ public void preencherComboLocalidade(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); LocalidadeDTO localidadeDto = new LocalidadeDTO(); Collection<LocalidadeUnidadeDTO> listaIdlocalidadePorUnidade = null; Collection<LocalidadeDTO> listaIdlocalidade = null; final String TIRAR_VINCULO_LOCALIDADE_UNIDADE = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.TIRAR_VINCULO_LOCALIDADE_UNIDADE, "N"); final HTMLSelect comboLocalidade = document.getSelectById("idLocalidade"); comboLocalidade.removeAllOptions(); if (TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("N") || TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("")) { if (solicitacaoServicoDto.getIdUnidade() != null) { listaIdlocalidadePorUnidade = getLocalidadeUnidadeService().listaIdLocalidades( solicitacaoServicoDto.getIdUnidade()); } if (listaIdlocalidadePorUnidade != null) { inicializarComboLocalidade(comboLocalidade, request); for (final LocalidadeUnidadeDTO localidadeUnidadeDto : listaIdlocalidadePorUnidade) { localidadeDto.setIdLocalidade(localidadeUnidadeDto.getIdLocalidade()); localidadeDto = (LocalidadeDTO) getLocalidadeService().restore(localidadeDto); comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), localidadeDto.getNomeLocalidade()); } } } else { listaIdlocalidade = getLocalidadeService().listLocalidade(); if (listaIdlocalidade != null) { inicializarComboLocalidade(comboLocalidade, request); for (final LocalidadeDTO localidadeDTO : listaIdlocalidade) { localidadeDto.setIdLocalidade(localidadeDTO.getIdLocalidade()); localidadeDto = (LocalidadeDTO) getLocalidadeService().restore(localidadeDto); comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), localidadeDto.getNomeLocalidade()); } } } solicitacaoServicoDto = null; } /** * @return the calcularDinamicamente * @throws Exception */ public String getCalcularDinamicamente() throws Exception { calcularDinamicamente = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.CALCULAR_PRIORIDADE_SOLICITACAO_DINAMICAMENTE, "N"); return calcularDinamicamente.trim(); } private void inicializarComboLocalidade(final HTMLSelect componenteCombo, final HttpServletRequest request) { componenteCombo.removeAllOptions(); componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); } private void preparaTelaInclusao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { // document.getElementById("btOcorrencias").setVisible(false); // document.getElementById("btIncidentesRelacionados").setVisible(false); } public void carregaBaseConhecimentoAssoc(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); document.getElementById("divScript").setInnerHTML( UtilI18N.internacionaliza(request, "solicitacaoservico.validacao.scriptservico")); if (solicitacaoServicoDto.getIdServico() == null) { return; } ServicoDTO servicoDto = new ServicoDTO(); servicoDto.setIdServico(solicitacaoServicoDto.getIdServico()); servicoDto = (ServicoDTO) getServicoService().restore(servicoDto); if (servicoDto != null) { if (servicoDto.getIdBaseconhecimento() != null) { BaseConhecimentoDTO baseConhecimentoDTO = new BaseConhecimentoDTO(); baseConhecimentoDTO.setIdBaseConhecimento(servicoDto.getIdBaseconhecimento()); baseConhecimentoDTO = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDTO); if (baseConhecimentoDTO != null) { document.getElementById("divScript").setInnerHTML(baseConhecimentoDTO.getConteudo()); document.getElementById("countScript").setInnerHTML("1"); document.executeScript("destaqueScript()"); } else { document.getElementById("countScript").setInnerHTML("0"); document.executeScript("$('#divMenuScript').removeClass('ui-state-highlight')"); } } else { document.getElementById("countScript").setInnerHTML("0"); } } solicitacaoServicoDto = null; } public void carregaContratos(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final HTMLSelect idContrato = document.getSelectById("idContrato"); idContrato.removeAllOptions(); if (solicitacaoServicoDto.getIdServico() == null) { return; } final Collection<ServicoContratoDTO> colContratos = getServicoContratoService().findByIdServico( solicitacaoServicoDto.getIdServico()); if (colContratos != null) { if (colContratos.size() > 1) { idContrato.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); } else { final ServicoContratoDTO servicoContratoDto = (ServicoContratoDTO) ((List) colContratos).get(0); solicitacaoServicoDto.setIdContrato(servicoContratoDto.getIdContrato()); verificaGrupoExecutorInterno(document, solicitacaoServicoDto); verificaImpactoUrgencia(document, request, response); } for (final ServicoContratoDTO servicoContratoDto : colContratos) { if (servicoContratoDto.getDeleted() == null || servicoContratoDto.getDeleted().equalsIgnoreCase("N")) { ContratoDTO contratoDto = new ContratoDTO(); contratoDto.setIdContrato(servicoContratoDto.getIdContrato()); contratoDto = (ContratoDTO) getContratoService().restore(contratoDto); if (contratoDto != null) { if (contratoDto.getDeleted() == null || contratoDto.getDeleted().equalsIgnoreCase("N")) { String id = contratoDto.getNumero(); FornecedorDTO fornecedorDto = new FornecedorDTO(); fornecedorDto.setIdFornecedor(contratoDto.getIdFornecedor()); fornecedorDto = (FornecedorDTO) getFornecedorService().restore(fornecedorDto); if (fornecedorDto != null) { id += " - " + fornecedorDto.getRazaoSocial(); } idContrato.addOptionIfNotExists("" + contratoDto.getIdContrato(), id); } } } } } solicitacaoServicoDto = null; } /** * Preenche a combo Software. * * @param document * @param request * @param response * @throws Exception * @author thays.araujo */ public void preecherComboSoftware(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final ItemConfiguracaoDTO valor = new ItemConfiguracaoDTO(); final HTMLSelect comboSoftware = document.getSelectById("idItemConfiguracaoPai"); inicializarCombo(comboSoftware, request); valor.setIdItemConfiguracao(solicitacaoServicoDto.getIdItemConfiguracao()); for (final ValorDTO valores : getListaCaracteristicaSoftware(valor, "SOFTWARES")) { comboSoftware.addOption(valores.getIdItemConfiguracao().toString(), valores.getValorStr()); } solicitacaoServicoDto = null; } public Collection<ValorDTO> getListaCaracteristicaSoftware(final ItemConfiguracaoDTO itemConfiguracao, final String tagTipoItemConfiguracao) throws ServiceException, Exception { final TipoItemConfiguracaoDTO tipoItemConfiguracao = new TipoItemConfiguracaoDTO(); tipoItemConfiguracao.setTag(tagTipoItemConfiguracao); return getValorService().findByItemAndTipoItemConfiguracaoSofware(itemConfiguracao, tipoItemConfiguracao); } /** * Preenche a combo Hardware. * * @param document * @param request * @param response * @throws Exception * @author thays.araujo */ public void preecherComboHardware(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final ItemConfiguracaoDTO valor = new ItemConfiguracaoDTO(); final HTMLSelect comboHardware = document.getSelectById("idItemConfiguracaoFilho"); Integer idItemAnterior = -9999; valor.setIdItemConfiguracao(solicitacaoServicoDto.getIdItemConfiguracao()); inicializarCombo(comboHardware, request); for (final ValorDTO valores : getListaCaracteristica(valor, "HARDWARE")) { if (idItemAnterior.intValue() != valores.getIdItemConfiguracao().intValue()) { comboHardware.addOption(valores.getIdItemConfiguracao().toString(), valores.getTagtipoitemconfiguracao() + " - Id: " + valores.getIdItemConfiguracao()); } idItemAnterior = valores.getIdItemConfiguracao(); comboHardware.addOption(valores.getIdItemConfiguracao().toString(), valores.getNomeCaracteristica() + " - " + valores.getValorStr()); } solicitacaoServicoDto = null; } public String listInfoRegExecucaoSolicitacao(final Collection col, final HttpServletRequest request) throws ServiceException, Exception { final CategoriaOcorrenciaDAO categoriaOcorrenciaDAO = new CategoriaOcorrenciaDAO(); final OrigemOcorrenciaDAO origemOcorrenciaDAO = new OrigemOcorrenciaDAO(); CategoriaOcorrenciaDTO categoriaOcorrenciaDTO = new CategoriaOcorrenciaDTO(); OrigemOcorrenciaDTO origemOcorrenciaDTO = new OrigemOcorrenciaDTO(); final StringBuilder strBuffer = new StringBuilder(); strBuffer.append("<table width='100%' border='1'>"); strBuffer.append("<tr>"); strBuffer.append("<td class='linhaSubtituloGridOcorr'>"); strBuffer.append(UtilI18N.internacionaliza(request, "citcorpore.comum.datahora")); strBuffer.append("</td>"); strBuffer.append("<td class='linhaSubtituloGridOcorr'>"); strBuffer.append(UtilI18N.internacionaliza(request, "solicitacaoServico.informacaoexecucao")); strBuffer.append("</td>"); strBuffer.append("</tr>"); if (col != null) { for (final Iterator it = col.iterator(); it.hasNext();) { final OcorrenciaSolicitacaoDTO ocorrenciaSolicitacaoAux = (OcorrenciaSolicitacaoDTO) it.next(); if (ocorrenciaSolicitacaoAux.getOcorrencia() != null) { final Source source = new Source(ocorrenciaSolicitacaoAux.getOcorrencia()); ocorrenciaSolicitacaoAux.setOcorrencia(source.getTextExtractor().toString()); } if (categoriaOcorrenciaDTO.getIdCategoriaOcorrencia() != null && categoriaOcorrenciaDTO.getIdCategoriaOcorrencia() != 0) { categoriaOcorrenciaDTO .setIdCategoriaOcorrencia(ocorrenciaSolicitacaoAux.getIdCategoriaOcorrencia()); categoriaOcorrenciaDTO = (CategoriaOcorrenciaDTO) categoriaOcorrenciaDAO .restore(categoriaOcorrenciaDTO); } if (origemOcorrenciaDTO.getIdOrigemOcorrencia() != null && origemOcorrenciaDTO.getIdOrigemOcorrencia() != 0) { origemOcorrenciaDTO.setIdOrigemOcorrencia(ocorrenciaSolicitacaoAux.getIdOrigemOcorrencia()); origemOcorrenciaDAO.restore(origemOcorrenciaDTO); } String ocorrencia = UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getOcorrencia()); String descricao = UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getDescricao()); String informacoesContato = UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getInformacoesContato()); ocorrencia = ocorrencia.replaceAll("\"", ""); descricao = descricao.replaceAll("\"", ""); informacoesContato = informacoesContato.replaceAll("\"", ""); ocorrencia = ocorrencia.replaceAll("\n", "<br>"); descricao = descricao.replaceAll("\n", "<br>"); informacoesContato = informacoesContato.replaceAll("\n", "<br>"); ocorrencia = UtilHTML.encodeHTML(ocorrencia.replaceAll("\'", "")); descricao = UtilHTML.encodeHTML(descricao.replaceAll("\'", "")); informacoesContato = UtilHTML.encodeHTML(informacoesContato.replaceAll("\'", "")); strBuffer.append("<tr>"); strBuffer.append("<td style='border:1px solid black'>"); strBuffer.append("<b>" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, ocorrenciaSolicitacaoAux.getDataregistro(), WebUtil.getLanguage(request)) + " - " + ocorrenciaSolicitacaoAux.getHoraregistro()); String strRegPor = UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getRegistradopor()); try { if (ocorrenciaSolicitacaoAux.getRegistradopor() != null && !ocorrenciaSolicitacaoAux.getRegistradopor().trim().equalsIgnoreCase("Autom�tico")) { final UsuarioDTO usuarioDto = getUsuarioService().restoreByLogin( ocorrenciaSolicitacaoAux.getRegistradopor()); if (usuarioDto != null) { final EmpregadoDTO empregadoDto = empregadoService.restoreByIdEmpregado(usuarioDto .getIdEmpregado()); strRegPor = strRegPor + " - " + empregadoDto.getNome(); } } } catch (final Exception e) { e.printStackTrace(); } strBuffer.append(" - </b>" + UtilI18N.internacionaliza(request, "ocorrenciaSolicitacao.registradopor") + ": <b>" + strRegPor + "</b>"); strBuffer.append("</td>"); strBuffer.append("<td style='border:1px solid black'>"); strBuffer.append("<b>" + ocorrenciaSolicitacaoAux.getDescricao() + "<br><br></b>"); strBuffer.append("<b>" + ocorrencia + "<br><br></b>"); if (ocorrenciaSolicitacaoAux.getCategoria() != null && !ocorrenciaSolicitacaoAux.getCategoria().equals("")) { if (ocorrenciaSolicitacaoAux.getCategoria().trim() .equalsIgnoreCase(Enumerados.CategoriaOcorrencia.Suspensao.toString()) || ocorrenciaSolicitacaoAux.getCategoria().trim() .equalsIgnoreCase(Enumerados.CategoriaOcorrencia.MudancaSLA.toString()) || ocorrenciaSolicitacaoAux.getCategoria().trim() .equalsIgnoreCase(Enumerados.CategoriaOcorrencia.SuspensaoSLA.toString())) { JustificativaSolicitacaoDTO justificativaSolicitacaoDTO = new JustificativaSolicitacaoDTO(); if (ocorrenciaSolicitacaoAux.getIdJustificativa() != null) { justificativaSolicitacaoDTO.setIdJustificativa(ocorrenciaSolicitacaoAux .getIdJustificativa()); justificativaSolicitacaoDTO = (JustificativaSolicitacaoDTO) getJustificativaSolicitacaoService() .restore(justificativaSolicitacaoDTO); if (justificativaSolicitacaoDTO != null) { strBuffer.append(UtilI18N.internacionaliza(request, "citcorpore.comum.justificativa") + ": <b>" + justificativaSolicitacaoDTO.getDescricaoJustificativa() + "<br><br></b>"); } } if (!UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getComplementoJustificativa()).trim() .equalsIgnoreCase("")) { strBuffer.append("<b>" + UtilStrings.nullToVazio(ocorrenciaSolicitacaoAux.getComplementoJustificativa()) + "<br><br></b>"); } } } strBuffer.append("</td>"); strBuffer.append("</tr>"); } } strBuffer.append("</table>"); categoriaOcorrenciaDTO = null; origemOcorrenciaDTO = null; return strBuffer.toString(); } public void abrirListaDeSubSolicitacoes(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); String html = ""; if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdSolicitacaoServico() != null) { final SolicitacaoServicoDTO solicitacaoServicoAux = (SolicitacaoServicoDTO) getSolicitacaoServicoService() .restore(solicitacaoServicoDto); final Collection colFinal = new ArrayList(); if (solicitacaoServicoAux != null) { if (solicitacaoServicoAux.getIdSolicitacaoRelacionada() != null) { solicitacaoServicoAux.setIdSolicitacaoServico(solicitacaoServicoAux.getIdSolicitacaoRelacionada()); final SolicitacaoServicoDTO solicitacaoServicoAux2 = (SolicitacaoServicoDTO) getSolicitacaoServicoService() .restore(solicitacaoServicoAux); if (solicitacaoServicoAux2 != null) { colFinal.add(solicitacaoServicoAux2); } } } final Collection<SolicitacaoServicoDTO> solicitacoesRelacionadas = getSolicitacaoServicoService() .listSolicitacaoServicoRelacionadaPai(solicitacaoServicoDto.getIdSolicitacaoServico()); if (solicitacoesRelacionadas != null) { colFinal.addAll(solicitacoesRelacionadas); } final StringBuilder script = new StringBuilder(); /** * Quantitativo de subsolicita��es * * @author thays.araujo */ Integer quantidadeNovasSolicitacoes; String quantidadeNovasSolicitacoesStr; if (colFinal != null) { quantidadeNovasSolicitacoes = colFinal.size(); quantidadeNovasSolicitacoesStr = String.valueOf(quantidadeNovasSolicitacoes); document.getElementById("quantidadeNovasSolicitacoes").setValue(quantidadeNovasSolicitacoesStr); } html = gerarHtmlComListaSubSolicitacoes(colFinal, script, request); document.getElementById("solicitacaoRelacionada").setInnerHTML(html); } solicitacaoServicoDto = null; } /** * Retorna Grau de Import�ncia. * * @param request * @param importancia * @return String * @author Vadoilo Damasceno */ public String getGrauImportancia(final HttpServletRequest request, final Integer importancia) { if (importancia != null) { if (importancia == 1) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.baixo"); } else { if (importancia == 2) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.medio"); } else { if (importancia == 3) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.alto"); } } } } return ""; } private String gerarHtmlComListaSubSolicitacoes( final Collection<SolicitacaoServicoDTO> listSolicitacaoServicoRelacionada, final StringBuilder script, final HttpServletRequest request) { final StringBuilder html = new StringBuilder(); html.append("<table class='dynamicTable table table-striped table-bordered table-condensed dataTable' width='100%'"); html.append("<tr>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.numerosolicitacao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.dataabertura") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.prazo") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.descricao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.resposta") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.prazoLimite") + "</th>"); html.append("</tr>"); if (listSolicitacaoServicoRelacionada != null && !listSolicitacaoServicoRelacionada.isEmpty()) { for (final SolicitacaoServicoDTO solicitacaoServicoRelacionada : listSolicitacaoServicoRelacionada) { html.append("<tr>"); html.append("<hidden id='idSolicitante' value='" + solicitacaoServicoRelacionada.getIdSolicitante() + "'/>"); html.append("<hidden id='idResponsavel' value='" + solicitacaoServicoRelacionada.getIdResponsavel() + "'/>"); html.append("<td style='text-align: center;'>" + solicitacaoServicoRelacionada.getIdSolicitacaoServico() + "</td>"); html.append("<td id='dataHoraSolicitacao'>" + UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, solicitacaoServicoRelacionada.getDataHoraSolicitacao(), WebUtil.getLanguage(request)) + "</td>"); html.append("<td>" + solicitacaoServicoRelacionada.getPrazoHH() + ":" + solicitacaoServicoRelacionada.getPrazoMM() + "</td>"); html.append("<td>" + solicitacaoServicoRelacionada.getDescricao() + "</td>"); html.append("<td>" + (solicitacaoServicoRelacionada.getResposta() != null ? solicitacaoServicoRelacionada .getResposta() : "-") + "</td>"); if (solicitacaoServicoRelacionada.getSituacao().equals("EmAndamento")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.EmAndamento") + "</td>"); } else if (solicitacaoServicoRelacionada.getSituacao().equals("Suspensa")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Suspensa") + "</td>"); } else if (solicitacaoServicoRelacionada.getSituacao().equals("Cancelada")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Cancelada") + "</td>"); } else if (solicitacaoServicoRelacionada.getSituacao().equals("Resolvida")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Resolvida") + "</td>"); } else { html.append("<td>" + solicitacaoServicoRelacionada.getSituacao() + "</td>"); } if (solicitacaoServicoRelacionada.getDataHoraLimite() != null) { html.append("<td>" + UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, solicitacaoServicoRelacionada.getDataHoraLimite(), WebUtil.getLanguage(request)) + "</td>"); } else { html.append("<td>� combinar</td>"); } html.append("</tr>"); } } html.append("</table>"); return html.toString(); } /** * Retorna lista de caracter�sticas. * * @param idItemConfiguracao * @param tagTipoItemConfiguracao * @return listaCaracteristica * @throws ServiceException * @throws Exception * @author rosana.godinho */ public Collection<ValorDTO> getListaCaracteristica(final ItemConfiguracaoDTO itemConfiguracao, final String tagTipoItemConfiguracao) throws ServiceException, Exception { final TipoItemConfiguracaoDTO tipoItemConfiguracao = new TipoItemConfiguracaoDTO(); tipoItemConfiguracao.setTag(tagTipoItemConfiguracao); return getValorService().findByItemAndTipoItemConfiguracao(itemConfiguracao, tipoItemConfiguracao); } @Override public Class getBeanClass() { return SolicitacaoServicoDTO.class; } public void marcarChecksEmail(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { document.getCheckboxById("enviaEmailCriacao").setChecked(false); document.getCheckboxById("enviaEmailAcoes").setChecked(false); document.getCheckboxById("enviaEmailFinalizacao").setChecked(false); final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); GrupoDTO grupoDTO = new GrupoDTO(); if (solicitacaoServicoDto != null) { grupoDTO.setIdGrupo(solicitacaoServicoDto.getIdGrupoAtual()); } if (solicitacaoServicoDto != null && solicitacaoServicoDto.getIdGrupoAtual() != null && !solicitacaoServicoDto.getIdGrupoAtual().equals("")) { grupoDTO = (GrupoDTO) getGrupoService().restore(grupoDTO); } if (grupoDTO.getAbertura() != null) { if (grupoDTO.getAbertura().equalsIgnoreCase("S")) { document.getCheckboxById("enviaEmailCriacao").setValue("S"); } } if (grupoDTO.getAndamento() != null) { if (grupoDTO.getAndamento().equalsIgnoreCase("S")) { document.getCheckboxById("enviaEmailAcoes").setValue("S"); } } if (grupoDTO.getEncerramento() != null) { if (grupoDTO.getEncerramento().equalsIgnoreCase("S")) { document.getCheckboxById("enviaEmailFinalizacao").setValue("S"); } } } /** * Cria Combo de Categoria Servi�o Ativas. * * @param document * @throws ServiceException * @throws Exception * @throws LogicException */ public void criarComboCategoriaServico(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { document.executeScript("document.getElementById(\"divCategoriaServico\").style.display = 'block'"); final HTMLSelect idCategoriaServico = document.getSelectById("idCategoriaServico"); idCategoriaServico.removeAllOptions(); idCategoriaServico.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); final Collection listaDeCategoriasAtivas = categoriaService.listHierarquia(); if (listaDeCategoriasAtivas != null) { idCategoriaServico.addOptions(listaDeCategoriasAtivas, "idCategoriaServico", "nomeCategoriaServicoNivel", null); } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } /** * Restaura Colaborador selecionado como Solicitante, obtendo e atribuindo informa��es de Contato, Item de Configura��o e * Hist�rico de Solicita��es. * * @param document * @param request * @param response * @throws Exception */ public void restoreColaboradorSolicitante(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap( br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N"); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); EmpregadoDTO empregadoDto = new EmpregadoDTO(); empregadoDto.setIdEmpregado(solicitacaoServicoDto.getIdSolicitante()); empregadoDto = (EmpregadoDTO) getEmpregadoService().restore(empregadoDto); if (empregadoDto != null) { solicitacaoServicoDto.setSolicitante(empregadoDto.getNome()); solicitacaoServicoDto.setNomecontato(empregadoDto.getNome()); solicitacaoServicoDto.setTelefonecontato(empregadoDto.getTelefone()); solicitacaoServicoDto.setRamal(empregadoDto.getRamal()); if (empregadoDto.getEmail() != null) { empregadoDto.setEmail(empregadoDto.getEmail().trim()); } solicitacaoServicoDto.setEmailcontato(empregadoDto.getEmail()); solicitacaoServicoDto.setIdUnidade(empregadoDto.getIdUnidade()); if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && solicitacaoServicoDto.getIdUnidade() != null) { solicitacaoServicoDto.setUnidadeDes(getUnidadeService().retornaNomeUnidadeByID( solicitacaoServicoDto.getIdUnidade())); } solicitacaoServicoDto.setRamal(empregadoDto.getRamal()); preencherComboLocalidade(document, request, response); } UsuarioDTO usuarioDto = new UsuarioDTO(); if (empregadoDto != null && empregadoDto.getIdEmpregado() != null) { usuarioDto = getUsuarioService().restoreByIdEmpregado(empregadoDto.getIdEmpregado()); } if (usuarioDto != null) { final String login = usuarioDto.getLogin(); final SolicitacaoServicoDTO solicitacaoServicoComItemConfiguracaoDoSolicitante = solicitacaoServicoService .retornaSolicitacaoServicoComItemConfiguracaoDoSolicitante(login); if (solicitacaoServicoComItemConfiguracaoDoSolicitante != null) { solicitacaoServicoDto.setIdItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getIdItemConfiguracao()); solicitacaoServicoDto.setItemConfiguracao(solicitacaoServicoComItemConfiguracaoDoSolicitante .getItemConfiguracao()); } } final HTMLForm form = document.getForm("form"); document.executeScript("setDataEditor()"); form.setValues(solicitacaoServicoDto); document.executeScript("fecharPopup(\"#POPUP_SOLICITANTE\")"); List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario( solicitacaoServicoDto.getIdSolicitante(), null); if (resumo == null || resumo.size() <= 0) { document.executeScript("escondeMostraDiv('btHistoricoSolicitante', 'none')"); } else { document.executeScript("escondeMostraDiv('btHistoricoSolicitante', 'inline')"); } resumo = solicitacaoService.findSolicitacoesServicosUsuario(solicitacaoServicoDto.getIdSolicitante(), null, null); if (resumo == null || resumo.size() <= 0) { document.executeScript("escondeMostraDiv('btHistoricoSolicitanteEmAndamento', 'none')"); } else { document.executeScript("escondeMostraDiv('btHistoricoSolicitanteEmAndamento', 'inline')"); } String controleAccUnidade = ParametroUtil.getValorParametroCitSmartHashMap( Enumerados.ParametroSistema.CONTROLE_ACC_UNIDADE_INC_SOLIC, "N"); if (!UtilStrings.isNotVazio(controleAccUnidade)) { controleAccUnidade = "N"; } if (controleAccUnidade.trim().equalsIgnoreCase("S")) { carregaServicos(document, request, response); } document.executeScript("camposObrigatoriosSolicitante()"); solicitacaoServicoDto = null; document.executeScript("fecharJanelaAguarde();"); } public void restoreItemConfiguracao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO bean = (SolicitacaoServicoDTO) document.getBean(); ItemConfiguracaoDTO itemConfiguracaoDTO = new ItemConfiguracaoDTO(); itemConfiguracaoDTO.setIdItemConfiguracao(bean.getIdItemConfiguracao()); itemConfiguracaoDTO = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore(itemConfiguracaoDTO); final HTMLTable tblIC = document.getTableById("tblIC"); if (itemConfiguracaoDTO.getSequenciaIC() == null) { tblIC.addRow(itemConfiguracaoDTO, new String[] {"idItemConfiguracao", "identificacao", "", ""}, new String[] {"idItemConfiguracao"}, "Item Configura��o j� cadastrado!!", new String[] {"exibeIconesIC"}, null, null); } else { tblIC.updateRow(itemConfiguracaoDTO, new String[] {"idItemConfiguracao", "identificacaoStatus", "", ""}, new String[] {"idItemConfiguracao"}, "Item Configura��o j� cadastrado!!", new String[] {"exibeIconesIC"}, null, null, itemConfiguracaoDTO.getSequenciaIC()); } document.executeScript("setquantitativoItemConfiguracao()"); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblIC', 'tblIC');"); document.executeScript("$('#modal_pesquisaItemConfiguracao').modal('hide');"); // metodo para setar urgencia e impacto de acordo com o item de configura��o int prioridade = 0; int prioridadeObj = 0; List<ItemConfiguracaoDTO> colItensIC = (List<ItemConfiguracaoDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(ItemConfiguracaoDTO.class, "colItensIC_Serialize", request); if (colItensIC == null) { colItensIC = new ArrayList<ItemConfiguracaoDTO>(); } colItensIC.add(itemConfiguracaoDTO); if (colItensIC != null) { for (ItemConfiguracaoDTO itemConfiguracaoDTO2 : colItensIC) { itemConfiguracaoDTO2 = (ItemConfiguracaoDTO) getItemConfiguracaoService().restore(itemConfiguracaoDTO2); if (itemConfiguracaoDTO2.getUrgencia() != null && itemConfiguracaoDTO2.getImpacto() != null) { if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("B") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("B")) { prioridadeObj = 1; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("B") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("M")) { prioridadeObj = 2; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("B") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("A")) { prioridadeObj = 3; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("M") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("B")) { prioridadeObj = 2; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("M") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("M")) { prioridadeObj = 3; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("M") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("A")) { prioridadeObj = 4; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("A") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("B")) { prioridadeObj = 3; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("A") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("M")) { prioridadeObj = 4; } else if (itemConfiguracaoDTO2.getUrgencia().equalsIgnoreCase("A") && itemConfiguracaoDTO2.getImpacto().equalsIgnoreCase("A")) { prioridadeObj = 5; } if (prioridadeObj > prioridade) { prioridade = prioridadeObj; document.getSelectById("urgencia").setValue(itemConfiguracaoDTO2.getUrgencia()); document.getSelectById("impacto").setValue(itemConfiguracaoDTO2.getImpacto()); } } } } bean = null; } /** * @author breno.guimaraes * @param document * @param request * @param response * @throws ServiceException * @throws Exception */ public void renderizaHistoricoSolicitacoesIncidente(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); Integer idIc = null; if (request.getParameter("idItemConfiguracao") != null && !request.getParameter("idItemConfiguracao").equals("")) { idIc = Integer.parseInt(request.getParameter("idItemConfiguracao")); } final List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario(null, idIc); final StringBuilder script = new StringBuilder(); document.getElementById("tblResumo").setInnerHTML(montaHTMLResumoSolicitacoes(resumo, script, request, "true")); document.executeScript(script.toString()); document.executeScript("temporizador.init();"); document.executeScript("$(\"#tblResumo\").dialog(\"open\");"); } /** * @author breno.guimaraes * @param document * @param request * @param response * @throws ServiceException * @throws Exception */ public void renderizaHistoricoSolicitacoesIC(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); Integer idIc = null; if (request.getParameter("idItemConfiguracao") != null && !request.getParameter("idItemConfiguracao").equals("")) { idIc = Integer.parseInt(request.getParameter("idItemConfiguracao")); } final List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario(null, idIc); final StringBuilder script = new StringBuilder(); document.getElementById("tblResumo").setInnerHTML(montaHTMLResumoSolicitacoes(resumo, script, request, "true")); document.executeScript(script.toString()); document.executeScript("temporizador.init();"); document.executeScript("$(\"#tblResumo\").dialog(\"open\");"); } /** * @param document * @param request * @param response * @throws ServiceException * @throws Exception * @author breno.guimaraes */ public void renderizaHistoricoSolicitacoesUsuario(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); Integer idSolicitante = null; if (request.getParameter("idSolicitante") != null && !request.getParameter("idSolicitante").equals("")) { idSolicitante = Integer.parseInt(request.getParameter("idSolicitante")); } final List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario(idSolicitante, null); final StringBuilder script = new StringBuilder(); document.getElementById("tblResumo").setInnerHTML(montaHTMLResumoSolicitacoes(resumo, script, request, "true")); document.executeScript(script.toString()); document.executeScript("temporizador.init();"); document.executeScript("$(\"#tblResumo\").dialog(\"open\");"); } /** * @param document * @param request * @param response * @throws ServiceException * @throws Exception * @author breno.guimaraes */ public void renderizaHistoricoSolicitacoesEmAndamentoUsuario(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception { final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); Integer idSolicitante = null; String ehRestauracaoSolicitacao = ""; String ehCriacaoSolicitacao = ""; if (request.getParameter("idSolicitante") != null && !request.getParameter("idSolicitante").equals("")) { ehCriacaoSolicitacao = "true"; } else { ehRestauracaoSolicitacao = "true"; } if (ehCriacaoSolicitacao.equalsIgnoreCase("true")) { idSolicitante = Integer.parseInt(request.getParameter("idSolicitante")); } if (ehRestauracaoSolicitacao.equalsIgnoreCase("true")) { idSolicitante = ((SolicitacaoServicoDTO) document.getBean()).getIdSolicitante(); } String situacao = request.getParameter("situacaoFiltroSolicitante"); String campoBusca = request.getParameter("buscaFiltroSolicitante"); String situacaoFiltro = ""; if (situacao != null) { if (situacao.equalsIgnoreCase("EmAndamento") || situacao == null || situacao.isEmpty()) { situacaoFiltro = "EmAndamento"; situacao = UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.EmAndamento"); } else if (situacao.equalsIgnoreCase("Cancelada")) { situacaoFiltro = "Cancelada"; situacao = UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Cancelada"); } else if (situacao.equalsIgnoreCase("Suspensa")) { situacaoFiltro = "Suspensa"; situacao = UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Suspensa"); } else { situacao = situacao.trim(); situacaoFiltro = situacao; } } if (campoBusca != null) { campoBusca = UtilStrings.decodeCaracteresEspeciais(campoBusca); campoBusca = campoBusca.trim(); } final StringBuilder script = new StringBuilder(); final StringBuilder filtro = new StringBuilder(); final List<SolicitacaoServicoDTO> resumo = solicitacaoService.findSolicitacoesServicosUsuario(idSolicitante, situacaoFiltro, campoBusca); String corpoHTML = ""; if (ehCriacaoSolicitacao.equalsIgnoreCase("true")) { corpoHTML = montaHTMLResumoSolicitacoes(resumo, script, request, "true"); } else { corpoHTML = montaHTMLResumoSolicitacoes(resumo, script, request, "false"); } if (resumo.size() > 0) { document.getElementById("countSolicitacoesAbertasSolicitante").setInnerHTML("" + resumo.size()); document.executeScript("destaqueSolicitacaoMesmoUsuario()"); } else { document.getElementById("countSolicitacoesAbertasSolicitante").setInnerHTML("0"); document.executeScript("$('#divMenuSolicitacao').removeClass('ui-state-highlight');"); } filtro.append(corpoHTML); document.getElementById("tblResumo2").setInnerHTML(filtro.toString()); document.executeScript(script.toString()); if (ehCriacaoSolicitacao.equalsIgnoreCase("true")) { document.executeScript("temporizador.init();"); } } /** * @param resumo * Lista de solicitações que será montada. * @param script * A string que será alimentada por referência para ser executada posteriormente. * @return * @author breno.guimaraes */ private String montaHTMLResumoSolicitacoes(final List<SolicitacaoServicoDTO> resumo, final StringBuilder script, final HttpServletRequest request, final String utilizaTemporizador) { final String language = (String) request.getSession().getAttribute("locale"); final StringBuilder html = new StringBuilder(); html.append("<div style='overflow:auto'>"); html.append("<table class='dynamicTable table table-striped table-bordered table-condensed dataTable' width='100%'"); html.append("<tr>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.numerosolicitacao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.dataabertura") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.prazo") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.descricao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "pesquisa.resposta") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.horalimite") + "</th>"); html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.temporestante")); html.append("</th>"); html.append("</tr>"); for (final SolicitacaoServicoDTO r : resumo) { html.append("<tr class='trSolicitacaoUsuario' onclick=\"detalheSolicitacao('" + r.getContrato() + "#" + r.getNomecontato() + "#" + r.getEmailcontato() + "#" + r.getTelefonecontato() + "#" + r.getDemanda() + "#" + r.getServico() + "#" + r.getSituacao() + "')\" style=\"cursor:default\" onMouseOver=\"javascript:this.style.backgroundColor='#CFCFCF'\" onMouseOut=\"javascript:this.style.backgroundColor=''\" >"); html.append("<hidden id='idSolicitante' value='" + r.getIdSolicitante() + "'/>"); html.append("<hidden id='idResponsavel' value='" + r.getIdResponsavel() + "'/>"); html.append("<td>" + r.getIdSolicitacaoServico() + "</td>"); html.append("<td id='dataHoraSolicitacao'>" + UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraSolicitacao(), language) + "</td>"); html.append("<td>" + r.getPrazoHH() + ":" + r.getPrazoMM() + "</td>"); html.append("<td>" + r.getDescricao() + "</td>"); html.append("<td>" + (r.getResposta() != null && !r.getResposta().equals("") ? UtilStrings.unescapeJavaString(r .getResposta()) : "-") + "</td>"); if (r.getSituacao().equalsIgnoreCase("EmAndamento")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.EmAndamento") + "</td>"); } else if (r.getSituacao().equalsIgnoreCase("Fechada")) { html.append("<td>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Fechada") + "</td>"); } else { html.append("<td>" + r.getSituacao() + "</td>"); } if (r.getDataHoraLimite() != null) { html.append("<td>" + UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraLimite(), language) + "</td>"); if (r.getSituacao().equals("EmAndamento") && utilizaTemporizador.equalsIgnoreCase("true")) { script.append("temporizador.addOuvinte(new Solicitacao('tempoRestante" + r.getIdSolicitacaoServico() + "', " + "'barraProgresso" + r.getIdSolicitacaoServico() + "', " + "'" + r.getDataHoraSolicitacao() + "', '" + r.getDataHoraLimite() + "'));"); } html.append("<td><label id='tempoRestante" + r.getIdSolicitacaoServico() + "'></label>"); html.append("<div id='barraProgresso" + r.getIdSolicitacaoServico() + "'></div></td>"); } else { html.append("<td> </td>"); html.append("<td> </td>"); } html.append("</tr>"); } html.append("</table>"); html.append("</div>"); return html.toString(); } public void listHistorico(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance() .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final Collection col = solicitacaoService.getHistoricoByIdSolicitacao(solicitacaoServicoDto .getIdSolicitacaoServico()); final StringBuilder strBuilder = new StringBuilder(); strBuilder.append("<table width='100%'>"); strBuilder.append("<tr>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "citcorpore.comum.datahora")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "solicitacaoServico.seqreabertura")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "citcorpore.comum.responsavel")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "solicitacaoServico.acao")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "tarefa.tarefa")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "solicitacaoServico.atribuidogrupo")); strBuilder.append("</td>"); strBuilder.append("<td class='linhaSubtituloGridOcorr'>"); strBuilder.append(UtilI18N.internacionaliza(request, "solicitacaoServico.atribuidousuario")); strBuilder.append("</td>"); strBuilder.append("</tr>"); if (col != null) { for (final Iterator it = col.iterator(); it.hasNext();) { final SolicitacaoServicoDTO solicitacaoServicoAux = (SolicitacaoServicoDTO) it.next(); strBuilder.append("<tr>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, solicitacaoServicoAux.getDataHora(), WebUtil.getLanguage(request)) + " " + UtilDatas.formatHoraFormatadaHHMMSSStr(solicitacaoServicoAux.getDataHora())); strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); if (solicitacaoServicoAux.getSeqReabertura() == null) { strBuilder.append("--"); } else { strBuilder.append(solicitacaoServicoAux.getSeqReabertura()); } strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilStrings.nullToVazio(solicitacaoServicoAux.getResponsavel())); strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilStrings.nullToVazio(solicitacaoServicoAux.getAcaoFluxo())); strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilStrings.nullToVazio(solicitacaoServicoAux.getTarefa())); strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilStrings.nullToVazio(solicitacaoServicoAux.getSiglaGrupo())); strBuilder.append("</td>"); strBuilder.append("<td style='border:1px solid black'>"); strBuilder.append(UtilStrings.nullToVazio(solicitacaoServicoAux.getNomeUsuario())); strBuilder.append("</td>"); strBuilder.append("</tr>"); } } strBuilder.append("</table>"); document.getElementById("divResultHistorico").setInnerHTML(strBuilder.toString()); solicitacaoServicoDto = null; } public void gravarAnexo(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); final SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator .getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); final Collection<UploadDTO> arquivosUpados = (Collection<UploadDTO>) request.getSession(true).getAttribute( "colUploadsGED"); solicitacaoServicoDto.setColArquivosUpload(arquivosUpados); document.getElementById("contatdorAnexo").setValue("" + arquivosUpados.size()); // Rotina para gravar no banco if (solicitacaoServicoDto.getColArquivosUpload() != null && solicitacaoServicoDto.getColArquivosUpload().size() > 0) { Integer idEmpresa = WebUtil.getIdEmpresa(request); if (idEmpresa == null) { idEmpresa = 1; } solicitacaoServicoService.gravaInformacoesGED(solicitacaoServicoDto.getColArquivosUpload(), idEmpresa, solicitacaoServicoDto, null); document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("('#POPUP_menuAnexos').dialog('close');"); } solicitacaoServicoDto = null; } public Integer carregarProblema(final Integer indice, final Integer id) throws ServiceException, br.com.citframework.excecao.LogicException, Exception { ProblemaDTO problemadto = new ProblemaDTO(); problemadto.setIdSolicitacaoServico(id); if (id != null) { final Collection col = getProblemaService().findBySolictacaoServico(problemadto); if (col == null) { return null; } problemadto = (ProblemaDTO) ((List) col).get(indice); if (problemadto == null) { return null; } } return problemadto.getIdProblema(); } public Integer obterGrauDeImportanciaParaUsuario(final BaseConhecimentoDTO baseConhecimentoDto, final UsuarioDTO usuarioDto) throws Exception { final Collection<GrupoEmpregadoDTO> listGrupoEmpregadoDto = getGrupoEmpregadoService().findByIdEmpregado( usuarioDto.getIdEmpregado()); final ImportanciaConhecimentoGrupoDTO importanciaConhecimento = getImportanciaConhecimentoGrupoService() .obterGrauDeImportancia(baseConhecimentoDto, listGrupoEmpregadoDto, usuarioDto); if (importanciaConhecimento != null) { return Integer.parseInt(importanciaConhecimento.getGrauImportancia()); } else { return 0; } } /** * Adicionado para fazer limpeza da se��o quando for gerenciamento de Servi�o * * @author mario.junior * @since 31/10/2013 09:36 */ public void carregaFlagGerenciamento(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { request.getSession(true).setAttribute("flagGerenciamento", "S"); } public void flagGerenciamentoClose(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { request.getSession(true).setAttribute("flagGerenciamento", null); } /** * Metodo para gerar o quantitativo de Incidentes Relacionados com a solicita��o Pai. * * @param document * @param request * @param response * @throws Exception * @author thays.araujo */ public void setQuantitativoIncidentesRelacionados(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); if (solicitacaoServicoDto.getIdSolicitacaoServico() != null) { final Collection<SolicitacaoServicoDTO> solicitacoesRelacionadas = solicitacaoServicoService .listSolicitacaoServicoRelacionada(solicitacaoServicoDto.getIdSolicitacaoServico()); Integer quantidadeIncidentesRelacionados; String quantidadeIncidentesRelacionadosStr = "0"; if (solicitacoesRelacionadas != null) { quantidadeIncidentesRelacionados = solicitacoesRelacionadas.size(); quantidadeIncidentesRelacionadosStr = String.valueOf(quantidadeIncidentesRelacionados); document.getElementById("quantidadeIncidentesRelacionados").setValue( quantidadeIncidentesRelacionadosStr); } } } /** * Adicionado para colocar a descri��o da solicita��o de servi�o na sess�o e enviar para a requisi��o de problema * * @author bruno.aquino * @since 02/06/2014 16:00 */ public void setarDescricaoNaSessaoCadastrarProblema(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); request.getSession().setAttribute("DescricaoSolicitacao", solicitacaoServicoDto.getDescricao()); document.executeScript("cadastrarProblemaAbrirFame()"); } /** * Adicionado para colocar a descri��o da solicita��o de servi�o na sess�o e enviar para a requisi��o de mudan�a * * @author bruno.aquino * @since 02/06/2014 16:00 */ public void setarDescricaoNaSessaoCadastrarMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean(); request.getSession().setAttribute("DescricaoSolicitacao", solicitacaoServicoDto.getDescricao()); document.executeScript("cadastrarMudancaAbrirFame()"); } public UnidadeService getUnidadeService() throws ServiceException { if (unidadeService == null) { unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null); } return unidadeService; } private ProblemaService getProblemaService() throws ServiceException, Exception { if (problemaService == null) { problemaService = (ProblemaService) ServiceLocator.getInstance().getService(ProblemaService.class, null); } return problemaService; } private RequisicaoMudancaService getRequisicaoMudancaService() throws ServiceException, Exception { if (requisicaoMudancaService == null) { requisicaoMudancaService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService( RequisicaoMudancaService.class, null); } return requisicaoMudancaService; } private ConhecimentoSolicitacaoService getConhecimentoSolicitacaoService() throws ServiceException { if (conhecimentoSolicitacaoService == null) { conhecimentoSolicitacaoService = (ConhecimentoSolicitacaoService) ServiceLocator.getInstance().getService( ConhecimentoSolicitacaoService.class, null); } return conhecimentoSolicitacaoService; } public GrupoService getGrupoService() throws ServiceException { if (grupoService == null) { grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); } return grupoService; } public SolicitacaoServicoService getSolicitacaoServicoService() throws ServiceException { if (solicitacaoServicoService == null) { solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService( SolicitacaoServicoService.class, null); } return solicitacaoServicoService; } public ClienteService getClienteService() throws ServiceException { if (clienteService == null) { clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null); } return clienteService; } public OrigemAtendimentoService getOrigemAtendimentoService() throws ServiceException { if (origemAtendimentoService == null) { origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService( OrigemAtendimentoService.class, null); } return origemAtendimentoService; } public ContratoService getContratoService() throws ServiceException { if (contratoService == null) { contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); } return contratoService; } public ServicoContratoService getServicoContratoService() throws ServiceException { if (servicoContratoService == null) { servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService( ServicoContratoService.class, null); } return servicoContratoService; } public CategoriaSolucaoService getCategoriaSolucaoService() throws ServiceException { if (categoriaSolucaoService == null) { categoriaSolucaoService = (CategoriaSolucaoService) ServiceLocator.getInstance().getService( CategoriaSolucaoService.class, null); } return categoriaSolucaoService; } public CausaIncidenteService getCausaIncidenteService() throws ServiceException { if (causaIncidenteService == null) { causaIncidenteService = (CausaIncidenteService) ServiceLocator.getInstance().getService( CausaIncidenteService.class, null); } return causaIncidenteService; } public TipoDemandaServicoService getTipoDemandaService() throws ServiceException { if (tipoDemandaService == null) { tipoDemandaService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService( TipoDemandaServicoService.class, null); } return tipoDemandaService; } public FornecedorService getFornecedorService() throws ServiceException { if (fornecedorService == null) { fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null); } return fornecedorService; } public AcordoNivelServicoService getAcordoNivelServicoService() throws ServiceException { if (acordoNivelServicoService == null) { acordoNivelServicoService = (AcordoNivelServicoService) ServiceLocator.getInstance().getService( AcordoNivelServicoService.class, null); } return acordoNivelServicoService; } public AcordoServicoContratoService getAcordoServicoContratoService() throws ServiceException { if (acordoServicoContratoService == null) { acordoServicoContratoService = (AcordoServicoContratoService) ServiceLocator.getInstance().getService( AcordoServicoContratoService.class, null); } return acordoServicoContratoService; } public GrupoEmpregadoService getGrupoEmpregadoService() throws ServiceException { if (grupoEmpregadoService == null) { grupoEmpregadoService = (GrupoEmpregadoService) ServiceLocator.getInstance().getService( GrupoEmpregadoService.class, null); } return grupoEmpregadoService; } public ImportanciaConhecimentoGrupoService getImportanciaConhecimentoGrupoService() throws ServiceException { if (importanciaConhecimentoGrupoService == null) { importanciaConhecimentoGrupoService = (ImportanciaConhecimentoGrupoService) ServiceLocator.getInstance() .getService(ImportanciaConhecimentoGrupoService.class, null); } return importanciaConhecimentoGrupoService; } public ItemConfiguracaoService getItemConfiguracaoService() throws ServiceException { if (itemConfiguracaoService == null) { itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService( ItemConfiguracaoService.class, null); } return itemConfiguracaoService; } public ItemCfgSolicitacaoServService getItemCfgSolicitacaoServService() throws ServiceException { if (itemCfgSolicitacaoServService == null) { itemCfgSolicitacaoServService = (ItemCfgSolicitacaoServService) ServiceLocator.getInstance().getService( ItemCfgSolicitacaoServService.class, null); } return itemCfgSolicitacaoServService; } public UsuarioService getUsuarioService() throws ServiceException { if (usuarioService == null) { usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null); } return usuarioService; } public EmpregadoService getEmpregadoService() throws ServiceException, Exception { if (empregadoService == null) { empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); } return empregadoService; } public TipoItemConfiguracaoService getTipoItemConfiguracaoService() throws ServiceException { if (tipoItemConfiguracaoService == null) { tipoItemConfiguracaoService = (TipoItemConfiguracaoService) ServiceLocator.getInstance().getService( TipoItemConfiguracaoService.class, null); } return tipoItemConfiguracaoService; } public CategoriaServicoService getCategoriaService() throws ServiceException { if (categoriaService == null) { categoriaService = (CategoriaServicoService) ServiceLocator.getInstance().getService( CategoriaServicoService.class, null); } return categoriaService; } public ControleGEDService getControleGedService() throws ServiceException { if (controleGedService == null) { controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null); } return controleGedService; } public PrioridadeSolicitacoesService getPrioridadeSolicitacoesService() throws ServiceException { if (prioridadeSolicitacoesService == null) { prioridadeSolicitacoesService = (PrioridadeSolicitacoesService) ServiceLocator.getInstance().getService( PrioridadeSolicitacoesService.class, null); } return prioridadeSolicitacoesService; } public ServicoService getServicoService() throws ServiceException { if (servicoService == null) { servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); } return servicoService; } public OcorrenciaSolicitacaoService getOcorrenciaSolicitacaoService() throws ServiceException { if (ocorrenciaSolicitacaoService == null) { ocorrenciaSolicitacaoService = (OcorrenciaSolicitacaoService) ServiceLocator.getInstance().getService( OcorrenciaSolicitacaoService.class, null); } return ocorrenciaSolicitacaoService; } public JustificativaSolicitacaoService getJustificativaSolicitacaoService() throws ServiceException { if (justificativaSolicitacaoService == null) { justificativaSolicitacaoService = (JustificativaSolicitacaoService) ServiceLocator.getInstance() .getService(JustificativaSolicitacaoService.class, null); } return justificativaSolicitacaoService; } public ValorService getValorService() throws ServiceException { if (valorService == null) { valorService = (ValorService) ServiceLocator.getInstance().getService(ValorService.class, null); } return valorService; } public BaseConhecimentoService getBaseConhecimentoService() throws ServiceException { if (baseConhecimentoService == null) { baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService( BaseConhecimentoService.class, null); } return baseConhecimentoService; } public LocalidadeService getLocalidadeService() throws ServiceException { if (localidadeService == null) { localidadeService = (LocalidadeService) ServiceLocator.getInstance().getService(LocalidadeService.class, null); } return localidadeService; } public ContadorAcessoService getContadorAcessoService() throws ServiceException { if (contadorAcessoService == null) { contadorAcessoService = (ContadorAcessoService) ServiceLocator.getInstance().getService( ContadorAcessoService.class, null); } return contadorAcessoService; } public LocalidadeUnidadeService getLocalidadeUnidadeService() throws ServiceException { if (localidadeUnidadeService == null) { localidadeUnidadeService = (LocalidadeUnidadeService) ServiceLocator.getInstance().getService( LocalidadeUnidadeService.class, null); } return localidadeUnidadeService; } }