package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLElement; import br.com.centralit.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.AcordoNivelServicoDTO; import br.com.centralit.citcorpore.bean.AcordoServicoContratoDTO; import br.com.centralit.citcorpore.bean.ServicoContratoDTO; import br.com.centralit.citcorpore.negocio.AcordoNivelServicoService; import br.com.centralit.citcorpore.negocio.AcordoServicoContratoService; import br.com.centralit.citcorpore.negocio.ServicoContratoService; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; import br.com.citframework.util.UtilStrings; /** * * @author flavio.santana * @since 12/06/2013 */ public class AnsServicoContratoRelacionado extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AcordoServicoContratoDTO acordoServicoContratoDTO = (AcordoServicoContratoDTO) document.getBean(); request.setAttribute("idContrato", acordoServicoContratoDTO.getIdContrato()); listarSLAsContrato(document, request, response); //listaServicos(document, request, response); } @SuppressWarnings("unchecked") @Deprecated public void listaServicos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { document.executeScript("JANELA_AGUARDE_MENU.show();"); ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, null); AcordoServicoContratoDTO acordoServicoContratoDTO = (AcordoServicoContratoDTO) document.getBean(); HTMLElement divPrincipal = document.getElementById("relacionarServicos"); StringBuilder subDiv = new StringBuilder(); subDiv.append("" + "<div class='formBody'> " + " <table id='tblServicoContrato' class='tableLess'> " + " <thead>" + " <tr>" + " <th><input type='checkbox' id='todos' onclick='check(filtroServicoContrato);' /></th> " + " <th>"+UtilI18N.internacionaliza(request, "servico.nome")+"</th> " + " </tr>" + " </thead>" + "<tbody>"); List<ServicoContratoDTO> listServicoContrato = (List<ServicoContratoDTO>) servicoContratoService.findServicoContratoByIdContrato(acordoServicoContratoDTO.getIdContrato()); if(listServicoContrato!=null){ int count = 0; for (ServicoContratoDTO servicoContratoDTO : listServicoContrato) { String checked = ""; count++; subDiv.append( " <tr>"+ " <td width='5%' class='center'>" + "<input type='checkbox' "+ checked + " id='idServicoContrato" + count + "'" + " name='idServicoContrato' value='0"+servicoContratoDTO.getIdServicoContrato() + "'/></td>" + " <td>" + (servicoContratoDTO.getNomeServico() == null ? "" : servicoContratoDTO.getNomeServico()) + "</td>" + " </tr>"); } } subDiv.append( "</tbody>" + " </table>" + "</div>"); divPrincipal.setInnerHTML(subDiv.toString()); document.executeScript("JANELA_AGUARDE_MENU.hide();"); } @SuppressWarnings("unchecked") public void listaServicosRelacionados(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AcordoServicoContratoDTO acordoServicoContratoDTO = (AcordoServicoContratoDTO) document.getBean(); ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, null); AcordoServicoContratoService acordoServicoContratoService = (AcordoServicoContratoService) ServiceLocator.getInstance().getService(AcordoServicoContratoService.class, null); AcordoNivelServicoService acordoNivelServicoService = (AcordoNivelServicoService) ServiceLocator.getInstance().getService(AcordoNivelServicoService.class, null); AcordoNivelServicoDTO bean = new AcordoNivelServicoDTO(); if(acordoServicoContratoDTO.getIdAcordoNivelServico() != null && acordoServicoContratoDTO.getIdAcordoNivelServico() != 0) { bean.setIdAcordoNivelServico(acordoServicoContratoDTO.getIdAcordoNivelServico()); bean = (AcordoNivelServicoDTO) acordoNivelServicoService.restore(bean); } if(bean != null && bean.getTipo()!=null && bean.getTipo().equalsIgnoreCase("T")) document.executeScript("mostra();"); else document.executeScript("oculta();"); HTMLElement divPrincipal = document.getElementById("relacionarServicos"); StringBuilder subDiv = new StringBuilder(); subDiv.append("" + "<div class='formBody'> " + " <table id='tblServicoContrato' class='tableLess'> " + " <thead>" + " <tr>" + " <th><input type='checkbox' id='todos' onclick='check(filtroServicoContrato);' /></th> " + " <th>"+UtilI18N.internacionaliza(request, "servico.nome")+"</th> " + " </tr>" + " </thead>" + "<tbody>"); List<ServicoContratoDTO> listServicoContrato = (List<ServicoContratoDTO>) servicoContratoService.findServicoContratoByIdContrato(acordoServicoContratoDTO.getIdContrato()); if(listServicoContrato!=null){ int count = 0; for (ServicoContratoDTO servicoContratoDTO : listServicoContrato) { List<AcordoServicoContratoDTO> listaServicosRelacionados = (List<AcordoServicoContratoDTO>) acordoServicoContratoService.findByIdAcordoNivelServicoIdServicoContrato(acordoServicoContratoDTO.getIdAcordoNivelServico(), servicoContratoDTO.getIdServicoContrato()); String checked = (listaServicosRelacionados != null && !listaServicosRelacionados.isEmpty() ? "checked='checked'" : ""); count++; subDiv.append( " <tr>"+ " <td width='5%' class='center'>" + "<input type='checkbox' "+ checked + " id='idServicoContrato" + count + "'" + " name='idServicoContrato' value='0"+servicoContratoDTO.getIdServicoContrato() + "'/></td>" + " <td>" + (servicoContratoDTO.getNomeServico() == null ? "" : servicoContratoDTO.getNomeServico()) + "</td>" + " </tr>"); } } subDiv.append( "</tbody>" + " </table>" + "</div>"); divPrincipal.setInnerHTML(subDiv.toString()); StringBuilder divBusca = new StringBuilder(); divBusca.append("" + "<div > " + " <label style='float: left; padding-top: 10px; padding-right: 20px;'>Buscar: </label> " + " <div style='width: 220px;float: left;'> " + " <input type='text' id='filtroServicoContrato' onkeyup='filtroTableAcNivelServ(this, \"tblServicoContrato\")' name='filtroServicoContrato' class='text'> " + " </div> " + "</div> " + ""); document.getElementById("buscaServico").setInnerHTML(divBusca.toString()); document.executeScript("JANELA_AGUARDE_MENU.hide();"); } public void listarSLAsContrato(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AcordoNivelServicoService acordoNivelServicoService = (AcordoNivelServicoService) ServiceLocator.getInstance().getService(AcordoNivelServicoService.class, null); List<AcordoNivelServicoDTO> acordoNivelServicoDTOs = acordoNivelServicoService.findAcordosSemVinculacaoDireta(); acordoNivelServicoDTOs = (acordoNivelServicoDTOs != null ? acordoNivelServicoDTOs : new ArrayList<AcordoNivelServicoDTO>()); /*Combo de criticidade*/ HTMLSelect combo = (HTMLSelect) document.getSelectById("idAcordoNivelServico"); combo.removeAllOptions(); combo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (AcordoNivelServicoDTO acordoNivelServicoDTO : acordoNivelServicoDTOs) { combo.addOption(acordoNivelServicoDTO.getIdAcordoNivelServico().toString(), UtilStrings.getParameter(acordoNivelServicoDTO.getTituloSLA().toString())); } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } @SuppressWarnings("unchecked") public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AcordoServicoContratoDTO acordoServicoContratoDTO = (AcordoServicoContratoDTO) document.getBean(); AcordoServicoContratoService acordoServicoContratoService = (AcordoServicoContratoService) ServiceLocator.getInstance().getService(AcordoServicoContratoService.class, null); List<ServicoContratoDTO> listaServicos = ((ArrayList<ServicoContratoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(ServicoContratoDTO.class, "servicosSerializados", request)); if(listaServicos != null){ acordoServicoContratoDTO.setListaServicoContrato(listaServicos); } acordoServicoContratoDTO.setDataCriacao(UtilDatas.getDataAtual()); acordoServicoContratoDTO.setDataInicio(UtilDatas.getDataAtual()); if (acordoServicoContratoService.existeAcordoServicoContrato(acordoServicoContratoDTO.getIdAcordoNivelServico(), acordoServicoContratoDTO.getIdContrato())) { acordoServicoContratoService.update(acordoServicoContratoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } else { acordoServicoContratoService.create(acordoServicoContratoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } @SuppressWarnings("rawtypes") @Override public Class getBeanClass() { return AcordoServicoContratoDTO.class; } }