fixes bug#23227
dev:wilian qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@108677 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
574935912c
commit
e5e6708b7f
|
@ -0,0 +1,15 @@
|
|||
package com.rjconsultores.ventaboletos.dao;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.ComissaoLog;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoLogVO;
|
||||
|
||||
public interface ComissaoLogDAO extends GenericDAO<ComissaoLog, Integer> {
|
||||
|
||||
public void limparComissaoLog(Integer empresaId, Integer puntoVentaId, Date dataInicial, Date dataFinal);
|
||||
|
||||
public void suscribirTodos(List<ComissaoLogVO> lsComissaoLogVO);
|
||||
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.ComissaoLogDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.ComissaoLog;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoLogVO;
|
||||
|
||||
@Repository("comissaoLogHibernateDAO")
|
||||
public class ComissaoLogHibernateDAO extends GenericHibernateDAO<ComissaoLog, Integer> implements ComissaoLogDAO {
|
||||
|
||||
@Autowired
|
||||
public ComissaoLogHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||
setSessionFactory(factory);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void limparComissaoLog(Integer empresaId, Integer puntoVentaId, Date dataInicial, Date dataFinal) {
|
||||
StringBuilder hql = new StringBuilder();
|
||||
hql.append("delete comissao_log ");
|
||||
hql.append("where activo = 1 ");
|
||||
hql.append(" AND puntoventa_id = :puntoventaId ");
|
||||
hql.append(" AND empresa_id = :empresaId ");
|
||||
hql.append(" AND feccorte between TO_DATE(:dataInicial,'DD/MM/YYYY hh24:mi') and TO_DATE(:dataFinal,'DD/MM/YYYY hh24:mi') ");
|
||||
|
||||
Query query = getSession().createSQLQuery(hql.toString());
|
||||
query.setString("dataInicial", DateUtil.getStringDate(DateUtil.inicioFecha(dataInicial), "dd/MM/yyyy HH:mm"));
|
||||
query.setString("dataFinal", DateUtil.getStringDate(DateUtil.inicioFecha(dataFinal), "dd/MM/yyyy HH:mm"));
|
||||
query.setInteger("puntoventaId", puntoVentaId);
|
||||
query.setInteger("empresaId", empresaId);
|
||||
|
||||
query.executeUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void suscribirTodos(List<ComissaoLogVO> lsComissaoLogVO) {
|
||||
for (ComissaoLogVO vo : lsComissaoLogVO) {
|
||||
ComissaoLog comissaoLog = new ComissaoLog();
|
||||
comissaoLog.setPuntoventaId(vo.getPuntoventaId());
|
||||
comissaoLog.setEmpresaId(vo.getEmpresaId());
|
||||
comissaoLog.setActivo(true);
|
||||
comissaoLog.setFecmodif(new Date());
|
||||
comissaoLog.setFeccorte(vo.getFeccorte());
|
||||
comissaoLog.setUsuarioId(vo.getUsuarioId());
|
||||
comissaoLog.setTurnoId(vo.getTurnoId());
|
||||
comissaoLog.setCajaId(vo.getCajaId());
|
||||
comissaoLog.setCajadiversosId(vo.getCajadiversosId());
|
||||
comissaoLog.setPorcComissao(vo.getPorcComissao());
|
||||
comissaoLog.setValorBase(vo.getValorBase());
|
||||
comissaoLog.setValorComissao(vo.getValorComissao());
|
||||
comissaoLog.setOrigem(vo.getOrigem());
|
||||
comissaoLog.setTexto(vo.getTexto());
|
||||
|
||||
suscribir(comissaoLog);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -618,7 +618,8 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("COALESCE(CEC.INDTIPO_DEB_CRED, 0) AS \"tipoeventoextradebcred\", ")
|
||||
.append("CEC.INDEVENTOSFINANCEIROS AS \"exigeConferenciaAba\", B.NUMFOLIOSISTEMA \"numFolioSistema\", ")
|
||||
.append("TEE.CVETIPOEVENTO AS \"cvetipoevento\", CD.FECCORTE AS \"feccorte\", ")
|
||||
.append("EI.ICMS as \"icmsBase\", NVL(EST.ESTADO_ID,0) as \"estadoId\" ")
|
||||
.append("EI.ICMS as \"icmsBase\", NVL(EST.ESTADO_ID,0) as \"estadoId\", CD.CAJADIVERSOS_ID as cajaDiversosId, U.USUARIO_ID as usuarioId, ")
|
||||
.append("CD.TURNO_ID as turnoId ")
|
||||
.append("FROM EVENTO_EXTRA EE ")
|
||||
.append("JOIN TIPO_EVENTO_EXTRA TEE ON EE.TIPOEVENTOEXTRA_ID = TEE.TIPOEVENTOEXTRA_ID ")
|
||||
.append("JOIN CAJA_DIVERSOS CD ON CD.EVENTOEXTRA_ID = EE.EVENTOEXTRA_ID ")
|
||||
|
@ -676,6 +677,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
eventosFinanceiros.setFeccorte(rSet.getDate("feccorte"));
|
||||
eventosFinanceiros.setIcmsBase(rSet.getBigDecimal("icmsBase"));
|
||||
eventosFinanceiros.setEstadoId(rSet.getInt("estadoId") > 0 ? rSet.getInt("estadoId") : null);
|
||||
eventosFinanceiros.setCajaDiversosId(rSet.getLong("cajaDiversosId"));
|
||||
eventosFinanceiros.setUsuarioId(rSet.getInt("usuarioId"));
|
||||
eventosFinanceiros.setTurnoId(rSet.getInt("turnoId"));
|
||||
|
||||
eventosFinanceiros.setConferencia(conferencia);
|
||||
|
||||
|
@ -860,7 +864,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append(" THEN 1 ELSE 0 END AS \"conferidoEntrega\", ")
|
||||
.append("C.PTOVTAVENTA_ID AS ptovtaventaId, ")
|
||||
.append("C.PUNTOVENTA_ID AS puntoventaId ")
|
||||
.append(", CF.cajaformapago_id ") //Mantis 17018
|
||||
.append(", CF.cajaformapago_id, U.USUARIO_ID usuarioId, C.TURNO_ID as turnoId ") //Mantis 17018
|
||||
.append("FROM CAJA C ")
|
||||
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = C.ORIGEN_ID ")
|
||||
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.CIUDAD_ID ")
|
||||
|
@ -978,6 +982,8 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
boletoComissao.setPtovtaventaId(rSet.getInt("ptovtaventaId"));
|
||||
boletoComissao.setPuntoVentaId(rSet.getInt("puntoventaId"));
|
||||
boletoComissao.setConferidoEntrega(rSet.getBoolean("conferidoEntrega"));
|
||||
boletoComissao.setUsuarioId(rSet.getInt("usuarioId"));
|
||||
boletoComissao.setTurnoId(rSet.getInt("turnoId"));
|
||||
|
||||
if(boletoComissao.getStatus() == null && boletoComissao.getConferidoEntrega() != null && boletoComissao.getConferidoEntrega()) {
|
||||
boletoComissao.setConferido(true);
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
package com.rjconsultores.ventaboletos.entidad;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.persistence.Basic;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.SequenceGenerator;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
|
||||
@Entity
|
||||
@SequenceGenerator(name = "COMISSAO_LOG_SEQ", sequenceName = "COMISSAO_LOG_SEQ", allocationSize = 1)
|
||||
@Table(name = "COMISSAO_LOG")
|
||||
public class ComissaoLog implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@Basic(optional = false)
|
||||
@GeneratedValue(strategy = GenerationType.AUTO, generator = "COMISSAO_LOG_SEQ")
|
||||
@Column(name = "COMISSAOLOG_ID")
|
||||
private Long comissaologId;
|
||||
|
||||
@Column(name = "PUNTOVENTA_ID")
|
||||
private Integer puntoventaId;
|
||||
|
||||
@Column(name = "EMPRESA_ID")
|
||||
private Integer empresaId;
|
||||
|
||||
@Column(name = "ACTIVO")
|
||||
private Boolean activo;
|
||||
|
||||
@Column(name = "FECMODIF")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
private Date fecmodif;
|
||||
|
||||
@Column(name = "FECCORTE")
|
||||
@Temporal(TemporalType.DATE)
|
||||
private Date feccorte;
|
||||
|
||||
@Column(name = "USUARIO_ID")
|
||||
private Integer usuarioId;
|
||||
|
||||
@Column(name = "TURNO_ID")
|
||||
private Integer turnoId;
|
||||
|
||||
@Column(name = "CAJA_ID")
|
||||
private Long cajaId;
|
||||
|
||||
@Column(name = "CAJADIVERSOS_ID")
|
||||
private Long cajadiversosId;
|
||||
|
||||
@Column(name = "PORC_COMISSAO")
|
||||
private BigDecimal porcComissao;
|
||||
|
||||
@Column(name = "VALOR_BASE")
|
||||
private BigDecimal valorBase;
|
||||
|
||||
@Column(name = "VALOR_COMISSAO")
|
||||
private BigDecimal valorComissao;
|
||||
|
||||
@Column(name = "ORIGEM")
|
||||
private String origem;
|
||||
|
||||
@Column(name = "TEXTO")
|
||||
private String texto;
|
||||
|
||||
public Long getComissaologId() {
|
||||
return comissaologId;
|
||||
}
|
||||
|
||||
public void setComissaologId(Long comissaologId) {
|
||||
this.comissaologId = comissaologId;
|
||||
}
|
||||
|
||||
public Integer getPuntoventaId() {
|
||||
return puntoventaId;
|
||||
}
|
||||
|
||||
public void setPuntoventaId(Integer puntoventaId) {
|
||||
this.puntoventaId = puntoventaId;
|
||||
}
|
||||
|
||||
public Integer getEmpresaId() {
|
||||
return empresaId;
|
||||
}
|
||||
|
||||
public void setEmpresaId(Integer empresaId) {
|
||||
this.empresaId = empresaId;
|
||||
}
|
||||
|
||||
public Boolean getActivo() {
|
||||
return activo;
|
||||
}
|
||||
|
||||
public void setActivo(Boolean activo) {
|
||||
this.activo = activo;
|
||||
}
|
||||
|
||||
public Date getFecmodif() {
|
||||
return fecmodif;
|
||||
}
|
||||
|
||||
public void setFecmodif(Date fecmodif) {
|
||||
this.fecmodif = fecmodif;
|
||||
}
|
||||
|
||||
public Date getFeccorte() {
|
||||
return feccorte;
|
||||
}
|
||||
|
||||
public void setFeccorte(Date feccorte) {
|
||||
this.feccorte = feccorte;
|
||||
}
|
||||
|
||||
public Integer getUsuarioId() {
|
||||
return usuarioId;
|
||||
}
|
||||
|
||||
public void setUsuarioId(Integer usuarioId) {
|
||||
this.usuarioId = usuarioId;
|
||||
}
|
||||
|
||||
public Integer getTurnoId() {
|
||||
return turnoId;
|
||||
}
|
||||
|
||||
public void setTurnoId(Integer turnoId) {
|
||||
this.turnoId = turnoId;
|
||||
}
|
||||
|
||||
public Long getCajaId() {
|
||||
return cajaId;
|
||||
}
|
||||
|
||||
public void setCajaId(Long cajaId) {
|
||||
this.cajaId = cajaId;
|
||||
}
|
||||
|
||||
public Long getCajadiversosId() {
|
||||
return cajadiversosId;
|
||||
}
|
||||
|
||||
public void setCajadiversosId(Long cajadiversosId) {
|
||||
this.cajadiversosId = cajadiversosId;
|
||||
}
|
||||
|
||||
public BigDecimal getPorcComissao() {
|
||||
return porcComissao;
|
||||
}
|
||||
|
||||
public void setPorcComissao(BigDecimal porcComissao) {
|
||||
this.porcComissao = porcComissao;
|
||||
}
|
||||
|
||||
public BigDecimal getValorBase() {
|
||||
return valorBase;
|
||||
}
|
||||
|
||||
public void setValorBase(BigDecimal valorBase) {
|
||||
this.valorBase = valorBase;
|
||||
}
|
||||
|
||||
public BigDecimal getValorComissao() {
|
||||
return valorComissao;
|
||||
}
|
||||
|
||||
public void setValorComissao(BigDecimal valorComissao) {
|
||||
this.valorComissao = valorComissao;
|
||||
}
|
||||
|
||||
public String getOrigem() {
|
||||
return origem;
|
||||
}
|
||||
|
||||
public void setOrigem(String origem) {
|
||||
this.origem = origem;
|
||||
}
|
||||
|
||||
public String getTexto() {
|
||||
return texto;
|
||||
}
|
||||
|
||||
public void setTexto(String texto) {
|
||||
this.texto = texto;
|
||||
}
|
||||
|
||||
}
|
|
@ -60,6 +60,7 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
|||
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.ComissaoLogVO;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoReceita;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.EmailConfigVO;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;
|
||||
|
@ -276,7 +277,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
return realizarCalculoComissao(puntoVentaId, empresaId, periodo, isRetencaoDiaria, usuarioId, isRefazerCalculo);
|
||||
}
|
||||
|
||||
private BigDecimal calculoComisssaoBPR(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal bpr, BigDecimal gap, boolean isBilheteGap) {
|
||||
private BigDecimal calculoComisssaoBPR(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal bpr, BigDecimal gap, boolean isBilheteGap, ComissaoLogVO comissaoLog) {
|
||||
|
||||
// Comissão BPR = Receita Comissão * (% Com BPR)
|
||||
BigDecimal recbpr = BigDecimal.ZERO;
|
||||
|
@ -300,6 +301,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
log.info(String.format(":: Comissao Compartilhada Configurada para Bilhetes Imp. Post. - Percentual Comissão Alterado para: %s ::", percentualComissao));
|
||||
}
|
||||
|
||||
comissaoLog.setPorcComissao(percentualComissao);
|
||||
|
||||
recbpr = MoneyHelper.multiplicar(receitaBPR, MoneyHelper.dividir(percentualComissao,CEM,4), 4);
|
||||
|
||||
return recbpr;
|
||||
|
@ -341,13 +344,15 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
return entregaPassagem;
|
||||
}
|
||||
|
||||
private BigDecimal calculoExcessoBagagem(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal excBag) {
|
||||
private BigDecimal calculoExcessoBagagem(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal excBag, ComissaoLogVO comissaoLog) {
|
||||
|
||||
// Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag)
|
||||
BigDecimal excessoBagagem = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getExcessoAlta());
|
||||
excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoAlta(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
} else {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getExcessoBaixa());
|
||||
excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoBaixa(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
}
|
||||
|
||||
|
@ -366,25 +371,29 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
return recSeguroObrigatorio;
|
||||
}
|
||||
|
||||
private BigDecimal calculoSeguroOpcional(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal segOpcional) {
|
||||
private BigDecimal calculoSeguroOpcional(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal segOpcional, ComissaoLogVO comissaoLog) {
|
||||
|
||||
// Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol)
|
||||
BigDecimal recsegOpcional = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getSeguroAlta());
|
||||
recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroAlta(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
} else {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getSeguroBaixa());
|
||||
recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroBaixa(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
}
|
||||
return recsegOpcional;
|
||||
}
|
||||
|
||||
private BigDecimal calculoOutros(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal outros) {
|
||||
private BigDecimal calculoOutros(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal outros, ComissaoLogVO comissaoLog) {
|
||||
|
||||
// Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol)
|
||||
BigDecimal recoutros = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getOutrosAlta());
|
||||
recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosAlta(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
} else {
|
||||
comissaoLog.setPorcComissao(ptovtaComissao.getOutrosBaixa());
|
||||
recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosBaixa(), CEM, 4) : BigDecimal.ZERO, 4);
|
||||
}
|
||||
return recoutros;
|
||||
|
@ -762,6 +771,31 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
continue;
|
||||
}
|
||||
|
||||
ComissaoLogVO comissaoLog = new ComissaoLogVO();
|
||||
comissaoLog.setFeccorte(dataRegistro);
|
||||
comissaoLog.setCajaId(rcc.getCajaId());
|
||||
comissaoLog.setEmpresaId(empresaId);
|
||||
comissaoLog.setPuntoventaId(rcc.getPuntoVentaId());
|
||||
comissaoLog.setTurnoId(rcc.getTurnoId());
|
||||
comissaoLog.setUsuarioId(rcc.getUsuarioId());
|
||||
comissaoLog.setOrigem("ADM");
|
||||
|
||||
StringBuilder sTextoLog = new StringBuilder();
|
||||
sTextoLog.append("[CAJA_ID: ")
|
||||
.append(rcc.getCajaId())
|
||||
.append("] ")
|
||||
.append("[BILHETE: ")
|
||||
.append(rcc.getNumFolioSistema())
|
||||
.append("] ")
|
||||
.append("[INDSTATUSBOLETO: ")
|
||||
.append(rcc.getIndstatusboleto())
|
||||
.append("] ")
|
||||
.append("[MOTIVO_CANCELAMENTO: ")
|
||||
.append(rcc.getMotivoCancelacionId() != null ? rcc.getMotivoCancelacionId() : "")
|
||||
.append("] ")
|
||||
.append("[TIPO_VENDA: ")
|
||||
.append(rcc.getTipoVenta())
|
||||
.append("] ");
|
||||
|
||||
BigDecimal receitaItem = BigDecimal.ZERO;
|
||||
BigDecimal receitaDevItem = BigDecimal.ZERO;
|
||||
|
@ -844,6 +878,13 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, receitaTotalPassagem, BigDecimal.ZERO, 1);
|
||||
comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem, 4);
|
||||
|
||||
sTextoLog.append("[RECEITA_IMPRESSAO_IMP_POS: ")
|
||||
.append(receitaTotalPassagem)
|
||||
.append("] ")
|
||||
.append("[COMISSAO_IMPRESSAO_IMP_POS: ")
|
||||
.append(comissaoEntregaPassagem)
|
||||
.append("] ");
|
||||
|
||||
} else {
|
||||
|
||||
// Receita GAP
|
||||
|
@ -851,7 +892,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
receitaGAP = MoneyHelper.somar(receitaGAP, receitaItem);
|
||||
receitaGAP = MoneyHelper.somar(receitaGAP, receitaSeguroObrigatorioItem);
|
||||
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap());
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap(), comissaoLog);
|
||||
|
||||
}
|
||||
// Internet
|
||||
|
@ -859,7 +900,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
internet = MoneyHelper.somar(internet, receitaItem);
|
||||
internet = MoneyHelper.somar(internet, receitaSeguroObrigatorioItem);
|
||||
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap());
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap(), comissaoLog);
|
||||
|
||||
}
|
||||
|
||||
|
@ -868,7 +909,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
receitaBPR = MoneyHelper.somar(receitaBPR, receitaItem);
|
||||
receitaSeguroObrigatorio = MoneyHelper.somar(receitaSeguroObrigatorio, receitaSeguroObrigatorioItem);
|
||||
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, rcc.isBilheteGap());
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, rcc.isBilheteGap(), comissaoLog);
|
||||
|
||||
}
|
||||
|
||||
|
@ -876,6 +917,33 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
comissaoSeguroObrigatorio = MoneyHelper.somar(comissaoSeguroObrigatorio, tmpComissaoSeguroObrigatorio, 4);
|
||||
|
||||
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4);
|
||||
|
||||
if(!isSaidaCaixa) {
|
||||
BigDecimal valorBase = MoneyHelper.somar(receitaItem, receitaSeguroObrigatorioItem);
|
||||
BigDecimal valorComissao = MoneyHelper.somar(bpr, tmpComissaoSeguroObrigatorio);
|
||||
|
||||
comissaoLog.setValorBase(valorBase);
|
||||
comissaoLog.setValorComissao(valorComissao);
|
||||
|
||||
sTextoLog.append("[RECEITA_ITEM: ")
|
||||
.append(receitaItem)
|
||||
.append("] ")
|
||||
.append("[COMISSAO_BPR: ")
|
||||
.append(bpr)
|
||||
.append("] ")
|
||||
.append("[COMISSAO_BPR_ATUAL: ")
|
||||
.append(comissaoBPR)
|
||||
.append("] ")
|
||||
.append("[RECEITA_SEGURO_OBRIGATORIO: ")
|
||||
.append(receitaSeguroObrigatorioItem)
|
||||
.append("] ")
|
||||
.append("[COMISSAO_SEGURO_OBRIGATORIO: ")
|
||||
.append(tmpComissaoSeguroObrigatorio)
|
||||
.append("] ")
|
||||
.append("[COMISSAO_SEGURO_OBRIGATORIO_ATUAL: ")
|
||||
.append(comissaoSeguroObrigatorio)
|
||||
.append("] ");
|
||||
}
|
||||
}
|
||||
|
||||
if (isSaidaCaixa) {
|
||||
|
@ -969,7 +1037,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
* Mantis #11015
|
||||
*/
|
||||
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO, rcc.isBilheteGap());
|
||||
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO, rcc.isBilheteGap(), comissaoLog);
|
||||
|
||||
tmpComissaoSeguroObrigatorio = calculoSeguroObrigatorio(isAltaTemporada, ptovtaComissao, receitaSeguroObrigatorioDevItem);
|
||||
comissaoSeguroObrigatorio = MoneyHelper.somar(comissaoSeguroObrigatorio, tmpComissaoSeguroObrigatorio.negate(), 4);
|
||||
|
@ -977,9 +1045,37 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
//bpr = MoneyHelper.somar(bpr, tmpComissaoSeguroObrigatorio, 4);
|
||||
|
||||
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr.negate(), 4);
|
||||
|
||||
BigDecimal valorBase = MoneyHelper.somar(receitaDevItem.negate(), receitaSeguroObrigatorioDevItem.negate());
|
||||
BigDecimal valorComissao = MoneyHelper.somar(bpr.negate(), tmpComissaoSeguroObrigatorio.negate());
|
||||
|
||||
comissaoLog.setValorBase(valorBase);
|
||||
comissaoLog.setValorComissao(valorComissao);
|
||||
|
||||
sTextoLog.append("[RECEITA_DEV_ITEM: ")
|
||||
.append(receitaDevItem.negate())
|
||||
.append("] ")
|
||||
.append("[COMISSAO_BPR_DEV: ")
|
||||
.append(bpr.negate())
|
||||
.append("] ")
|
||||
.append("[COMISSAO_BPR_ATUAL: ")
|
||||
.append(comissaoBPR)
|
||||
.append("] ")
|
||||
.append("[RECEITA_SEGURO_OBRIGATORIO_DEV: ")
|
||||
.append(receitaSeguroObrigatorioDevItem.negate())
|
||||
.append("] ")
|
||||
.append("[COMISSAO_SEGURO_OBRIGATORIO_DEV: ")
|
||||
.append(tmpComissaoSeguroObrigatorio.negate())
|
||||
.append("] ")
|
||||
.append("[COMISSAO_SEGURO_OBRIGATORIO_ATUAL: ")
|
||||
.append(comissaoSeguroObrigatorio)
|
||||
.append("] ");
|
||||
}
|
||||
}
|
||||
|
||||
comissaoLog.setTexto(sTextoLog.toString());
|
||||
cr.getLsComissaoLog().add(comissaoLog);
|
||||
|
||||
/*
|
||||
log.info("---------");
|
||||
log.info("CajaId=" + rcc.getCajaId() + ", numFolioSistema=" + rcc.getNumFolioSistema() + ", nombpasajero=" + rcc.getNombpasajero() + ", indstatusboleto=" + rcc.getIndstatusboleto() + ", motivocancelacionId=" + rcc.getMotivoCancelacionId() + ", PuntoventaId=" + rcc.getPuntoVentaId() + ", PtovtaventaId=" + rcc.getPtovtaventaId());
|
||||
|
@ -1009,21 +1105,38 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
/* Calculando comissão para os eventos extras */
|
||||
List<EventosFinanceirosVO> listEventosFinanceiros = verificaEventoFinanceiroProDia(eventosFinanceirosVOs, dataRegistro);
|
||||
for (EventosFinanceirosVO eventosFinanceiros : listEventosFinanceiros) {
|
||||
ComissaoLogVO comissaoLog = new ComissaoLogVO();
|
||||
comissaoLog.setFeccorte(dataRegistro);
|
||||
comissaoLog.setCajadiversosId(eventosFinanceiros.getCajaDiversosId());
|
||||
comissaoLog.setEmpresaId(empresaId);
|
||||
comissaoLog.setPuntoventaId(ptovtaComissao.getPuntoventaId().getPuntoventaId());
|
||||
comissaoLog.setTurnoId(eventosFinanceiros.getTurnoId());
|
||||
comissaoLog.setUsuarioId(eventosFinanceiros.getUsuarioId());
|
||||
comissaoLog.setOrigem("ADM");
|
||||
|
||||
boolean isAltaTemporada = validaAltaTemporada(impostos, mes, eventosFinanceiros.getEstadoId());
|
||||
|
||||
if(TipoEventoExtra.EXCESSO_BAGAGEM.toString().equals(eventosFinanceiros.getCvetipoevento())) {
|
||||
receitaExcessoBagagem = MoneyHelper.somar(receitaExcessoBagagem, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso(), comissaoLog);
|
||||
comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem, 4);
|
||||
|
||||
adicionarTextoComissaoLog(comissaoLog, TipoEventoExtra.EXCESSO_BAGAGEM.toString(), receitaExcessoBagagem, excessoBagagem);
|
||||
} else if(TipoEventoExtra.SEGURO_OPCIONAL.toString().equals(eventosFinanceiros.getCvetipoevento())) {
|
||||
receitaSeguroOpcional = MoneyHelper.somar(receitaSeguroOpcional, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso(), comissaoLog);
|
||||
comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional, 4);
|
||||
|
||||
adicionarTextoComissaoLog(comissaoLog, TipoEventoExtra.SEGURO_OPCIONAL.toString(), receitaSeguroOpcional, segOpcional);
|
||||
} else {
|
||||
receitaSeguroOutros = MoneyHelper.somar(receitaSeguroOutros, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso());
|
||||
BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso(), comissaoLog);
|
||||
comissaoOutros = MoneyHelper.somar(comissaoOutros, outros, 4);
|
||||
|
||||
adicionarTextoComissaoLog(comissaoLog, "OUTROS", receitaSeguroOutros, outros);
|
||||
}
|
||||
|
||||
cr.getLsComissaoLog().add(comissaoLog);
|
||||
}
|
||||
|
||||
cr.setCancelados(cancelados);
|
||||
|
@ -1070,6 +1183,27 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
}
|
||||
|
||||
private void adicionarTextoComissaoLog(ComissaoLogVO comissaoLog, String campo, BigDecimal receitaComissao, BigDecimal comissao) {
|
||||
comissaoLog.setValorBase(receitaComissao);
|
||||
comissaoLog.setValorComissao(comissao);
|
||||
|
||||
StringBuilder sTexto = new StringBuilder();
|
||||
sTexto.append("[CAJADIVERSOS_ID: ")
|
||||
.append(comissaoLog.getCajadiversosId())
|
||||
.append(": ")
|
||||
.append("[RECEITA_")
|
||||
.append(campo)
|
||||
.append(": ")
|
||||
.append(receitaComissao)
|
||||
.append("] [COMISSAO_")
|
||||
.append(campo)
|
||||
.append(": ")
|
||||
.append(comissao)
|
||||
.append("]");
|
||||
|
||||
comissaoLog.setTexto(sTexto.toString());
|
||||
}
|
||||
|
||||
private boolean isBilheteDevolucao(BoletoComissao rcc, boolean isDevolucaoComissaoTransferenciaGeraCaja) {
|
||||
return rcc.isMotivocancelacionDevolvido() ||
|
||||
rcc.isMotivocancelacionGeracaoOcd() ||
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.ComissaoLogDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.ComissaoReceitaDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.ComissaoReceita;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
|
@ -29,6 +30,9 @@ public class ComissaoReceitaServiceImpl implements ComissaoReceitaService {
|
|||
@Autowired
|
||||
private ComissaoReceitaDAO comissaoReceitaDAO;
|
||||
|
||||
@Autowired
|
||||
private ComissaoLogDAO comissaoLogDAO;
|
||||
|
||||
@Override
|
||||
public List<ComissaoReceita> obtenerTodos() {
|
||||
return comissaoReceitaDAO.obtenerTodos();
|
||||
|
@ -77,6 +81,7 @@ public class ComissaoReceitaServiceImpl implements ComissaoReceitaService {
|
|||
comissaoReceita.setPuntoVenta(puntoVenta);
|
||||
comissaoReceita.setUsuarioId(usuarioId);
|
||||
comissaoReceitaDAO.suscribir(comissaoReceita);
|
||||
comissaoLogDAO.suscribirTodos(comissaoReceitaVO.getLsComissaoLog());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
@ -138,6 +143,7 @@ public class ComissaoReceitaServiceImpl implements ComissaoReceitaService {
|
|||
public void limparComissaoReceita(Integer empresaId, Integer puntoVentaId, Date dataInicial, Date dataFinal) throws BusinessException {
|
||||
try {
|
||||
comissaoReceitaDAO.limparComissaoReceita(empresaId, puntoVentaId, dataInicial, dataFinal);
|
||||
comissaoLogDAO.limparComissaoLog(empresaId, puntoVentaId, dataInicial, dataFinal);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new BusinessException(e.getMessage(), e);
|
||||
|
|
|
@ -96,6 +96,10 @@ public class BoletoComissao {
|
|||
|
||||
private Integer ptovtaventaId;
|
||||
|
||||
private Integer usuarioId;
|
||||
|
||||
private Integer turnoId;
|
||||
|
||||
public Integer getEmpresaId() {
|
||||
return empresaId;
|
||||
}
|
||||
|
@ -1069,4 +1073,20 @@ public class BoletoComissao {
|
|||
this.ptovtaventaId = ptovtaventaId;
|
||||
}
|
||||
|
||||
public Integer getUsuarioId() {
|
||||
return usuarioId;
|
||||
}
|
||||
|
||||
public void setUsuarioId(Integer usuarioId) {
|
||||
this.usuarioId = usuarioId;
|
||||
}
|
||||
|
||||
public Integer getTurnoId() {
|
||||
return turnoId;
|
||||
}
|
||||
|
||||
public void setTurnoId(Integer turnoId) {
|
||||
this.turnoId = turnoId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
package com.rjconsultores.ventaboletos.vo.comissao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class ComissaoLogVO {
|
||||
|
||||
private Integer puntoventaId;
|
||||
private Integer empresaId;
|
||||
private Date feccorte;
|
||||
private Integer usuarioId;
|
||||
private Integer turnoId;
|
||||
private Long cajaId;
|
||||
private Long cajadiversosId;
|
||||
private BigDecimal porcComissao;
|
||||
private BigDecimal valorBase;
|
||||
private BigDecimal valorComissao;
|
||||
private String origem;
|
||||
private String texto;
|
||||
|
||||
public Integer getPuntoventaId() {
|
||||
return puntoventaId;
|
||||
}
|
||||
|
||||
public void setPuntoventaId(Integer puntoventaId) {
|
||||
this.puntoventaId = puntoventaId;
|
||||
}
|
||||
|
||||
public Integer getEmpresaId() {
|
||||
return empresaId;
|
||||
}
|
||||
|
||||
public void setEmpresaId(Integer empresaId) {
|
||||
this.empresaId = empresaId;
|
||||
}
|
||||
|
||||
public Date getFeccorte() {
|
||||
return feccorte;
|
||||
}
|
||||
|
||||
public void setFeccorte(Date feccorte) {
|
||||
this.feccorte = feccorte;
|
||||
}
|
||||
|
||||
public Integer getUsuarioId() {
|
||||
return usuarioId;
|
||||
}
|
||||
|
||||
public void setUsuarioId(Integer usuarioId) {
|
||||
this.usuarioId = usuarioId;
|
||||
}
|
||||
|
||||
public Integer getTurnoId() {
|
||||
return turnoId;
|
||||
}
|
||||
|
||||
public void setTurnoId(Integer turnoId) {
|
||||
this.turnoId = turnoId;
|
||||
}
|
||||
|
||||
public Long getCajaId() {
|
||||
return cajaId;
|
||||
}
|
||||
|
||||
public void setCajaId(Long cajaId) {
|
||||
this.cajaId = cajaId;
|
||||
}
|
||||
|
||||
public Long getCajadiversosId() {
|
||||
return cajadiversosId;
|
||||
}
|
||||
|
||||
public void setCajadiversosId(Long cajadiversosId) {
|
||||
this.cajadiversosId = cajadiversosId;
|
||||
}
|
||||
|
||||
public BigDecimal getPorcComissao() {
|
||||
return porcComissao;
|
||||
}
|
||||
|
||||
public void setPorcComissao(BigDecimal porcComissao) {
|
||||
this.porcComissao = porcComissao;
|
||||
}
|
||||
|
||||
public BigDecimal getValorBase() {
|
||||
return valorBase;
|
||||
}
|
||||
|
||||
public void setValorBase(BigDecimal valorBase) {
|
||||
this.valorBase = valorBase;
|
||||
}
|
||||
|
||||
public BigDecimal getValorComissao() {
|
||||
return valorComissao;
|
||||
}
|
||||
|
||||
public void setValorComissao(BigDecimal valorComissao) {
|
||||
this.valorComissao = valorComissao;
|
||||
}
|
||||
|
||||
public String getOrigem() {
|
||||
return origem;
|
||||
}
|
||||
|
||||
public void setOrigem(String origem) {
|
||||
this.origem = origem;
|
||||
}
|
||||
|
||||
public String getTexto() {
|
||||
return texto;
|
||||
}
|
||||
|
||||
public void setTexto(String texto) {
|
||||
this.texto = texto;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,9 @@
|
|||
package com.rjconsultores.ventaboletos.vo.comissao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
|
@ -35,6 +37,8 @@ public class ComissaoReceita {
|
|||
private String nombpuntoventa;
|
||||
private String numPuntoVenta;
|
||||
|
||||
private List<ComissaoLogVO> lsComissaoLog;
|
||||
|
||||
public ComissaoReceita() {
|
||||
super();
|
||||
this.receitaComissao = BigDecimal.ZERO;
|
||||
|
@ -59,6 +63,7 @@ public class ComissaoReceita {
|
|||
this.comissaoEntregaPassagemDiaria = BigDecimal.ZERO;
|
||||
this.comissaoOutrosDiaria = BigDecimal.ZERO;
|
||||
this.comissaoSeguroObrigatorioDiaria = BigDecimal.ZERO;
|
||||
this.lsComissaoLog = new ArrayList<ComissaoLogVO>();
|
||||
}
|
||||
|
||||
public Date getData() {
|
||||
|
@ -310,4 +315,12 @@ public class ComissaoReceita {
|
|||
this.receitaSeguro = receitaSeguro;
|
||||
}
|
||||
|
||||
public List<ComissaoLogVO> getLsComissaoLog() {
|
||||
return lsComissaoLog;
|
||||
}
|
||||
|
||||
public void setLsComissaoLog(List<ComissaoLogVO> lsComissaoLog) {
|
||||
this.lsComissaoLog = lsComissaoLog;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,6 +46,10 @@ public class EventosFinanceirosVO {
|
|||
private BigDecimal icmsBase;
|
||||
private Integer estadoId;
|
||||
|
||||
private Long cajaDiversosId;
|
||||
private Integer usuarioId;
|
||||
private Integer turnoId;
|
||||
|
||||
public Long getEventoextraId() {
|
||||
return eventoextraId;
|
||||
}
|
||||
|
@ -298,4 +302,28 @@ public class EventosFinanceirosVO {
|
|||
this.estadoId = estadoId;
|
||||
}
|
||||
|
||||
public Long getCajaDiversosId() {
|
||||
return cajaDiversosId;
|
||||
}
|
||||
|
||||
public void setCajaDiversosId(Long cajaDiversosId) {
|
||||
this.cajaDiversosId = cajaDiversosId;
|
||||
}
|
||||
|
||||
public Integer getUsuarioId() {
|
||||
return usuarioId;
|
||||
}
|
||||
|
||||
public void setUsuarioId(Integer usuarioId) {
|
||||
this.usuarioId = usuarioId;
|
||||
}
|
||||
|
||||
public Integer getTurnoId() {
|
||||
return turnoId;
|
||||
}
|
||||
|
||||
public void setTurnoId(Integer turnoId) {
|
||||
this.turnoId = turnoId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue