fixes bug#20901

dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@104988 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2021-01-11 21:00:10 +00:00
parent 5db4a2d36a
commit 0b64ec67f0
5 changed files with 146 additions and 30 deletions

View File

@ -121,4 +121,15 @@ public class Constantes {
public static final String URL_PAINEL_EMBARCADA = "URL_PAINEL_EMBARCADA";
public static final String EXIGE_EMAIL_OU_TEL_CAD_CLIENTE = "EXIGE_EMAIL_OU_TEL_CAD_CLIENTE";
public static final String SMTP_COMISSAO_EMAIL = "SMTP_COMISSAO_EMAIL";
public static final String SMTP_COMISSAO_HOST = "SMTP_COMISSAO_HOST";
public static final String SMTP_COMISSAO_PASS = "SMTP_COMISSAO_PASS";
public static final String SMTP_COMISSAO_PORT = "SMTP_COMISSAO_PORT";
public static final String SMTP_COMISSAO_USER = "SMTP_COMISSAO_USER";
}

View File

@ -148,7 +148,7 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
sql.append(" pa.numagencia as agencia, pa.numconta || '-' || pa.digito as conta, if.nome as banco, ");
sql.append(" ci.nombciudad as cidade, pv.descCorreo, pv.razonsocial, pv.numdocpuntoventa as cnpjPuntoventa, ");
sql.append(" c.data_inicial as dataInicial, c.data_final as dataFinal, ");
sql.append(" c.receita_gap as receitaGAP ");
sql.append(" c.receita_gap as receitaGAP, c.empresa_id as empresaId ");
sql.append("FROM comissao c ");
sql.append("JOIN punto_venta pv on pv.puntoventa_id = c.puntoventa_id ");
sql.append("JOIN empresa e on e.empresa_id = c.empresa_id ");
@ -219,6 +219,7 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
.addScalar("dataInicial", DateType.INSTANCE)
.addScalar("dataFinal", DateType.INSTANCE)
.addScalar("receitaGAP", BigDecimalType.INSTANCE)
.addScalar("empresaId", IntegerType.INSTANCE)
.setResultTransformer(new AliasToBeanResultTransformer(HistoricoComissao.class));
setParametros(query, parametros);

View File

@ -39,7 +39,7 @@ public interface CalculoComissaoService {
public List<HistoricoComissao> relatorioReciboComissao(Integer puntoVentaId, Integer empresaId, String competencia) throws ComissaoException;
public void enviarEmailReciboComissao(HistoricoComissao historicoComissao, byte[] recibo);
public boolean enviarEmailReciboComissao(HistoricoComissao historicoComissao, byte[] recibo);
public void registrarCalculoComissao(PuntoVenta puntoVenta, Empresa empresa, Date dataInicial, Date dataFinal, Integer usuarioId) throws ComissaoException, BusinessException;

View File

@ -30,6 +30,7 @@ import com.rjconsultores.ventaboletos.entidad.Conferencia;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.DescontoComissao;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EmpresaEmailConfig;
import com.rjconsultores.ventaboletos.entidad.EmpresaImposto;
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao.Receita;
@ -47,6 +48,7 @@ import com.rjconsultores.ventaboletos.service.ConferenciaComissaoService;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.CtrlFechamentoCaixaService;
import com.rjconsultores.ventaboletos.service.DescontoComissaoService;
import com.rjconsultores.ventaboletos.service.EmpresaEmailConfigService;
import com.rjconsultores.ventaboletos.service.EmpresaImpostoService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.PtovtaComissaoService;
@ -59,6 +61,7 @@ import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoDesconto;
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoDesconto.TipoDesconto;
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoReceita;
import com.rjconsultores.ventaboletos.vo.comissao.EmailConfigVO;
import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;
import com.rjconsultores.ventaboletos.vo.comissao.FormapagoVO;
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
@ -106,6 +109,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
@Autowired
private CtrlFechamentoCaixaService ctrlFechamentoCaixaService;
@Autowired
private EmpresaEmailConfigService empresaEmailConfigService;
public boolean validaCompetencia(Date periodo) {
Calendar calendario = Calendar.getInstance();
calendario.setTime(periodo);
@ -1156,36 +1162,19 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
}
@Override
public void enviarEmailReciboComissao(HistoricoComissao historicoComissao, byte[] recibo) {
public boolean enviarEmailReciboComissao(HistoricoComissao historicoComissao, byte[] recibo) {
try {
if(StringUtils.isNotBlank(historicoComissao.getDescCorreo())) {
EmailConfigVO emailConfig = carregarConfiguracoesEmail(historicoComissao);
if(emailConfig != null && StringUtils.isNotBlank(historicoComissao.getDescCorreo())) {
SendMail mail = new SendMail();
mail.setEmailToCO(historicoComissao.getDescCorreo());
Constante constante = constanteService.buscarPorNomeConstante("SMTP_COMISSAO_EMAIL");
if(constante != null) {
mail.setEmailFrom(constante.getValorconstante());
}
constante = constanteService.buscarPorNomeConstante("SMTP_COMISSAO_HOST");
if(constante != null) {
mail.setSmtpHost(constante.getValorconstante());
}
constante = constanteService.buscarPorNomeConstante("SMTP_COMISSAO_PASS");
if(constante != null) {
mail.setSmtpPassword(constante.getValorconstante());
}
constante = constanteService.buscarPorNomeConstante("SMTP_COMISSAO_PORT");
if(constante != null) {
mail.setSmtpPort(constante.getValorconstante());
}
constante = constanteService.buscarPorNomeConstante("SMTP_COMISSAO_USER");
if(constante != null) {
mail.setSmtpUser(constante.getValorconstante());
}
mail.setEmailTo(historicoComissao.getDescCorreo());
mail.setEmailFrom(emailConfig.getSmtpEmail());
mail.setSmtpHost(emailConfig.getSmtp());
mail.setSmtpPassword(emailConfig.getSenha());
mail.setSmtpPort(emailConfig.getSmtpPorta());
mail.setSmtpUser(emailConfig.getSmtpEmail());
mail.setAuth(emailConfig.isAutenticacao());
String assunto = null;
String texto = null;
@ -1216,13 +1205,68 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
mail.addAnexo(Labels.getLabel("busquedaCalculoComissaoController.recibo.email.nomeAnexo", new String[] {nomeArquivo}).concat(".pdf"), baos, MimeType.PDF);
mail.send();
return true;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return false;
}
private EmailConfigVO carregarConfiguracoesEmail(HistoricoComissao historicoComissao) {
EmailConfigVO emailConfigVO = carregarConstantesEmail();
if(emailConfigVO == null && historicoComissao.getEmpresaId() != null) {
EmpresaEmailConfig empresaEmailConfig = empresaEmailConfigService.buscarPorEmpresa(new Empresa(historicoComissao.getEmpresaId()));
if(empresaEmailConfig != null) {
emailConfigVO = new EmailConfigVO();
emailConfigVO.setAutenticacao(BooleanUtils.toBoolean(empresaEmailConfig.getIndAutenticacao()));
emailConfigVO.setSenha(empresaEmailConfig.getSenha());
emailConfigVO.setSmtp(empresaEmailConfig.getSmtp());
emailConfigVO.setSmtpEmail(empresaEmailConfig.getSmtpEmail());
emailConfigVO.setSmtpUser(empresaEmailConfig.getSmtpEmail());
emailConfigVO.setSmtpPorta(empresaEmailConfig.getSmtpPorta());
}
}
return emailConfigVO;
}
private EmailConfigVO carregarConstantesEmail() {
EmailConfigVO emailConfigVO = new EmailConfigVO();
Constante constante = constanteService.buscarPorNomeConstante(Constantes.SMTP_COMISSAO_EMAIL);
if(constante == null) {
return null;
}
emailConfigVO.setSmtpEmail(constante.getValorconstante());
constante = constanteService.buscarPorNomeConstante(Constantes.SMTP_COMISSAO_HOST);
if(constante == null) {
return null;
}
emailConfigVO.setSmtp(constante.getValorconstante());
constante = constanteService.buscarPorNomeConstante(Constantes.SMTP_COMISSAO_PASS);
if(constante == null) {
return null;
}
emailConfigVO.setSenha(constante.getValorconstante());
constante = constanteService.buscarPorNomeConstante(Constantes.SMTP_COMISSAO_PORT);
if(constante == null) {
return null;
}
emailConfigVO.setSmtpPorta(constante.getValorconstante());
constante = constanteService.buscarPorNomeConstante(Constantes.SMTP_COMISSAO_USER);
if(constante == null) {
return null;
}
emailConfigVO.setSmtpUser(constante.getValorconstante());
return emailConfigVO;
}
private Date getDate(int dia, int mes, int ano) {
Calendar cData = Calendar.getInstance();
cData.set(Calendar.DAY_OF_MONTH, dia);

View File

@ -0,0 +1,60 @@
package com.rjconsultores.ventaboletos.vo.comissao;
public class EmailConfigVO {
private String smtp;
private String senha;
private String smtpPorta;
private String smtpEmail;
private String smtpUser;
private boolean autenticacao;
public String getSmtp() {
return smtp;
}
public void setSmtp(String smtp) {
this.smtp = smtp;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getSmtpPorta() {
return smtpPorta;
}
public void setSmtpPorta(String smtpPorta) {
this.smtpPorta = smtpPorta;
}
public String getSmtpEmail() {
return smtpEmail;
}
public void setSmtpEmail(String smtpEmail) {
this.smtpEmail = smtpEmail;
}
public boolean isAutenticacao() {
return autenticacao;
}
public void setAutenticacao(boolean autenticacao) {
this.autenticacao = autenticacao;
}
public String getSmtpUser() {
return smtpUser;
}
public void setSmtpUser(String smtpUser) {
this.smtpUser = smtpUser;
}
}