bug #6669
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@49626 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
68d223d59f
commit
6487de1300
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||||
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
||||||
|
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||||
|
|
||||||
public interface ComissaoDAO extends GenericDAO<Comissao, Integer> {
|
public interface ComissaoDAO extends GenericDAO<Comissao, Integer> {
|
||||||
|
|
||||||
|
@ -12,4 +13,5 @@ public interface ComissaoDAO extends GenericDAO<Comissao, Integer> {
|
||||||
|
|
||||||
public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia);
|
public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia);
|
||||||
|
|
||||||
|
public List<HistoricoComissao> buscaHistoricoComissao(Integer puntoVentaId, Integer empresaId, Date periodoInicio, Date periodoFim);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import org.hibernate.SessionFactory;
|
||||||
import org.hibernate.transform.AliasToBeanResultTransformer;
|
import org.hibernate.transform.AliasToBeanResultTransformer;
|
||||||
import org.hibernate.type.BigDecimalType;
|
import org.hibernate.type.BigDecimalType;
|
||||||
import org.hibernate.type.BooleanType;
|
import org.hibernate.type.BooleanType;
|
||||||
|
import org.hibernate.type.DateType;
|
||||||
import org.hibernate.type.IntegerType;
|
import org.hibernate.type.IntegerType;
|
||||||
import org.hibernate.type.StringType;
|
import org.hibernate.type.StringType;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -16,7 +17,9 @@ import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.dao.ComissaoDAO;
|
import com.rjconsultores.ventaboletos.dao.ComissaoDAO;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||||
|
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||||
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
||||||
|
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||||
|
|
||||||
@Repository("comissaoHibernateDAO")
|
@Repository("comissaoHibernateDAO")
|
||||||
public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer> implements ComissaoDAO {
|
public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer> implements ComissaoDAO {
|
||||||
|
@ -84,7 +87,6 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
||||||
return query.list();
|
return query.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) {
|
public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) {
|
||||||
|
|
||||||
|
@ -102,4 +104,64 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
||||||
|
|
||||||
return (Comissao) query.uniqueResult();
|
return (Comissao) query.uniqueResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<HistoricoComissao> buscaHistoricoComissao(Integer puntoVentaId, Integer empresaId, Date periodoInicio, Date periodoFim) {
|
||||||
|
|
||||||
|
String competenciaInicio = DateUtil.getStringDate(periodoInicio, "MM/yyyy");
|
||||||
|
String competenciaFim = DateUtil.getStringDate(periodoFim, "MM/yyyy");
|
||||||
|
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT c.competencia AS competencia, ");
|
||||||
|
sql.append(" c.datapagamento AS dataPagamento, ");
|
||||||
|
sql.append(" c.comissao_bpr AS comissaoBpr, ");
|
||||||
|
sql.append(" c.receita_excessobagagem AS receitaExcessobagagem, ");
|
||||||
|
sql.append(" c.receita_seguroopcional AS receitaSeguroopcional, ");
|
||||||
|
sql.append(" c.descontos_fixos AS descontosFixos, ");
|
||||||
|
sql.append(" c.descontos_eventuais AS descontosEventuais, ");
|
||||||
|
sql.append(" c.royaties AS royaties, ");
|
||||||
|
sql.append(" c.iss_retido AS issRetido, ");
|
||||||
|
sql.append(" c.bonificacao_metas AS bonificacaoMetas, ");
|
||||||
|
sql.append(" c.entregas_passagem AS entregasPassagem, ");
|
||||||
|
sql.append(" c.receita_outros AS receitaOutros, ");
|
||||||
|
sql.append(" c.indpago AS indPago, ");
|
||||||
|
sql.append(" CASE WHEN c.indpago = 1 THEN 'PAGO' ELSE 'PENDENTE' END AS pagamento, ");
|
||||||
|
sql.append(" up.nombusuario || ' ' || up.nombmaterno || ' ' || up.nombpaterno AS usuarioPagamento, ");
|
||||||
|
sql.append(" ul.nombusuario || ' ' || ul.nombmaterno || ' ' || ul.nombpaterno AS usuarioLancamento ");
|
||||||
|
sql.append("FROM comissao c ");
|
||||||
|
sql.append("LEFT JOIN usuario up ON up.usuario_id = c.usuariopagamento_id ");
|
||||||
|
sql.append("LEFT JOIN usuario ul ON ul.usuario_id = c.usuario_id ");
|
||||||
|
sql.append("WHERE c.activo = 1 ");
|
||||||
|
sql.append(" AND c.puntoventa_id = :puntoventaId ");
|
||||||
|
sql.append(" AND c.empresa_id = :empresaId ");
|
||||||
|
sql.append(" AND c.competencia BETWEEN :periodoInicio and :periodoFim ");
|
||||||
|
sql.append("ORDER BY c.competencia ");
|
||||||
|
|
||||||
|
Query query = getSession().createSQLQuery(sql.toString())
|
||||||
|
.addScalar("competencia", StringType.INSTANCE)
|
||||||
|
.addScalar("dataPagamento", DateType.INSTANCE)
|
||||||
|
.addScalar("comissaoBpr", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("receitaExcessobagagem", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("receitaSeguroopcional", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("descontosFixos", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("descontosEventuais", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("royaties", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("issRetido", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("bonificacaoMetas", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("entregasPassagem", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("receitaOutros", BigDecimalType.INSTANCE)
|
||||||
|
.addScalar("indPago", BooleanType.INSTANCE)
|
||||||
|
.addScalar("pagamento", StringType.INSTANCE)
|
||||||
|
.addScalar("usuarioPagamento", StringType.INSTANCE)
|
||||||
|
.addScalar("usuarioLancamento", StringType.INSTANCE)
|
||||||
|
.setResultTransformer(new AliasToBeanResultTransformer(HistoricoComissao.class));
|
||||||
|
|
||||||
|
query.setString("periodoInicio", competenciaInicio);
|
||||||
|
query.setString("periodoFim", competenciaFim);
|
||||||
|
query.setInteger("puntoventaId", puntoVentaId);
|
||||||
|
query.setInteger("empresaId", empresaId);
|
||||||
|
|
||||||
|
return query.list();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,8 @@ public class Comissao implements Serializable {
|
||||||
private BigDecimal receitaSeguroopcional;
|
private BigDecimal receitaSeguroopcional;
|
||||||
@Column(name = "RECEITA_OUTROS")
|
@Column(name = "RECEITA_OUTROS")
|
||||||
private BigDecimal receitaOutros;
|
private BigDecimal receitaOutros;
|
||||||
|
@Column(name = "DESCONTOS_FIXOS")
|
||||||
|
private BigDecimal descontosFixos;
|
||||||
@Column(name = "DESCONTOS_EVENTUAIS")
|
@Column(name = "DESCONTOS_EVENTUAIS")
|
||||||
private BigDecimal descontosEventuais;
|
private BigDecimal descontosEventuais;
|
||||||
@Column(name = "ROYATIES")
|
@Column(name = "ROYATIES")
|
||||||
|
@ -121,6 +123,14 @@ public class Comissao implements Serializable {
|
||||||
this.receitaSeguroopcional = receitaSeguroopcional;
|
this.receitaSeguroopcional = receitaSeguroopcional;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getDescontosFixos() {
|
||||||
|
return descontosFixos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescontosFixos(BigDecimal descontosFixos) {
|
||||||
|
this.descontosFixos = descontosFixos;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getDescontosEventuais() {
|
public BigDecimal getDescontosEventuais() {
|
||||||
return descontosEventuais;
|
return descontosEventuais;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
package com.rjconsultores.ventaboletos.service;
|
package com.rjconsultores.ventaboletos.service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||||
|
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||||
|
|
||||||
public interface ComissaoService extends GenericService<Comissao, Integer> {
|
public interface ComissaoService extends GenericService<Comissao, Integer> {
|
||||||
|
|
||||||
|
public List<HistoricoComissao> buscaHistoricoComissao(Integer puntoVentaId, Integer empresaId, Date periodoInicio, Date periodoFim);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,27 +88,31 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
||||||
RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo);
|
RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo);
|
||||||
|
|
||||||
Comissao comissao = new Comissao();
|
Comissao comissao = new Comissao();
|
||||||
|
|
||||||
comissao.setCompetencia(competencia);
|
comissao.setCompetencia(competencia);
|
||||||
comissao.setDataPagamento(Calendar.getInstance().getTime());
|
comissao.setDataPagamento(Calendar.getInstance().getTime());
|
||||||
|
|
||||||
comissao.setEmpresaId(empresaId);
|
comissao.setEmpresaId(empresaId);
|
||||||
comissao.setPuntoVentaId(puntoVentaId);
|
comissao.setPuntoVentaId(puntoVentaId);
|
||||||
|
|
||||||
comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas());
|
comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas());
|
||||||
comissao.setComissaoBpr(rc.getComissaoBPR());
|
comissao.setComissaoBpr(rc.getComissaoBPR());
|
||||||
comissao.setEntregasPassagem(rc.getComissaoEntregaPassagem());
|
comissao.setEntregasPassagem(rc.getComissaoEntregaPassagem());
|
||||||
comissao.setReceitaExcessobagagem(rc.getComissaoExcessoBagagem());
|
comissao.setReceitaExcessobagagem(rc.getComissaoExcessoBagagem());
|
||||||
comissao.setReceitaSeguroopcional(rc.getComissaoSegOpcional());
|
comissao.setReceitaSeguroopcional(rc.getComissaoSegOpcional());
|
||||||
comissao.setReceitaOutros(rc.getComissaoOutros());
|
comissao.setReceitaOutros(rc.getComissaoOutros());
|
||||||
|
|
||||||
comissao.setRoyaties(rc.getRoyaties());
|
comissao.setRoyaties(rc.getRoyaties());
|
||||||
comissao.setIssRetido(rc.getRetidoISS());
|
comissao.setIssRetido(rc.getRetidoISS());
|
||||||
comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas());
|
comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas());
|
||||||
comissao.setDescontosEventuais(rc.getDescontos());
|
|
||||||
|
|
||||||
comissao.setIndPago(true);
|
comissao.setIndPago(false);
|
||||||
comissao.setUsuarioPagamentoId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
comissao.setUsuarioPagamentoId(null);
|
||||||
|
|
||||||
|
for (ComissaoDesconto cd : rc.getLsDescontos()) {
|
||||||
|
if (cd.getTipo().equals(TipoDesconto.EVENTUAL)) {
|
||||||
|
comissao.setDescontosEventuais(cd.getValorDesconto());
|
||||||
|
|
||||||
|
} else if (cd.getTipo().equals(TipoDesconto.FIXO)) {
|
||||||
|
comissao.setDescontosFixos(cd.getValorDesconto());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
comissao = comissaoService.suscribir(comissao);
|
comissao = comissaoService.suscribir(comissao);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.rjconsultores.ventaboletos.service.impl;
|
package com.rjconsultores.ventaboletos.service.impl;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -11,6 +12,7 @@ import com.rjconsultores.ventaboletos.dao.ComissaoDAO;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||||
import com.rjconsultores.ventaboletos.service.ComissaoService;
|
import com.rjconsultores.ventaboletos.service.ComissaoService;
|
||||||
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||||
|
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||||
|
|
||||||
@Service("comissaoService")
|
@Service("comissaoService")
|
||||||
public class ComissaoServiceImpl implements ComissaoService {
|
public class ComissaoServiceImpl implements ComissaoService {
|
||||||
|
@ -56,7 +58,11 @@ public class ComissaoServiceImpl implements ComissaoService {
|
||||||
entidad.setActivo(Boolean.FALSE);
|
entidad.setActivo(Boolean.FALSE);
|
||||||
|
|
||||||
comissaoDAO.actualizacion(entidad);
|
comissaoDAO.actualizacion(entidad);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<HistoricoComissao> buscaHistoricoComissao(Integer puntoVentaId, Integer empresaId, Date periodoInicio, Date periodoFim) {
|
||||||
|
return comissaoDAO.buscaHistoricoComissao(puntoVentaId, empresaId, periodoInicio, periodoFim);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.rjconsultores.ventaboletos.vo.comissao;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||||
|
|
||||||
|
public class HistoricoComissao extends Comissao {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String pagamento;
|
||||||
|
private String usuarioPagamento;
|
||||||
|
private String usuarioLancamento;
|
||||||
|
|
||||||
|
public String getPagamento() {
|
||||||
|
return pagamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPagamento(String pagamento) {
|
||||||
|
this.pagamento = pagamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUsuarioPagamento() {
|
||||||
|
return usuarioPagamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsuarioPagamento(String usuarioPagamento) {
|
||||||
|
this.usuarioPagamento = usuarioPagamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUsuarioLancamento() {
|
||||||
|
return usuarioLancamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsuarioLancamento(String usuarioLancamento) {
|
||||||
|
this.usuarioLancamento = usuarioLancamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue