package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.AvaliacaoFornecedorDTO; import br.com.centralit.citcorpore.bean.AvaliacaoReferenciaFornecedorDTO; import br.com.centralit.citcorpore.bean.CriterioAvaliacaoFornecedorDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.EnderecoDTO; import br.com.centralit.citcorpore.bean.FornecedorDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.AvaliacaoFornecedorService; import br.com.centralit.citcorpore.negocio.AvaliacaoReferenciaFornecedorService; import br.com.centralit.citcorpore.negocio.CriterioAvaliacaoFornecedorService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.EnderecoService; import br.com.centralit.citcorpore.negocio.FornecedorService; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilI18N; @SuppressWarnings("rawtypes") public class AvaliacaoFornecedor extends AjaxFormAction { UsuarioDTO usuario; public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada")); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } document.focusInFirstActivateField(null); } @Override public Class getBeanClass() { return AvaliacaoFornecedorDTO.class; } /** * @param document * @param request * @param response * @throws Exception * Metodo de salvar * @author thays.araujo */ @SuppressWarnings("unchecked") public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AvaliacaoFornecedorDTO avaliacaoFornecedorDto = (AvaliacaoFornecedorDTO) document.getBean(); AvaliacaoFornecedorService avaliacaoFornecedorService = (AvaliacaoFornecedorService) ServiceLocator.getInstance().getService(AvaliacaoFornecedorService.class, null); avaliacaoFornecedorDto.setListCriterioAvaliacaoFornecedor((br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(CriterioAvaliacaoFornecedorDTO.class, "listCriteriosQualidadeSerializado", request) == null ? new ArrayList<CriterioAvaliacaoFornecedorDTO>() : br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( CriterioAvaliacaoFornecedorDTO.class, "listCriteriosQualidadeSerializado", request))); avaliacaoFornecedorDto.setListAvaliacaoReferenciaFornecedor((br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(AvaliacaoReferenciaFornecedorDTO.class, "listAprovacaoReferenciaSerializado", request) == null ? new ArrayList<AvaliacaoReferenciaFornecedorDTO>() : br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( AvaliacaoReferenciaFornecedorDTO.class, "listAprovacaoReferenciaSerializado", request))); if ((avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor() == null || avaliacaoFornecedorDto.getListAvaliacaoReferenciaFornecedor().isEmpty()) && (avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor() == null || avaliacaoFornecedorDto.getListCriterioAvaliacaoFornecedor().isEmpty())) { document.alert(UtilI18N.internacionaliza(request, "avaliacaoFornecedor.obrigatoriedade")); return; } avaliacaoFornecedorDto.setDecisaoQualificacao("Q"); if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() == null || avaliacaoFornecedorDto.getIdAvaliacaoFornecedor() == 0) { avaliacaoFornecedorService.create(avaliacaoFornecedorDto); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { avaliacaoFornecedorService.update(avaliacaoFornecedorDto); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } HTMLForm form = document.getForm("form"); form.clear(); document.executeScript("limpar()"); /*HTMLTable tblCriterio = document.getTableById("tblCriterio"); tblCriterio.deleteAllRows(); HTMLTable tblAprovacao = document.getTableById("tblAprovacao"); tblAprovacao.deleteAllRows();*/ } public void preencheFornecedor(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AvaliacaoFornecedorDTO avaliacaoFornecedordto = (AvaliacaoFornecedorDTO) document.getBean(); FornecedorService fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null); Collection<FornecedorDTO> listEscopoFornecimento = null; FornecedorDTO fornecedorDto = new FornecedorDTO(); fornecedorDto.setIdFornecedor(avaliacaoFornecedordto.getIdFornecedor()); fornecedorDto = (FornecedorDTO) fornecedorService.restore(fornecedorDto); EnderecoService enderecoService = (EnderecoService) ServiceLocator.getInstance().getService(EnderecoService.class, null); EnderecoDTO enderecoDto = new EnderecoDTO(); StringBuilder html = new StringBuilder(); if (fornecedorDto != null) { listEscopoFornecimento = fornecedorService.listEscopoFornecimento(fornecedorDto); } if (listEscopoFornecimento != null) { html.append("<table class='table' id='tblEscopo' width='100%' >"); html.append("<tr>"); html.append("<th>Produto</th>"); html.append("<th>Marca</th>"); html.append("</tr>"); for (FornecedorDTO fornecedor : listEscopoFornecimento) { html.append("<tr>"); html.append("<td>" + fornecedor.getNomeProduto() + "</td>"); if (fornecedor.getMarca() != null) html.append("<td>" + fornecedor.getMarca() + "</td>"); else html.append("<td> </td>"); html.append("</tr>"); } html.append("</table>"); } document.getElementById("divEscopo").setInnerHTML(html.toString()); HTMLForm form = document.getForm("form"); if(fornecedorDto != null){ form.setValues(fornecedorDto); } if (fornecedorDto != null && fornecedorDto.getIdEndereco() != null) { enderecoDto.setIdEndereco(fornecedorDto.getIdEndereco()); enderecoDto = enderecoService.recuperaEnderecoCompleto(enderecoDto); form.setValues(enderecoDto); } document.executeScript("$('#POPUP_FORNECEDOR').dialog('close');"); } /** * @param document * @param request * @param response * @throws Exception * Metodo para restaura os campos. */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AvaliacaoFornecedorDTO avaliacaoFornecedordto = (AvaliacaoFornecedorDTO) document.getBean(); EnderecoDTO enderecoDto = new EnderecoDTO(); FornecedorDTO fornecedorDto = new FornecedorDTO(); AvaliacaoFornecedorService avaliacaoFornecedorService = (AvaliacaoFornecedorService) ServiceLocator.getInstance().getService(AvaliacaoFornecedorService.class, null); FornecedorService fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null); EnderecoService enderecoService = (EnderecoService) ServiceLocator.getInstance().getService(EnderecoService.class, null); EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); AvaliacaoReferenciaFornecedorService avaliacaoReferenciaFornecedorService = (AvaliacaoReferenciaFornecedorService) ServiceLocator.getInstance().getService( AvaliacaoReferenciaFornecedorService.class, null); CriterioAvaliacaoFornecedorService criterioAvaliacaoFornecedorService = (CriterioAvaliacaoFornecedorService) ServiceLocator.getInstance().getService(CriterioAvaliacaoFornecedorService.class, null); Collection<FornecedorDTO> listEscopoFornecimento = null; Collection<AvaliacaoReferenciaFornecedorDTO> listAvaliacaoReferenciaFornecedor = null; Collection<CriterioAvaliacaoFornecedorDTO> listCriterioAvaliacaoFornecedor = null; StringBuilder html = new StringBuilder(); avaliacaoFornecedordto = (AvaliacaoFornecedorDTO) avaliacaoFornecedorService.restore(avaliacaoFornecedordto); if (avaliacaoFornecedordto.getIdAvaliacaoFornecedor() != null) { listAvaliacaoReferenciaFornecedor = avaliacaoReferenciaFornecedorService.listByIdAvaliacaoFornecedor(avaliacaoFornecedordto.getIdAvaliacaoFornecedor()); listCriterioAvaliacaoFornecedor = criterioAvaliacaoFornecedorService.listByIdAvaliacaoFornecedor(avaliacaoFornecedordto.getIdAvaliacaoFornecedor()); } HTMLTable tblAprovacao = document.getTableById("tblAprovacao"); tblAprovacao.deleteAllRows(); if (listAvaliacaoReferenciaFornecedor != null) { tblAprovacao.addRowsByCollection(listAvaliacaoReferenciaFornecedor, new String[] { "", "", "nome", "telefone", "decisao", "observacoes" }, new String[] { "idempregado" }, "Empregado j� cadastrado!!", new String[] { "exibeIconesAprovacao" }, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblAprovacao', 'tblAprovacao');"); } HTMLTable tblCriterio = document.getTableById("tblCriterio"); tblCriterio.deleteAllRows(); if (listCriterioAvaliacaoFornecedor != null) { tblCriterio.addRowsByCollection(listCriterioAvaliacaoFornecedor, new String[] { "", "", "descricao", "valor", "obs" }, new String[] { "idCriterio" }, "Criterio j� cadastrado!!", new String[] { "exibeIconesCriterio" }, null, null); document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblCriterio', 'tblCriterio');"); } if (avaliacaoFornecedordto.getIdFornecedor() != null) { fornecedorDto.setIdFornecedor(avaliacaoFornecedordto.getIdFornecedor()); fornecedorDto = (FornecedorDTO) fornecedorService.restore(fornecedorDto); } if (avaliacaoFornecedordto.getIdResponsavel() != null) { EmpregadoDTO empregadoDto = empregadoService.restoreByIdEmpregado(avaliacaoFornecedordto.getIdResponsavel()); if (empregadoDto != null) { avaliacaoFornecedordto.setNomeResponsavel(empregadoDto.getNome()); } } if (fornecedorDto != null) { listEscopoFornecimento = fornecedorService.listEscopoFornecimento(fornecedorDto); } if (listEscopoFornecimento != null) { html.append("<table class='table' id='tblEscopo' width='100%' >"); html.append("<tr>"); html.append("<th>Produto</th>"); html.append("<th>Marca</th>"); html.append("</tr>"); html.append("</tr>"); for (FornecedorDTO fornecedor : listEscopoFornecimento) { html.append("<tr>"); html.append("<td>" + fornecedor.getNomeProduto() + "</td>"); if (fornecedor.getMarca() != null) html.append("<td>" + fornecedor.getMarca() + "</td>"); else html.append("<td> </td>"); html.append("</tr>"); } html.append("</table>"); } document.getElementById("divEscopo").setInnerHTML(html.toString()); HTMLForm form = document.getForm("form"); form.clear(); document.getForm("form").setValues(fornecedorDto); if(avaliacaoFornecedordto != null){ form.setValues(avaliacaoFornecedordto); } if (fornecedorDto != null && fornecedorDto.getIdEndereco() != null) { enderecoDto.setIdEndereco(fornecedorDto.getIdEndereco()); enderecoDto = enderecoService.recuperaEnderecoCompleto(enderecoDto); form.setValues(enderecoDto); } } /** * @param document * @param request * @param response * @throws Exception * * Metodo colocar status Inativo quando for solicitado a exclus�o do usuario. */ public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AvaliacaoFornecedorDTO avaliacaoFornecedorDto = (AvaliacaoFornecedorDTO) document.getBean(); AvaliacaoFornecedorService avaliacaoFornecedorService = (AvaliacaoFornecedorService) ServiceLocator.getInstance().getService(AvaliacaoFornecedorService.class, WebUtil.getUsuarioSistema(request)); AvaliacaoReferenciaFornecedorService avaliacaoReferenciaFornecedorService = (AvaliacaoReferenciaFornecedorService) ServiceLocator.getInstance().getService( AvaliacaoReferenciaFornecedorService.class, null); CriterioAvaliacaoFornecedorService criterioAvaliacaoFornecedorService = (CriterioAvaliacaoFornecedorService) ServiceLocator.getInstance().getService(CriterioAvaliacaoFornecedorService.class, null); if (avaliacaoFornecedorDto.getIdAvaliacaoFornecedor().intValue() > 0) { avaliacaoReferenciaFornecedorService.deleteByIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); criterioAvaliacaoFornecedorService.deleteByIdAvaliacaoFornecedor(avaliacaoFornecedorDto.getIdAvaliacaoFornecedor()); avaliacaoFornecedorService.delete(avaliacaoFornecedorDto); document.alert(UtilI18N.internacionaliza(request, "MSG07")); } HTMLForm form = document.getForm("form"); form.clear(); document.executeScript("limpar()"); /*HTMLTable tblCriterio = document.getTableById("tblCriterio"); tblCriterio.deleteAllRows(); HTMLTable tblAprovacao = document.getTableById("tblAprovacao"); tblAprovacao.deleteAllRows();*/ } public void limpar(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { HTMLTable tblCriterio = document.getTableById("tblCriterio"); tblCriterio.deleteAllRows(); HTMLTable tblAprovacao = document.getTableById("tblAprovacao"); tblAprovacao.deleteAllRows(); } }