diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java index 3a3e9a623..25940fcd5 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java @@ -67,15 +67,15 @@ public class ContingenciaServiceImpl implements ContingenciaService { historicoCont.setDataHora(Calendar.getInstance().getTime()); if (historicoCont.getEmpresa() == null) { - throw new BusinessException("Não é possível salvar sem a empresa"); + throw new BusinessException("N�o � poss�vel salvar sem a empresa"); } if (historicoCont.getEstado() == null) { - throw new BusinessException("Não é possível salvar sem o estado referente"); + throw new BusinessException("N�o � poss�vel salvar sem o estado referente"); } if (historicoCont.getMotivo() == null) { - throw new BusinessException("Não é possível salvar sem o motivo referente"); + throw new BusinessException("N�o � poss�vel salvar sem o motivo referente"); } try { @@ -102,10 +102,10 @@ public class ContingenciaServiceImpl implements ContingenciaService { } private void setMotivoNaoTrocaStatus(LogHistoricoContingencia historicoCont, Exception e) { - log.error(String.format("Erro no envio de e-mail de contingência da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e); + log.error(String.format("Erro no envio de e-mail de conting�ncia da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e); String motivo = historicoCont.getMotivo(); - motivo = motivo.concat("**Problema no envio de E-mail de notificação. Favor checar."); + motivo = motivo.concat("**Problema no envio de E-mail de notifica��o. Favor checar."); historicoCont.setMotivo(motivo); } @@ -164,35 +164,44 @@ public class ContingenciaServiceImpl implements ContingenciaService { return EStatusContingencia.getStatusContingencia(Integer.valueOf(historicoCont.getStatus())); } - private void enviaEmail(LogHistoricoContingencia historicoCont) throws SendFailedException, AuthenticationFailedException { - SendMail mail = new SendMail(); + private void enviaEmail(LogHistoricoContingencia historicoCont) throws SendFailedException, AuthenticationFailedException { + EmpresaEmail empresaEmail = empresaEmailService.buscarPorEmpresa(historicoCont.getEmpresa()); EmpresaEmailConfig empresaEmailConfig = empresaEmailConfigService.buscarPorEmpresa(historicoCont.getEmpresa()); - mail.setAuth(empresaEmailConfig.getIndAutenticacao()); - if (StringUtils.isNotEmpty(empresaEmailConfig.getTipoAutorizacao())) { - mail.setAuthType(AuthType.valueOf(empresaEmailConfig.getTipoAutorizacao())); + + if (empresaEmail != null && empresaEmailConfig != null && + empresaEmailConfig.getIndAutenticacao() != null && empresaEmail.getEmailDe() != null && + empresaEmailConfig.getTipoAutorizacao() != null && empresaEmailConfig.getSmtp() != null && + empresaEmailConfig.getSenha() != null && empresaEmailConfig.getSmtpPorta() != null && + empresaEmailConfig.getSmtpEmail() != null && empresaEmail.getDestinatario() != null) { + + SendMail mail = new SendMail(); + mail.setAuth(empresaEmailConfig.getIndAutenticacao()); + if (StringUtils.isNotEmpty(empresaEmailConfig.getTipoAutorizacao())) { + mail.setAuthType(AuthType.valueOf(empresaEmailConfig.getTipoAutorizacao())); + } + mail.setEmailFrom(empresaEmail.getEmailDe()); + mail.setSmtpHost(empresaEmailConfig.getSmtp()); + mail.setSmtpPassword(empresaEmailConfig.getSenha()); + mail.setSmtpPort(empresaEmailConfig.getSmtpPorta()); + mail.setSmtpUser(empresaEmailConfig.getSmtpEmail()); + mail.setSubject("Conting�ncia Off-line BP-e"); + mail.setText(getMensagem(historicoCont)); + mail.setEmailTo(empresaEmail.getDestinatario()); + mail.setEmailToCO(EMAIL_COPIA_OCULTA); + mail.send(); } - mail.setEmailFrom(empresaEmail.getEmailDe()); - mail.setSmtpHost(empresaEmailConfig.getSmtp()); - mail.setSmtpPassword(empresaEmailConfig.getSenha()); - mail.setSmtpPort(empresaEmailConfig.getSmtpPorta()); - mail.setSmtpUser(empresaEmailConfig.getSmtpEmail()); - mail.setSubject("Contingência Off-line BP-e"); - mail.setText(getMensagem(historicoCont)); - mail.setEmailTo(empresaEmail.getDestinatario()); - mail.setEmailToCO(EMAIL_COPIA_OCULTA); - mail.send(); } private String getMensagem(LogHistoricoContingencia historicoContingencia) { StringBuilder mensagem = new StringBuilder(); - mensagem.append(String.format("A empresa %s está com a emissão do BP-e em contingência off-line para a UF %s no ambiente de %s. ", + mensagem.append(String.format("A empresa %s est� com a emiss�o do BP-e em conting�ncia off-line para a UF %s no ambiente de %s. ", historicoContingencia.getEmpresa().getNombempresa(), historicoContingencia.getEstado().getCveestado(), EAmbienteContingencia.getAmbienteContingencia(historicoContingencia.getAmbiente()).getDescricao())); - mensagem.append("A emissão em contingência deve ser tratada como exceção, sendo que a regra deve ser a emissão com autorização em tempo real."); - mensagem.append("O Fisco poderá solicitar esclarecimentos, e até mesmo restringir ao contribuinte a utilização da modalidade de contingência off-line, caso seja identificado que o emissor do BP-e utiliza a contingência em demasia e sem justificativa aceitável, quando comparado a outros contribuintes em situação similar."); - mensagem.append("Na utilização de contingência off-line, o contribuinte assume o risco de perda da informação dos "); - mensagem.append("BP-e emitidos em contingência, até que os mesmos constem da base de dados do Fisco."); + mensagem.append("A emiss�o em conting�ncia deve ser tratada como exce��o, sendo que a regra deve ser a emiss�o com autoriza��o em tempo real."); + mensagem.append("O Fisco poder� solicitar esclarecimentos, e at� mesmo restringir ao contribuinte a utiliza��o da modalidade de conting�ncia off-line, caso seja identificado que o emissor do BP-e utiliza a conting�ncia em demasia e sem justificativa aceit�vel, quando comparado a outros contribuintes em situa��o similar."); + mensagem.append("Na utiliza��o de conting�ncia off-line, o contribuinte assume o risco de perda da informa��o dos "); + mensagem.append("BP-e emitidos em conting�ncia, at� que os mesmos constem da base de dados do Fisco."); return mensagem.toString(); }