package br.com.centralit.citcorpore.ajaxForms;
import java.io.File;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.htmlparser.jericho.Source;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer;
import net.sf.jasperreports.engine.fill.JRSwapFileVirtualizer;
import net.sf.jasperreports.engine.util.JRSwapFile;
import org.apache.commons.lang.StringEscapeUtils;
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.citajax.html.HTMLTable;
import br.com.centralit.citcorpore.bean.AprovacaoMudancaDTO;
import br.com.centralit.citcorpore.bean.AprovacaoPropostaDTO;
import br.com.centralit.citcorpore.bean.AtividadePeriodicaDTO;
import br.com.centralit.citcorpore.bean.CategoriaOcorrenciaDTO;
import br.com.centralit.citcorpore.bean.ClienteDTO;
import br.com.centralit.citcorpore.bean.ContatoRequisicaoMudancaDTO;
import br.com.centralit.citcorpore.bean.ContratoDTO;
import br.com.centralit.citcorpore.bean.ContratosGruposDTO;
import br.com.centralit.citcorpore.bean.EmpregadoDTO;
import br.com.centralit.citcorpore.bean.FornecedorDTO;
import br.com.centralit.citcorpore.bean.GrupoAtvPeriodicaDTO;
import br.com.centralit.citcorpore.bean.GrupoDTO;
import br.com.centralit.citcorpore.bean.GrupoEmpregadoDTO;
import br.com.centralit.citcorpore.bean.GrupoRequisicaoMudancaDTO;
import br.com.centralit.citcorpore.bean.HistoricoMudancaDTO;
import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.JustificativaRequisicaoMudancaDTO;
import br.com.centralit.citcorpore.bean.LiberacaoMudancaDTO;
import br.com.centralit.citcorpore.bean.LocalidadeDTO;
import br.com.centralit.citcorpore.bean.LocalidadeUnidadeDTO;
import br.com.centralit.citcorpore.bean.OcorrenciaMudancaDTO;
import br.com.centralit.citcorpore.bean.OcorrenciaSolicitacaoDTO;
import br.com.centralit.citcorpore.bean.ProblemaDTO;
import br.com.centralit.citcorpore.bean.ProblemaMudancaDTO;
import br.com.centralit.citcorpore.bean.ProgramacaoAtividadeDTO;
import br.com.centralit.citcorpore.bean.RequisicaoLiberacaoDTO;
import br.com.centralit.citcorpore.bean.RequisicaoMudancaDTO;
import br.com.centralit.citcorpore.bean.RequisicaoMudancaItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.RequisicaoMudancaResponsavelDTO;
import br.com.centralit.citcorpore.bean.RequisicaoMudancaRiscoDTO;
import br.com.centralit.citcorpore.bean.RequisicaoMudancaServicoDTO;
import br.com.centralit.citcorpore.bean.ServicoContratoDTO;
import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.SolicitacaoServicoMudancaDTO;
import br.com.centralit.citcorpore.bean.TemplateSolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.TipoMudancaDTO;
import br.com.centralit.citcorpore.bean.UnidadeDTO;
import br.com.centralit.citcorpore.bean.UploadDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.integracao.AprovacaoMudancaDao;
import br.com.centralit.citcorpore.integracao.GrupoRequisicaoMudancaDao;
import br.com.centralit.citcorpore.integracao.HistoricoMudancaDao;
import br.com.centralit.citcorpore.integracao.LiberacaoMudancaDao;
import br.com.centralit.citcorpore.integracao.ProblemaDAO;
import br.com.centralit.citcorpore.integracao.ProblemaMudancaDAO;
import br.com.centralit.citcorpore.integracao.RequisicaoMudancaDao;
import br.com.centralit.citcorpore.integracao.RequisicaoMudancaItemConfiguracaoDao;
import br.com.centralit.citcorpore.integracao.RequisicaoMudancaResponsavelDao;
import br.com.centralit.citcorpore.integracao.RequisicaoMudancaRiscoDao;
import br.com.centralit.citcorpore.integracao.RequisicaoMudancaServicoDao;
import br.com.centralit.citcorpore.integracao.SolicitacaoServicoMudancaDao;
import br.com.centralit.citcorpore.negocio.AprovacaoMudancaService;
import br.com.centralit.citcorpore.negocio.AprovacaoPropostaService;
import br.com.centralit.citcorpore.negocio.AtividadePeriodicaService;
import br.com.centralit.citcorpore.negocio.CategoriaSolucaoService;
import br.com.centralit.citcorpore.negocio.ClienteService;
import br.com.centralit.citcorpore.negocio.ContatoRequisicaoMudancaService;
import br.com.centralit.citcorpore.negocio.ContratoService;
import br.com.centralit.citcorpore.negocio.ContratosGruposService;
import br.com.centralit.citcorpore.negocio.EmpregadoService;
import br.com.centralit.citcorpore.negocio.FornecedorService;
import br.com.centralit.citcorpore.negocio.GrupoAtvPeriodicaService;
import br.com.centralit.citcorpore.negocio.GrupoEmpregadoService;
import br.com.centralit.citcorpore.negocio.GrupoRequisicaoMudancaService;
import br.com.centralit.citcorpore.negocio.GrupoService;
import br.com.centralit.citcorpore.negocio.HistoricoMudancaService;
import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.JustificativaRequisicaoMudancaService;
import br.com.centralit.citcorpore.negocio.LiberacaoMudancaService;
import br.com.centralit.citcorpore.negocio.LocalidadeService;
import br.com.centralit.citcorpore.negocio.LocalidadeUnidadeService;
import br.com.centralit.citcorpore.negocio.OcorrenciaMudancaService;
import br.com.centralit.citcorpore.negocio.OcorrenciaSolicitacaoService;
import br.com.centralit.citcorpore.negocio.ProblemaMudancaService;
import br.com.centralit.citcorpore.negocio.RequisicaoLiberacaoService;
import br.com.centralit.citcorpore.negocio.RequisicaoMudancaResponsavelService;
import br.com.centralit.citcorpore.negocio.RequisicaoMudancaRiscoService;
import br.com.centralit.citcorpore.negocio.RequisicaoMudancaService;
import br.com.centralit.citcorpore.negocio.RequisicaoMudancaServiceEjb;
import br.com.centralit.citcorpore.negocio.TemplateSolicitacaoServicoService;
import br.com.centralit.citcorpore.negocio.TipoMudancaService;
import br.com.centralit.citcorpore.negocio.UnidadeService;
import br.com.centralit.citcorpore.util.CITCorporeUtil;
import br.com.centralit.citcorpore.util.Enumerados;
import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
import br.com.centralit.citcorpore.util.ParametroUtil;
import br.com.centralit.citcorpore.util.UtilRelatorio;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.centralit.citged.bean.ControleGEDDTO;
import br.com.centralit.citged.integracao.ControleGEDDao;
import br.com.centralit.citged.negocio.ControleGEDService;
import br.com.citframework.excecao.LogicException;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.integracao.TransactionControler;
import br.com.citframework.integracao.TransactionControlerImpl;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.Reflexao;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilHTML;
import br.com.citframework.util.UtilI18N;
import br.com.citframework.util.UtilStrings;
/**
* @author breno.guimaraes
*
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public class RequisicaoMudanca extends AjaxFormAction {
private RequisicaoMudancaService requisicaoMudancaService;
private EmpregadoService empregadoService;
private RequisicaoMudancaServiceEjb reqMudancaICAction;
private RequisicaoMudancaServico reqMudancaServicoAction;
private RequisicaoMudancaDTO requisicaoMudancaDto;
private UsuarioDTO usuario;
@Override
public Class<RequisicaoMudancaDTO> getBeanClass() {
return RequisicaoMudancaDTO.class;
}
private final ContratoDTO contratoDtoAux = new ContratoDTO();
private Boolean acao = false;
private static HttpServletRequest requestGlobal;
private static DocumentHTML documentGlobal;
/*
* Thiago Fernandes - 23/10/2013 - Sol. 121468 - Realiza��o das corre��es dos testes feitos nas telas do sistema. Branch 3.0.3. Assim que aver apenas um contrato deve ser
* seleciona-lo como default.
*/
@Override
public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
StringBuilder objeto;
if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) {
objeto = new StringBuilder();
objeto.append("<input type='text' name='unidadeDes' id='unidadeDes' style='width: 100%;' onkeypress='onkeypressUnidadeDes();'>");
objeto.append("<input type='hidden' name='idUnidade' id='idUnidade' value='0'/>");
document.getElementById("divUnidade").setInnerHTML(objeto.toString());
document.executeScript("montaParametrosAutocompleteUnidade()");
} else {
objeto = new StringBuilder();
objeto.append("<select name='idUnidade' id = 'idUnidade' onchange='document.form.fireEvent(\"preencherComboLocalidade\")' class='Valid[Required] Description[colaborador.cadastroUnidade]'></select>");
document.getElementById("divUnidade").setInnerHTML(objeto.toString());
}
document.executeScript("$('#abas').show()");
document.executeScript("$('#requisicaMudancaStatus').show()");
document.executeScript("$('#statusCancelado').hide()");
/**
* Adicionado para fazer limpeza do upload que est� na sess�o
* Modificado para quando for solicita��o servi�o
*
* @author maycon.fernandes
* @author mario.junior
* @since 28/10/2013 08:21
* @author thiago.oliveira
* @since 29/10/2013 08:21
*/
request.getSession(true).setAttribute("colUploadPlanoDeReversaoGED", null);
request.getSession(true).setAttribute("colUploadRequisicaoMudancaGED", null);
final String flagGerenciamento = (String) request.getSession(true).getAttribute("flagGerenciamento");
if (flagGerenciamento != null && flagGerenciamento.equalsIgnoreCase("S")) {
request.getSession(true).setAttribute("flagGerenciamento", null);
}
final String descricaoSolicitacao = (String) request.getSession().getAttribute("DescricaoSolicitacao");
request.getSession().removeAttribute("DescricaoSolicitacao");
final String iframeSolicitacao = request.getParameter("solicitacaoServico");
if (descricaoSolicitacao != null && !descricaoSolicitacao.equalsIgnoreCase("")) {
document.getElementById("DescricaoAuxliar").setInnerHTML(descricaoSolicitacao);
document.executeScript("setarDescricao()");
}
// INICIO_LOAD
if (requisicaoMudancaDto == null || requisicaoMudancaDto.getIdRequisicaoMudanca() == null) {
document.getElementById("btOcorrencias").setVisible(false);
}
final UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoexpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
final GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final Collection<GrupoDTO> lstGrupos = grupoService.getGruposByEmpregado(usuario.getIdEmpregado());
if (lstGrupos != null) {
for (final GrupoDTO g : lstGrupos) {
if (g.getAbertura() != null && g.getAbertura().trim().equals("S")) {
document.getElementById("enviaEmailCriacao").setDisabled(true);
}
document.getElementById("enviaEmailGrupoComite").setDisabled(true);
if (g.getEncerramento() != null && g.getEncerramento().trim().equals("S")) {
document.getElementById("enviaEmailFinalizacao").setDisabled(true);
}
if (g.getAndamento() != null && g.getAndamento().trim().equals("S")) {
document.getElementById("enviaEmailAcoes").setDisabled(true);
}
}
}
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
final ClienteService clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null);
final FornecedorService fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null);
final ContratosGruposService contratosGruposService = (ContratosGruposService) ServiceLocator.getInstance().getService(ContratosGruposService.class, null);
final Collection colContratos = contratoService.listAtivos();
String COLABORADORES_VINC_CONTRATOS = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.COLABORADORES_VINC_CONTRATOS, "N");
if (COLABORADORES_VINC_CONTRATOS == null) {
COLABORADORES_VINC_CONTRATOS = "N";
}
Collection colContratosColab = null;
if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
colContratosColab = contratosGruposService.findByIdEmpregado(usuario.getIdEmpregado());
}
final Collection<ContratoDTO> listaContratos = new ArrayList<ContratoDTO>();
document.getSelectById("idContrato").removeAllOptions();
if (colContratos != null) {
if (colContratos.size() > 1) {
// ((HTMLSelect) document.getSelectById("idContrato")).addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
} else {
acao = true;
}
for (final Iterator it = colContratos.iterator(); it.hasNext();) {
final ContratoDTO contratoDto = (ContratoDTO) it.next();
if (contratoDto.getDeleted() == null || !contratoDto.getDeleted().equalsIgnoreCase("y")) {
// Se parametro de colaboradores por contrato ativo, entao filtra.
if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
if (colContratosColab == null) {
continue;
}
if (!this.isContratoInList(contratoDto.getIdContrato(), colContratosColab)) {
continue;
}
}
String nomeCliente = "";
String nomeForn = "";
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) {
nomeForn = fornecedorDto.getRazaoSocial();
}
contratoDtoAux.setIdContrato(contratoDto.getIdContrato());
if (contratoDto.getSituacao().equalsIgnoreCase("A")) {
final String nomeContrato = "" + contratoDto.getNumero() + " de "
+ UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, contratoDto.getDataContrato(), WebUtil.getLanguage(request)) + " (" + nomeCliente + " - "
+ nomeForn + ")";
contratoDto.setNome(nomeContrato);
listaContratos.add(contratoDto);
}
}
}
}
/* Thiago Fernandes - 28/10/2013 - 1410 - Sol. 121468 - Assim que aver apenas um contrato deve ser preenchido a combo unidade de acordo com o contrato. */
if (listaContratos != null) {
if (listaContratos.size() == 1) {
for (final ContratoDTO contratoDto : listaContratos) {
document.getSelectById("idContrato").addOption("" + contratoDto.getIdContrato(), contratoDto.getNome());
requisicaoMudancaDto.setIdContrato(contratoDto.getIdContrato());
this.carregaUnidade(document, request, response);
}
}
if (listaContratos.size() > 1) {
document.getSelectById("idContrato").addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
for (final ContratoDTO contratoDto : listaContratos) {
document.getSelectById("idContrato").addOption("" + contratoDto.getIdContrato(), contratoDto.getNome());
}
}
}
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdContrato() != null) {
document.getElementById("idContrato").setValue("" + requisicaoMudancaDto.getIdContrato());
}
if (request.getParameter("idContrato") != null && !request.getParameter("idContrato").equalsIgnoreCase("")) {
Integer idContrato = 0;
idContrato = Integer.parseInt(request.getParameter("idContrato"));
if (idContrato != null) {
document.getElementById("idContrato").setValue("" + idContrato);
}
}
if (requisicaoMudancaDto != null) {
requisicaoMudancaDto.getIdContrato();
}
String tarefaAssociada = "N";
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdTarefa() != null) {
tarefaAssociada = "S";
}
request.setAttribute("tarefaAssociada", tarefaAssociada);
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdContrato() != null) {
this.verificaGrupoExecutor(document, request, response);
document.getElementById("idGrupoAtual").setValue("" + requisicaoMudancaDto.getIdGrupoAtual());
}
if (acao) {
if (requisicaoMudancaDto.getIdRequisicaoMudanca() == null || requisicaoMudancaDto.getIdRequisicaoMudanca().intValue() == 0) {
this.verificaGrupoExecutor(document, request, response);
if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && requisicaoMudancaDto.getIdUnidade() != null) {
requisicaoMudancaDto.setUnidadeDes(unidadeService.retornaNomeUnidadeByID(requisicaoMudancaDto.getIdUnidade()));
} else {
this.carregaUnidade(document, request, response);
}
}
}
// limpa os formularios e dos anexos.
this.limpar(document, request, response);
document.executeScript("$('#loading_overlay').hide();");
this.preencherComboComite(document, request, response);
this.preencherComboGrupoExecutor(document, request, response);
this.preencherComboCategoriaSolucao(document, request, response);
this.preencherComboTipoMudanca(document, request, response);
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
this.restore(document, request, response);
}
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
request.setAttribute("idRequisicaoMudanca", requisicaoMudancaDto.getIdRequisicaoMudanca());
}
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdRequisicaoMudanca() != null && requisicaoMudancaDto.getIdGrupoComite() != null) {
document.getElementById("idGrupoComite").setDisabled(true);
}
document.executeScript("$('#div_ehProposta').hide();");
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdTarefa() != null) {
this.carregaInformacoesComplementares(document, request, requisicaoMudancaDto);
}
// carregar o grupo de atividade peri�dica para agendamento
final HTMLForm form = document.getForm("form");
// form.clear();
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdGrupoAtvPeriodica() != null) {
document.getSelectById("idGrupoAtvPeriodica").removeAllOptions();
final GrupoAtvPeriodicaService grupoService2 = (GrupoAtvPeriodicaService) ServiceLocator.getInstance().getService(GrupoAtvPeriodicaService.class, null);
final ArrayList<GrupoAtvPeriodicaDTO> grupos = (ArrayList) grupoService2.list();
if (grupos != null) {
for (final GrupoAtvPeriodicaDTO grupo : grupos) {
if (requisicaoMudancaDto.getIdGrupoAtvPeriodica().equals(grupo.getIdGrupoAtvPeriodica())) {
document.getSelectById("idGrupoAtvPeriodica").addOption(grupo.getIdGrupoAtvPeriodica().toString(), grupo.getNomeGrupoAtvPeriodica());
}
}
}
} else {
final AtividadePeriodicaDTO atividadePeriodicaDTO = new AtividadePeriodicaDTO();
if (requisicaoMudancaDto != null) {
atividadePeriodicaDTO.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
}
final HTMLSelect idGrupoAtvPeriodica = document.getSelectById("idGrupoAtvPeriodica");
idGrupoAtvPeriodica.removeAllOptions();
final GrupoAtvPeriodicaService grupoAtvPeriodicaService = (GrupoAtvPeriodicaService) ServiceLocator.getInstance().getService(GrupoAtvPeriodicaService.class, null);
final Collection colGrupos = grupoAtvPeriodicaService.listGrupoAtividadePeriodicaAtiva();
idGrupoAtvPeriodica.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
idGrupoAtvPeriodica.addOptions(colGrupos, "idGrupoAtvPeriodica", "nomeGrupoAtvPeriodica", null);
form.setValues(atividadePeriodicaDTO);
}
document.getElementById("iframeSolicitacao").setValue(iframeSolicitacao);
document.executeScript("event()");
requisicaoMudancaDto = null;
// FIM_LOAD
}
private boolean isContratoInList(final Integer idContrato, final Collection colContratosColab) {
if (colContratosColab != null) {
for (final Iterator it = colContratosColab.iterator(); it.hasNext();) {
final ContratosGruposDTO contratosGruposDTO = (ContratosGruposDTO) it.next();
if (contratosGruposDTO.getIdContrato().intValue() == idContrato.intValue()) {
return true;
}
}
}
return false;
}
public void verificaGrupoExecutor(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
RequisicaoMudancaDTO requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
if (requisicaoMudancaDto.getIdContrato() == null || requisicaoMudancaDto.getIdContrato().intValue() == 0) {
requisicaoMudancaDto.setIdContrato(contratoDtoAux.getIdContrato());
}
String COLABORADORES_VINC_CONTRATOS = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.COLABORADORES_VINC_CONTRATOS, "N");
if (COLABORADORES_VINC_CONTRATOS == null) {
COLABORADORES_VINC_CONTRATOS = "N";
}
if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
final HTMLSelect idGrupoAtual = document.getSelectById("idGrupoAtual");
idGrupoAtual.removeAllOptions();
idGrupoAtual.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final Collection colGrupos = grupoSegurancaService.listGruposServiceDeskByIdContrato(requisicaoMudancaDto.getIdContrato());
if (colGrupos != null) {
idGrupoAtual.addOptions(colGrupos, "idGrupo", "nome", null);
}
}
this.verificaGrupoExecutorInterno(document, requisicaoMudancaDto);
requisicaoMudancaDto = null;
}
public void verificaGrupoExecutorInterno(final DocumentHTML document, final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
if (requisicaoMudancaDto.getIdRequisicaoMudanca() == null || requisicaoMudancaDto.getIdContrato() == null) {
return;
}
final RequisicaoMudancaService servicoContratoService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
final ServicoContratoDTO servicoContratoDto = servicoContratoService.findByIdContratoAndIdServico(requisicaoMudancaDto.getIdContrato(),
requisicaoMudancaDto.getIdRequisicaoMudanca());
if (servicoContratoDto != null && servicoContratoDto.getIdGrupoExecutor() != null) {
document.getElementById("idGrupoAtual").setValue("" + servicoContratoDto.getIdGrupoExecutor());
} else {
document.getElementById("idGrupoAtual").setValue("");
}
}
/**
* @param document
* @param request
* @param response
* @throws Exception
* @author breno.guimaraes
*/
public void restore(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
this.setRequisicaoMudancaDto((RequisicaoMudancaDTO) document.getBean());
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
document.executeScript("$('#abas').show()");
document.executeScript("$('#requisicaMudancaStatus').show()");
final Integer idTarefa = this.getRequisicaoMudancaDto().getIdTarefa();
final String acaoFluxo = this.getRequisicaoMudancaDto().getAcaoFluxo();
final String escalar = this.getRequisicaoMudancaDto().getEscalar();
final String alterarSituacao = this.getRequisicaoMudancaDto().getAlterarSituacao();
String fase = this.getRequisicaoMudancaDto().getFase();
final String editar = requisicaoMudancaDto.getEditar();
this.setRequisicaoMudancaDto(this.getRequisicaoMudancaService(request).restoreAll(requisicaoMudancaDto.getIdRequisicaoMudanca()));
if (fase == null) {
fase = this.getRequisicaoMudancaDto().getFase();
}
document.getElementById("ehPropostaAux").setDisabled(true);
if (fase != null) {
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
if (fase.equalsIgnoreCase("Proposta")) {
document.getElementById("abaRelacionarAprovacoesMudanca").setVisible(false);
}
if (fase.equalsIgnoreCase("Proposta")) {
document.getElementById("abaRelacionarAprovacoesProposta").setVisible(true);
document.getElementById("relacionarAprovacoesProposta").setVisible(true);
} else {
document.getElementById("abaRelacionarAprovacoesProposta").setVisible(false);
document.getElementById("relacionarAprovacoesProposta").setVisible(false);
}
if (!fase.equalsIgnoreCase("Proposta")) {
document.getElementById("labelEhProposta").setVisible(false);
}
}
}
this.atribuirNomeProprietarioESolicitanteParaRequisicaoDto(this.getRequisicaoMudancaDto());
this.atualizaInformacoesRelacionamentos(document, request, response);
this.restoreInformacoesContato(this.getRequisicaoMudancaDto(), document, request, response);
if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && this.getRequisicaoMudancaDto().getIdUnidade() != null) {
this.getRequisicaoMudancaDto().setUnidadeDes(unidadeService.retornaNomeUnidadeByID(this.getRequisicaoMudancaDto().getIdUnidade()));
} else {
this.restoreComboUnidade(this.getRequisicaoMudancaDto(), document, request, response);
}
this.restoreComboLocalidade(this.getRequisicaoMudancaDto(), document, request, response);
this.preencherComboTipoMudanca(document, request, response);
this.getRequisicaoMudancaDto().setIdTarefa(idTarefa);
this.getRequisicaoMudancaDto().setAcaoFluxo(acaoFluxo);
this.getRequisicaoMudancaDto().setEscalar(escalar);
this.getRequisicaoMudancaDto().setAlterarSituacao(alterarSituacao);
this.getRequisicaoMudancaDto().setFase(fase);
final HTMLForm form = document.getForm("form");
form.clear();
if (this.getRequisicaoMudancaDto().getIdContrato() != null) {
document.getSelectById("idContrato").setDisabled(true);
}
if (this.getRequisicaoMudancaDto().getIdSolicitante() != null) {
document.getSelectById("addSolicitante").setDisabled(true);
}
if (this.getRequisicaoMudancaDto().getIdTipoMudanca() != null) {
document.getSelectById("idTipoMudanca").setDisabled(true);
}
if (this.getRequisicaoMudancaDto().getIdGrupoAtual() != null) {
document.getSelectById("idGrupoAtual").setDisabled(true);
}
if (this.getRequisicaoMudancaDto().getIdContatoRequisicaoMudanca() != null) {
document.getSelectById("contato").setDisabled(true);
}
if (this.getRequisicaoMudancaDto().getIdGrupoComite() != null) {
document.getSelectById("idGrupoComite").setDisabled(true);
}
this.restaurarAnexos(request, requisicaoMudancaDto);
this.restaurarAnexosPlanoDeReversao(request, requisicaoMudancaDto);
if (this.listInfoRegExecucaoRequisicaoMudanca(this.getRequisicaoMudancaDto(), request) != null) {
document.getElementById("tblOcorrencias").setInnerHTML(this.listInfoRegExecucaoRequisicaoMudanca(requisicaoMudancaDto, request));
}
this.montarTabelaAprovacoesProposta(document, request, response, this.getRequisicaoMudancaDto());
this.montarTabelaAprovacoesMudanca(document, request, response, this.getRequisicaoMudancaDto());
this.quantidadeAprovacaoMudancaPorVotoAprovada(document, request, response, requisicaoMudancaDto);
this.quantidadeAprovacaoMudancaPorVotoRejeitada(document, request, response, requisicaoMudancaDto);
this.quantidadeAprovacaoPropostaPorVotoAprovada(document, request, response, requisicaoMudancaDto);
this.quantidadeAprovacaoPropostaPorVotoRejeitada(document, request, response, requisicaoMudancaDto);
requisicaoMudancaDto.getAlterarSituacao();
requisicaoMudancaDto.getAlterarSituacao().equalsIgnoreCase("S");
// restaurar-anexos
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_REQUISICAOMUDANCA, requisicaoMudancaDto.getIdRequisicaoMudanca());
final Collection colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos);
// Thiago Fernandes - 29/10/2013 - 18:49 - Sol. 121468 - Cria��o de Upload para requisi��o mudan�a para evitar conflitos com outras telas do sistema que us�o upload.
request.getSession(true).setAttribute("colUploadRequisicaoMudancaGED", colAnexosUploadDTO);
// fim-restaurar-anexos
// Respons�vel
final HTMLTable tblResponsavel = document.getTableById("tblResponsavel");
tblResponsavel.deleteAllRows();
final RequisicaoMudancaResponsavelService mudancaResponsavelService = (RequisicaoMudancaResponsavelService) ServiceLocator.getInstance().getService(
RequisicaoMudancaResponsavelService.class, WebUtil.getUsuarioSistema(request));
final Collection<RequisicaoMudancaResponsavelDTO> responsavel = mudancaResponsavelService.findByIdMudancaEDataFim(this.getRequisicaoMudancaDto().getIdRequisicaoMudanca());
if (editar != null && editar.equalsIgnoreCase("N")) {
tblResponsavel.addRowsByCollection(responsavel, new String[] {"", "idResponsavel", "nomeResponsavel", "nomeCargo", "telResponsavel", "emailResponsavel",
"papelResponsavel"}, null, "", null, null, null);
} else {
tblResponsavel.addRowsByCollection(responsavel, new String[] {"", "idResponsavel", "nomeResponsavel", "nomeCargo", "telResponsavel", "emailResponsavel",
"papelResponsavel"}, null, "", new String[] {"gerarImgDelResponsavel"}, null, null);
}
form.setValues(this.getRequisicaoMudancaDto());
form.setValueText("dataHoraInicioAgendada", null,
UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, this.getRequisicaoMudancaDto().getDataHoraInicioAgendada(), WebUtil.getLanguage(request)));
form.setValueText("dataHoraTerminoAgendada", null,
UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, this.getRequisicaoMudancaDto().getDataHoraTerminoAgendada(), WebUtil.getLanguage(request)));
form.setValueText("dataHoraConclusao", null,
UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, this.getRequisicaoMudancaDto().getDataHoraConclusao(), WebUtil.getLanguage(request)));
if (this.getRequisicaoMudancaDto().getNomeCategoriaMudanca() != null && !this.getRequisicaoMudancaDto().getNomeCategoriaMudanca().equalsIgnoreCase("")) {
document.executeScript("$('#nomeCategoriaMudanca').attr('disabled', " + false + ");");
document.executeScript("$('#div_categoria').show();");
}
final String statusSetado = "<input type='radio' id='status' name='status' value='" + this.getRequisicaoMudancaDto().getStatus() + "' checked='checked' />"
+ this.getRequisicaoMudancaDto().getStatus() + "";
document.getElementById("statusSetado").setInnerHTML(statusSetado);
document.executeScript("restaurar()");
if (editar == null || editar.equalsIgnoreCase("")) {
this.getRequisicaoMudancaDto().setEditar("S");
} else if (editar.equalsIgnoreCase("N")) {
document.executeScript("$('#divBarraFerramentas').hide()");
document.executeScript("$('#divBotoes').hide()");
document.getForm("form").lockForm();
}
// Criada para mostrar a fase da requisi��o.
String faseMudancaRequisicao = "";
String sePropostaAprovada = "";
String seRequisicaoAprovada = "";
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
final RequisicaoMudancaDao requisicaoMudancaDao = new RequisicaoMudancaDao();
final TransactionControler tc = new TransactionControlerImpl(requisicaoMudancaDao.getAliasDB());
try {
tc.start();
final RequisicaoMudancaService servicoContratoService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
if (requisicaoMudancaDto.getFase() != null) {
if (requisicaoMudancaDto.getFase().equals("Proposta")) {
sePropostaAprovada = servicoContratoService.verificaAprovacaoProposta(requisicaoMudancaDto, tc);
if (sePropostaAprovada.equals("reprovado")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoPropostaReprovada");
} else if (sePropostaAprovada.equals("aprovado")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoPropostaAprovada");
} else {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoPropostaAguardando");
}
} else if (requisicaoMudancaDto.getFase().equals("Aprovacao")) {
seRequisicaoAprovada = servicoContratoService.verificaAprovacaoMudanca(requisicaoMudancaDto, tc);
if (seRequisicaoAprovada.equals("reprovado")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoReprovada");
} else if (seRequisicaoAprovada.equals("aprovado")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoAprovada");
} else {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoAguardando");
}
} else if (requisicaoMudancaDto.getFase().equals("Planejamento")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoPlanejamento");
} else if (requisicaoMudancaDto.getFase().equals("Execucao")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoExecucao");
} else if (requisicaoMudancaDto.getFase().equals("Avaliacao")) {
faseMudancaRequisicao = UtilI18N.internacionaliza(request, "requisicaoMudanca.requisicaoExecucao");
}
if (faseMudancaRequisicao != null && faseMudancaRequisicao != "") {
request.setAttribute("faseMudancaRequisicao", faseMudancaRequisicao);
}
}
} catch (final Exception e) {
e.printStackTrace();
} finally {
tc.closeQuietly();
}
}
final GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final UsuarioDTO usuario = WebUtil.getUsuario(request);
final Collection<GrupoDTO> lstGrupos = grupoService.getGruposByEmpregado(usuario.getIdEmpregado());
this.mostraHistoricoMudanca(document, request, response, requisicaoMudancaDto);
if (lstGrupos != null) {
for (final GrupoDTO g : lstGrupos) {
if (this.getRequisicaoMudancaService(request).verificaPermissaoGrupoCancelar(this.getRequisicaoMudancaDto().getIdTipoMudanca(), g.getIdGrupo())) {
document.executeScript("$('#statusCancelado').show()");
break;
}
}
}
}
private void inicializarCombo(final HTMLSelect componenteCombo, final HttpServletRequest request) {
componenteCombo.removeAllOptions();
componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
}
private void inicializarComboLocalidade(final HTMLSelect componenteCombo, final HttpServletRequest request) {
componenteCombo.removeAllOptions();
componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
}
/**
* Preenche a combo Localidade.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author thays.araujo
*/
public void preencherComboLocalidade(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final RequisicaoMudancaDTO requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
final LocalidadeUnidadeService localidadeUnidadeService = (LocalidadeUnidadeService) ServiceLocator.getInstance().getService(LocalidadeUnidadeService.class, null);
final LocalidadeService localidadeService = (LocalidadeService) ServiceLocator.getInstance().getService(LocalidadeService.class, null);
LocalidadeDTO localidadeDto = new LocalidadeDTO();
Collection<LocalidadeUnidadeDTO> listaIdlocalidadePorUnidade = null;
Collection<LocalidadeDTO> listaIdlocalidade = null;
final String TIRAR_VINCULO_LOCALIDADE_UNIDADE = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.TIRAR_VINCULO_LOCALIDADE_UNIDADE, "N");
final HTMLSelect comboLocalidade = document.getSelectById("idLocalidade");
comboLocalidade.removeAllOptions();
if (TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("N") || TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("")) {
if (requisicaoMudancaDto.getIdUnidade() != null) {
listaIdlocalidadePorUnidade = localidadeUnidadeService.listaIdLocalidades(requisicaoMudancaDto.getIdUnidade());
}
if (listaIdlocalidadePorUnidade != null) {
this.inicializarComboLocalidade(comboLocalidade, request);
for (final LocalidadeUnidadeDTO localidadeUnidadeDto : listaIdlocalidadePorUnidade) {
localidadeDto.setIdLocalidade(localidadeUnidadeDto.getIdLocalidade());
localidadeDto = (LocalidadeDTO) localidadeService.restore(localidadeDto);
comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), StringEscapeUtils.escapeJavaScript(localidadeDto.getNomeLocalidade().toString()));
}
}
} else {
listaIdlocalidade = localidadeService.listLocalidade();
if (listaIdlocalidade != null) {
this.inicializarComboLocalidade(comboLocalidade, request);
for (final LocalidadeDTO localidadeDTO : listaIdlocalidade) {
localidadeDto.setIdLocalidade(localidadeDTO.getIdLocalidade());
localidadeDto = (LocalidadeDTO) localidadeService.restore(localidadeDto);
comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), StringEscapeUtils.escapeJavaScript(localidadeDto.getNomeLocalidade().toString()));
}
}
}
}
/**
* CarregarColaborador
*/
public void restoreColaboradorSolicitante(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
RequisicaoMudancaDTO requisicaoMudanca = (RequisicaoMudancaDTO) document.getBean();
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
final EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
EmpregadoDTO empregadoDto = new EmpregadoDTO();
if (requisicaoMudanca.getIdSolicitante() != null) {
empregadoDto.setIdEmpregado(requisicaoMudanca.getIdSolicitante());
empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto);
requisicaoMudanca.setNomeSolicitante(empregadoDto.getNome());
requisicaoMudanca.setNomeContato(empregadoDto.getNome());
requisicaoMudanca.setTelefoneContato(empregadoDto.getTelefone());
requisicaoMudanca.setRamal(empregadoDto.getRamal());
requisicaoMudanca.setEmailSolicitante(empregadoDto.getEmail().trim());
requisicaoMudanca.setObservacao(empregadoDto.getObservacoes());
requisicaoMudanca.setIdUnidade(empregadoDto.getIdUnidade());
if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S") && requisicaoMudanca.getIdUnidade() != null) {
requisicaoMudanca.setUnidadeDes(unidadeService.retornaNomeUnidadeByID(requisicaoMudanca.getIdUnidade()));
}
this.preencherComboLocalidade(document, request, response);
}
document.executeScript("$('#POPUP_SOLICITANTE').dialog('close')");
final HTMLForm form = document.getForm("form");
form.setValues(requisicaoMudanca);
document.executeScript("fecharPopup(\"#POPUP_EMPREGADO\")");
requisicaoMudanca = null;
}
/**
* CarregarContatoRequisicao
*/
public void restoreInformacoesContato(final RequisicaoMudancaDTO requisicaoMudancaDto, final DocumentHTML document, final HttpServletRequest request,
final HttpServletResponse response) throws Exception {
final ContatoRequisicaoMudancaService contatoRequisicaoMudancaService = (ContatoRequisicaoMudancaService) ServiceLocator.getInstance().getService(
ContatoRequisicaoMudancaService.class, null);
ContatoRequisicaoMudancaDTO contatoRequisicaoMudancaDto = new ContatoRequisicaoMudancaDTO();
if (requisicaoMudancaDto.getIdContatoRequisicaoMudanca() != null) {
contatoRequisicaoMudancaDto.setIdContatoRequisicaoMudanca(requisicaoMudancaDto.getIdContatoRequisicaoMudanca());
contatoRequisicaoMudancaDto = (ContatoRequisicaoMudancaDTO) contatoRequisicaoMudancaService.restore(contatoRequisicaoMudancaDto);
}
if (contatoRequisicaoMudancaDto != null) {
requisicaoMudancaDto.setNomeContato(contatoRequisicaoMudancaDto.getNomecontato());
requisicaoMudancaDto.setTelefoneContato(contatoRequisicaoMudancaDto.getTelefonecontato());
requisicaoMudancaDto.setRamal(contatoRequisicaoMudancaDto.getRamal());
requisicaoMudancaDto.setEmailSolicitante(contatoRequisicaoMudancaDto.getEmailcontato().trim());
requisicaoMudancaDto.setObservacao(contatoRequisicaoMudancaDto.getObservacao());
requisicaoMudancaDto.setIdLocalidade(contatoRequisicaoMudancaDto.getIdLocalidade());
}
}
public void restoreComboUnidade(RequisicaoMudancaDTO requisicaoMudanca, final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response)
throws Exception {
if (requisicaoMudanca.getIdRequisicaoMudanca() != null && requisicaoMudanca.getIdRequisicaoMudanca().intValue() > 0) {
final String validarComboUnidade = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.UNIDADE_VINC_CONTRATOS, "N");
requisicaoMudanca = (RequisicaoMudancaDTO) requisicaoMudancaService.restore(requisicaoMudanca);
if (requisicaoMudanca.getIdContrato() == null || requisicaoMudanca.getIdContrato().intValue() == 0) {
requisicaoMudanca.setIdContrato(contratoDtoAux.getIdContrato());
}
if (requisicaoMudanca.getIdUnidade() != null) {
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
final HTMLSelect comboUnidade = document.getSelectById("idUnidade");
this.inicializarCombo(comboUnidade, request);
if (validarComboUnidade.trim().equalsIgnoreCase("S")) {
final Integer idContrato = requisicaoMudanca.getIdContrato();
final ArrayList<UnidadeDTO> unidades = (ArrayList) unidadeService.listHierarquiaMultiContratos(idContrato);
if (unidades != null) {
for (final UnidadeDTO unidade : unidades) {
if (unidade.getDataFim() == null) {
comboUnidade.addOption(unidade.getIdUnidade().toString(), StringEscapeUtils.escapeJavaScript(unidade.getNomeNivel().toString()));
}
}
}
} else {
final ArrayList<UnidadeDTO> unidades = (ArrayList) unidadeService.listHierarquia();
if (unidades != null) {
for (final UnidadeDTO unidade : unidades) {
if (unidade.getDataFim() == null) {
comboUnidade.addOption(unidade.getIdUnidade().toString(), StringEscapeUtils.escapeJavaScript(unidade.getNomeNivel().toString()));
}
}
}
}
}
}
}
public void restoreComboLocalidade(final RequisicaoMudancaDTO requisicaoMudanca, final DocumentHTML document, final HttpServletRequest request,
final HttpServletResponse response) throws Exception {
if (requisicaoMudanca.getIdRequisicaoMudanca() != null && requisicaoMudanca.getIdRequisicaoMudanca().intValue() > 0) {
final String TIRAR_VINCULO_LOCALIDADE_UNIDADE = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.TIRAR_VINCULO_LOCALIDADE_UNIDADE, "N");
if (requisicaoMudanca.getIdContrato() == null || requisicaoMudanca.getIdContrato().intValue() == 0) {
requisicaoMudanca.setIdContrato(contratoDtoAux.getIdContrato());
}
if (requisicaoMudanca.getIdLocalidade() != null) {
final LocalidadeUnidadeService localidadeUnidadeService = (LocalidadeUnidadeService) ServiceLocator.getInstance().getService(LocalidadeUnidadeService.class, null);
final LocalidadeService localidadeService = (LocalidadeService) ServiceLocator.getInstance().getService(LocalidadeService.class, null);
LocalidadeDTO localidadeDto = new LocalidadeDTO();
Collection<LocalidadeUnidadeDTO> listaIdlocalidadePorUnidade = null;
Collection<LocalidadeDTO> listaIdlocalidade = null;
final HTMLSelect comboLocalidade = document.getSelectById("idLocalidade");
comboLocalidade.removeAllOptions();
if (TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("N") || TIRAR_VINCULO_LOCALIDADE_UNIDADE.trim().equalsIgnoreCase("")) {
if (requisicaoMudanca.getIdUnidade() != null) {
listaIdlocalidadePorUnidade = localidadeUnidadeService.listaIdLocalidades(requisicaoMudanca.getIdUnidade());
}
if (listaIdlocalidadePorUnidade != null) {
this.inicializarComboLocalidade(comboLocalidade, request);
for (final LocalidadeUnidadeDTO localidadeUnidadeDto : listaIdlocalidadePorUnidade) {
localidadeDto.setIdLocalidade(localidadeUnidadeDto.getIdLocalidade());
localidadeDto = (LocalidadeDTO) localidadeService.restore(localidadeDto);
comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), StringEscapeUtils.escapeJavaScript(localidadeDto.getNomeLocalidade()));
}
}
} else {
listaIdlocalidade = localidadeService.listLocalidade();
if (listaIdlocalidade != null) {
this.inicializarComboLocalidade(comboLocalidade, request);
for (final LocalidadeDTO localidadeDTO : listaIdlocalidade) {
localidadeDto.setIdLocalidade(localidadeDTO.getIdLocalidade());
localidadeDto = (LocalidadeDTO) localidadeService.restore(localidadeDto);
comboLocalidade.addOption(localidadeDto.getIdLocalidade().toString(), StringEscapeUtils.escapeJavaScript(localidadeDto.getNomeLocalidade()));
}
}
}
}
}
}
public void carregaUnidade(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
if (UNIDADE_AUTOCOMPLETE != null && !UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) {
final String validarComboUnidade = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.UNIDADE_VINC_CONTRATOS, "N");
RequisicaoMudancaDTO requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null && requisicaoMudancaDto.getIdRequisicaoMudanca().intValue() > 0) {
final RequisicaoMudancaService requisicaoMudancaService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
contratoDtoAux.setIdContrato(requisicaoMudancaDto.getIdContrato());
requisicaoMudancaDto = (RequisicaoMudancaDTO) requisicaoMudancaService.restore(requisicaoMudancaDto);
}
if (requisicaoMudancaDto.getIdContrato() == null || requisicaoMudancaDto.getIdContrato().intValue() == 0) {
requisicaoMudancaDto.setIdContrato(contratoDtoAux.getIdContrato());
}
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
final HTMLSelect comboUnidade = document.getSelectById("idUnidade");
this.inicializarCombo(comboUnidade, request);
if (validarComboUnidade.trim().equalsIgnoreCase("S")) {
final Integer idContrato = requisicaoMudancaDto.getIdContrato();
final ArrayList<UnidadeDTO> unidades = (ArrayList) unidadeService.listHierarquiaMultiContratos(idContrato);
if (unidades != null) {
for (final UnidadeDTO unidade : unidades) {
if (unidade.getDataFim() == null) {
comboUnidade.addOption(unidade.getIdUnidade().toString(), StringEscapeUtils.escapeJavaScript(unidade.getNomeNivel().toString()));
}
}
}
} else {
final ArrayList<UnidadeDTO> unidades = (ArrayList) unidadeService.listHierarquia();
if (unidades != null) {
for (final UnidadeDTO unidade : unidades) {
if (unidade.getDataFim() == null) {
comboUnidade.addOption(unidade.getIdUnidade().toString(), StringEscapeUtils.escapeJavaScript(unidade.getNomeNivel().toString()));
}
}
}
}
requisicaoMudancaDto = null;
}
}
/**
* Centraliza atualiza��o de informa��es dos objetos que se relacionam com a mudan�a.
*
* @throws ServiceException
* @throws Exception
*/
private void atualizaInformacoesRelacionamentos(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException,
Exception {
// informa��es dos ics relacionados
final ArrayList<RequisicaoMudancaItemConfiguracaoDTO> listaICsRelacionados = this.getReqMudancaICAction().listItensRelacionadosRequisicaoMudanca(requisicaoMudancaDto);
if (listaICsRelacionados != null && listaICsRelacionados.size() > 0) {
requisicaoMudancaDto.setItensConfiguracaoRelacionadosSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaICsRelacionados, WebUtil.getLanguage(request)));
}
final RequisicaoMudancaService requisicaoMudancaService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
// informa��es dos servicos relacionados
final ArrayList<RequisicaoMudancaServicoDTO> listaServicosRelacionados = this.getReqMudancaServicoAction().listItensRelacionadosRequisicaoMudanca(requisicaoMudancaDto);
if (listaServicosRelacionados != null && listaServicosRelacionados.size() > 0) {
requisicaoMudancaDto.setServicosRelacionadosSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaServicosRelacionados, WebUtil.getLanguage(request)));
}
// informa��es dos servicos relacionados
final LiberacaoMudancaService liberacaoMudancaService = (LiberacaoMudancaService) ServiceLocator.getInstance().getService(LiberacaoMudancaService.class, null);
final ArrayList<LiberacaoMudancaDTO> liberacaoMudanca = (ArrayList<LiberacaoMudancaDTO>) liberacaoMudancaService.findByIdRequisicaoMudanca(
requisicaoMudancaDto.getIdLiberacao(), requisicaoMudancaDto.getIdRequisicaoMudanca());
if (liberacaoMudanca != null && liberacaoMudanca.size() > 0) {
requisicaoMudancaDto.setLiberacoesRelacionadosSerializado(br.com.citframework.util.WebUtil.serializeObjects(liberacaoMudanca, WebUtil.getLanguage(request)));
}
final ArrayList<RequisicaoMudancaDTO> listaSolicitacaoServico = (ArrayList<RequisicaoMudancaDTO>) requisicaoMudancaService.listMudancaByIdSolicitacao(requisicaoMudancaDto);
if (listaSolicitacaoServico != null && listaSolicitacaoServico.size() > 0) {
requisicaoMudancaDto.setSolicitacaoServicoSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaSolicitacaoServico, WebUtil.getLanguage(request)));
}
final ProblemaMudancaService problemaMudancaService = (ProblemaMudancaService) ServiceLocator.getInstance().getService(ProblemaMudancaService.class, null);
final ArrayList<ProblemaMudancaDTO> listaProblemaMudanca = (ArrayList<ProblemaMudancaDTO>) problemaMudancaService.findByIdRequisicaoMudanca(requisicaoMudancaDto
.getIdRequisicaoMudanca());
if (listaProblemaMudanca != null && listaProblemaMudanca.size() > 0) {
requisicaoMudancaDto.setProblemaSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaProblemaMudanca, WebUtil.getLanguage(request)));
}
final RequisicaoMudancaRiscoService requisicaoMudancaRiscoService = (RequisicaoMudancaRiscoService) ServiceLocator.getInstance().getService(
RequisicaoMudancaRiscoService.class, null);
final ArrayList<RequisicaoMudancaRiscoDTO> listaRiscos = (ArrayList<RequisicaoMudancaRiscoDTO>) requisicaoMudancaRiscoService
.findByIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
if (listaRiscos != null && listaRiscos.size() > 0) {
requisicaoMudancaDto.setRiscoSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaRiscos, WebUtil.getLanguage(request)));
}
final GrupoRequisicaoMudancaService grupoRequisicaoMudancaService = (GrupoRequisicaoMudancaService) ServiceLocator.getInstance().getService(
GrupoRequisicaoMudancaService.class, null);
final ArrayList<GrupoRequisicaoMudancaDTO> listaGrupoRequisicaoMudanca = (ArrayList<GrupoRequisicaoMudancaDTO>) grupoRequisicaoMudancaService
.findByIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
if (listaGrupoRequisicaoMudanca != null && listaGrupoRequisicaoMudanca.size() > 0) {
requisicaoMudancaDto.setGrupoMudancaSerializado(br.com.citframework.util.WebUtil.serializeObjects(listaGrupoRequisicaoMudanca, WebUtil.getLanguage(request)));
}
}
/**
* @param document
* @param request
* @param response
* @throws Exception
* @author breno.guimaraes
*/
public void save(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
document.executeScript("exibeJanelaAguarde()");
final UsuarioDTO usuario = (UsuarioDTO) request.getSession().getAttribute(Constantes.getValue("USUARIO_SESSAO") + "_CITCORPORE");
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
requestGlobal = request;
documentGlobal = document;
this.setRequisicaoMudancaDto((RequisicaoMudancaDTO) document.getBean());
this.getRequisicaoMudancaDto().setUsuarioDto(usuario);
this.getRequisicaoMudancaDto().setDataHoraTermino(this.getRequisicaoMudancaDto().getDataHoraTerminoAgendada());
this.getRequisicaoMudancaDto().setEnviaEmailCriacao("S");
this.getRequisicaoMudancaDto().setEnviaEmailAcoes("S");
this.getRequisicaoMudancaDto().setEnviaEmailFinalizacao("S");
this.getRequisicaoMudancaDto().setEnviaEmailGrupoComite("S");
this.getRequisicaoMudancaDto().setTitulo(this.getRequisicaoMudancaDto().getTitulo());
this.getRequisicaoMudancaDto().setDescricao(this.getRequisicaoMudancaDto().getDescricao());
this.getRequisicaoMudancaDto().setObservacao(this.getRequisicaoMudancaDto().getObservacao());
this.getRequisicaoMudancaDto().setTipo(this.getRequisicaoMudancaDto().getTipo());
// geber.costa
this.getRequisicaoMudancaDto().setIdRequisicaoMudanca(this.getRequisicaoMudancaDto().getIdRequisicaoMudanca());
this.getRequisicaoMudancaDto().setStatus(this.getRequisicaoMudancaDto().getStatus());
this.getRequisicaoMudancaDto().setSituacaoLiberacao(this.getRequisicaoMudancaDto().getSituacaoLiberacao());
this.getRequisicaoMudancaDto().setIdGrupoAtvPeriodica(this.getRequisicaoMudancaDto().getIdGrupoAtvPeriodica());
try {
/* Inicio Deserializa��o */
final ArrayList<SolicitacaoServicoDTO> listIdSolicitacaoServico = (ArrayList<SolicitacaoServicoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
SolicitacaoServicoDTO.class, "solicitacaoServicoSerializado", request);
this.getRequisicaoMudancaDto().setListIdSolicitacaoServico(listIdSolicitacaoServico);
List<AprovacaoMudancaDTO> listAprovacoMudanca = (List<AprovacaoMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
AprovacaoMudancaDTO.class, "aprovacaoMudancaServicoSerializado", request);
List<AprovacaoPropostaDTO> listAprovacoProposta;
if (this.getRequisicaoMudancaDto().getFase().equalsIgnoreCase("Proposta")) {
listAprovacoProposta = (List<AprovacaoPropostaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(AprovacaoPropostaDTO.class,
"aprovacaoPropostaServicoSerializado", request);
if (listAprovacoProposta != null) {
listAprovacoProposta = this.setaDataHoraVotacoesProposta(listAprovacoProposta, usuario, request);
}
this.getRequisicaoMudancaDto().setListAprovacaoPropostaDTO(listAprovacoProposta);
}
if (listAprovacoMudanca != null) {
listAprovacoMudanca = this.setaDataHoraVotacoesMudanca(listAprovacoMudanca, usuario, request);
}
this.getRequisicaoMudancaDto().setListAprovacaoMudancaDTO(listAprovacoMudanca);
final ArrayList<RequisicaoMudancaItemConfiguracaoDTO> listRequisicaoMudancaItemConfiguracaoDTO = (ArrayList<RequisicaoMudancaItemConfiguracaoDTO>) br.com.citframework.util.WebUtil
.deserializeCollectionFromRequest(RequisicaoMudancaItemConfiguracaoDTO.class, "itensConfiguracaoRelacionadosSerializado", request);
this.getRequisicaoMudancaDto().setListRequisicaoMudancaItemConfiguracaoDTO(listRequisicaoMudancaItemConfiguracaoDTO);
final ArrayList<ProblemaMudancaDTO> listProblemaMudancaDTO = (ArrayList<ProblemaMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
ProblemaMudancaDTO.class, "problemaSerializado", request);
this.getRequisicaoMudancaDto().setListProblemaMudancaDTO(listProblemaMudancaDTO);
final ArrayList<GrupoRequisicaoMudancaDTO> listGrupoRequisicaoMudancaDTO = (ArrayList<GrupoRequisicaoMudancaDTO>) br.com.citframework.util.WebUtil
.deserializeCollectionFromRequest(GrupoRequisicaoMudancaDTO.class, "grupoMudancaSerializado", request);
this.getRequisicaoMudancaDto().setListGrupoRequisicaoMudancaDTO(listGrupoRequisicaoMudancaDTO);
final ArrayList<RequisicaoMudancaServicoDTO> listRequisicaoMudancaServicoDTO = (ArrayList<RequisicaoMudancaServicoDTO>) br.com.citframework.util.WebUtil
.deserializeCollectionFromRequest(RequisicaoMudancaServicoDTO.class, "servicosRelacionadosSerializado", request);
this.getRequisicaoMudancaDto().setListRequisicaoMudancaServicoDTO(listRequisicaoMudancaServicoDTO);
final ArrayList<RequisicaoMudancaRiscoDTO> listRiscosDTO = (ArrayList<RequisicaoMudancaRiscoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
RequisicaoMudancaRiscoDTO.class, "riscoSerializado", request);
this.getRequisicaoMudancaDto().setListRequisicaoMudancaRiscoDTO(listRiscosDTO);
final Collection<RequisicaoMudancaResponsavelDTO> colResponsavel = br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
RequisicaoMudancaResponsavelDTO.class, "responsavel_serialize", request);
this.getRequisicaoMudancaDto().setColResponsaveis(colResponsavel);
// geber.costa
final ArrayList<LiberacaoMudancaDTO> listLiberacoesDTO = (ArrayList<LiberacaoMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
LiberacaoMudancaDTO.class, "liberacoesRelacionadosSerializado", request);
this.getRequisicaoMudancaDto().setListLiberacaoMudancaDTO(listLiberacoesDTO);
if (this.getRequisicaoMudancaDto().getIdRequisicaoMudanca() == null || this.getRequisicaoMudancaDto().getIdRequisicaoMudanca() == 0) {
if (this.getRequisicaoMudancaDto().getEhPropostaAux() != null) {
if (this.getRequisicaoMudancaDto().getEhPropostaAux().equalsIgnoreCase("S")) {
this.getRequisicaoMudancaDto().setEhProposta(true);
if (this.getRequisicaoMudancaDto().getFase() == null || this.getRequisicaoMudancaDto().getFase().equals("")
|| UtilStrings.stringVazia(this.getRequisicaoMudancaDto().getFase())) {
this.getRequisicaoMudancaDto().setFase("Proposta");
}
}
} else {
this.getRequisicaoMudancaDto().setEhPropostaAux("N");
this.getRequisicaoMudancaDto().setEhProposta(false);
}
this.gravarAnexoMudanca(document, request, response, this.getRequisicaoMudancaDto());
this.gravarAnexosPlanosDeReversao(document, request, response, this.getRequisicaoMudancaDto());
final RequisicaoMudancaService r = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
this.setRequisicaoMudancaDto(r.create(this.getRequisicaoMudancaDto()));
if (this.getRequisicaoMudancaDto() != null && this.getRequisicaoMudancaDto().getIframeSolicitacao().equalsIgnoreCase("true")) {
document.executeScript("parent.inserirMudancaNalista('" + this.getRequisicaoMudancaDto().getIdRequisicaoMudanca() + "')");
}
final TipoMudancaService tipoMudancaService = (TipoMudancaService) ServiceLocator.getInstance().getService(TipoMudancaService.class, null);
final Collection collTipoMudanca = tipoMudancaService.findByIdTipoMudanca(requisicaoMudancaDto.getIdTipoMudanca());
final TipoMudancaDTO tipoMudanca = (TipoMudancaDTO) ((List) collTipoMudanca).get(0);
document.executeScript("escondeJanelaAguarde()");
String comando = "mostraMensagemInsercao('" + UtilI18N.internacionaliza(request, "MSG05") + ".<br>"
+ UtilI18N.internacionaliza(request, "gerenciamentoMudanca.numerorequisicao") + " <b><u>" + this.getRequisicaoMudancaDto().getIdRequisicaoMudanca()
+ "</u></b> " + UtilI18N.internacionaliza(request, "citcorpore.comum.crida") + ".<br><br>" + UtilI18N.internacionaliza(request, "contrato.tipo") + ":"
+ StringEscapeUtils.escapeJavaScript(tipoMudanca.getNomeTipoMudanca().toString()) + ".<br>";
comando = comando + "')";
document.executeScript(comando);
return;
} else {
requisicaoMudancaDto.setColArquivosUpload(this.gravarAnexoMudanca(document, request, response, this.getRequisicaoMudancaDto()));
requisicaoMudancaDto.setColUploadPlanoDeReversaoGED(this.gravarAnexosPlanosDeReversao(document, request, response, this.getRequisicaoMudancaDto()));
RequisicaoMudancaDTO requisicaoMudancaAuxDto = new RequisicaoMudancaDTO();
if (this.getRequisicaoMudancaDto().getIdRequisicaoMudanca() != null) {
requisicaoMudancaAuxDto.setIdRequisicaoMudanca(this.getRequisicaoMudancaDto().getIdRequisicaoMudanca());
requisicaoMudancaAuxDto = (RequisicaoMudancaDTO) this.getRequisicaoMudancaService(request).restore(requisicaoMudancaAuxDto);
if (requisicaoMudancaAuxDto.getIdContrato() != null) {
this.getRequisicaoMudancaDto().setIdContrato(requisicaoMudancaAuxDto.getIdContrato());
this.getRequisicaoMudancaDto().setEhPropostaAux(requisicaoMudancaAuxDto.getEhPropostaAux());
}
if (requisicaoMudancaAuxDto.getIdGrupoComite() != null) {
this.getRequisicaoMudancaDto().setIdGrupoComite(requisicaoMudancaAuxDto.getIdGrupoComite());
}
}
final RequisicaoMudancaService r = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
final boolean planoDeReversaoInformado = r.planoDeReversaoInformado(this.getRequisicaoMudancaDto(), request);
if (planoDeReversaoInformado == true) {
r.update(this.getRequisicaoMudancaDto(), request);
} else {
document.executeScript("abrirAbaPlanoDeReversao();");
return;
}
document.alert(UtilI18N.internacionaliza(request, "MSG06"));
}
} catch (final Exception e) {
System.out.println("Falha na transa��o.");
throw new ServiceException(e);
}
document.executeScript("escondeJanelaAguarde()");
final HTMLForm form = document.getForm("form");
form.clear();
document.executeScript("fechar();");
}
public void saveBaseline(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final UsuarioDTO usrDto = br.com.centralit.citcorpore.util.WebUtil.getUsuario(request);
if (usrDto == null) {
return;
}
final HistoricoMudancaDao historicoMudancaDao = new HistoricoMudancaDao();
final List<HistoricoMudancaDTO> set = (ArrayList<HistoricoMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(HistoricoMudancaDTO.class,
"baselinesSerializadas", request);
if (set != null) {
for (final HistoricoMudancaDTO historicoMudancaDTO : set) {
HistoricoMudancaDTO novo = new HistoricoMudancaDTO();
novo.setBaseLine("SIM");
if (historicoMudancaDTO.getIdHistoricoMudanca() != null) {
novo.setIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
novo = (HistoricoMudancaDTO) historicoMudancaDao.restore(novo);
novo.setBaseLine("SIM");
historicoMudancaDao.update(novo);
}
}
document.alert(UtilI18N.internacionaliza(request, "itemConfiguracaoTree.baselineGravadasSucesso"));
this.load(document, request, response);
}
}
public static Boolean salvaGrupoAtvPeriodicaEAgenda(final RequisicaoMudancaDTO requisicaoMudancaDto) throws ServiceException, Exception {
final UsuarioDTO usuario = WebUtil.getUsuario(requestGlobal);
if (usuario == null) {
documentGlobal.alert(UtilI18N.internacionaliza(requestGlobal, "citcorpore.comum.sessaoExpirada"));
documentGlobal.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + requestGlobal.getContextPath() + "'");
return false;
}
final AtividadePeriodicaDTO atividadePeriodicaDTO = new AtividadePeriodicaDTO();
atividadePeriodicaDTO.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
atividadePeriodicaDTO.setDuracaoEstimada((int) calculaDuracaoEstimada(requisicaoMudancaDto));
atividadePeriodicaDTO.setIdGrupoAtvPeriodica(requisicaoMudancaDto.getIdGrupoAtvPeriodica());
atividadePeriodicaDTO.setDataInicio(transformaDataStringEmDate(requisicaoMudancaDto.getDataInicioStr()));
atividadePeriodicaDTO.setHoraInicio(requisicaoMudancaDto.getHoraAgendamentoInicial());
if (atividadePeriodicaDTO.getDuracaoEstimada() == null || atividadePeriodicaDTO.getDuracaoEstimada().intValue() == 0) {
return false;
} else if (requisicaoMudancaDto.getIdGrupoAtvPeriodica() == null) {
return false;
}
final GrupoAtvPeriodicaService grupoAtvPeriodicaService = (GrupoAtvPeriodicaService) ServiceLocator.getInstance().getService(GrupoAtvPeriodicaService.class, null);
String orient = "";
String ocorr = "";
if (!ocorr.equalsIgnoreCase("")) {
ocorr += "\n";
}
ocorr += UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.dataagendamento") + " " + UtilDatas.dateToSTR(atividadePeriodicaDTO.getDataInicio());
if (!ocorr.equalsIgnoreCase("")) {
ocorr += "\n";
}
ocorr += UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.horaagendamento") + " " + atividadePeriodicaDTO.getHoraInicio();
if (!ocorr.equalsIgnoreCase("")) {
ocorr += "\n";
}
ocorr += UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.duracaoestimada") + " " + atividadePeriodicaDTO.getDuracaoEstimada();
GrupoAtvPeriodicaDTO grupoAtvPeriodicaDTO = new GrupoAtvPeriodicaDTO();
grupoAtvPeriodicaDTO.setIdGrupoAtvPeriodica(atividadePeriodicaDTO.getIdGrupoAtvPeriodica());
grupoAtvPeriodicaDTO = (GrupoAtvPeriodicaDTO) grupoAtvPeriodicaService.restore(grupoAtvPeriodicaDTO);
if (grupoAtvPeriodicaDTO != null) {
ocorr += "\n" + UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.grupo") + ": " + grupoAtvPeriodicaDTO.getNomeGrupoAtvPeriodica();
}
if (atividadePeriodicaDTO.getOrientacaoTecnica() != null) {
orient = atividadePeriodicaDTO.getOrientacaoTecnica();
ocorr += "\n" + UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.orientacaotecnica") + ": \n" + atividadePeriodicaDTO.getOrientacaoTecnica();
}
orient += "\n\n" + UtilI18N.internacionaliza(requestGlobal, "requisicaoMudanca.requisicaoMudanca") + ": \n" + requisicaoMudancaDto.getDescricao();
atividadePeriodicaDTO.setTituloAtividade(UtilI18N.internacionaliza(requestGlobal, "gerenciaservico.agendaratividade.requisicaoMudanca") + " "
+ atividadePeriodicaDTO.getIdRequisicaoMudanca());
atividadePeriodicaDTO.setDescricao(requisicaoMudancaDto.getDescricao());
atividadePeriodicaDTO.setDataCriacao(UtilDatas.getDataAtual());
atividadePeriodicaDTO.setCriadoPor(usuario.getNomeUsuario());
atividadePeriodicaDTO.setIdContrato(requisicaoMudancaDto.getIdContrato());
atividadePeriodicaDTO.setOrientacaoTecnica(orient);
final Collection colItens = new ArrayList();
final ProgramacaoAtividadeDTO programacaoAtividadeDTO = new ProgramacaoAtividadeDTO();
programacaoAtividadeDTO.setTipoAgendamento("U");
programacaoAtividadeDTO.setDataInicio(atividadePeriodicaDTO.getDataInicio());
programacaoAtividadeDTO.setHoraInicio(atividadePeriodicaDTO.getHoraInicio());
programacaoAtividadeDTO.setHoraFim("00:00");
programacaoAtividadeDTO.setDuracaoEstimada(atividadePeriodicaDTO.getDuracaoEstimada());
programacaoAtividadeDTO.setRepeticao("N");
colItens.add(programacaoAtividadeDTO);
final AtividadePeriodicaService atividadePeriodicaService = (AtividadePeriodicaService) ServiceLocator.getInstance().getService(AtividadePeriodicaService.class, null);
atividadePeriodicaDTO.setColItens(colItens);
// verifica se j� n�o houve agendamento para essa requisi��o
final Collection<AtividadePeriodicaDTO> listAtividade = atividadePeriodicaService.findByIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
if (listAtividade != null) {
// s� � poss�vel fazer um agendamento para a mudan�a, logo a lista dever� vir s� com um registro ao atualizar na tela, esse registro �nico deve ser atualizado
int idAtvPeriodica = 0;
idAtvPeriodica = listAtividade.iterator().next().getIdAtividadePeriodica();
atividadePeriodicaDTO.setIdAtividadePeriodica(idAtvPeriodica);
atividadePeriodicaService.update(atividadePeriodicaDTO);
} else {
atividadePeriodicaService.create(atividadePeriodicaDTO);
}
final OcorrenciaSolicitacaoService ocorrenciaSolicitacaoService = (OcorrenciaSolicitacaoService) ServiceLocator.getInstance().getService(
OcorrenciaSolicitacaoService.class, null);
final OcorrenciaSolicitacaoDTO ocorrenciaSolicitacaoDTO = new OcorrenciaSolicitacaoDTO();
ocorrenciaSolicitacaoDTO.setIdSolicitacaoServico(atividadePeriodicaDTO.getIdSolicitacaoServico());
ocorrenciaSolicitacaoDTO.setDataregistro(UtilDatas.getDataAtual());
ocorrenciaSolicitacaoDTO.setHoraregistro(UtilDatas.formatHoraFormatadaStr(UtilDatas.getHoraAtual()));
ocorrenciaSolicitacaoDTO.setTempoGasto(0);
ocorrenciaSolicitacaoDTO.setDescricao(Enumerados.CategoriaOcorrencia.Agendamento.getDescricao());
ocorrenciaSolicitacaoDTO.setDataInicio(UtilDatas.getDataAtual());
ocorrenciaSolicitacaoDTO.setDataFim(UtilDatas.getDataAtual());
ocorrenciaSolicitacaoDTO.setInformacoesContato(UtilI18N.internacionaliza(requestGlobal, "MSG013"));
ocorrenciaSolicitacaoDTO.setRegistradopor(usuario.getNomeUsuario());
ocorrenciaSolicitacaoDTO.setOcorrencia(ocorr);
ocorrenciaSolicitacaoDTO.setOrigem(Enumerados.OrigemOcorrencia.OUTROS.getSigla().toString());
ocorrenciaSolicitacaoDTO.setCategoria(Enumerados.CategoriaOcorrencia.Agendamento.getSigla());
ocorrenciaSolicitacaoDTO.setIdItemTrabalho(requisicaoMudancaDto.getIdTarefa());
ocorrenciaSolicitacaoService.create(ocorrenciaSolicitacaoDTO);
return true;
}
public static long calculaDuracaoEstimada(final RequisicaoMudancaDTO requisicaoMudancaDto) {
final long duracao = requisicaoMudancaDto.getDataHoraTerminoAgendada().getTime() - requisicaoMudancaDto.getDataHoraInicioAgendada().getTime();
final long minutos = duracao / (1000 * 60);
return minutos;
}
public static java.sql.Date transformaDataStringEmDate(final String dataSemFormatacao) throws ParseException {
final DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
final java.sql.Date data = new java.sql.Date(fmt.parse(dataSemFormatacao).getTime());
return data;
}
/**
* Gravo no banco de dados apenas a aprova��o de mudan�a do usu�rio(Se o mesmo for aprovador)
*
* @author Bruno.franco
* @author flavio.santana
*/
public List<AprovacaoMudancaDTO> setaDataHoraVotacoesMudanca(final List<AprovacaoMudancaDTO> listAprovacoMudanca, final UsuarioDTO usuario, final HttpServletRequest request) {
final List<AprovacaoMudancaDTO> listaAtualizada = new ArrayList<>();
for (final AprovacaoMudancaDTO aprovacaoMudancaDTO : listAprovacoMudanca) {
if (UtilStrings.isNotVazio(aprovacaoMudancaDTO.getVoto())) {
if (usuario.getNomeUsuario().equalsIgnoreCase(aprovacaoMudancaDTO.getNomeEmpregado())
|| usuario.getIdEmpregado().intValue() == aprovacaoMudancaDTO.getIdEmpregado().intValue()) {
final Timestamp timestamp = new Timestamp(System.currentTimeMillis());
final String date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(timestamp.getTime());
aprovacaoMudancaDTO.setDataHoraVotacao(date);
listaAtualizada.add(aprovacaoMudancaDTO);
}
}
}
return listaAtualizada;
}
/**
*
* Gravo no banco de dados apenas a aprova��o de proposta do usu�rio(Se o mesmo for aprovador)
*/
public List<AprovacaoPropostaDTO> setaDataHoraVotacoesProposta(final List<AprovacaoPropostaDTO> listAprovacoProposta, final UsuarioDTO usuario, final HttpServletRequest request) {
final List<AprovacaoPropostaDTO> listaAtualizada = new ArrayList<>();
for (final AprovacaoPropostaDTO aprovacaoPropostaDTO : listAprovacoProposta) {
if (UtilStrings.isNotVazio(aprovacaoPropostaDTO.getVoto())) {
if (usuario.getNomeUsuario().equalsIgnoreCase(aprovacaoPropostaDTO.getNomeEmpregado())
|| usuario.getIdEmpregado().intValue() == aprovacaoPropostaDTO.getIdEmpregado().intValue()) {
final Timestamp timestamp = new Timestamp(System.currentTimeMillis());
final String date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(timestamp.getTime());
aprovacaoPropostaDTO.setDataHoraVotacao(date);
listaAtualizada.add(aprovacaoPropostaDTO);
}
}
}
return listaAtualizada;
}
/**
* @param document
* @param request
* @param response
* @throws Exception
* @author breno.guimaraes
*/
public void delete(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
}
/**
* preencher combo de tipo fluxo
*
* @param document
* @param request
* @param response
* @throws Exception
* @author geber.costa
*/
public void preencherComboTipoMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final TipoMudancaService tipoMudancaService = (TipoMudancaService) ServiceLocator.getInstance().getService(TipoMudancaService.class, null);
final HTMLSelect comboTipoMudanca = document.getSelectById("idTipoMudanca");
final ArrayList<TipoMudancaDTO> listTipoMudanca = (ArrayList) tipoMudancaService.getAtivos();
comboTipoMudanca.removeAllOptions();
comboTipoMudanca.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
if (listTipoMudanca != null) {
for (final TipoMudancaDTO tipoMudancaDTO : listTipoMudanca) {
if (tipoMudancaDTO.getIdTipoMudanca() != null || tipoMudancaDTO.getIdTipoMudanca() > 0) {
comboTipoMudanca.addOption(tipoMudancaDTO.getIdTipoMudanca().toString(), StringEscapeUtils.escapeJavaScript(tipoMudancaDTO.getNomeTipoMudanca().toString()));
}
}
}
}
public void tratarCaracterItemConfiguracao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) {
requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
ItemConfiguracaoDTO itemConfiguracaoDTO = new ItemConfiguracaoDTO();
String descricaoItemConfiguracao = "";
String descricaoTratada = "";
try {
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getHiddenDescricaoItemConfiguracao() != null) {
descricaoItemConfiguracao = requisicaoMudancaDto.getHiddenDescricaoItemConfiguracao();
descricaoItemConfiguracao = descricaoItemConfiguracao.replaceAll("\"", "");
descricaoItemConfiguracao = descricaoItemConfiguracao.replaceAll("\'", "");
descricaoTratada = StringEscapeUtils.escapeJavaScript(descricaoItemConfiguracao.toString().trim());
final ItemConfiguracaoService itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null);
requisicaoMudancaDto.getHiddenIdItemConfiguracao();
if (requisicaoMudancaDto != null && requisicaoMudancaDto.getHiddenIdItemConfiguracao() != null && Integer.SIZE > 0) {
itemConfiguracaoDTO.setIdItemConfiguracao(requisicaoMudancaDto.getHiddenIdItemConfiguracao());
itemConfiguracaoDTO = (ItemConfiguracaoDTO) itemConfiguracaoService.restore(itemConfiguracaoDTO);
document.getElementById("hiddenIdItemConfiguracao").setValue(itemConfiguracaoDTO.getIdItemConfiguracao().toString());
}
document.executeScript("atualizarTabela('" + descricaoTratada + "','" + itemConfiguracaoDTO.getIdentificacao() + "')");
}
} catch (final Exception e) {
e.printStackTrace();
}
}
/**
* Atualiza as informa��es de nome de proprietario e nome de solicitante em uma requisicaoMudancaDto, caso haja.
*
* @param requisicaoMudancaDto
* @throws ServiceException
* @throws Exception
*/
private void atribuirNomeProprietarioESolicitanteParaRequisicaoDto(final RequisicaoMudancaDTO requisicaoMudancaDto) throws ServiceException, Exception {
if (requisicaoMudancaDto == null) {
return;
}
final Integer idProprietario = requisicaoMudancaDto.getIdProprietario();
final Integer idSolicitante = requisicaoMudancaDto.getIdSolicitante();
if (idProprietario != null && idSolicitante != null) {
requisicaoMudancaDto.setNomeProprietario(this.getEmpregadoService().restoreByIdEmpregado(idProprietario).getNome());
requisicaoMudancaDto.setNomeSolicitante(this.getEmpregadoService().restoreByIdEmpregado(idSolicitante).getNome());
}
}
/**
* @return RequisicaoMudancaService
* @throws ServiceException
* @throws Exception
* @author breno.guimaraes
*/
private RequisicaoMudancaService getRequisicaoMudancaService(final HttpServletRequest request) throws Exception {
if (requisicaoMudancaService == null) {
requisicaoMudancaService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, WebUtil.getUsuarioSistema(request));
}
return requisicaoMudancaService;
}
/**
* @return EmpregadoService
* @throws ServiceException
* @throws Exception
* @author breno.guimaraes
*/
private EmpregadoService getEmpregadoService() throws ServiceException {
if (empregadoService == null) {
empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
}
return empregadoService;
}
private RequisicaoMudancaServiceEjb getReqMudancaICAction() {
if (reqMudancaICAction == null) {
reqMudancaICAction = new RequisicaoMudancaServiceEjb();
}
return reqMudancaICAction;
}
private RequisicaoMudancaServico getReqMudancaServicoAction() {
if (reqMudancaServicoAction == null) {
reqMudancaServicoAction = new RequisicaoMudancaServico();
}
return reqMudancaServicoAction;
}
public void preencherComboComite(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
document.getSelectById("idGrupoComite").removeAllOptions();
final GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final Collection<GrupoDTO> listGrupo = grupoService.listGruposComite();
document.getSelectById("idGrupoComite").addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
document.getSelectById("idGrupoComite").addOptions(listGrupo, "idGrupo", "nome", null);
}
/**
* Preenche a combo com os grupos que nao fazem parte do CCM para gerar definir como Grupo executor
*
* @author Riubbe Oliveira
*
*/
public void preencherComboGrupoExecutor(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
document.getSelectById("idGrupoAtual").removeAllOptions();
final GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final Collection<GrupoDTO> listGrupo = grupoService.listGruposNaoComite();
document.getSelectById("idGrupoAtual").addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
document.getSelectById("idGrupoAtual").addOptions(listGrupo, "idGrupo", "nome", null);
}
/**
* Metodo para montar grid de aprova��o da requisi��o mudanca
*
* @param document
* @param request
* @param response
* @param requisicaoMudanca
* @throws Exception
* @author thays.araujo
*/
public void montarTabelaAprovacoesMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudanca) throws Exception {
final UsuarioDTO usuario = WebUtil.getUsuario(request);
EmpregadoDTO empregadoDto = new EmpregadoDTO();
final GrupoEmpregadoService grupoEmpregadoService = (GrupoEmpregadoService) ServiceLocator.getInstance().getService(GrupoEmpregadoService.class, null);
final EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
final AprovacaoMudancaService aprovacaoMudancaService = (AprovacaoMudancaService) ServiceLocator.getInstance().getService(AprovacaoMudancaService.class, null);
Collection<GrupoEmpregadoDTO> listaGrupoEmpregados = null;
Collection<AprovacaoMudancaDTO> listaAprovacaoMudanca = new ArrayList<>();
final Set<AprovacaoMudancaDTO> setListaAprovacaoMudanca = new HashSet<>();
boolean validacao;
document.executeScript("deleteAllRowsMudanca()");
document.executeScript("zerarContadores()");
if (requisicaoMudanca.getIdRequisicaoMudanca() != null) {
listaAprovacaoMudanca = aprovacaoMudancaService.listaAprovacaoMudancaPorIdRequisicaoMudanca(requisicaoMudanca.getIdRequisicaoMudanca(),
requisicaoMudanca.getIdGrupoComite(), usuario.getIdEmpregado());
}
if (requisicaoMudanca.getIdGrupoComite() != null) {
listaGrupoEmpregados = grupoEmpregadoService.findByIdGrupo(requisicaoMudanca.getIdGrupoComite());
} else {
listaGrupoEmpregados = grupoEmpregadoService.findByIdGrupo(requisicaoMudanca.getIdGrupoAtual());
}
if (listaAprovacaoMudanca != null) {
for (final AprovacaoMudancaDTO aprovacaoMudancaDto : listaAprovacaoMudanca) {
setListaAprovacaoMudanca.add(aprovacaoMudancaDto);
}
}
if (listaGrupoEmpregados != null) {
for (final GrupoEmpregadoDTO grupoEmpregadoDTO : listaGrupoEmpregados) {
final AprovacaoMudancaDTO aprovacao = new AprovacaoMudancaDTO();
if (grupoEmpregadoDTO.getIdEmpregado() != null) {
empregadoDto.setIdEmpregado(grupoEmpregadoDTO.getIdEmpregado());
empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto);
aprovacao.setIdEmpregado(empregadoDto.getIdEmpregado());
aprovacao.setNomeEmpregado(empregadoDto.getNome());
setListaAprovacaoMudanca.add(aprovacao);
}
}
}
if (requisicaoMudanca.getIdProprietario() != null) {
final AprovacaoMudancaDTO aprovacaoDto = new AprovacaoMudancaDTO();
if (usuario.getIdUsuario().intValue() == requisicaoMudanca.getIdProprietario().intValue()) {
empregadoDto.setIdEmpregado(usuario.getIdEmpregado());
empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto);
aprovacaoDto.setIdEmpregado(empregadoDto.getIdEmpregado());
aprovacaoDto.setNomeEmpregado(empregadoDto.getNome());
setListaAprovacaoMudanca.add(aprovacaoDto);
}
}
if (setListaAprovacaoMudanca != null) {
for (final AprovacaoMudancaDTO aprovacaoMudancaDto : setListaAprovacaoMudanca) {
if (aprovacaoMudancaDto.getIdEmpregado() != null) {
if (aprovacaoMudancaDto.getComentario() == null) {
aprovacaoMudancaDto.setComentario("");
}
if (aprovacaoMudancaDto.getDataHoraInicio() == null) {
aprovacaoMudancaDto.setDataHoraInicio(UtilDatas.getDataHoraAtual());
}
if (usuario.getIdEmpregado().intValue() == aprovacaoMudancaDto.getIdEmpregado().intValue()) {
validacao = false;
} else {
validacao = true;
}
if (aprovacaoMudancaDto.getDataHoraVotacao() == null) {
aprovacaoMudancaDto.setDataHoraVotacao(UtilI18N.internacionaliza(request, "requisicaoMudanca.aindaNaoVotou"));
}
document.executeScript("addLinhaTabelaAprovacaoMudanca('" + aprovacaoMudancaDto.getIdEmpregado() + "','" + aprovacaoMudancaDto.getNomeEmpregado() + "','"
+ aprovacaoMudancaDto.getComentario() + "','" + aprovacaoMudancaDto.getDataHoraVotacao() + "','" + validacao + "','" + true + "')");
document.executeScript("atribuirCheckedVotoMudanca('" + aprovacaoMudancaDto.getVoto() + "')");
}
}
}
}
public void montarTabelaAprovacoesProposta(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
final UsuarioDTO usuarioDto = WebUtil.getUsuario(request);
EmpregadoDTO empregadoDto = new EmpregadoDTO();
final GrupoEmpregadoService grupoEmpregadoService = (GrupoEmpregadoService) ServiceLocator.getInstance().getService(GrupoEmpregadoService.class, null);
final EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
final AprovacaoPropostaService aprovacaoPropostaService = (AprovacaoPropostaService) ServiceLocator.getInstance().getService(AprovacaoPropostaService.class, null);
Collection<GrupoEmpregadoDTO> listaGrupoEmpregados = null;
Collection<AprovacaoPropostaDTO> listaAprovacaoProposta = new ArrayList<AprovacaoPropostaDTO>();
final Set<AprovacaoPropostaDTO> setListaAprovacaoProposta = new HashSet<AprovacaoPropostaDTO>();
boolean validacao;
document.executeScript("deleteAllRowsProposta()");
document.executeScript("zerarContadores()");
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
listaAprovacaoProposta = aprovacaoPropostaService.listaAprovacaoPropostaPorIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca(),
requisicaoMudancaDto.getIdGrupoComite(), usuarioDto.getIdEmpregado());
}
if (requisicaoMudancaDto.getIdGrupoComite() != null) {
listaGrupoEmpregados = grupoEmpregadoService.findByIdGrupo(requisicaoMudancaDto.getIdGrupoComite());
} else {
listaGrupoEmpregados = grupoEmpregadoService.findByIdGrupo(requisicaoMudancaDto.getIdGrupoAtual());
}
if (listaAprovacaoProposta != null) {
for (final AprovacaoPropostaDTO aprovacaoPropostaDto : listaAprovacaoProposta) {
setListaAprovacaoProposta.add(aprovacaoPropostaDto);
}
}
if (listaGrupoEmpregados != null) {
for (final GrupoEmpregadoDTO grupoEmpregadoDTO : listaGrupoEmpregados) {
final AprovacaoPropostaDTO aprovacao = new AprovacaoPropostaDTO();
if (grupoEmpregadoDTO.getIdEmpregado() != null) {
empregadoDto.setIdEmpregado(grupoEmpregadoDTO.getIdEmpregado());
empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto);
aprovacao.setIdEmpregado(empregadoDto.getIdEmpregado());
aprovacao.setNomeEmpregado(empregadoDto.getNome());
setListaAprovacaoProposta.add(aprovacao);
}
}
}
if (requisicaoMudancaDto.getIdProprietario() != null) {
final AprovacaoPropostaDTO aprovacaoDto = new AprovacaoPropostaDTO();
if (usuarioDto.getIdUsuario().intValue() == requisicaoMudancaDto.getIdProprietario().intValue()) {
empregadoDto.setIdEmpregado(usuarioDto.getIdEmpregado());
empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto);
aprovacaoDto.setIdEmpregado(empregadoDto.getIdEmpregado());
aprovacaoDto.setNomeEmpregado(empregadoDto.getNome());
setListaAprovacaoProposta.add(aprovacaoDto);
}
}
if (setListaAprovacaoProposta != null) {
for (final AprovacaoPropostaDTO aprovacaoPropostaDto : setListaAprovacaoProposta) {
if (aprovacaoPropostaDto.getIdEmpregado() != null) {
if (aprovacaoPropostaDto.getComentario() == null) {
aprovacaoPropostaDto.setComentario("");
}
if (aprovacaoPropostaDto.getDataHoraInicio() == null) {
aprovacaoPropostaDto.setDataHoraInicio(UtilDatas.getDataHoraAtual());
}
if (usuarioDto.getIdEmpregado().intValue() == aprovacaoPropostaDto.getIdEmpregado().intValue()) {
validacao = false;
} else {
validacao = true;
}
if (aprovacaoPropostaDto.getDataHoraVotacao() == null) {
aprovacaoPropostaDto.setDataHoraVotacao(UtilI18N.internacionaliza(request, "requisicaoMudanca.aindaNaoVotou"));
}
document.executeScript("addLinhaTabelaAprovacaoProposta('" + aprovacaoPropostaDto.getIdEmpregado() + "','" + aprovacaoPropostaDto.getNomeEmpregado() + "','"
+ aprovacaoPropostaDto.getComentario() + "','" + aprovacaoPropostaDto.getDataHoraVotacao() + "','" + validacao + "','" + true + "')");
document.executeScript("atribuirCheckedVotoProposta('" + aprovacaoPropostaDto.getVoto() + "')");
}
}
}
}
public void validacaoAvancaFluxo(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response, final RequisicaoMudancaDTO requisicaoMudanca)
throws Exception {
final AprovacaoMudancaDTO aprovacaoMudancaDto = new AprovacaoMudancaDTO();
final AprovacaoMudancaService aprovacaoMudancaService = (AprovacaoMudancaService) ServiceLocator.getInstance().getService(AprovacaoMudancaService.class, null);
if (requisicaoMudanca.getIdRequisicaoMudanca() != null) {
aprovacaoMudancaDto.setIdRequisicaoMudanca(requisicaoMudanca.getIdRequisicaoMudanca());
aprovacaoMudancaDto.setVoto("A");
aprovacaoMudancaDto.setQuantidadeVotoAprovada(aprovacaoMudancaService.quantidadeAprovacaoMudancaPorVotoAprovada(aprovacaoMudancaDto,
requisicaoMudanca.getIdGrupoComite()));
aprovacaoMudancaDto.setIdRequisicaoMudanca(requisicaoMudanca.getIdRequisicaoMudanca());
aprovacaoMudancaDto.setVoto("R");
aprovacaoMudancaDto.setQuantidadeVotoRejeitada(aprovacaoMudancaService.quantidadeAprovacaoMudancaPorVotoAprovada(aprovacaoMudancaDto,
requisicaoMudanca.getIdGrupoComite()));
aprovacaoMudancaDto.setQuantidadeAprovacaoMudanca(aprovacaoMudancaService.quantidadeAprovacaoMudanca(aprovacaoMudancaDto, requisicaoMudanca.getIdGrupoComite()));
}
if (aprovacaoMudancaDto.getQuantidadeVotoAprovada() > 0) {
if (aprovacaoMudancaDto.getQuantidadeAprovacaoMudanca().intValue() == aprovacaoMudancaDto.getQuantidadeVotoAprovada()) {
document.executeScript("$('#btnGravarEFinalizar').show()");
} else {
if (aprovacaoMudancaDto.getQuantidadeVotoAprovada() >= aprovacaoMudancaDto.getQuantidadeAprovacaoMudanca() / 2 + 1) {
document.executeScript("$('#btnGravarEFinalizar').show()");
}
}
}
}
public void quantidadeAprovacaoMudancaPorVotoAprovada(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
final StringBuilder hmtl = new StringBuilder();
final AprovacaoMudancaDTO aprovacaoMudancaDto = new AprovacaoMudancaDTO();
final AprovacaoMudancaService aprovacaoMudancaService = (AprovacaoMudancaService) ServiceLocator.getInstance().getService(AprovacaoMudancaService.class, null);
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
aprovacaoMudancaDto.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
aprovacaoMudancaDto.setVoto("A");
aprovacaoMudancaDto.setQuantidadeVotoAprovada(aprovacaoMudancaService.quantidadeAprovacaoMudancaPorVotoAprovada(aprovacaoMudancaDto,
requisicaoMudancaDto.getIdGrupoComite()));
if (aprovacaoMudancaDto.getQuantidadeVotoAprovada() != null) {
hmtl.append("<div>" + UtilI18N.internacionaliza(request, "itemRequisicaoProduto.qtdeAprovada") + ": " + aprovacaoMudancaDto.getQuantidadeVotoAprovada() + "</div>");
document.getElementById("quantidadePorVotoAprovadaMudanca").setInnerHTML(hmtl.toString());
}
}
}
public void quantidadeAprovacaoPropostaPorVotoAprovada(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
final StringBuilder hmtl = new StringBuilder();
final AprovacaoPropostaDTO aprovacaoPropostaDto = new AprovacaoPropostaDTO();
final AprovacaoPropostaService aprovacaoPropostaService = (AprovacaoPropostaService) ServiceLocator.getInstance().getService(AprovacaoPropostaService.class, null);
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
aprovacaoPropostaDto.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
aprovacaoPropostaDto.setVoto("A");
aprovacaoPropostaDto.setQuantidadeVotoAprovada(aprovacaoPropostaService.quantidadeAprovacaoPropostaPorVotoAprovada(aprovacaoPropostaDto,
requisicaoMudancaDto.getIdGrupoComite()));
if (aprovacaoPropostaDto.getQuantidadeVotoAprovada() != null) {
hmtl.append("<div>" + UtilI18N.internacionaliza(request, "itemRequisicaoProduto.qtdeAprovada") + ": " + aprovacaoPropostaDto.getQuantidadeVotoAprovada() + "</div>");
document.getElementById("quantidadePorVotoAprovadaProposta").setInnerHTML(hmtl.toString());
}
}
}
public void quantidadeAprovacaoMudancaPorVotoRejeitada(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
final StringBuilder hmtl = new StringBuilder();
final AprovacaoMudancaDTO aprovacaoMudancaDto = new AprovacaoMudancaDTO();
final AprovacaoMudancaService aprovacaoMudancaService = (AprovacaoMudancaService) ServiceLocator.getInstance().getService(AprovacaoMudancaService.class, null);
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
aprovacaoMudancaDto.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
aprovacaoMudancaDto.setVoto("R");
aprovacaoMudancaDto.setQuantidadeVotoRejeitada(aprovacaoMudancaService.quantidadeAprovacaoMudancaPorVotoRejeitada(aprovacaoMudancaDto,
requisicaoMudancaDto.getIdGrupoComite()));
if (aprovacaoMudancaDto.getQuantidadeVotoRejeitada() != null) {
hmtl.append("<div>" + UtilI18N.internacionaliza(request, "requisicaoMudanca.quantidadeAprovacaoMudancaRejeitda") + ": "
+ aprovacaoMudancaDto.getQuantidadeVotoRejeitada() + "</div>");
document.getElementById("quantidadePorVotoRejeitadaMudanca").setInnerHTML(hmtl.toString());
}
}
}
public void quantidadeAprovacaoPropostaPorVotoRejeitada(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
final StringBuilder hmtl = new StringBuilder();
final AprovacaoPropostaDTO aprovacaoPropostaDto = new AprovacaoPropostaDTO();
final AprovacaoPropostaService aprovacaoPropostaService = (AprovacaoPropostaService) ServiceLocator.getInstance().getService(AprovacaoPropostaService.class, null);
if (requisicaoMudancaDto.getIdRequisicaoMudanca() != null) {
aprovacaoPropostaDto.setIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
aprovacaoPropostaDto.setVoto("R");
aprovacaoPropostaDto.setQuantidadeVotoAprovada(aprovacaoPropostaService.quantidadeAprovacaoPropostaPorVotoRejeitada(aprovacaoPropostaDto,
requisicaoMudancaDto.getIdGrupoComite()));
if (aprovacaoPropostaDto.getQuantidadeVotoAprovada() != null) {
hmtl.append("<div>" + UtilI18N.internacionaliza(request, "requisicaoMudanca.quantidadeAprovacaoMudancaRejeitda") + ": "
+ aprovacaoPropostaDto.getQuantidadeVotoAprovada() + "</div>");
document.getElementById("quantidadePorVotoRejeitadaProposta").setInnerHTML(hmtl.toString());
}
}
}
/**
* Retorna uma lista de informa��es da entidade ocorrencia
*
* @param requisicaoMudancaDto
* @param request
* @return
* @throws ServiceException
* @throws Exception
* @author geber.costa
*/
public String listInfoRegExecucaoRequisicaoMudanca(final RequisicaoMudancaDTO requisicaoMudancaDto, final HttpServletRequest request) throws ServiceException, Exception {
String ocorrenciaAux = "";
String tamanhoAux = "";
final JustificativaRequisicaoMudancaService justificativaRequisicaoMudancaService = (JustificativaRequisicaoMudancaService) ServiceLocator.getInstance().getService(
JustificativaRequisicaoMudancaService.class, null);
final OcorrenciaMudancaService ocorrenciaMudancaService = (OcorrenciaMudancaService) ServiceLocator.getInstance().getService(OcorrenciaMudancaService.class, null);
final Collection<OcorrenciaMudancaDTO> col = ocorrenciaMudancaService.findByIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
CategoriaOcorrenciaDTO categoriaOcorrenciaDTO = new CategoriaOcorrenciaDTO();
String strBuffer = "<table class='dynamicTable table table-striped table-bordered table-condensed dataTable' style='table-layout: fixed;'>";
strBuffer += "<tr>";
strBuffer += "<th style='width:20%;'>";
strBuffer += UtilI18N.internacionaliza(request, "citcorpore.comum.datahora");
strBuffer += "</th>";
strBuffer += "<th>";
strBuffer += UtilI18N.internacionaliza(request, "solicitacaoServico.informacaoexecucao");
strBuffer += "</th>";
strBuffer += "</tr>";
if (col != null) {
for (final OcorrenciaMudancaDTO ocorrenciaMudancaDto : col) {
if (ocorrenciaMudancaDto.getOcorrencia() != null) {
final Source source = new Source(ocorrenciaMudancaDto.getOcorrencia());
ocorrenciaMudancaDto.setOcorrencia(source.getTextExtractor().toString());
}
String ocorrencia = UtilStrings.nullToVazio(ocorrenciaMudancaDto.getOcorrencia());
if (ocorrencia != null) {
int tamanhoString = 0;
int tamanhoAQuebrar = 0;
int x = 200;
tamanhoString = ocorrencia.length();
tamanhoAQuebrar = tamanhoString / x;
for (int y = 0; y < tamanhoAQuebrar; y++) {
ocorrenciaAux += ocorrencia.substring(tamanhoAux.length(), x) + "\n";
tamanhoAux += ocorrencia.substring(tamanhoAux.length(), x);
x = x + 200;
}
if (tamanhoAQuebrar > 0) {
ocorrenciaAux += ocorrencia.substring(tamanhoAux.length(), tamanhoString);
}
}
String descricao = UtilStrings.nullToVazio(ocorrenciaMudancaDto.getDescricao());
String informacoesContato = UtilStrings.nullToVazio(ocorrenciaMudancaDto.getInformacoesContato());
if (ocorrenciaAux != null && ocorrenciaAux.length() > 0) {
ocorrencia = ocorrenciaAux;
}
ocorrencia = ocorrencia.replaceAll("\"", "");
descricao = descricao.replaceAll("\"", "");
informacoesContato = informacoesContato.replaceAll("\"", "");
ocorrencia = ocorrencia.replaceAll("\n", "<br>");
descricao = descricao.replaceAll("\n", "<br>");
informacoesContato = informacoesContato.replaceAll("\n", "<br>");
ocorrencia = UtilHTML.encodeHTML(ocorrencia.replaceAll("\'", ""));
descricao = UtilHTML.encodeHTML(descricao.replaceAll("\'", ""));
informacoesContato = UtilHTML.encodeHTML(informacoesContato.replaceAll("\'", ""));
strBuffer += "<tr>";
strBuffer += "<td>";
strBuffer += "<b>" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, ocorrenciaMudancaDto.getDataregistro(), WebUtil.getLanguage(request)) + " - "
+ ocorrenciaMudancaDto.getHoraregistro();
strBuffer += " - </b>" + UtilI18N.internacionaliza(request, "ocorrenciaSolicitacao.registradopor") + ": <b>" + ocorrenciaMudancaDto.getRegistradopor() + "</b>";
strBuffer += "</td>";
strBuffer += "<td style='word-wrap: break-word;overflow:hidden;'>";
strBuffer += "<b>" + ocorrenciaMudancaDto.getDescricao() + "<br><br></b>";
strBuffer += "<b>" + ocorrencia + "<br><br></b>";
if (ocorrenciaMudancaDto.getCategoria() != null) {
if (ocorrenciaMudancaDto.getCategoria().equalsIgnoreCase(Enumerados.CategoriaOcorrencia.Suspensao.toString())
|| ocorrenciaMudancaDto.getCategoria().equalsIgnoreCase(Enumerados.CategoriaOcorrencia.MudancaSLA.toString())) {
JustificativaRequisicaoMudancaDTO justificativaSolicitacaoDTO = new JustificativaRequisicaoMudancaDTO();
if (ocorrenciaMudancaDto.getIdJustificativa() != null) {
justificativaSolicitacaoDTO.setIdJustificativaMudanca(ocorrenciaMudancaDto.getIdJustificativa());
justificativaSolicitacaoDTO = (JustificativaRequisicaoMudancaDTO) justificativaRequisicaoMudancaService.restore(justificativaSolicitacaoDTO);
if (justificativaSolicitacaoDTO != null) {
strBuffer += UtilI18N.internacionaliza(request, "citcorpore.comum.justificativa") + ": <b>"
+ justificativaSolicitacaoDTO.getDescricaoJustificativa() + "<br><br></b>";
}
}
if (!UtilStrings.nullToVazio(ocorrenciaMudancaDto.getComplementoJustificativa()).trim().equalsIgnoreCase("")) {
strBuffer += "<b>" + UtilStrings.nullToVazio(ocorrenciaMudancaDto.getComplementoJustificativa()) + "<br><br></b>";
}
}
}
if (ocorrenciaMudancaDto.getOcorrencia() != null) {
if (categoriaOcorrenciaDTO.getNome() != null && !categoriaOcorrenciaDTO.getNome().equals("")) {
if (categoriaOcorrenciaDTO.getNome().equalsIgnoreCase(Enumerados.CategoriaOcorrencia.Suspensao.toString())
|| categoriaOcorrenciaDTO.getNome().equalsIgnoreCase(Enumerados.CategoriaOcorrencia.MudancaSLA.toString())) {
JustificativaRequisicaoMudancaDTO justificativaSolicitacaoDTO = new JustificativaRequisicaoMudancaDTO();
if (ocorrenciaMudancaDto.getIdJustificativa() != null) {
justificativaSolicitacaoDTO.setIdJustificativaMudanca(ocorrenciaMudancaDto.getIdJustificativa());
justificativaSolicitacaoDTO = (JustificativaRequisicaoMudancaDTO) justificativaRequisicaoMudancaService.restore(justificativaSolicitacaoDTO);
if (justificativaSolicitacaoDTO != null) {
strBuffer += UtilI18N.internacionaliza(request, "citcorpore.comum.justificativa") + ": <b>"
+ justificativaSolicitacaoDTO.getDescricaoJustificativa() + "<br><br></b>";
}
}
if (!UtilStrings.nullToVazio(ocorrenciaMudancaDto.getComplementoJustificativa()).trim().equalsIgnoreCase("")) {
strBuffer += "<b>" + UtilStrings.nullToVazio(ocorrenciaMudancaDto.getComplementoJustificativa()) + "<br><br></b>";
}
}
}
}
ocorrenciaAux = "";
tamanhoAux = "";
strBuffer += "</td>";
strBuffer += "</tr>";
}
}
strBuffer += "</table>";
categoriaOcorrenciaDTO = null;
ocorrenciaAux = "";
tamanhoAux = "";
return strBuffer;
}
public RequisicaoMudancaDTO getRequisicaoMudancaDto() {
return requisicaoMudancaDto;
}
public void setRequisicaoMudancaDto(final RequisicaoMudancaDTO requisicaoMudancaDto) {
this.requisicaoMudancaDto = requisicaoMudancaDto;
}
public void validacaoCategoriaMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final RequisicaoMudancaDTO RequisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
final TipoMudancaService tipoMudancaService = (TipoMudancaService) ServiceLocator.getInstance().getService(TipoMudancaService.class, null);
TipoMudancaDTO tipoMudancaDto = new TipoMudancaDTO();
if (RequisicaoMudancaDto.getIdTipoMudanca() != null) {
tipoMudancaDto.setIdTipoMudanca(RequisicaoMudancaDto.getIdTipoMudanca());
tipoMudancaDto = (TipoMudancaDTO) tipoMudancaService.restore(tipoMudancaDto);
document.getElementById("idGrupoAtual").setValue("" + tipoMudancaDto.getIdGrupoExecutor());
if (tipoMudancaDto.getNomeTipoMudanca() != null && tipoMudancaDto.getNomeTipoMudanca().equalsIgnoreCase("Normal")) {
document.executeScript("$('#nomeCategoriaMudanca').attr('disabled', " + false + ");");
document.executeScript("$('#div_categoria').show();");
document.executeScript("$('#div_ehProposta').show();");
} else {
document.executeScript("$('#div_categoria').hide();");
document.executeScript("$('#nomeCategoriaMudanca').attr('disabled', " + true + ");");
document.executeScript("$('#div_ehProposta').hide();");
}
}
}
protected void restaurarAnexos(final HttpServletRequest request, final RequisicaoMudancaDTO requisicaoMudancaDTO) throws ServiceException, Exception {
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection colAnexos = controleGedService.listByIdTabelaAndIdLiberacaoAndLigacao(ControleGEDDTO.TABELA_REQUISICAOMUDANCA,
requisicaoMudancaDTO.getIdRequisicaoMudanca());
final Collection<UploadDTO> colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos);
/**
* =================================
* Restaura anexo(s) principal.
* =================================
* **/
if (colAnexosUploadDTO != null) {
for (final UploadDTO uploadDTO : colAnexosUploadDTO) {
if (uploadDTO.getDescricao() == null) {
uploadDTO.setDescricao("");
}
}
}
// Thiago Fernandes - 29/10/2013 - 18:49 - Sol. 121468 - Cria��o de Upload para requisi��o mudan�a para evitar conflitos com outras telas do sistema que us�o upload.
request.getSession(true).setAttribute("colUploadRequisicaoMudancaGED", colAnexosUploadDTO);
}
protected void restaurarAnexosPlanoDeReversao(final HttpServletRequest request, final RequisicaoMudancaDTO requisicaoMudancaDTO) throws ServiceException, Exception {
Collection<UploadDTO> colAnexosUploadDTO = null;
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection colAnexos = controleGedService.listByIdTabelaAndIdLiberacaoAndLigacao(ControleGEDDTO.TABELA_PLANO_REVERSAO_MUDANCA,
requisicaoMudancaDTO.getIdRequisicaoMudanca());
colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos);
/**
* =================================
* Restaura anexo(s) principal.
* =================================
* **/
if (colAnexosUploadDTO != null) {
for (final UploadDTO uploadDTO : colAnexosUploadDTO) {
if (uploadDTO.getDescricao() == null) {
uploadDTO.setDescricao("");
}
if (!UtilStrings.isNotVazio(uploadDTO.getVersao())) {
uploadDTO.setVersao(" ");
}
}
}
request.getSession(true).setAttribute("colUploadPlanoDeReversaoGED", colAnexosUploadDTO);
}
public Collection gravarAnexoMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudanca) throws Exception {
// deleta os anexos referentes a essa requisicao de mudan�a para poder regrav�-los
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection<UploadDTO> colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_REQUISICAOMUDANCA, requisicaoMudanca.getIdRequisicaoMudanca());
final Collection<UploadDTO> colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos);
if (colAnexosUploadDTO != null) {
for (final Object element : colAnexosUploadDTO) {
final UploadDTO object = (UploadDTO) element;
controleGedService.delete(object);
}
}
Integer idEmpresa = null;
// Thiago Fernandes - 29/10/2013 - 18:49 - Sol. 121468 - Cria��o de Upload para requisi��o mudan�a para evitar conflitos com outras telas do sistema que us�o upload.
final Collection<UploadDTO> arquivosUpados = (Collection<UploadDTO>) request.getSession(true).getAttribute("colUploadRequisicaoMudancaGED");
requisicaoMudanca.setColArquivosUpload(arquivosUpados);
// Rotina para gravar no banco
if (requisicaoMudanca.getColArquivosUpload() != null && requisicaoMudanca.getColArquivosUpload().size() > 0) {
idEmpresa = WebUtil.getIdEmpresa(request);
if (idEmpresa == null) {
idEmpresa = 1;
}
}
requisicaoMudanca.setIdEmpresa(idEmpresa);
return requisicaoMudanca.getColArquivosUpload();
}
public Collection gravarAnexosPlanosDeReversao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDto) throws Exception {
Integer idEmpresa = null;
final Collection<UploadDTO> arquivosReversaoUpados = (Collection<UploadDTO>) request.getSession(true).getAttribute("colUploadPlanoDeReversaoGED");
requisicaoMudancaDto.setColUploadPlanoDeReversaoGED(arquivosReversaoUpados);
// Rotina para gravar no banco
if (requisicaoMudancaDto.getColUploadPlanoDeReversaoGED() != null && requisicaoMudancaDto.getColUploadPlanoDeReversaoGED().size() > 0) {
idEmpresa = WebUtil.getIdEmpresa(request);
if (idEmpresa == null) {
idEmpresa = 1;
}
}
requisicaoMudancaDto.setIdEmpresa(idEmpresa);
return requisicaoMudancaDto.getColUploadPlanoDeReversaoGED();
}
public void imprimirRelatorioReqMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final RequisicaoMudancaDTO requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
final OcorrenciaMudancaService ocorrenciaMudancaService = (OcorrenciaMudancaService) ServiceLocator.getInstance().getService(OcorrenciaMudancaService.class, null);
final Collection<OcorrenciaMudancaDTO> col = ocorrenciaMudancaService.findByIdRequisicaoMudanca(requisicaoMudancaDto.getIdRequisicaoMudanca());
JRDataSource dataSource = null;
final HttpSession session = request.getSession();
usuario = WebUtil.getUsuario(request);
Map<String, Object> parametros = new HashMap<String, Object>();
parametros = UtilRelatorio.trataInternacionalizacaoLocale(session, parametros);
parametros.put("TITULO_RELATORIO", UtilI18N.internacionaliza(request, "relatorioRequisicaoMudanca.relatorioRequisicaoMudanca"));
parametros.put("CIDADE", UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioCidade"));
parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual());
parametros.put("NOME_USUARIO", usuario.getNomeUsuario());
if (col.size() == 0) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio"));
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
try {
dataSource = new JRBeanCollectionDataSource(col);
final Date dt = new Date();
final String strCompl = "" + dt.getTime();
final String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioRequisicaoMudanca.jasper";
final String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles";
final String diretorioRelativoOS = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles";
final JRSwapFile arquivoSwap = new JRSwapFile(diretorioReceita, 4096, 25);
// Instancia o virtualizador
final JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(25, arquivoSwap, true);
// Seta o parametro REPORT_VIRTUALIZER com a inst�ncia da virtualiza��o
parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
// Preenche o relat�rio e exibe numa GUI
final JasperPrint print = JasperFillManager.fillReport(caminhoJasper, parametros, dataSource);
JasperExportManager.exportReportToPdfFile(print, diretorioReceita + "/RelatorioRequisicaoMudanca" + strCompl + "_" + usuario.getIdUsuario() + ".pdf");
document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url="
+ diretorioRelativoOS + "/RelatorioRequisicaoMudanca" + strCompl + "_" + usuario.getIdUsuario() + ".pdf')");
} catch (final OutOfMemoryError e) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.erro.erroServidor"));
}
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public UsuarioDTO getUsuario() {
return usuario;
}
public void setUsuario(final UsuarioDTO usuario) {
this.usuario = usuario;
}
public void verificarParametroAnexos(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
String DISKFILEUPLOAD_REPOSITORYPATH = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.DISKFILEUPLOAD_REPOSITORYPATH, "");
if (DISKFILEUPLOAD_REPOSITORYPATH == null) {
DISKFILEUPLOAD_REPOSITORYPATH = "";
}
if (DISKFILEUPLOAD_REPOSITORYPATH.equals("")) {
throw new LogicException(UtilI18N.internacionaliza(request, "citcorpore.comum.anexosUploadSemParametro"));
}
final File pasta = new File(DISKFILEUPLOAD_REPOSITORYPATH);
if (!pasta.exists()) {
throw new LogicException(UtilI18N.internacionaliza(request, "citcorpore.comum.pastaIndicadaNaoExiste"));
}
}
private void carregaInformacoesComplementares(final DocumentHTML document, final HttpServletRequest request, final RequisicaoMudancaDTO requisicaoMudancaDTO) throws Exception {
final TemplateSolicitacaoServicoService templateService = (TemplateSolicitacaoServicoService) ServiceLocator.getInstance().getService(
TemplateSolicitacaoServicoService.class, br.com.centralit.citcorpore.util.WebUtil.getUsuarioSistema(request));
document.executeScript("exibirInformacoesComplementares('" + this.getRequisicaoMudancaService(request).getUrlInformacoesComplementares(requisicaoMudancaDTO) + "');");
final TemplateSolicitacaoServicoDTO templateDto = templateService.recuperaTemplateRequisicaoMudanca(requisicaoMudancaDTO);
if (templateDto != null) {
if (templateDto.getAlturaDiv() != null) {
document.executeScript("document.getElementById('divInformacoesComplementares').style.height = '" + templateDto.getAlturaDiv().intValue() + "px';");
}
}
document.executeScript("escondeJanelaAguarde()");
}
public void criaTabelaLiberacao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final LiberacaoMudancaService liberacaoMudancaService = (LiberacaoMudancaService) ServiceLocator.getInstance().getService(LiberacaoMudancaService.class, null);
final ArrayList<LiberacaoMudancaDTO> liberacaoMudanca = (ArrayList<LiberacaoMudancaDTO>) liberacaoMudancaService.findByIdRequisicaoMudanca(
requisicaoMudancaDto.getIdLiberacao(), requisicaoMudancaDto.getIdRequisicaoMudanca());
if (liberacaoMudanca != null) {
HTMLTable table;
table = document.getTableById("tblLiberacao");
table.deleteAllRows();
table.addRowsByCollection(liberacaoMudanca, new String[] {"idLiberacao", "titulo", "descricao", "status", "situacaoLiberacao"}, null, null,
new String[] {"gerarButtonDeleteVersao"}, null, null);
}
}
public void restoreImpactoUrgenciaPorTipoMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final RequisicaoMudancaDTO requisicaoMudancaDto = (RequisicaoMudancaDTO) document.getBean();
TipoMudancaDTO tipoMudancaDto = new TipoMudancaDTO();
final TipoMudancaService tipoMudancaService = (TipoMudancaService) ServiceLocator.getInstance().getService(TipoMudancaService.class, null);
if (requisicaoMudancaDto.getIdTipoMudanca() != null) {
tipoMudancaDto.setIdTipoMudanca(requisicaoMudancaDto.getIdTipoMudanca());
tipoMudancaDto = (TipoMudancaDTO) tipoMudancaService.restore(tipoMudancaDto);
}
if (tipoMudancaDto != null) {
requisicaoMudancaDto.setNivelImpacto(tipoMudancaDto.getImpacto());
requisicaoMudancaDto.setNivelUrgencia(tipoMudancaDto.getUrgencia());
}
final HTMLForm form = document.getForm("form");
form.setValues(requisicaoMudancaDto);
document.executeScript("atualizaPrioridade()");
}
/**
* @author geber.costa
* @param document
* @param request
* @param response
* @throws Exception
*
* M�todo que pega do jsp o id da libera��o , faz a valida��o , restaura e executa o m�todo '' devolvendo o objeto com os valores preenchidos
*/
public void inserirRequisicaoLiberacao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final String idLib = request.getParameter("liberacao#idRequisicaoLiberacao");
RequisicaoLiberacaoDTO requisicaoLiberacaoDto = new RequisicaoLiberacaoDTO();
final Integer idLiberacao = new Integer(idLib);
if (requisicaoLiberacaoDto != null) {
requisicaoLiberacaoDto.setIdRequisicaoLiberacao(idLiberacao);
final RequisicaoLiberacaoService requisicaoLiberacaoService = (RequisicaoLiberacaoService) ServiceLocator.getInstance().getService(RequisicaoLiberacaoService.class,
WebUtil.getUsuarioSistema(request));
requisicaoLiberacaoDto = (RequisicaoLiberacaoDTO) requisicaoLiberacaoService.restore(requisicaoLiberacaoDto);
// caso contr�rio ele seta o valor vazio e executa a fun��o javascript
if (requisicaoLiberacaoDto.getSituacao().toUpperCase().toString().equalsIgnoreCase("E")) {
requisicaoLiberacaoDto.setSituacaoLiberacao(UtilI18N.internacionaliza(request, "liberacao.emExecucao"));
} else if (requisicaoLiberacaoDto.getSituacao().toUpperCase().toString().equalsIgnoreCase("R")) {
requisicaoLiberacaoDto.setSituacaoLiberacao(UtilI18N.internacionaliza(request, "citcorpore.comum.resolvida"));
} else if (requisicaoLiberacaoDto.getSituacao().toUpperCase().toString().equalsIgnoreCase("N")) {
requisicaoLiberacaoDto.setSituacaoLiberacao(UtilI18N.internacionaliza(request, "requisicaoLiberacao.naoResolvida"));
} else {
requisicaoLiberacaoDto.setSituacaoLiberacao("");
}
document.executeScript("adicionaLiberacaoMudanca('" + requisicaoLiberacaoDto.getIdRequisicaoLiberacao() + "','" + requisicaoLiberacaoDto.getTitulo() + "','"
+ requisicaoLiberacaoDto.getDescricao() + "','" + requisicaoLiberacaoDto.getStatus() + "')");
}
}
public void limpar(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
// Thiago Fernandes - 29/10/2013 - 18:49 - Sol. 121468 - Cria��o de Upload para requisi��o mudan�a para evitar conflitos com outras telas do sistema que us�o upload.
request.getSession(true).setAttribute("colUploadRequisicaoMudancaGED", null);
request.getSession(true).setAttribute("colUploadPlanoDeReversaoGED", null);
}
public void mostraHistoricoMudanca(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response,
final RequisicaoMudancaDTO requisicaoMudancaDTO) throws Exception {
final HistoricoMudancaService mudancaService = (HistoricoMudancaService) ServiceLocator.getInstance().getService(HistoricoMudancaService.class, null);
final Collection<String> colbaselines = new ArrayList<>();
final HTMLElement divPrincipal = document.getElementById("contentBaseline");
final StringBuilder subDiv = new StringBuilder();
subDiv.append("" + "<div class='formBody'> " + " <table id='tblBaselines' class='tableLess table table-bordered table-striped'> " + " <thead>" + " <tr>" + " <th>"
+ UtilI18N.internacionaliza(request, "liberacao.baseline") + "</th> " + " <th>" + UtilI18N.internacionaliza(request, "liberacao.versaoHistorico") + "</th> "
+ " <th>" + UtilI18N.internacionaliza(request, "liberacao.executorModificacao") + "</th> " + " <th>"
+ UtilI18N.internacionaliza(request, "colaborador.colaborador") + "</th> " + " <th>"
+ UtilI18N.internacionaliza(request, "liberacao.idRequisicaoMudancaVinculada") + "</th> " + " <th>"
+ UtilI18N.internacionaliza(request, "citcorpore.comum.historico") + "</th> " + " </tr>" + " </thead>");
List<HistoricoMudancaDTO> listHistoricoMudancas = new ArrayList<>();
listHistoricoMudancas = mudancaService.listHistoricoMudancaByIdRequisicaoMudanca(requisicaoMudancaDTO.getIdRequisicaoMudanca());
if (listHistoricoMudancas != null) {
int count = 0;
boolean flag = false;
document.executeScript("document.form.idHistoricoMudanca.value = " + requisicaoMudancaDTO.getIdRequisicaoMudanca());
document.executeScript("countHistorico = 0");
for (final HistoricoMudancaDTO historicoMudancaDTO : listHistoricoMudancas) {
flag = historicoMudancaDTO.getBaseLine() != null && historicoMudancaDTO.getBaseLine().equals("SIM") ? true : false;
String disabled = "";
count++;
final DecimalFormat df = new DecimalFormat("0.##");
String versao = df.format(historicoMudancaDTO.getHistoricoVersao());
versao = versao.replace(",", ".");
document.executeScript("seqBaseline = " + count);
if (flag) {
disabled = "disabled='disabled'";
colbaselines.add("idHistoricoMudanca" + count);
}
subDiv.append("<tbody>" + " <tr>" + " <td width='5%'>" + "<input type='checkbox' " + disabled + " id='idHistoricoMudanca" + count + "'"
+ " name='idHistoricoMudanca" + count + "' value='0" + historicoMudancaDTO.getIdHistoricoMudanca().toString() + "'/></td>" + " <td>" + versao + " - "
+ UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, historicoMudancaDTO.getDataHoraModificacao(), WebUtil.getLanguage(request)) + "</td>"
+ " <td width='15%'>" + (historicoMudancaDTO.getNomeExecutorModificacao() == null ? "" : historicoMudancaDTO.getNomeExecutorModificacao()) + "</td>"
+ " <td>" + (historicoMudancaDTO.getNomeProprietario() == null ? "" : historicoMudancaDTO.getNomeProprietario()) + "</td>" + " <td>"
+ (historicoMudancaDTO.getIdRequisicaoMudanca() == null ? "" : historicoMudancaDTO.getIdRequisicaoMudanca()) + "</td>" + " <td>"
+ " <a href='javascript:;' class='even' id='even-" + historicoMudancaDTO.getIdHistoricoMudanca() + "'>"
+ " <img src='../../template_new/images/icons/small/grey/documents.png' alt='" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.historico")
+ "' " + "title='" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.historico") + "' /></a>");
if (flag) {
subDiv.append(" <a href='javascript:;' onclick='restaurarHistorico(\"" + historicoMudancaDTO.getIdHistoricoMudanca() + "\")'>"
+ " <img src='../../template_new/images/icons/small/grey/refresh_3.png' alt='" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.restaurar")
+ "' " + "title='" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.restaurar") + "' /></a>");
}
subDiv.append(" </td>" + " </tr>" + " <tr class='sel' id='sel-" + historicoMudancaDTO.getIdHistoricoMudanca() + "'>" + " <td colspan='9'>"
+ " <div class='sel-s'>" + " <table class='table table-bordered table-striped' width='100%'><thead><tr><th>"
+ UtilI18N.internacionaliza(request, "citcorpore.comum.grupoExecutor") + "</th><th>" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.impacto")
+ "</th><th>" + UtilI18N.internacionaliza(request, "itemConfiguracaoTree.urgencia") + "</th>" + "<th>"
+ UtilI18N.internacionaliza(request, "requisicaoMudanca.horaAgendamentoFinal") + " "
+ UtilI18N.internacionaliza(request, "citcorpore.ui.janela.popup.titulo.Agendamento") + "</th>" + "<th>"
+ UtilI18N.internacionaliza(request, "pesquisasolicitacao.fase") + "</th></tr></thead><tbody>");
subDiv.append("<tr><td>"
+ (historicoMudancaDTO.getStatus() == null ? "" : historicoMudancaDTO.getStatus())
+ "</td>"
+ "<td>"
+ (historicoMudancaDTO.getNivelImpacto() == "B" ? UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")
: historicoMudancaDTO.getNivelImpacto() == "M" ? UtilI18N.internacionaliza(request, "citcorpore.comum.media") : UtilI18N.internacionaliza(request,
"citcorpore.comum.alta"))
+ "</td>"
+ "<td>"
+ (historicoMudancaDTO.getNivelUrgencia() == "B" ? UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")
: historicoMudancaDTO.getNivelUrgencia() == "M" ? UtilI18N.internacionaliza(request, "citcorpore.comum.media") : UtilI18N.internacionaliza(request,
"citcorpore.comum.alta")) + "</td>" + "<td>"
+ UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, historicoMudancaDTO.getDataHoraTerminoAgendada(), WebUtil.getLanguage(request)) + "</td>"
+ "<td>" + (historicoMudancaDTO.getFase() == null ? "" : historicoMudancaDTO.getFase()) + "</td></tr>");
subDiv.append("</tbody></table>" + " </div>" + " </td>" + " </tr>" + "</tbody>");
}
}
subDiv.append(" </table>" + "</div>");
divPrincipal.setInnerHTML(subDiv.toString());
document.executeScript("marcarCheckbox(" + colbaselines + ")");
for (final String str : colbaselines) {
document.getCheckboxById(str).setChecked(true);
}
}
public void preencherComboCategoriaSolucao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final CategoriaSolucaoService categoriaSolucaoService = (CategoriaSolucaoService) ServiceLocator.getInstance().getService(CategoriaSolucaoService.class, null);
final Collection colCategSolucao = categoriaSolucaoService.listHierarquia();
final HTMLSelect idCategoriaSolucao = document.getSelectById("idCategoriaSolucao");
idCategoriaSolucao.removeAllOptions();
idCategoriaSolucao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
if (colCategSolucao != null) {
idCategoriaSolucao.addOptions(colCategSolucao, "idCategoriaSolucao", "descricaoCategoriaNivel", null);
}
}
public void restaurarBaseline(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final UsuarioDTO usrDto = br.com.centralit.citcorpore.util.WebUtil.getUsuario(request);
final HistoricoMudancaDao historicoMudancaDao = new HistoricoMudancaDao();
if (usrDto == null) {
return;
}
final RequisicaoMudancaDTO requisicaoMudancaDTO = (RequisicaoMudancaDTO) document.getBean();
final RequisicaoMudancaDTO requisicaoMudancaDTOAux = new RequisicaoMudancaDTO();
HistoricoMudancaDTO historicoMudancaDTO = new HistoricoMudancaDTO();
historicoMudancaDTO.setIdHistoricoMudanca(Integer.parseInt(request.getParameter("idHistoricoMudanca")));
final RequisicaoMudancaService requisicaoLiberacaoService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null);
historicoMudancaDTO = (HistoricoMudancaDTO) historicoMudancaDao.restore(historicoMudancaDTO);
// Realizando a Reflex�o de Item de Configura��o
Reflexao.copyPropertyValues(historicoMudancaDTO, requisicaoMudancaDTOAux);
List<RequisicaoMudancaItemConfiguracaoDTO> colItemconfiguracao = new ArrayList<RequisicaoMudancaItemConfiguracaoDTO>();
final RequisicaoMudancaItemConfiguracaoDao itemConfiguracaoDao = new RequisicaoMudancaItemConfiguracaoDao();
colItemconfiguracao = (List<RequisicaoMudancaItemConfiguracaoDTO>) itemConfiguracaoDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListRequisicaoMudancaItemConfiguracaoDTO(colItemconfiguracao);
List<ProblemaMudancaDTO> colProblemas = new ArrayList<ProblemaMudancaDTO>();
final ProblemaMudancaDAO problemaMudancaDAO = new ProblemaMudancaDAO();
colProblemas = (List<ProblemaMudancaDTO>) problemaMudancaDAO.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListProblemaMudancaDTO(colProblemas);
List<GrupoRequisicaoMudancaDTO> colGrupoRequisicaoMudanca = new ArrayList<GrupoRequisicaoMudancaDTO>();
final GrupoRequisicaoMudancaDao grupoRequisicaoMudancaDAO = new GrupoRequisicaoMudancaDao();
colGrupoRequisicaoMudanca = (List<GrupoRequisicaoMudancaDTO>) grupoRequisicaoMudancaDAO.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListGrupoRequisicaoMudancaDTO(colGrupoRequisicaoMudanca);
List<RequisicaoMudancaRiscoDTO> colMudancaRiscoDTOs = new ArrayList<RequisicaoMudancaRiscoDTO>();
final RequisicaoMudancaRiscoDao requisicaoMudancaRiscoDao = new RequisicaoMudancaRiscoDao();
colMudancaRiscoDTOs = (List<RequisicaoMudancaRiscoDTO>) requisicaoMudancaRiscoDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListRequisicaoMudancaRiscoDTO(colMudancaRiscoDTOs);
List<AprovacaoMudancaDTO> aprovacaoMudancaDTOs = new ArrayList<AprovacaoMudancaDTO>();
final AprovacaoMudancaDao aprovacaoMudancaDao = new AprovacaoMudancaDao();
aprovacaoMudancaDTOs = (List<AprovacaoMudancaDTO>) aprovacaoMudancaDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListAprovacaoMudancaDTO(aprovacaoMudancaDTOs);
List<LiberacaoMudancaDTO> liberacaoMudancaDTOs = new ArrayList<LiberacaoMudancaDTO>();
final LiberacaoMudancaDao liberacaoMudancaDao = new LiberacaoMudancaDao();
liberacaoMudancaDTOs = (List<LiberacaoMudancaDTO>) liberacaoMudancaDao.listByIdHistoricoMudanca2(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListLiberacaoMudancaDTO(liberacaoMudancaDTOs);
List<RequisicaoMudancaServicoDTO> requisicaoMudancaServicoDTOs = new ArrayList<RequisicaoMudancaServicoDTO>();
final RequisicaoMudancaServicoDao requisicaoMudancaServicoDao = new RequisicaoMudancaServicoDao();
requisicaoMudancaServicoDTOs = (List<RequisicaoMudancaServicoDTO>) requisicaoMudancaServicoDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setListRequisicaoMudancaServicoDTO(requisicaoMudancaServicoDTOs);
List<SolicitacaoServicoMudancaDTO> solicitacaoServicoMudancaDTOs = new ArrayList<SolicitacaoServicoMudancaDTO>();
final List<SolicitacaoServicoDTO> solicitacaoServicos = new ArrayList<SolicitacaoServicoDTO>();
SolicitacaoServicoDTO solicitacaoServicoDTO = new SolicitacaoServicoDTO();
final SolicitacaoServicoMudancaDao solicitacaoServicoMudancaDao = new SolicitacaoServicoMudancaDao();
solicitacaoServicoMudancaDTOs = (List<SolicitacaoServicoMudancaDTO>) solicitacaoServicoMudancaDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
for (final SolicitacaoServicoMudancaDTO solicitacaoServicoMudancaDTO : solicitacaoServicoMudancaDTOs) {
solicitacaoServicoDTO.setIdRequisicaoMudanca(solicitacaoServicoMudancaDTO.getIdRequisicaoMudanca());
solicitacaoServicoDTO.setIdSolicitacaoServico(solicitacaoServicoMudancaDTO.getIdSolicitacaoServico());
solicitacaoServicos.add(solicitacaoServicoDTO);
solicitacaoServicoDTO = new SolicitacaoServicoDTO();
}
requisicaoMudancaDTOAux.setListIdSolicitacaoServico(solicitacaoServicos);
List<RequisicaoMudancaResponsavelDTO> respMudancaDTOs = new ArrayList<RequisicaoMudancaResponsavelDTO>();
final RequisicaoMudancaResponsavelDao respMudancaDao = new RequisicaoMudancaResponsavelDao();
respMudancaDTOs = (List<RequisicaoMudancaResponsavelDTO>) respMudancaDao.listByIdHistoricoMudanca(historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setColResponsaveis(respMudancaDTOs);
// esse bloco preenche os anexos do historico
Collection<UploadDTO> listuploadDTO = new ArrayList<UploadDTO>();
final ControleGEDDao controleGEDDao = new ControleGEDDao();
listuploadDTO = controleGEDDao.listByIdTabelaAndIdHistorico(ControleGEDDTO.TABELA_REQUISICAOLIBERACAO, historicoMudancaDTO.getIdHistoricoMudanca());
requisicaoMudancaDTOAux.setColArquivosUpload(listuploadDTO);
final UsuarioDTO usr = new UsuarioDTO();
usr.setIdUsuario(historicoMudancaDTO.getIdProprietario());
requisicaoMudancaDTOAux.setUsuarioDto(usr);
requisicaoLiberacaoService.update(requisicaoMudancaDTOAux, request);
document.setBean(requisicaoMudancaDTOAux);
document.executeScript("uploadAnexos.refresh()");
this.load(document, request, response);
String comando = "mostraMensagemRestaurarBaseline('" + UtilI18N.internacionaliza(request, "MSG15") + ".<br>"
+ UtilI18N.internacionaliza(request, "requisicaoLiberacao.requisicaoLiberacao") + " <b><u>" + requisicaoMudancaDTO.getIdRequisicaoMudanca() + "</u></b> "
+ UtilI18N.internacionaliza(request, "citcorpore.comum.restaurada") + ".<br><br>" + "Vers�o: "
+ UtilStrings.nullToVazio(requisicaoMudancaDTOAux.getIdRequisicaoMudanca().toString()) + "<br>";
comando = comando + "')";
document.executeScript(comando);
}
public void verificarItensRelacionados(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception {
final ArrayList<SolicitacaoServicoDTO> listIdSolicitacaoServico = (ArrayList<SolicitacaoServicoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
SolicitacaoServicoDTO.class, "solicitacaoServicoSerializado", request);
final ArrayList<RequisicaoMudancaItemConfiguracaoDTO> listRequisicaoMudancaItemConfiguracaoDTO = (ArrayList<RequisicaoMudancaItemConfiguracaoDTO>) br.com.citframework.util.WebUtil
.deserializeCollectionFromRequest(RequisicaoMudancaItemConfiguracaoDTO.class, "itensConfiguracaoRelacionadosSerializado", request);
final ArrayList<ProblemaMudancaDTO> listProblemaMudancaDTO = (ArrayList<ProblemaMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
ProblemaMudancaDTO.class, "problemaSerializado", request);
boolean existeItensRelaiconados = false;
if (listIdSolicitacaoServico != null && listIdSolicitacaoServico.size() > 0) {
existeItensRelaiconados = true;
} else if (listRequisicaoMudancaItemConfiguracaoDTO != null && listRequisicaoMudancaItemConfiguracaoDTO.size() > 0) {
existeItensRelaiconados = true;
} else if (listProblemaMudancaDTO != null && listProblemaMudancaDTO.size() > 0) {
existeItensRelaiconados = true;
}
if (existeItensRelaiconados) {
document.executeScript("verificarItensRelacionados(false)");
} else {
document.executeScript("gravar()");
}
}
public void adicionaTabelaLOOKUP_PROBLEMA(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final ProblemaDAO problemaDao = new ProblemaDAO();
final RequisicaoMudancaDTO requisicaoMudancaDTO = (RequisicaoMudancaDTO) document.getBean();
requisicaoMudancaDTO.setColAllLOOKUP_PROBLEMA(requisicaoMudancaDTO.getColAllLOOKUP_PROBLEMA());
requisicaoMudancaDTO.setColProblemaCheckado(requisicaoMudancaDTO.getColAllLOOKUP_PROBLEMA());
// Declarando arrays de strings
final ArrayList<String> listaValoresGrid = new ArrayList<String>();
final ArrayList<String> listaValoresCheckados = new ArrayList<String>();
final ArrayList<ProblemaMudancaDTO> listProblemaMudancaDTO = (ArrayList<ProblemaMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(
ProblemaMudancaDTO.class, "problemaSerializado", request);
if (listProblemaMudancaDTO != null) {
for (final ProblemaMudancaDTO problemaMudanca : listProblemaMudancaDTO) {
listaValoresGrid.add(problemaMudanca.getIdProblema().toString());
}
}
for (final String problemaCheckado : requisicaoMudancaDTO.getColProblemaCheckado()) {
listaValoresCheckados.add(problemaCheckado);
}
// Neste trecho do codigo adiciona a uma Collection os valores que NAO est�o se repetindo entre os dois Arrays
final Set<String> valoresUnicosGrid = new HashSet<String>();
valoresUnicosGrid.addAll(listaValoresGrid);
valoresUnicosGrid.addAll(listaValoresCheckados);
ProblemaDTO problema = new ProblemaDTO();
ProblemaDTO problemaDTO = new ProblemaDTO();
document.executeScript("tabelaProblema.limpaLista();");
for (final String idProblemaCheckado : valoresUnicosGrid) {
if (idProblemaCheckado != null && !idProblemaCheckado.equals("")) {
final Integer idProblemasCheckados = Integer.parseInt(idProblemaCheckado);
problemaDTO = new ProblemaDTO();
problemaDTO.setIdProblema(idProblemasCheckados);
problema = (ProblemaDTO) problemaDao.restore(problemaDTO);
document.executeScript("addLinhaTabelaProblema('" + problema.getIdProblema() + "', '" + problema.getIdProblema() + "-" + problema.getTitulo() + "-"
+ problema.getStatus() + "',false)");
} else {
continue;
}
}
}
}