package br.com.centralit.citcorpore.ajaxForms;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import br.com.centralit.bpm.dto.TarefaFluxoDTO;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLElement;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citajax.html.HTMLSelect;
import br.com.centralit.citcorpore.bean.ClienteDTO;
import br.com.centralit.citcorpore.bean.ContratoDTO;
import br.com.centralit.citcorpore.bean.ContratosGruposDTO;
import br.com.centralit.citcorpore.bean.FornecedorDTO;
import br.com.centralit.citcorpore.bean.GerenciamentoServicosDTO;
import br.com.centralit.citcorpore.bean.ItemCfgSolicitacaoServDTO;
import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.OrigemAtendimentoDTO;
import br.com.centralit.citcorpore.bean.ParamRecuperacaoTarefasDTO;
import br.com.centralit.citcorpore.bean.PrioridadeDTO;
import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.TipoDemandaServicoDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.ClienteService;
import br.com.centralit.citcorpore.negocio.ContratoService;
import br.com.centralit.citcorpore.negocio.ExecucaoSolicitacaoService;
import br.com.centralit.citcorpore.negocio.FornecedorService;
import br.com.centralit.citcorpore.negocio.ItemCfgSolicitacaoServService;
import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.OrigemAtendimentoService;
import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService;
import br.com.centralit.citcorpore.negocio.UsuarioService;
import br.com.centralit.citcorpore.util.Enumerados;
import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema;
import br.com.centralit.citcorpore.util.Enumerados.SituacaoSolicitacaoServico;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
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.citframework.excecao.ServiceException;
import br.com.citframework.integracao.core.Page;
import br.com.citframework.integracao.core.PageRequest;
import br.com.citframework.integracao.core.Pageable;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilI18N;
import br.com.citframework.util.UtilStrings;
/**
* Controller da P�gina GerenciamentoServicos.jsp.
*/
@SuppressWarnings({ "rawtypes", "deprecation", "unchecked" })
public class GerenciamentoServicos extends AjaxFormAction {
private GerenciamentoServicosDTO gerenciamentoServicosDTO = new GerenciamentoServicosDTO();
private Set<ContratoDTO> hashContratos = new HashSet<ContratoDTO>();
private ContratoService contratoService;
private SolicitacaoServicoService solicitacaoServicoService;
private ExecucaoSolicitacaoService execucaoSolicitacaoService;
@Override
public Class<GerenciamentoServicosDTO> getBeanClass() {
return GerenciamentoServicosDTO.class;
}
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
}
/**
* Renderiza os Gr�ficos da Guia Gr�ficos da Tela de Gerenciamento de Servi�os.
*
* @param document
* - DocumentHTML
* @param request
* - HttpServletRequest
* @param response
* - HttpServletResponse
* @throws Exception
*/
public void renderizarGraficos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
this.setGerenciamentoServicosDTO((GerenciamentoServicosDTO) document.getBean());
GerenciamentoServicosDTO gerenciamentoServicoDto = this.getGerenciamentoServicosDTO();
List<TarefaFluxoDTO> colecao = (List<TarefaFluxoDTO>) listarTarefas(null, null, usuario, request, true, gerenciamentoServicoDto);
HashMap<String, Object> mapGrupoAtual = new HashMap<String, Object>();
document.getSelectById("idGrupoAtual").removeAllOptions();
document.getSelectById("idGrupoAtual").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idGrupoAtual").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.sematribuicao") + " --");
for (TarefaFluxoDTO tarefaDto : colecao) {
SolicitacaoServicoDTO dtoSol = (SolicitacaoServicoDTO) tarefaDto.getSolicitacaoDto();
if (dtoSol.getGrupoAtual() != null && StringUtils.isNotBlank(dtoSol.getGrupoAtual())) {
if (!mapGrupoAtual.containsKey(dtoSol.getIdGrupoAtual().toString())) {
String idGrupo = UtilStrings.removeCaracteresEspeciais(dtoSol.getIdGrupoAtual().toString());
String nome = UtilStrings.removeCaracteresEspeciais(dtoSol.getGrupoAtual());
mapGrupoAtual.put(UtilStrings.removeCaracteresEspeciais(dtoSol.getIdGrupoAtual().toString()), dtoSol.getGrupoAtual());
document.getSelectById("idGrupoAtual").addOption(idGrupo, nome);
}
}
}
String tarefasStr = serializaTarefas(colecao, request);
document.executeScript("exibirGraficos('" + tarefasStr + "');");
}
/**
* Retorna a lista de tarefas do fluxo juntamente com as solicita��es de servi�os.
*
* @param itensPorPagina
* - Quantidade de registros por p�gina.
* @param paginaSelecionada
* - P�gina selecionada.
* @param usuario
* - usu�rio logado.
* @param request
* - HttpServletRequest
* @param grafico
* - boolean (true - tela de gr�ficos)
* @param gerenciamento
* - GerenciamentoServicosDTO
* @return Collection<TarefaFluxoDTO>
* @throws Exception
* @author valdoilo.damasceno
* @since 23.10.2013 - �s 20:30
*/
public Collection<TarefaFluxoDTO> listarTarefas(Integer itensPorPagina, Integer paginaSelecionada, UsuarioDTO usuario, HttpServletRequest request, boolean grafico,
GerenciamentoServicosDTO gerenciamento) throws Exception {
ExecucaoSolicitacaoService execucaoSolicitacaoService = getExecucaoSolicitacaoService();
ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
List<TarefaFluxoDTO> colTarefas = null;
List<SolicitacaoServicoDTO> listSolicitacaoServico = new ArrayList<SolicitacaoServicoDTO>();
if (paginaSelecionada == null) {
paginaSelecionada = 1;
}
UsuarioDTO usuarioResponsavelDto = new UsuarioDTO();
if (this.getGerenciamentoServicosDTO().getIdResponsavelAtual() != null && this.getGerenciamentoServicosDTO().getIdResponsavelAtual().intValue() != -1) {
UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
usuarioResponsavelDto = usuarioService.restoreByIdEmpregado(this.getGerenciamentoServicosDTO().getIdResponsavelAtual());
} else {
/* Criado para permitir filtrar as solicita��es que n�o possuem respons�vel. valdoilo.damasceno */
if (this.getGerenciamentoServicosDTO().getIdResponsavelAtual() != null && this.getGerenciamentoServicosDTO().getIdResponsavelAtual().intValue() == -1) {
usuarioResponsavelDto.setIdUsuario(-1);
}
}
if (itensPorPagina != null) {
if (this.getGerenciamentoServicosDTO() != null && this.getGerenciamentoServicosDTO().getIdContrato() == null && this.getGerenciamentoServicosDTO().getIdTipo() == null
&& gerenciamento != null) {
this.setGerenciamentoServicosDTO(gerenciamento);
}
}
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";
}
Collection<ContratoDTO> listContratoUsuarioLogado = null;
if (COLABORADORES_VINC_CONTRATOS != null && COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
listContratoUsuarioLogado = contratoService.findAtivosByIdEmpregado(usuario.getIdEmpregado());
} else {
listContratoUsuarioLogado = contratoService.listAtivos();
}
if (!grafico) {
/** Chamada do m�todo recuperaTarefas otimizado. Opera��o Usain Bolt - 27.01.2015 - carlos.santos */
final ParamRecuperacaoTarefasDTO param = new ParamRecuperacaoTarefasDTO(usuario.getLogin(), gerenciamento, listContratoUsuarioLogado);
final Pageable pageable = new PageRequest(paginaSelecionada - 1, itensPorPagina);
final Page<TarefaFluxoDTO> resultPage = execucaoSolicitacaoService.recuperaTarefas(param, pageable);
colTarefas = resultPage.getContent();
} else {
colTarefas = execucaoSolicitacaoService.recuperaTarefas(usuario.getLogin(), this.getGerenciamentoServicosDTO(), listContratoUsuarioLogado);
}
List<TarefaFluxoDTO> colTarefasFiltradasFinal = new ArrayList<>();
boolean asc = true;
for (TarefaFluxoDTO tarefaDto : colTarefas) {
SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) tarefaDto.getSolicitacaoDto();
listSolicitacaoServico.add(solicitacaoServicoDto);
solicitacaoServicoDto.setDataHoraLimiteToString(""); // Apenas forca atualizacao
solicitacaoServicoDto.setDataHoraSolicitacaoToString(""); // Apenas forca atualizacao
solicitacaoServicoDto.setDescricaoSemFormatacao(Util.tratarAspasSimples(UtilStrings.nullToNaoDisponivel(solicitacaoServicoDto.getDescricaoSemFormatacao())));
solicitacaoServicoDto.setDescricaoForTitle(Util.tratarAspasSimples(solicitacaoServicoDto.getDescricao()));
solicitacaoServicoDto.setDescricao(Util.tratarAspasSimples(solicitacaoServicoDto.getDescricao()));// tratamento para Aspas Simples
solicitacaoServicoDto.setDescricao(Util.converterHtmlQuadro(solicitacaoServicoDto.getDescricao())); // tratamento para codigo html
solicitacaoServicoDto.setDescricao(Util.converterCaracteresInadequadosParaTexto(solicitacaoServicoDto.getDescricao())); // tratamento de caracteres inadequados para texto
solicitacaoServicoDto.setResposta("");
solicitacaoServicoDto.setDetalhamentoCausa("");
if (solicitacaoServicoDto.getSlaACombinar() == null) {
solicitacaoServicoDto.setSlaACombinar("N");
}
int prazoHH = 0;
int prazoMM = 0;
if (solicitacaoServicoDto.getPrazoHH() != null) {
prazoHH = solicitacaoServicoDto.getPrazoHH();
}
if (solicitacaoServicoDto.getPrazoMM() != null) {
prazoMM = solicitacaoServicoDto.getPrazoMM();
}
if (prazoHH == 0 && prazoMM == 0) {
solicitacaoServicoDto.setSlaACombinar("S");
solicitacaoServicoDto.setAtrasoSLA(0);
solicitacaoServicoDto.setAtrasoSLAStr("");
solicitacaoServicoDto.setDataHoraLimiteStr("");
}
if (solicitacaoServicoDto.getSlaACombinar().equalsIgnoreCase("S")) {
solicitacaoServicoDto.setDataHoraLimite(null);
solicitacaoServicoDto.setAtrasoSLA(0);
solicitacaoServicoDto.setAtrasoSLAStr("");
if (asc) {
tarefaDto.setDataHoraLimite(new Timestamp(UtilDatas.alteraData(UtilDatas.getDataAtual(), 10, Calendar.YEAR).getTime()));
} else {
tarefaDto.setDataHoraLimite(new Timestamp(UtilDatas.alteraData(UtilDatas.getDataAtual(), -10, Calendar.YEAR).getTime()));
}
}
if (solicitacaoServicoDto.getSituacao().equalsIgnoreCase(br.com.centralit.citcorpore.util.Enumerados.SituacaoSolicitacaoServico.Suspensa.name())) {
solicitacaoServicoDto.setDataHoraLimite(null);
solicitacaoServicoDto.setAtrasoSLA(0);
solicitacaoServicoDto.setAtrasoSLAStr("");
if (asc) {
tarefaDto.setDataHoraLimite(new Timestamp(UtilDatas.alteraData(UtilDatas.getDataAtual(), 10, Calendar.YEAR).getTime()));
} else {
tarefaDto.setDataHoraLimite(new Timestamp(UtilDatas.alteraData(UtilDatas.getDataAtual(), -10, Calendar.YEAR).getTime()));
}
}
if (solicitacaoServicoDto.getSolicitanteUnidade() != null && StringUtils.isNotBlank(solicitacaoServicoDto.getSolicitanteUnidade())) {
solicitacaoServicoDto.setSolicitante(""); // pra nao enviar no JSON
} else {
if (solicitacaoServicoDto.getSolicitante() != null && StringUtils.isNotBlank(solicitacaoServicoDto.getSolicitante())) {
solicitacaoServicoDto.setSolicitanteUnidade(Util.tratarAspasSimples(solicitacaoServicoDto.getSolicitante()));
} else {
solicitacaoServicoDto.setSolicitanteUnidade(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
}
/**
* A Filtragem de Respons�vel e Tarefa Atual s�o realizadas aqui. As demais s�o realizadas no BD.
*/
/** Quando os dois filtros foram selecionados */
if ((usuarioResponsavelDto != null && usuarioResponsavelDto.getIdUsuario() != null && StringUtils.isNotBlank(usuarioResponsavelDto.getIdUsuario().toString()))
&& (this.getGerenciamentoServicosDTO().getTarefaAtual() != null && StringUtils.isNotBlank(this.getGerenciamentoServicosDTO().getTarefaAtual()))) {
if ((tarefaDto.getIdResponsavelAtual() != null && StringUtils.isNotBlank(tarefaDto.getIdResponsavelAtual().toString()))
&& (tarefaDto.getElementoFluxoDto() != null && tarefaDto.getElementoFluxoDto().getDocumentacao() != null && StringUtils.isNotBlank(tarefaDto.getElementoFluxoDto()
.getDocumentacao()))
&& (usuarioResponsavelDto.getIdUsuario().toString().equalsIgnoreCase(tarefaDto.getIdResponsavelAtual().toString()) && this.getGerenciamentoServicosDTO().getTarefaAtual()
.toString().equalsIgnoreCase(tarefaDto.getElementoFluxoDto().getDocumentacao().toString()))) {
colTarefasFiltradasFinal.add(tarefaDto);
} else {
/* Criado para permitir filtrar as solicita��es que n�o possuem respons�vel. valdoilo.damasceno */
if ((tarefaDto.getIdResponsavelAtual() == null || StringUtils.isBlank(tarefaDto.getIdResponsavelAtual().toString()))
&& (tarefaDto.getElementoFluxoDto() != null && tarefaDto.getElementoFluxoDto().getDocumentacao() != null && StringUtils.isNotBlank(tarefaDto.getElementoFluxoDto()
.getDocumentacao()))
&& (usuarioResponsavelDto.getIdUsuario().intValue() == -1 && this.getGerenciamentoServicosDTO().getTarefaAtual().toString()
.equalsIgnoreCase(tarefaDto.getElementoFluxoDto().getDocumentacao().toString()))) {
colTarefasFiltradasFinal.add(tarefaDto);
}
}
} else
/** Quando um ou o outro foi selecionado. */
if ((usuarioResponsavelDto != null && usuarioResponsavelDto.getIdUsuario() != null && StringUtils.isNotBlank(usuarioResponsavelDto.getIdUsuario().toString()))
|| (this.getGerenciamentoServicosDTO().getTarefaAtual() != null && StringUtils.isNotBlank(this.getGerenciamentoServicosDTO().getTarefaAtual()))) {
/** Quando apenas o respons�vel foi selecionado. */
if (usuarioResponsavelDto != null && usuarioResponsavelDto.getIdUsuario() != null && tarefaDto.getIdResponsavelAtual() != null
&& StringUtils.isNotBlank(tarefaDto.getIdResponsavelAtual().toString())
&& usuarioResponsavelDto.getIdUsuario().toString().equalsIgnoreCase(tarefaDto.getIdResponsavelAtual().toString())) {
colTarefasFiltradasFinal.add(tarefaDto);
} else {
/* Criado para permitir filtrar as solicita��es que n�o possuem respons�vel. valdoilo.damasceno */
if (usuarioResponsavelDto != null && usuarioResponsavelDto.getIdUsuario() != null && usuarioResponsavelDto.getIdUsuario().intValue() == -1
&& (tarefaDto.getIdResponsavelAtual() == null || StringUtils.isBlank(tarefaDto.getIdResponsavelAtual().toString()))) {
colTarefasFiltradasFinal.add(tarefaDto);
} else
/** Quando apenas a tarefa atual foi selecionada. */
if ((this.getGerenciamentoServicosDTO().getTarefaAtual() != null && StringUtils.isNotBlank(this.getGerenciamentoServicosDTO().getTarefaAtual()))
&& (tarefaDto.getElementoFluxoDto() != null && tarefaDto.getElementoFluxoDto().getDocumentacao() != null && StringUtils.isNotBlank(tarefaDto.getElementoFluxoDto()
.getDocumentacao()))
&& this.getGerenciamentoServicosDTO().getTarefaAtual().toString().equalsIgnoreCase(tarefaDto.getElementoFluxoDto().getDocumentacao().toString())) {
colTarefasFiltradasFinal.add(tarefaDto);
}
}
} else {
colTarefasFiltradasFinal.add(tarefaDto);
}
}
/**
* Motivo: Adicionado para corrigir nullPoinerException quando renderizava gr�ficos Autor: flavio.santana Data/Hora: 13/11/2013
*/
if (!grafico) {
/**
* Utilizado apenas quando foi selecionado o filtro de Respons�vel Atual ou Tarefa atual. Obt�m o n�mero total de p�ginas e filtro a lista para exibir apenas o n�mero de �tens selecionado.
*/
if ((this.getGerenciamentoServicosDTO() != null && usuarioResponsavelDto != null && usuarioResponsavelDto.getIdUsuario() != null)
|| (this.getGerenciamentoServicosDTO() != null && this.getGerenciamentoServicosDTO().getTarefaAtual() != null && StringUtils.isNotBlank(this.getGerenciamentoServicosDTO()
.getTarefaAtual()))) {
int start = (paginaSelecionada * itensPorPagina) - itensPorPagina;
int end = start + itensPorPagina;
if (end >= colTarefasFiltradasFinal.size()) {
end = colTarefasFiltradasFinal.size();
}
this.getGerenciamentoServicosDTO().setTotalPaginas(colTarefasFiltradasFinal.size());
colTarefasFiltradasFinal = colTarefasFiltradasFinal.subList(((paginaSelecionada * itensPorPagina) - itensPorPagina), end);
}
}
return colTarefasFiltradasFinal;
}
/**
* Respons�vel por renderizar a listagem de Solicita��es na tela de Gerenciamento de Servi�os.
*
* @param sb
* @param request
* @param itensPorPagina
* @param paginaSelecionada
* @param flag
* @param tipoLista
* @throws Exception
*/
public void renderizarLista(StringBuilder sb, HttpServletRequest request, Integer itensPorPagina, Integer paginaSelecionada, boolean flag, Integer tipoLista) throws Exception {
/**
* Motivo: Adiocinar mais informa��es na listagem das solicita��es S�o elas: Data de Cria��o, Criado por e Contrato
*
* @author flavio.santana
* @since 23/10/2013 14:00
*/
UsuarioDTO usuario = WebUtil.getUsuario(request);
GerenciamentoServicosDTO gerenciamentoServicoDto = this.getGerenciamentoServicosDTO();
String language = (String) request.getSession().getAttribute("locale");
Collection<TarefaFluxoDTO> listTarefaSolicitacaoServico = this.listarTarefas(itensPorPagina, paginaSelecionada, usuario, request, false, gerenciamentoServicoDto);
String locale = (String) request.getSession().getAttribute("locale");
if (locale == null) {
locale = "pt";
}
int i = 0;
if (flag)
sb.append("<div id='esquerda' class='innerTB'>");
sb.append("<!-- Inicio do loop de solicita��es abertas -->");
if (listTarefaSolicitacaoServico != null && !listTarefaSolicitacaoServico.isEmpty()) {
ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
for (TarefaFluxoDTO tarefaFluxoDto : listTarefaSolicitacaoServico) {
SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) tarefaFluxoDto.getSolicitacaoDto();
// Faz o c�lculo da SLA
String hh = "";
String mm = "";
if (solicitacaoServicoDto.getIdContrato() != null || solicitacaoServicoDto.getIdServico() != null) {
hh = solicitacaoServicoDto.getPrazoHH().toString();
mm = solicitacaoServicoDto.getPrazoMM().toString();
if (hh.length() == 1)
hh = "0" + hh;
if (mm.length() == 1)
mm = "0" + mm;
}
String cssPrioridade = setarCssPrioridade(solicitacaoServicoDto.getPrioridade());
String cssPrazo = setarCssPrazo(solicitacaoServicoDto);
String HTMLprazo = setarHtmlPrazo(solicitacaoServicoDto, request);
String situacaoSLA = "";
if (solicitacaoServicoDto.getSituacaoSLA().equalsIgnoreCase("N")) {
situacaoSLA = UtilI18N.internacionaliza(locale, "citcorpore.comum.naoIniciado");
} else if (solicitacaoServicoDto.getSituacaoSLA().equalsIgnoreCase("S")) {
situacaoSLA = UtilI18N.internacionaliza(locale, "citcorpore.comum.suspenso");
}
sb.append("<div class='box-generic content-area " + (i % 2 == 0 ? "alternado" : "") + " listaDetalhada " + (tipoLista.equals(1) ? "ativo" : "") + "'> ");
sb.append(HTMLprazo);
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "gerenciaservico.numerosolicitacao") + "</div>");
sb.append(" <span class='fontSize15'>[" + solicitacaoServicoDto.getIdSolicitacaoServico() + "]</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.tipo") + "</div>");
sb.append(" <span class='verde-negrito'>" + solicitacaoServicoDto.getDemanda() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.dataHoraCriacao") + "</div>");
sb.append(" <span class='verde-negrito'>" + solicitacaoServicoDto.obterDataHoraSolicitacaoStrWithLanguage(language) + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span1'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.prioridade") + "</div>");
sb.append(" <span class= '" + cssPrioridade + "'> " + solicitacaoServicoDto.getPrioridade() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.prazoLimite") + "</div>");
if (!solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
if (!solicitacaoServicoDto.getSituacaoSLA().equalsIgnoreCase("S") || solicitacaoServicoDto.getAtrasoSLA() > 0) {
sb.append(" <span class= '" + cssPrazo + "'> " + UtilStrings.nullToVazio(solicitacaoServicoDto.obterDataHoraLimiteStrWithLanguage(language)) + "</span>");
}
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "gerenciaservico.sla") + "</div>");
if ((solicitacaoServicoDto.getPrazoHH().equals(0) || solicitacaoServicoDto.getPrazoHH() == null)
&& (solicitacaoServicoDto.getPrazoMM().equals(0) || solicitacaoServicoDto.getPrazoMM() == null)
&& !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <span class='verde-normal'>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.aCombinar") + "</span>");
} else if (!hh.equals("") && !mm.equals("") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <span class= '" + cssPrazo + "'> " + hh + " : " + mm + " " + situacaoSLA + "</span>");
} else {
sb.append(" <span class= '" + cssPrazo + "'></span>");
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span1'>");
sb.append(" <label class='content-row'>");
if (solicitacaoServicoDto.getAtrasoSLA() > 0 && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "tarefa.atraso") + "</div>");
sb.append(" <span class= '" + cssPrazo + "'>" + solicitacaoServicoDto.getAtrasoSLAStr() + "</span>");
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row labelOverflowTresPontinhos'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.servico") + "</div>");
sb.append(" <span class='servico escuro-negrito' title='" + solicitacaoServicoDto.getNomeServico() + "'>" + solicitacaoServicoDto.getNomeServico() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
if (solicitacaoServicoDto.getIdSolicitacaoRelacionada() != null) {
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.filhadaSolicitacao") + "</div>");
sb.append(" <a onclick='visualizarSolicitacaoPaiEnvioDoAction(" + solicitacaoServicoDto.getIdSolicitacaoRelacionada() + ")' class='verde-negrito'>"
+ solicitacaoServicoDto.getIdSolicitacaoRelacionada() + "</a>");
sb.append(" </label>");
sb.append(" </div>");
}
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.grupoExecutor") + "</div>");
sb.append(" <span>" + UtilStrings.nullToVazio(solicitacaoServicoDto.getGrupoAtual()) + "</span>");
sb.append(" </label>");
sb.append(" </div>");
if (solicitacaoServicoDto.getIdSolicitacaoRelacionada() != null) {
sb.append(" <div class='span1'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.tarefaatual.desc") + "</div>");
sb.append(" <span>" + tarefaFluxoDto.getElementoFluxoDto().getDocumentacao() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
} else {
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.tarefaatual.desc") + "</div>");
sb.append(" <span>" + tarefaFluxoDto.getElementoFluxoDto().getDocumentacao() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
}
sb.append(" <div class='span4'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.responsavel") + "</div>");
sb.append(" <span class='escuro-negrito'>" + tarefaFluxoDto.getResponsavelAtual() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" </div>");
if (solicitacaoServicoDto.getQtdefilhas() != null && !solicitacaoServicoDto.getQtdefilhas().equals(0)) {
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row labelOverflowTresPontinhos'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "requisitosla.contrato") + "</div>");
sb.append(" <span title='" + solicitacaoServicoDto.getContrato() + "'>" + solicitacaoServicoDto.getContrato() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div> </div>");
sb.append(" <a onclick='modalSolicitacoesFilhas(\"" + solicitacaoServicoDto.getIdSolicitacaoServico() + "\");'>"
+ "<span class='count' id='countSolicitacoesAbertasSolicitante'>" + solicitacaoServicoDto.getQtdefilhas() + "</span>");
sb.append(" " + UtilI18N.internacionaliza(locale, "solicitacaoservico.solicitacaofilha") + "</a>");
sb.append(" </label>");
sb.append(" </div>");
} else {
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span4'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "requisitosla.contrato") + "</div>");
sb.append(" <span title='" + solicitacaoServicoDto.getContrato() + "'>" + solicitacaoServicoDto.getContrato() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
}
sb.append(" <div class='span4'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.solicitante") + "</div>");
sb.append(" <span>" + solicitacaoServicoDto.getSolicitanteUnidade() + "</span>");
sb.append(" <a class='informacoesSolicitante' onmouseover='geraPopoverInformacoesSolicitante(\""
+ Util.tratarAspasSimples(UtilStrings.nullToNaoDisponivel(solicitacaoServicoDto.getTelefonecontato())) + "\",\""
+ Util.tratarAspasSimples(UtilStrings.nullToNaoDisponivel(solicitacaoServicoDto.getEmailcontato())) + "\");'><strong><u>"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.saibamais") + "</u></strong></a>");
sb.append(" </label>");
sb.append(" </div>");
/** Otimiza��o da verifica��o de anexos. Opera��o Usain Bolt - 27.01.2015 - carlos.santos */
if (solicitacaoServicoDto.getQtdeAnexos() == null) {
solicitacaoServicoDto.setQtdeAnexos(new Integer(0));
Collection colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_SOLICITACAOSERVICO, solicitacaoServicoDto.getIdSolicitacaoServico());
if (colAnexos != null)
solicitacaoServicoDto.setQtdeAnexos(colAnexos.size());
}
if (solicitacaoServicoDto.getQtdeAnexos() > 0) {
sb.append(" <div class='span" + (tarefaFluxoDto.getCompartilhamento() != null && !tarefaFluxoDto.getCompartilhamento().trim().equals("") ? "2" : "4") + "'>");
sb.append(" <label class='content-row'>");
sb.append(" ");
sb.append(" </label>");
sb.append(" <span class='count label label-inverse'>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.possuiAnexo") + "</span>");
sb.append(" </div>");
}
if (tarefaFluxoDto.getCompartilhamento() != null && !tarefaFluxoDto.getCompartilhamento().trim().equals("")) {
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "tarefa.compartilhadacom") + "</div>");
sb.append(" <span>" + tarefaFluxoDto.getCompartilhamento() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
}
if (solicitacaoServicoDto.getQtdeItensConfiguracaoRelacionados() != null && solicitacaoServicoDto.getQtdeItensConfiguracaoRelacionados() != 0) {
sb.append(" </div>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span12'>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row labelOverflowTresPontinhos'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.criadopor") + "</div>");
sb.append(" <span title='" + solicitacaoServicoDto.getResponsavel() + "' >" + solicitacaoServicoDto.getResponsavel() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
} else {
sb.append(" </div>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span12'>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span4'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.criadopor") + "</div>");
sb.append(" <span title='" + solicitacaoServicoDto.getResponsavel() + "' >" + solicitacaoServicoDto.getResponsavel() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
}
if (solicitacaoServicoDto.getQtdeItensConfiguracaoRelacionados() != null && solicitacaoServicoDto.getQtdeItensConfiguracaoRelacionados() != 0) {
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div> </div>");
sb.append(" <a data-toggle='modal' data-target='#modal_itemConfiguracao' onclick='pesquisarItensDeConfiguracaoRelacionados(\""
+ solicitacaoServicoDto.getIdSolicitacaoServico() + "\");'>" + solicitacaoServicoDto.getQtdeItensConfiguracaoRelacionados() + " "
+ UtilI18N.internacionaliza(locale, "solicitacaoServico.itemDeConfiguracao") + "</a>");
sb.append(" </label>");
sb.append(" </div>");
}
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.situacao") + "</div>");
if (solicitacaoServicoDto.getSituacao().equalsIgnoreCase("EmAndamento")) {
sb.append(" <span>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.situacao.EmAndamento") + "</span>");
} else if (solicitacaoServicoDto.getSituacao().equalsIgnoreCase("Cancelada")) {
sb.append(" <span>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.situacao.Cancelada") + "</span>");
} else if (solicitacaoServicoDto.getSituacao().equalsIgnoreCase("Suspensa")) {
sb.append(" <span>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.situacao.Suspensa") + "</span>");
} else {
sb.append(" <span>" + solicitacaoServicoDto.getSituacao() + "</span>");
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span6 right'>");
sb.append(" <div class='content-row'>");
sb.append(" <button type='button' class='btn btn-default maisInfo' onclick='chamarModalDescricaoSolicitacao(\""
+ StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getDescricao()) + "\"," + solicitacaoServicoDto.getIdSolicitacaoServico() + " )'>"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.descricao") + "</button>");
if (tarefaFluxoDto.getExecutar().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <button id='executar' type='button' class='btn btn-default' onclick='prepararExecucaoTarefa(" + tarefaFluxoDto.getIdItemTrabalho() + ","
+ solicitacaoServicoDto.getIdSolicitacaoServico() + ",\"E\");'>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.executar") + "</button>");
}
if (tarefaFluxoDto.getExecutar().equals("S") && !tarefaFluxoDto.getResponsavelAtual().trim().equals(usuario.getNomeUsuario().trim())
&& !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <button id='capturar' type='button' class='btn btn-default' onclick='capturarTarefa(\"" + tarefaFluxoDto.getResponsavelAtual() + "\","
+ tarefaFluxoDto.getIdItemTrabalho() + ");'>" + UtilI18N.internacionaliza(locale, "gerenciaservico.capturartarefa") + "</button>");
}
// Mario J�nior - 23/10/2013 - 16:00 - Passando Parametro no vizualiza
sb.append(" <button type='button' id='visualizar' onclick='visualizarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ","
+ tarefaFluxoDto.getIdItemTrabalho() + ")' class='btn btn-default'>" + UtilI18N.internacionaliza(locale, "gerenciaservico.visualizar") + "</button>");
sb.append(" <div id='acoes' class='btn-group btn-block w15 aLeft dropup'>");
sb.append(" <div class='leadcontainer' data-toggle='dropdown'>");
sb.append(" <button type='button' class='btn dropdown-lead btn-default'>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.acao") + "</button>");
sb.append(" </div>");
sb.append(" <a class='btn btn-default dropdown-toggle' data-toggle='dropdown' ><span class='caret'></span> </a>");
sb.append(" <ul class='dropdown-menu pull-right'>");
if (tarefaFluxoDto.getDelegar().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='exibirDelegacaoTarefa(" + tarefaFluxoDto.getIdItemTrabalho() + "," + solicitacaoServicoDto.getIdSolicitacaoServico() + ",\""
+ tarefaFluxoDto.getElementoFluxoDto().getDocumentacao() + "\");'><a >" + UtilI18N.internacionaliza(locale, "citcorpore.comum.delegar") + "</a></li>");
}
if (tarefaFluxoDto.getSuspender().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='prepararSuspensao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >" + UtilI18N.internacionaliza(locale, "citcorpore.comum.suspender")
+ "</a></li>");
}
if (solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.EmAndamento.toString())) {
sb.append(" <li onclick='adicionarIdContratoNaLookup(" + solicitacaoServicoDto.getIdContrato() + ");carregarModalDuplicarSolicitacao("
+ solicitacaoServicoDto.getIdSolicitacaoServico() + ");montaParametrosAutocompleteSol(" + solicitacaoServicoDto.getIdContrato() + ")';><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.duplicarSolicitacao") + "</a></li>");
}
if (solicitacaoServicoDto.getPossuiFilho() == true) {
sb.append(" <li onclick='exibirSubSolicitacoes(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")';><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.exibirsubsolicitacoes") + "</a></li>");
sb.append(" <li class='divider'></li>");
}
if (tarefaFluxoDto.getReativar().equals("S") && solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='reativarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.reativarsolicitacao") + "</a></li>");
}
/**
* Motivo: Foi visualizado no c�digo da p�gina antiga que o mesmo validava a Situa��o de SLA Autor: flavio.santana Data/Hora: 13/11/2013 17:30
*/
if (tarefaFluxoDto.getAlterarSLA().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())
&& !solicitacaoServicoDto.getSituacaoSLA().equals(Enumerados.SituacaoSLA.S.toString()) && !solicitacaoServicoDto.getSituacaoSLA().equals(Enumerados.SituacaoSLA.N.toString())) {
sb.append(" <li onclick='prepararMudancaSLA(" + tarefaFluxoDto.getIdItemTrabalho() + "," + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.alterarSLA") + "</a></li>");
}
if (tarefaFluxoDto.getAlterarSLA().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='reclassificarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ", " + tarefaFluxoDto.getIdItemTrabalho() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.reclassificaosolicitacao") + "</a></li>");
}
sb.append(" <li onclick='agendaAtividade(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >" + UtilI18N.internacionaliza(locale, "gerenciaservico.agendaratividade")
+ "</a></li>");
sb.append(" </ul>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append("</div>");
sb.append("<div class='box-generic content-area " + (i % 2 == 0 ? "alternado" : "") + " listaResumida " + (tipoLista.equals(2) ? "ativo" : "") + "'>");
sb.append(HTMLprazo);
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "gerenciaservico.numerosolicitacao") + "</div>");
sb.append(" <span class='verde-negrito'>[" + solicitacaoServicoDto.getIdSolicitacaoServico() + "]</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span6'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.servico") + "</div>");
sb.append(" <span class='servico escuro-negrito'>" + solicitacaoServicoDto.getNomeServico() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span1'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.prioridade") + "</div>");
sb.append(" <span class='" + cssPrioridade + "'>" + solicitacaoServicoDto.getPrioridade() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span2'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.prazoLimite") + "</div>");
if (!solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <span class= '" + cssPrazo + "'> " + UtilStrings.nullToVazio(solicitacaoServicoDto.obterDataHoraLimiteStrWithLanguage(language)) + "</span>");
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span1'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "gerenciaservico.sla") + "</div>");
if (solicitacaoServicoDto.getSlaACombinar().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <span class='verde-normal'>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.acombinar") + "</span>");
} else if (!solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <span class= '" + cssPrazo + "'> " + solicitacaoServicoDto.getPrazoHH() + " : " + solicitacaoServicoDto.getPrazoMM() + "</span>");
}
sb.append(" </label>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='span4'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.criadopor") + "</div>");
sb.append(" <span >" + solicitacaoServicoDto.getResponsavel() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span3'>");
sb.append(" <label class='content-row'>");
sb.append(" <div>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.responsavel") + "</div>");
sb.append(" <span class='escuro-negrito'>" + tarefaFluxoDto.getResponsavelAtual() + "</span>");
sb.append(" </label>");
sb.append(" </div>");
sb.append(" <div class='span5 right'>");
sb.append(" <div class='content-row'>");
sb.append(" <button type='button' class='btn btn-default maisInfo' onclick='chamarModalDescricaoSolicitacao(\""
+ StringEscapeUtils.escapeJavaScript(solicitacaoServicoDto.getDescricao()) + "\"," + solicitacaoServicoDto.getIdSolicitacaoServico() + " )'>"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.descricao") + "</button>");
if (tarefaFluxoDto.getExecutar().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <button id='executar' type='button' class='btn btn-default' onclick='prepararExecucaoTarefa(" + tarefaFluxoDto.getIdItemTrabalho() + ","
+ solicitacaoServicoDto.getIdSolicitacaoServico() + ",\"E\");'>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.executar") + "</button>");
}
if (tarefaFluxoDto.getExecutar().equals("S") && !tarefaFluxoDto.getResponsavelAtual().equalsIgnoreCase(usuario.getNomeUsuario().trim())
&& !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <button id='capturar' type='button' class='btn btn-default' onclick='capturarTarefa(\"" + tarefaFluxoDto.getResponsavelAtual() + "\","
+ tarefaFluxoDto.getIdItemTrabalho() + ");'>" + UtilI18N.internacionaliza(locale, "gerenciaservico.capturartarefa") + "</button>");
}
sb.append(" <button type='button' id='visualizar' onclick='visualizarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + "," + tarefaFluxoDto.getIdItemTrabalho()
+ ")' class='btn btn-default'>" + UtilI18N.internacionaliza(locale, "gerenciaservico.visualizar") + "</button>");
sb.append(" <div id='acoes' class='btn-group btn-block w15 aLeft dropup'>");
sb.append(" <div class='leadcontainer' data-toggle='dropdown'>");
sb.append(" <button type='button' class='btn dropdown-lead btn-default'>" + UtilI18N.internacionaliza(locale, "solicitacaoServico.acao") + "</button>");
sb.append(" </div>");
sb.append(" <a class='btn btn-default dropdown-toggle' data-toggle='dropdown' ><span class='caret'></span> </a>");
sb.append(" <ul class='dropdown-menu pull-right'>");
if (tarefaFluxoDto.getDelegar().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='exibirDelegacaoTarefa(" + tarefaFluxoDto.getIdItemTrabalho() + "," + solicitacaoServicoDto.getIdSolicitacaoServico() + ",\""
+ tarefaFluxoDto.getElementoFluxoDto().getDocumentacao() + "\");'><a >" + UtilI18N.internacionaliza(locale, "citcorpore.comum.delegar") + "</a></li>");
}
if (tarefaFluxoDto.getSuspender().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='prepararSuspensao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >" + UtilI18N.internacionaliza(locale, "citcorpore.comum.suspender")
+ "</a></li>");
}
if (solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.EmAndamento.toString())) {
sb.append(" <li onclick='adicionarIdContratoNaLookup(" + solicitacaoServicoDto.getIdContrato() + ");carregarModalDuplicarSolicitacao("
+ solicitacaoServicoDto.getIdSolicitacaoServico() + ");montaParametrosAutocompleteSol(" + solicitacaoServicoDto.getIdContrato() + ")';><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.duplicarSolicitacao") + "</a></li>");
}
if (solicitacaoServicoDto.getPossuiFilho() == true) {
sb.append(" <li onclick='exibirSubSolicitacoes(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")';><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.exibirsubsolicitacoes") + "</a></li>");
sb.append(" <li class='divider'></li>");
}
if (tarefaFluxoDto.getReativar().equals("S") && solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='reativarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "gerenciaservico.reativarsolicitacao") + "</a></li>");
}
/**
* Motivo: Foi visualizado no c�digo da p�gina antiga que o mesmo validava a Situa��o de SLA Autor: flavio.santana Data/Hora: 13/11/2013 17:30
*/
if (tarefaFluxoDto.getAlterarSLA().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())
&& !solicitacaoServicoDto.getSituacaoSLA().equals(Enumerados.SituacaoSLA.S.toString()) && !solicitacaoServicoDto.getSituacaoSLA().equals(Enumerados.SituacaoSLA.N.toString())) {
sb.append(" <li onclick='prepararMudancaSLA(" + tarefaFluxoDto.getIdItemTrabalho() + "," + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.alterarSLA") + "</a></li>");
}
if (tarefaFluxoDto.getAlterarSLA().equals("S") && !solicitacaoServicoDto.getSituacao().equals(SituacaoSolicitacaoServico.Suspensa.toString())) {
sb.append(" <li onclick='reclassificarSolicitacao(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ", " + tarefaFluxoDto.getIdItemTrabalho() + ")'><a >"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.reclassificaosolicitacao") + "</a></li>");
}
sb.append(" <li onclick='agendaAtividade(" + solicitacaoServicoDto.getIdSolicitacaoServico() + ")'><a >" + UtilI18N.internacionaliza(locale, "gerenciaservico.agendaratividade")
+ "</a></li>");
sb.append(" </ul>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
sb.append(" </div>");
i++;
}
} else {
sb.append("<div class='content-area'>");
sb.append(" <div class='row-fluid'>");
sb.append(" <div class='innerTB'>");
sb.append(" <h4>" + UtilI18N.internacionaliza(locale, "citcorpore.comum.resultado") + "</h4>");
sb.append(" </div>");
sb.append(" </div>");
sb.append("</div>");
}
sb.append("<!-- Fim do loop de solicita��es abertas -->");
if (flag)
sb.append("</div>");
carregarItensFiltro(request);
}
/**
* Verifica se idContrato est� na Cole��o de Contratos informado.
*
* @param idContrato
* - id do Contrato.
* @param colContratosColab
* - Cole��o de contratos.
* @return boolean (true - contrato est� na lista)
*/
protected boolean isContratoInList(Integer idContrato, Collection colContratosColab) {
if (idContrato == null) {
return false;
}
if (colContratosColab != null) {
for (Iterator it = colContratosColab.iterator(); it.hasNext();) {
ContratosGruposDTO contratosGruposDTO = (ContratosGruposDTO) it.next();
if (contratosGruposDTO.getIdContrato() == null) {
contratosGruposDTO.setIdContrato(new Integer(0));
}
if (contratosGruposDTO.getIdContrato().intValue() == idContrato.intValue()) {
return true;
}
}
}
return false;
}
/**
* Prepada a execu��o da tarefa.
*
* @param document
* - DocumentHTML
* @param request
* - HttpServletRequest
* @param response
* - HttpServletResponse
* @throws Exception
*/
public void preparaExecucaoTarefa(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
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;
}
GerenciamentoServicosDTO gerenciamentoBean = (GerenciamentoServicosDTO) document.getBean();
if (gerenciamentoBean.getIdTarefa() == null)
return;
TarefaFluxoDTO tarefaDto = getExecucaoSolicitacaoService().recuperaTarefa(usuario.getLogin(), gerenciamentoBean.getIdTarefa());
if (tarefaDto == null || tarefaDto.getElementoFluxoDto() == null || !tarefaDto.getExecutar().equals("S") || tarefaDto.getElementoFluxoDto().getTipoInteracao() == null)
return;
if (tarefaDto.getElementoFluxoDto().getTipoInteracao().equals(br.com.centralit.bpm.util.Enumerados.INTERACAO_VISAO)) {
if (tarefaDto.getIdVisao() != null) {
document.executeScript("exibirVisao('" + UtilI18N.internacionaliza(request, "gerenciaservico.executartarefa") + " " + tarefaDto.getElementoFluxoDto().getDocumentacao() + "','"
+ tarefaDto.getIdVisao() + "','" + tarefaDto.getElementoFluxoDto().getIdFluxo() + "','" + tarefaDto.getIdItemTrabalho() + "','" + gerenciamentoBean.getAcaoFluxo() + "');");
} else {
document.alert(UtilI18N.internacionaliza(request, "gerenciaservico.visaotarefa") + " \"" + tarefaDto.getElementoFluxoDto().getDocumentacao() + "\" "
+ UtilI18N.internacionaliza(request, "gerenciaservico.naoencontrado"));
}
} else {
String caracterParmURL = "?";
if (tarefaDto.getElementoFluxoDto().getUrl().indexOf("?") > -1) { // Se na URL já conter ?, entao colocar &
caracterParmURL = "&";
}
document.executeScript("exibirUrl('" + UtilI18N.internacionaliza(request, "gerenciaservico.executartarefa") + " " + tarefaDto.getElementoFluxoDto().getDocumentacao() + "','"
+ tarefaDto.getElementoFluxoDto().getUrl() + caracterParmURL + "idSolicitacaoServico=" + ((SolicitacaoServicoDTO) tarefaDto.getSolicitacaoDto()).getIdSolicitacaoServico()
+ "&idTarefa=" + tarefaDto.getIdItemTrabalho() + "&acaoFluxo=" + gerenciamentoBean.getAcaoFluxo() + "');");
}
tarefaDto = null;
}
/**
* Reativa a solicita��o suspensa.
*
* @param document
* - DocumentHTML
* @param request
* - HttpServletRequest
* @param response
* - HttpServletResponse
* @throws Exception
*/
public void reativaSolicitacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
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;
}
GerenciamentoServicosDTO gerenciamentoBean = (GerenciamentoServicosDTO) document.getBean();
if (gerenciamentoBean.getIdSolicitacaoSel() == null) {
return;
} else {
Integer idSolicitacao = Integer.parseInt(gerenciamentoBean.getIdSolicitacaoSel());
gerenciamentoBean.setIdSolicitacao(idSolicitacao);
}
SolicitacaoServicoService solicitacaoServicoService = getSolicitacaoServicoService(request);
SolicitacaoServicoDTO solicitacaoServicoDto = solicitacaoServicoService.restoreAll(gerenciamentoBean.getIdSolicitacao());
solicitacaoServicoService.reativa(usuario, solicitacaoServicoDto);
document.executeScript("refreshTelaGerenciamento();");
gerenciamentoBean = null;
solicitacaoServicoDto = null;
}
/**
* Realiza a captura da Tarefa para o Usu�rio logado.
*
* @param document
* - DocumentHTML
* @param request
* - HttpServletRequest
* @param response
* - HttpServletRequest
* @throws Exception
*/
public void capturaTarefa(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
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;
}
GerenciamentoServicosDTO gerenciamentoBean = (GerenciamentoServicosDTO) document.getBean();
if (gerenciamentoBean.getIdTarefa() == null)
return;
getExecucaoSolicitacaoService().executa(usuario, gerenciamentoBean.getIdTarefa(), br.com.centralit.bpm.util.Enumerados.ACAO_INICIAR);
gerenciamentoBean = null;
document.executeScript("refreshTelaGerenciamento();");
}
/**
* Serializa a Lista de Tarefas.
*
* @param colTarefas
* - List<TarefaFluxoDTO>
* @param request
* @return String
* @throws Exception
*/
private String serializaTarefas(List<TarefaFluxoDTO> colTarefas, HttpServletRequest request) throws Exception {
if (colTarefas == null)
return null;
for (TarefaFluxoDTO tarefaDto : colTarefas) {
tarefaDto.setElementoFluxo_serialize(br.com.citframework.util.WebUtil.serializeObject(tarefaDto.getElementoFluxoDto(), WebUtil.getLanguage(request)));
tarefaDto.setSolicitacao_serialize(br.com.citframework.util.WebUtil.serializeObject(tarefaDto.getSolicitacaoDto(), WebUtil.getLanguage(request)));
}
return br.com.citframework.util.WebUtil.serializeObjects(colTarefas, WebUtil.getLanguage(request));
}
public void exibirResumoSolicitacoes(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
List<TarefaFluxoDTO> colecao = (List<TarefaFluxoDTO>) listarTarefas(null, null, usuario, request, true, null);
renderizarResumoSolicitacoes(document, request, colecao);
document.executeScript("JANELA_AGUARDE_MENU.hide()");
}
/*
* Desenvolvedor: Pedro Lino - Data: 06/11/2013 - Hor�rio: 09:45 - ID Citsmart: 120948 - Motivo/Coment�rio: Comentado links: ver todos e prioridades, pois n�o tinham nenhuma fun��o
*/
public void renderizarResumoSolicitacoes(DocumentHTML document, HttpServletRequest request, List<TarefaFluxoDTO> listTarefas) throws ServiceException, Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
StringBuilder sb = new StringBuilder();
HashMap HashMapSituacao = new HashMap();
HashMap hashMapPrazoLimite = new HashMap();
// M�rio J�nior - 29/10/2013 - 17:00 - Inserido para mostrar total dos resumos
Integer qtdPrazoLimite = 0;
Integer qtdTipoSolicitacao = 0;
Integer qtdSituacao = 0;
Integer qtdPrioridade = 0;
hashMapPrazoLimite = resumoPorPrazoLimite(listTarefas);
Collection<PrioridadeDTO> colResumoPorPrioridade = resumoPorPrioridade(listTarefas);
Collection<TipoDemandaServicoDTO> colTipoSolicitacaoServico = resumoPorTipoSolicitacaoServico(listTarefas);
Integer quantidadeSolicitacoes = 0;
for (TipoDemandaServicoDTO dto : colTipoSolicitacaoServico) {
if (dto.getQuantidade() != null) {
quantidadeSolicitacoes += dto.getQuantidade();
}
}
if (quantidadeSolicitacoes > 0) {
String quantidadeSolicitacoesStr = String.valueOf(quantidadeSolicitacoes);
document.getElementById("quantidadeSolicitacoes").setValue(quantidadeSolicitacoesStr);
}
HashMapSituacao = resumoPorSituacao(listTarefas);
HTMLElement tab3 = document.getElementById("tab3-3");
sb.append("<div class='tab-pane' id='tab3-3'> ");
sb.append(" <div class='row-fluid'> ");
sb.append(" <div class='span12'> ");
sb.append(" <div class='row-fluid'> ");
sb.append(" <div class='span6'> ");
sb.append(" <div class='widget'> ");
sb.append(" <div class='widget-head'> ");
sb.append(" <h4 class='heading'><i></i>" + UtilI18N.internacionaliza(request, "solicitacaoServico.prazoLimite") + "</h4> ");
/* sb.append(" <a href='' class='details pull-right'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.verTodos") + "</a> "); */
sb.append(" </div> ");
sb.append(" <div class='widget-body'> ");
sb.append(" <table class='table table-bordered table-striped'> ");
sb.append(" <tbody> ");
for (Object resumo : hashMapPrazoLimite.entrySet()) {
String resumoSTR = resumo.toString();
String[] arrayResumo = resumoSTR.split("=");
for (int i = 0; i < arrayResumo.length; i++) {
if (i >= 1)
continue;
sb.append(" <tr> ");
if (arrayResumo[0].equalsIgnoreCase("Prazo Normal")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoservico.prazonormal") + "</td> ");
} else if (arrayResumo[0].equalsIgnoreCase("Prazo a Vencer")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoservico.prazoavencer") + "</td> ");
} else if (arrayResumo[0].equalsIgnoreCase("Prazo Vencido")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoservico.prazovencido") + "</td> ");
} else {
sb.append(" <td class='center'>" + arrayResumo[0] + "</td> ");
}
sb.append(" <td>" + arrayResumo[1] + "</td> ");
sb.append(" </tr> ");
if (arrayResumo[1] != null) {
qtdPrazoLimite += Integer.parseInt(arrayResumo[1]);
}
}
}
sb.append(" <td class='center'><h4 class='blue'><b>" + UtilI18N.internacionaliza(request, "pagamentoProjeto.total") + "</b></h4></td> ");
sb.append(" <td><h4 class='blue'><b>" + qtdPrazoLimite + "</b></h4></td> ");
sb.append(" </tbody> ");
sb.append(" </table> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" <div class='span6'> ");
sb.append(" <div class='widget'> ");
sb.append(" <div class='widget-head'> ");
sb.append(" <h4 class='heading'><i></i>" + UtilI18N.internacionaliza(request, "solicitacaoServico.prioridade") + "</h4> ");
/* sb.append(" <a href='' class='details pull-right'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.prioridade") + "</a> "); */
sb.append(" </div> ");
sb.append(" <div class='widget-body'> ");
sb.append(" <table class='table table-bordered table-striped'> ");
sb.append(" <tbody> ");
for (PrioridadeDTO dto : colResumoPorPrioridade) {
sb.append(" <tr> ");
sb.append(" <td class='center'>" + dto.getNomePrioridade() + "</td> ");
sb.append(" <td>" + dto.getQuantidade() + "</td> ");
sb.append(" </tr> ");
if (dto.getQuantidade() != null) {
qtdPrioridade += dto.getQuantidade();
}
}
sb.append(" <td class='center'><h4 class='blue'><b>" + UtilI18N.internacionaliza(request, "pagamentoProjeto.total") + "</b></h4></td> ");
sb.append(" <td><h4 class='blue'><b>" + qtdPrioridade + "</b></h4></td> ");
sb.append(" </tbody> ");
sb.append(" </table> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" <div class='row-fluid'> ");
sb.append(" <div class='span12'> ");
sb.append(" <div class='row-fluid'> ");
sb.append(" <div class='span6'> ");
sb.append(" <div class='widget'> ");
sb.append(" <div class='widget-head'> ");
sb.append(" <h4 class='heading'><i></i>" + UtilI18N.internacionaliza(request, "solicitacaoServico.tipo") + "</h4> ");
/* sb.append(" <a href='' class='details pull-right'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.verTodos") + "</a> "); */
sb.append(" </div> ");
sb.append(" <div class='widget-body'> ");
sb.append(" <table class='table table-bordered table-striped'> ");
sb.append(" <tbody> ");
for (TipoDemandaServicoDTO dto : colTipoSolicitacaoServico) {
sb.append(" <tr> ");
if (dto.getNomeTipoDemandaServico().equalsIgnoreCase("Incidente")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "grupovisao.incidente") + "</td> ");
} else if (dto.getNomeTipoDemandaServico().equalsIgnoreCase("Requisi��o")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "requisitosla.requisicao") + "</td> ");
} else {
sb.append(" <td class='center'>" + dto.getNomeTipoDemandaServico() + "</td> ");
}
sb.append(" <td>" + dto.getQuantidade() + "</td> ");
sb.append(" </tr> ");
if (dto.getQuantidade() != null) {
qtdTipoSolicitacao += dto.getQuantidade();
}
}
sb.append(" <td class='center'><h4 class='blue'><b>" + UtilI18N.internacionaliza(request, "pagamentoProjeto.total") + "</b></h4></td> ");
sb.append(" <td><h4 class='blue'><b>" + qtdTipoSolicitacao + "</b></h4></td> ");
sb.append(" </tbody> ");
sb.append(" </table> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" <div class='span6'> ");
sb.append(" <div class='widget'> ");
sb.append(" <div class='widget-head'> ");
sb.append(" <h4 class='heading'><i></i>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao") + "</h4> ");
/* sb.append(" <a href='' class='details pull-right'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.verTodos") + "</a> "); */
sb.append(" </div> ");
sb.append(" <div class='widget-body'> ");
sb.append(" <table class='table table-bordered table-striped'> ");
sb.append(" <tbody> ");
for (Enumerados.SituacaoSolicitacaoServico str : Enumerados.SituacaoSolicitacaoServico.values()) {
if (HashMapSituacao.get(str) == null)
continue;
sb.append(" <tr> ");
if (str.name().equalsIgnoreCase("EmAndamento")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.EmAndamento") + "</td> ");
} else if (str.name().equalsIgnoreCase("Suspensa")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Suspensa") + "</td> ");
} else if (str.name().equalsIgnoreCase("Reaberta")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Reaberta") + "</td> ");
} else if (str.name().equalsIgnoreCase("Resolvida")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Resolvida") + "</td> ");
} else if (str.name().equalsIgnoreCase("Cancelada")) {
sb.append(" <td class='center'>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao.Cancelada") + "</td> ");
} else {
sb.append(" <td class='center'>" + str + "</td> ");
}
sb.append(" <td>" + HashMapSituacao.get(str) + "</td> ");
sb.append(" </tr> ");
if (HashMapSituacao.get(str) != null) {
qtdSituacao += (Integer) HashMapSituacao.get(str);
}
}
sb.append(" <td class='center'><h4 class='blue'><b>" + UtilI18N.internacionaliza(request, "pagamentoProjeto.total") + "</b></h4></td> ");
sb.append(" <td><h4 class='blue'><b>" + qtdSituacao + "</b></h4></td> ");
sb.append(" </tbody> ");
sb.append(" </table> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append(" </div> ");
sb.append("</div> ");
tab3.setInnerHTML(sb.toString());
}
public Collection<TipoDemandaServicoDTO> resumoPorTipoSolicitacaoServico(List<TarefaFluxoDTO> listTarefas) throws Exception {
Collection<TipoDemandaServicoDTO> colTipoDemandaServico = new ArrayList<TipoDemandaServicoDTO>();
colTipoDemandaServico = getSolicitacaoServicoService(null).resumoTipoDemandaServico(listTarefas);
return colTipoDemandaServico;
}
public Collection<PrioridadeDTO> resumoPorPrioridade(List<TarefaFluxoDTO> listTarefas) throws Exception {
Collection<PrioridadeDTO> colPrioridade = new ArrayList<PrioridadeDTO>();
colPrioridade = getSolicitacaoServicoService(null).resumoPrioridade(listTarefas);
return colPrioridade;
}
public HashMap resumoPorSituacao(Collection<TarefaFluxoDTO> listTarefas) throws Exception {
Integer qtdEmAndamento = 0;
Integer qtdReaberta = 0;
Integer qtdSuspensa = 0;
Integer qtdResolvida = 0;
Integer qtdCancelada = 0;
HashMap<Enumerados.SituacaoSolicitacaoServico, Integer> hashMap = new HashMap<Enumerados.SituacaoSolicitacaoServico, Integer>();
if (listTarefas != null) {
for (TarefaFluxoDTO tarefasStr : listTarefas) {
SolicitacaoServicoDTO solicitacaoServicoDTO = (SolicitacaoServicoDTO) tarefasStr.getSolicitacaoDto();
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("EmAndamento")) {
qtdEmAndamento++;
}
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Reaberta")) {
qtdReaberta++;
}
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Suspensa")) {
qtdSuspensa++;
}
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Resolvida")) {
qtdResolvida++;
}
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Cancelada")) {
qtdCancelada++;
}
}
}
hashMap.put(Enumerados.SituacaoSolicitacaoServico.EmAndamento, qtdEmAndamento);
hashMap.put(Enumerados.SituacaoSolicitacaoServico.Reaberta, qtdReaberta);
hashMap.put(Enumerados.SituacaoSolicitacaoServico.Suspensa, qtdSuspensa);
hashMap.put(Enumerados.SituacaoSolicitacaoServico.Resolvida, qtdResolvida);
hashMap.put(Enumerados.SituacaoSolicitacaoServico.Cancelada, qtdCancelada);
return hashMap;
}
public HashMap resumoPorPrazoLimite(Collection<TarefaFluxoDTO> listTarefas) throws Exception {
HashMap hashMap = new HashMap();
hashMap = getSolicitacaoServicoService(null).resumoPorPrazoLimite(listTarefas);
return hashMap;
}
/**
* Atualiza e recarrega a lista de solicita��es de servi�os
*
* @param document
* @param request
* @param response
* @throws Exception
*/
public void atualizarLista(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
this.setGerenciamentoServicosDTO((GerenciamentoServicosDTO) document.getBean());
String paginaselecionada = document.getElementById("paginaselecionada").getValue();
if (paginaselecionada != null) {
this.getGerenciamentoServicosDTO().setPaginaSelecionada(Integer.parseInt(paginaselecionada));
}
this.recarregarLista(document, request, response);
/**
* A linha foi adicionada porque estava fechando o modal e o load antes de recarregar a grid de solicita��o. assim ele so vai fechar o modal depois que carregar a grid.
*
* @author maycon.fernandes
* @since 25/10/2013 14:35
*/
document.executeScript("fecharModal()");
}
/**
* FireEvent chamado para recarregar a Lista de Solicita��o de Servi�o de acordo com o P�gina Selecionada.
*
* @param document
* - DocumentHTML
* @param request
* - HttpServletRequest
* @param response
* - HttpServletResponse
* @throws Exception
* @author valdoilo.damasceno
* @since 27.01.2015. Melhoria implementada na Opera��o Usain Bolt
*/
public void recarregarLista(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuarioLogado = WebUtil.getUsuario(request);
if (usuarioLogado == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
GerenciamentoServicosDTO gerenciamentoServicosDTO = (GerenciamentoServicosDTO) document.getBean();
StringBuilder sb = new StringBuilder();
Integer itensPorPagina = (gerenciamentoServicosDTO.getItensPorPagina() == null ? Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANT_RETORNO_PESQUISA, "5"))
: gerenciamentoServicosDTO.getItensPorPagina());
Integer paginaSelecionada = gerenciamentoServicosDTO.getPaginaSelecionada();
if (paginaSelecionada == null)
paginaSelecionada = 1;
Integer tipoLista = (gerenciamentoServicosDTO.getTipoLista() == null ? 1 : gerenciamentoServicosDTO.getTipoLista());
/** O m�todo atualizarListaTarefasAndReturnTotalPaginas unificou as funcionalidades dos m�todos atualizaListaTarefas e totalPaginas. Opera��o Usain Bolt. valdoilo.damasceno */
Pageable pageable = new PageRequest(paginaSelecionada - 1, itensPorPagina);
Integer totalPaginasFinal = this.getExecucaoSolicitacaoService().atualizarListaTarefasAndReturnTotalPaginas(usuarioLogado, this.getGerenciamentoServicosDTO(), pageable);
renderizarLista(sb, request, itensPorPagina, paginaSelecionada, false, tipoLista);
/**
* Alterado: M�rio Motivo: Invertendo as posi��es para quantificar o total de p�ginas e definir no objeto de gerenciamentoDto Autor: flavio.santana Data/Hora: 13/11/2013
*/
paginaSelecionada = (totalPaginasFinal == 1 ? 1 : paginaSelecionada);
HTMLElement divPrincipal = document.getElementById("esquerda");
divPrincipal.setInnerHTML(sb.toString());
document.executeScript("inicializaPopover()");
carregarItensPaginacao(document, request, totalPaginasFinal);
HTMLForm form = document.getForm("formGerenciamento");
form.setValues(gerenciamentoServicosDTO);
document.executeScript("fechaJanelaAguarde()");
}
/**
* Preenche os campos (Filtros) da tela de Gerenciamento de Servi�os.
*
* @param sb
* - StringBuilder
* @param tarefa
* - TarefaFluxoDTO
* @param request
* - HttpServletRequest
* @param flag
* - boolean
* @throws Exception
*/
/** Altera��o da assinatura do m�todo e do local onde � chamado. Opera��o Usain Bolt - 27.01.2015 - carlos.santos */
public void carregarItensFiltro(HttpServletRequest request) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
return;
}
ClienteService clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null);
FornecedorService fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null);
Collection<ContratoDTO> listContratoDtoAtivo = 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";
}
if (COLABORADORES_VINC_CONTRATOS != null && COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
listContratoDtoAtivo = getContratoService().findAtivosByIdEmpregado(usuario.getIdEmpregado());
} else {
listContratoDtoAtivo = getContratoService().listAtivos();
}
if (listContratoDtoAtivo != null && !listContratoDtoAtivo.isEmpty()) {
for (ContratoDTO contratoDto : listContratoDtoAtivo) {
String nomeCliente = "";
String nomeFornecedor = "";
ClienteDTO clienteDto = new ClienteDTO();
clienteDto.setIdCliente(contratoDto.getIdCliente());
clienteDto = (ClienteDTO) clienteService.restore(clienteDto);
if (clienteDto != null) {
nomeCliente = clienteDto.getNomeRazaoSocial();
}
FornecedorDTO fornecedorDto = new FornecedorDTO();
fornecedorDto.setIdFornecedor(contratoDto.getIdFornecedor());
fornecedorDto = (FornecedorDTO) fornecedorService.restore(fornecedorDto);
if (fornecedorDto != null) {
nomeFornecedor = fornecedorDto.getRazaoSocial();
}
String nomeContrato = "" + contratoDto.getNumero() + " de " + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, contratoDto.getDataContrato(), WebUtil.getLanguage(request)) + " ("
+ nomeCliente + " - " + nomeFornecedor + ")";
contratoDto.setNome(nomeContrato);
getHashContratos().add(contratoDto);
}
}
}
/**
* Carrega e atualiza os itens da pagina��o numerada e informa a quantidade de resultados Ex.: Primeiro � 1 2 3 4 5 � �ltimo 1 De 7 Resultados
*
* @param document
* @param request
* @param totalPaginasFinal
*/
public void carregarItensPaginacao(DocumentHTML document, HttpServletRequest request, Integer totalPaginasFinal) throws Exception {
StringBuilder sb = new StringBuilder();
GerenciamentoServicosDTO gerenciamentoServicosDTO = (GerenciamentoServicosDTO) document.getBean();
Integer paginaSelecionada = gerenciamentoServicosDTO.getPaginaSelecionada();
if (paginaSelecionada == null)
paginaSelecionada = 1;
paginacaoGerenciamento(totalPaginasFinal, sb, paginaSelecionada, request);
document.executeScript("carregarValorClasse(\"" + sb.toString() + "\", \"paginacaoGerenciamento\")");
StringBuilder valores = new StringBuilder();
carregarValoresPaginacao(totalPaginasFinal, valores, paginaSelecionada, request);
document.executeScript("carregarValorClasse(\"" + valores.toString() + "\",\"paginacaoGerenciamentoQuantidade\")");
}
/**
* Realiza a regra de pagina��o das solicita��es Explica��o: Se o n�mero de p�ginas for maior do que cinco, j� � poss�vel criar os intervalos. Se a p�gina atual for menor do que cinco (o adjacente
* esta configurado com 2) � feito um la�o. No for, enquanto a vari�vel 'i' for menor do que seis os n�meros s�o mostrados fazendo uma verifica��o para saber qual � a p�gina atual que exige uma
* estiliza��o diferente. Mas se a p�gina atual for maior do que quatro e menor do que a �ltima menos tr�s, � uma p�gina intermedi�ria. Primeiro s�o anexadas a primeira e �ltima p�ginas. Depois �
* feito um la�o para definir as adjacentes. A vari�vel 'adjacentes' recebeu neste c�digo o valor dois. Para enteder melhor este la�o vamos supor que estamos na p�gina seis. A vari�vel 'i' vai
* receber quatro (atual - adjacentes), enquanto ela for menor do que oito (atual + adjacentes) os n�meros links gerados com uma verifica��o para saber qual � a p�gina atual. Por fim s�o anexadas
* a �ltima e pen�ltima p�ginas. O �ltimo else � para quando a p�gina atual esta perto do final da numera��o. S�o anexadas a primeira e �ltima p�ginas al�m dos tr�s pontos. A vari�vel 'i' recebe o
* resultado da �ltima p�gina menos oito (4+2*2) enquanto n�o for menor ou igual a este n�mero, os links s�o gerados.
*
* @param totalPaginas
* @param sb
* @param paginaSelecionada
* @param request
*/
public void paginacaoGerenciamento(Integer totalPaginas, StringBuilder sb, Integer paginaSelecionada, HttpServletRequest request) throws Exception {
String locale = (String) request.getSession().getAttribute("locale");
if (locale == null) {
locale = "pt";
}
final Integer adjacentes = 2;
if (paginaSelecionada == null)
paginaSelecionada = 1;
sb.append(" <div id='itenPaginacaoGerenciamento' class='pagination pagination-right margin-none'>");
sb.append(" <ul>");
sb.append(" <li " + (totalPaginas == 0 || paginaSelecionada == 1 ? "class='disabled'" : "value='1' onclick='paginarItens(this.value);'") + " ><a>"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.primeiro") + "</a></li>");
sb.append(" <li " + ((totalPaginas == 0 || totalPaginas == 1 || paginaSelecionada == 1) ? "class='disabled'" : "value='" + (paginaSelecionada - 1) + "' onclick='paginarItens(this.value);'")
+ "><a>«</a></li>");
if (totalPaginas <= 5) {
for (int i = 1; i <= totalPaginas; i++) {
if (i == paginaSelecionada) {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> ");
} else {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> ");
}
}
} else {
if (totalPaginas > 5) {
if (paginaSelecionada < 1 + (2 * adjacentes)) {
for (int i = 1; i < 2 + (2 * adjacentes); i++) {
if (i == paginaSelecionada) {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> ");
} else {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> ");
}
}
} else if (paginaSelecionada > (2 * adjacentes) && paginaSelecionada < totalPaginas - 3) {
for (int i = paginaSelecionada - adjacentes; i <= paginaSelecionada + adjacentes; i++) {
if (i == paginaSelecionada) {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> ");
} else {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> ");
}
}
} else {
for (int i = totalPaginas - (/* 4 + */(2 * adjacentes)); i <= totalPaginas; i++) {
if (i == paginaSelecionada) {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> ");
} else {
sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> ");
}
}
}
}
}
sb.append(" <li "
+ ((totalPaginas == 0 || totalPaginas == 1 || paginaSelecionada.equals(totalPaginas)) ? "class='disabled'" : "value='" + (paginaSelecionada + 1)
+ "' onclick='paginarItens(this.value);'") + " ><a >»</a></li>");
sb.append(" <li " + (totalPaginas == 0 || paginaSelecionada.equals(totalPaginas) ? "class='disabled'" : "value='" + totalPaginas + "' onclick='paginarItens(this.value);'") + " ><a >"
+ UtilI18N.internacionaliza(locale, "citcorpore.comum.ultimo") + "</a></li> ");
sb.append(" </ul>");
sb.append(" </div>");
}
/**
* @param solicitacaoServicoDTO
* @param request
* @throws Exception
* Seta o ribbon (Etiqueta) na lateral do box mostrando se est� norma, suspensa, vencido ou menos de 1 hora p/ vencer
* **/
private String setarHtmlPrazo(SolicitacaoServicoDTO solicitacaoServicoDTO, HttpServletRequest request) throws Exception {
String htmlPrioridade = "";
// VENCIDA
if (solicitacaoServicoDTO.getAtrasoSLA() > 0 && !solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Cancelada")) {
if (solicitacaoServicoDTO.getDataHoraLimite() != null) {
Timestamp dataHoraLimite = solicitacaoServicoDTO.getDataHoraLimite();
Timestamp dataHoraComparacao = UtilDatas.getDataHoraAtual();
if (solicitacaoServicoDTO.encerrada())
dataHoraComparacao = solicitacaoServicoDTO.getDataHoraFim();
if (dataHoraComparacao != null) {
if (dataHoraComparacao.compareTo(dataHoraLimite) > 0) {
htmlPrioridade = "<div class='ribbon-wrapper small'><div class='ribbon danger'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.vencido") + "</div></div>";
}
}
}
} else {
if (solicitacaoServicoDTO.getSituacao().equalsIgnoreCase(SituacaoSolicitacaoServico.Suspensa.toString())) {
// SUSPENSA
htmlPrioridade = "<div class='ribbon-wrapper small'><div class='ribbon'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.suspensa") + "</div></div>";
} else if (UtilStrings.nullToVazio(solicitacaoServicoDTO.getSituacaoSLA()).equalsIgnoreCase("S")) {
// MENOS DE 1zh
htmlPrioridade = "<div class='ribbon-wrapper small'><div class='ribbon'>" + UtilI18N.internacionaliza(request, "gerenciaservico.sla.suspenso") + "</div></div>";
} else if (solicitacaoServicoDTO.getFalta1Hora() == true) {
// A VENCER
htmlPrioridade = "<div class='ribbon-wrapper small'><div class='ribbon warning'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.avencer") + "</div></div>";
} else {
// NORMAL
htmlPrioridade = "<div class='ribbon-wrapper small'><div class='ribbon success'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.normal") + "</div></div>";
}
}
return htmlPrioridade;
}
/**
* @param solicitacaoServicoDTO
* @throws Exception
* Seta o css (cor) em "prioridade" alterando a cor de acordo com a mesma
* **/
private String setarCssPrioridade(String prioridade) throws Exception {
String cssPrioridade = "";
if (prioridade.equalsIgnoreCase("1") || prioridade.equalsIgnoreCase("2")) {
cssPrioridade = "content-row prioridade Alta";
}
if (prioridade.equalsIgnoreCase("3")) {
cssPrioridade = "content-row prioridade Media";
}
if (prioridade.equalsIgnoreCase("4") || prioridade.equalsIgnoreCase("5")) {
cssPrioridade = "content-row prioridade Baixa";
}
return cssPrioridade;
}
/**
* @param solicitacaoServicoDTO
* @throws Exception
* Seta o css (cor) em "prazo limite" do box mostrando se est� norma, suspensa, vencido ou menos de 1 hora p/ vencer
* **/
private String setarCssPrazo(SolicitacaoServicoDTO solicitacaoServicoDTO) throws Exception {
String cssPrioridade = "";
if (solicitacaoServicoDTO.getAtrasoSLA() > 0 && !solicitacaoServicoDTO.getSituacao().equalsIgnoreCase("Cancelada")) {
if (solicitacaoServicoDTO.getDataHoraLimite() != null) {
Timestamp dataHoraLimite = solicitacaoServicoDTO.getDataHoraLimite();
Timestamp dataHoraComparacao = UtilDatas.getDataHoraAtual();
if (solicitacaoServicoDTO.encerrada())
dataHoraComparacao = solicitacaoServicoDTO.getDataHoraFim();
if (dataHoraComparacao != null) {
if (dataHoraComparacao.compareTo(dataHoraLimite) > 0) {
cssPrioridade = "prazoVencido strong";
}
}
}
} else {
if (solicitacaoServicoDTO.getFalta1Hora() == true) {
cssPrioridade = "prazoAVencer strong";
} else {
cssPrioridade = "prazoNormal strong";
}
}
return cssPrioridade;
}
/***
* Realiza o filtro de pesquisa da p�gina de gerenciamento - Seta os itens do filtro no GerenciamentoServicosDTO - Recarrega a lista de solicita��es de acordo com os filtros informados
*
* @param document
* @param request
* @param response
* @throws Exception
*/
public void pesquisarItensFiltro(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
this.setGerenciamentoServicosDTO((GerenciamentoServicosDTO) document.getBean());
this.recarregarLista(document, request, response);
document.executeScript("fecharModal()");
}
public void carregarValoresPaginacao(Integer totalPaginas, StringBuilder sb, Integer paginaSelecionada, HttpServletRequest request) {
if (totalPaginas == 0)
paginaSelecionada = 0;
sb.append(paginaSelecionada + " " + UtilI18N.internacionaliza(request, "citcorpore.comum.de") + " " + totalPaginas + " " + UtilI18N.internacionaliza(request, "citcorpore.comum.paginas"));
}
public Set<ContratoDTO> getHashContratos() {
return hashContratos;
}
public void setHashContratos(Set<ContratoDTO> hashContratos) {
this.hashContratos = hashContratos;
}
public GerenciamentoServicosDTO getGerenciamentoServicosDTO() {
return gerenciamentoServicosDTO;
}
public void setGerenciamentoServicosDTO(GerenciamentoServicosDTO gerenciamentoServicosDTO) {
this.gerenciamentoServicosDTO = gerenciamentoServicosDTO;
}
public void abrirListaDeSubSolicitacoes(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
GerenciamentoServicosDTO gerenciamentoServicosDTO = (GerenciamentoServicosDTO) document.getBean();
SolicitacaoServicoDTO solicitacaoServicoDto = new SolicitacaoServicoDTO();
String html = "";
SolicitacaoServicoService solicitacaoServicoService = getSolicitacaoServicoService(null);
if (gerenciamentoServicosDTO != null && gerenciamentoServicosDTO.getIdSolicitacaoSel() != null) {
solicitacaoServicoDto.setIdSolicitacaoServico(Integer.valueOf(gerenciamentoServicosDTO.getIdSolicitacaoSel()));
SolicitacaoServicoDTO solicitacaoServicoAux = (SolicitacaoServicoDTO) solicitacaoServicoService.restore(solicitacaoServicoDto);
Collection<SolicitacaoServicoDTO> colFinal = new ArrayList<SolicitacaoServicoDTO>();
if (solicitacaoServicoAux != null) {
if (solicitacaoServicoAux.getIdSolicitacaoRelacionada() != null) {
solicitacaoServicoAux.setIdSolicitacaoServico(solicitacaoServicoAux.getIdSolicitacaoRelacionada());
SolicitacaoServicoDTO solicitacaoServicoAux2 = (SolicitacaoServicoDTO) solicitacaoServicoService.restore(solicitacaoServicoAux);
if (solicitacaoServicoAux2 != null) {
colFinal.add(solicitacaoServicoAux2);
}
}
}
Collection<SolicitacaoServicoDTO> solicitacoesRelacionadas = solicitacaoServicoService.listSolicitacaoServicoRelacionadaPai(solicitacaoServicoDto.getIdSolicitacaoServico());
if (solicitacoesRelacionadas != null) {
colFinal.addAll(solicitacoesRelacionadas);
}
StringBuilder script = new StringBuilder();
if (solicitacaoServicoAux != null && solicitacaoServicoAux.getIdSolicitacaoRelacionada() != null)
html = this.gerarHtmlComListaSubSolicitacoes(colFinal, script, request, solicitacaoServicoAux.getIdSolicitacaoRelacionada());
else
html = this.gerarHtmlComListaSubSolicitacoes(colFinal, script, request, 0);
document.getElementById("solicitacaoRelacionada").setInnerHTML(html);
}
solicitacaoServicoDto = null;
}
private String gerarHtmlComListaSubSolicitacoes(Collection<SolicitacaoServicoDTO> listSolicitacaoServicoRelacionada, StringBuilder script, HttpServletRequest request, int idsolicitacaoPai) {
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 (SolicitacaoServicoDTO solicitacaoServicoRelacionada : listSolicitacaoServicoRelacionada) {
if (idsolicitacaoPai != solicitacaoServicoRelacionada.getIdSolicitacaoServico()) {
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.formatTimestamp(solicitacaoServicoRelacionada.getDataHoraSolicitacao()) + "</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.formatTimestamp(solicitacaoServicoRelacionada.getDataHoraLimite()) + "</td>");
else
html.append("<td>� combinar</td>");
html.append("</tr>");
}
}
}
html.append("</table>");
return html.toString();
}
public void abrirListaDeItensDeConfiguracao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
GerenciamentoServicosDTO gerenciamentoServicosDTO = (GerenciamentoServicosDTO) document.getBean();
SolicitacaoServicoDTO solicitacaoServicoDto = new SolicitacaoServicoDTO();
SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
if (gerenciamentoServicosDTO != null && gerenciamentoServicosDTO.getIdSolicitacaoSel() != null) {
solicitacaoServicoDto.setIdSolicitacaoServico(Integer.valueOf(gerenciamentoServicosDTO.getIdSolicitacaoSel()));
SolicitacaoServicoDTO solicitacaoServicoAux = (SolicitacaoServicoDTO) solicitacaoServicoService.restore(solicitacaoServicoDto);
if (solicitacaoServicoDto != null) {
ItemCfgSolicitacaoServService serviceItem = (ItemCfgSolicitacaoServService) ServiceLocator.getInstance().getService(ItemCfgSolicitacaoServService.class, null);
ItemConfiguracaoService itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null);
Collection<ItemCfgSolicitacaoServDTO> col = (Collection<ItemCfgSolicitacaoServDTO>) serviceItem.findByIdSolicitacaoServico(solicitacaoServicoAux.getIdSolicitacaoServico());
if (col != null && !col.isEmpty()) {
for (ItemCfgSolicitacaoServDTO itemCfgSolicitacaoServAux : col) {
ItemConfiguracaoDTO itemConfiguracaoAux = new ItemConfiguracaoDTO();
itemConfiguracaoAux.setIdItemConfiguracao(itemCfgSolicitacaoServAux.getIdItemConfiguracao());
itemConfiguracaoAux = (ItemConfiguracaoDTO) itemConfiguracaoService.restore(itemConfiguracaoAux);
if (itemConfiguracaoAux != null) {
itemCfgSolicitacaoServAux.setIdentificacaoStatus(itemConfiguracaoAux.getIdentificacaoStatus());
itemCfgSolicitacaoServAux.setIdentificacao(itemConfiguracaoAux.getIdentificacao());
}
}
}
StringBuilder script = new StringBuilder();
String html = this.gerarHtmlComListaItensConfiguracao(col, gerenciamentoServicosDTO.getIdSolicitacaoSel(), script, request);
document.getElementById("MudancaSolicitacao").setInnerHTML(html);
}
}
solicitacaoServicoDto = null;
}
private String gerarHtmlComListaItensConfiguracao(Collection<ItemCfgSolicitacaoServDTO> listItemCfgSolicitacaoServDTO, String numeroSolicitacaoPai, StringBuilder script, HttpServletRequest request) {
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, "citcorpore.comum.numero") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.identificacao") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.informacao") + "</th>");
html.append("</tr>");
if (listItemCfgSolicitacaoServDTO != null && !listItemCfgSolicitacaoServDTO.isEmpty()) {
for (ItemCfgSolicitacaoServDTO dto : listItemCfgSolicitacaoServDTO) {
html.append("<tr>");
html.append("<hidden id='idItemConfiguracao' value='" + dto.getIdItemConfiguracao() + "'/>");
html.append("<hidden id='idIdentificacaoItem' value='" + dto.getIdentificacaoStatus() + "'/>");
html.append("<td>" + dto.getIdItemConfiguracao() + "</td>");
html.append("<td>" + dto.getIdentificacao() + "</td>");
html.append("<td>" + "<a class='btn-action glyphicons circle_info btn-default' onclick='popupAtivos(\"" + dto.getIdItemConfiguracao() + "\")'><i></i></a>" + "</td>");
html.append("</tr>");
}
}
html.append("</table>");
return html.toString();
}
public void buscarItemTtrabalhoSolicitacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
GerenciamentoServicosDTO gerenciamentoServicosDTO = (GerenciamentoServicosDTO) document.getBean();
SolicitacaoServicoDTO valor = getSolicitacaoServicoService(null).buscarNumeroItemTrabalhoPorNumeroSolicitacao(Integer.valueOf(gerenciamentoServicosDTO.getIdSolicitacaoSel()));
document.executeScript("visualizarSolicitacaoPaiEnvio(" + Integer.valueOf(gerenciamentoServicosDTO.getIdSolicitacaoSel()) + "," + valor.getIdItemFluxoTrabalho() + ");");
}
public void chamaComboOrigem(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
HTMLSelect selectOrigem = (HTMLSelect) document.getSelectById("idOrigem");
selectOrigem.removeAllOptions();
List<OrigemAtendimentoDTO> todasOrigens = (List) origemAtendimentoService.list();
List<OrigemAtendimentoDTO> origensNaoExcluidas = new ArrayList<OrigemAtendimentoDTO>();
String origemPadrao = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.ORIGEM_PADRAO, "");
selectOrigem.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
if (todasOrigens != null) {
for (OrigemAtendimentoDTO origemAtendimento : todasOrigens) {
if (origemAtendimento.getDataFim() == null) {
origensNaoExcluidas.add(origemAtendimento);
}
}
selectOrigem.addOptions(origensNaoExcluidas, "idOrigem", "descricao", origemPadrao);
}
}
private ContratoService getContratoService() throws Exception {
if (contratoService == null) {
contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
}
return contratoService;
}
protected ExecucaoSolicitacaoService getExecucaoSolicitacaoService() throws Exception {
if (execucaoSolicitacaoService == null) {
execucaoSolicitacaoService = (ExecucaoSolicitacaoService) ServiceLocator.getInstance().getService(ExecucaoSolicitacaoService.class, null);
}
return execucaoSolicitacaoService;
}
private SolicitacaoServicoService getSolicitacaoServicoService(HttpServletRequest request) throws Exception {
if (solicitacaoServicoService == null) {
if (request == null) {
solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
} else {
solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request));
}
}
return solicitacaoServicoService;
}
}