0015431: Melhoria VIOP - ESPEC_TotalBus_cobrancaTaxaDiaria - Chamado: REQ-627858;

bug#15431
dev:thiago
qua:junia

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@97720 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2019-09-19 18:32:40 +00:00
parent a1fa8e514b
commit ab2f19f7a4
7 changed files with 695 additions and 0 deletions

View File

@ -0,0 +1,16 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
public interface CobrancaAdcPuntoVentaDAO extends GenericDAO<CobrancaAdcPuntoVenta, Integer> {
List<CobrancaAdicionalHistorico> buscaHistoricoCobranca(CobrancaAdcPuntoVenta cobranca, Date dataInicial, Date dataFinal);
List<CobrancaAdcPuntoVenta> buscarTodasAsCobrancas(PuntoVenta puntoVenta);
}

View File

@ -0,0 +1,82 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
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.CobrancaAdcPuntoVentaDAO;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
@Repository("cobrancaAdcPuntoVentaHibernateDAO")
public class CobrancaAdcPuntoVentaHibernateDAO extends GenericHibernateDAO<CobrancaAdcPuntoVenta, Integer> implements CobrancaAdcPuntoVentaDAO {
@Autowired
public CobrancaAdcPuntoVentaHibernateDAO(
@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
@SuppressWarnings("unchecked")
public List<CobrancaAdicionalHistorico> buscaHistoricoCobranca(CobrancaAdcPuntoVenta cobranca, Date dataInicial, Date dataFinal) {
List<CobrancaAdicionalHistorico> cobrancaHistorico = new ArrayList<CobrancaAdicionalHistorico>();
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT ")
.append(" h ")
.append("FROM ")
.append(" CobrancaAdicionalHistorico h ")
.append("WHERE ")
.append(" h.cobrancaAdicional.cobrancaAddPuntoVenta_id = :cobrancaAdicionalId and ")
.append(" h.dataRegistro between :dataInicial and :dataFinal ")
.append("ORDER BY ")
.append(" h.cobrancaAdicionalHistoricoID ");
Query qr = getSession().createQuery(sQuery.toString());
qr.setParameter("dataInicial", dataInicial);
qr.setParameter("dataFinal", dataFinal);
qr.setParameter("cobrancaAdicionalId", cobranca == null ? 0 : cobranca.getCobrancaAddPuntoVenta_id());
cobrancaHistorico = qr.list();
return cobrancaHistorico;
}
@Override
@SuppressWarnings("unchecked")
public List<CobrancaAdcPuntoVenta> buscarTodasAsCobrancas(PuntoVenta puntoVenta) {
if (puntoVenta == null)
return null;
List<CobrancaAdcPuntoVenta> cobrancaAdcList = new ArrayList<CobrancaAdcPuntoVenta>();
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT ")
.append(" h ")
.append("FROM ")
.append(" CobrancaAdcPuntoVenta h ")
.append("WHERE ")
.append(" h.puntoVenta.puntoventaId = :puntoVentaId ")
.append("ORDER BY ")
.append(" h.cobrancaAddPuntoVenta_id ");
Query qr = getSession().createQuery(sQuery.toString());
qr.setParameter("puntoVentaId", puntoVenta.getPuntoventaId());
cobrancaAdcList = qr.list();
return cobrancaAdcList;
}
}

View File

@ -0,0 +1,319 @@
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.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* @author vjcor
*
*/
@Entity
@SequenceGenerator(name = "COBRANCA_ADC_SEQ", sequenceName = "COBRANCA_ADC_SEQ", allocationSize = 1)
@Table(name = "COBRANCA_ADC_PUNTO_VENTA")
public class CobrancaAdcPuntoVenta implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "COBRANCA_ADC_SEQ")
@Column(name = "COBRANCAADDPUNTOVENTA_ID")
private Integer cobrancaAddPuntoVenta_id;
@JoinColumn(name = "PUNTOVENTA_ID")
@ManyToOne
private PuntoVenta puntoVenta;
@Column(name = "DESCRICAO")
private String descricao;
@Column(name = "VALOR")
private BigDecimal valor;
@OneToOne
@JoinColumn(name = "EMPRESA_ID")
private Empresa empresa;
@Column(name = "DIARIO")
private Boolean diario;
@Column(name = "SEMANAL")
private Boolean semanal;
@Column(name = "MENSAL")
private Boolean mensal;
@Column(name = "SEGUNDA")
private Boolean segunda;
@Column(name = "TERCA")
private Boolean terca;
@Column(name = "QUARTA")
private Boolean quarta;
@Column(name = "QUINTA")
private Boolean quinta;
@Column(name = "SEXTA")
private Boolean sexta;
@Column(name = "PRIMEIRO_DIA_UTIL")
private Boolean primeiroDiaUtil;
@Column(name = "ULTIMO_DIA_UTIL")
private Boolean ultimoDiaUtil;
@Column(name = "DESCONTO_PROXIMO_CICLO")
private Boolean descontarProximoCiclo;
@Column(name = "DESCONTO_PROXIMO_DIA")
private Boolean descontarProximoDia;
@Column(name = "DATAINICIAL")
@Temporal(TemporalType.TIMESTAMP)
private Date dataInicial;
@Column(name = "DATAFINAL")
@Temporal(TemporalType.TIMESTAMP)
private Date dataFinal;
@Column(name = "ACTIVO")
private Boolean activo;
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
private Boolean getBoolean(Boolean valor) {
return valor == null ? false : valor;
}
public Integer getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
public Integer getCobrancaAddPuntoVenta_id() {
return cobrancaAddPuntoVenta_id;
}
public void setCobrancaAddPuntoVenta_id(Integer cobrancaAddPuntoVenta_id) {
this.cobrancaAddPuntoVenta_id = cobrancaAddPuntoVenta_id;
}
public PuntoVenta getPuntoVenta() {
return puntoVenta;
}
public void setPuntoVenta(PuntoVenta puntoVenta) {
this.puntoVenta = puntoVenta;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public Boolean getDiario() {
return getBoolean(diario);
}
public void setDiario(Boolean diario) {
this.diario = diario;
}
public Boolean getSemanal() {
return getBoolean(semanal);
}
public void setSemanal(Boolean semanal) {
this.semanal = semanal;
}
public Boolean getMensal() {
return getBoolean(mensal);
}
public void setMensal(Boolean mensal) {
this.mensal = mensal;
}
public Boolean getSegunda() {
return getBoolean(segunda);
}
public void setSegunda(Boolean segunda) {
this.segunda = segunda;
}
public Boolean getTerca() {
return getBoolean(terca);
}
public void setTerca(Boolean terca) {
this.terca = terca;
}
public Boolean getQuarta() {
return getBoolean(quarta);
}
public void setQuarta(Boolean quarta) {
this.quarta = quarta;
}
public Boolean getQuinta() {
return getBoolean(quinta);
}
public void setQuinta(Boolean quinta) {
this.quinta = quinta;
}
public Boolean getSexta() {
return getBoolean(sexta);
}
public void setSexta(Boolean sexta) {
this.sexta = sexta;
}
public Boolean getPrimeiroDiaUtil() {
return getBoolean(primeiroDiaUtil);
}
public void setPrimeiroDiaUtil(Boolean primeiroDiaUtil) {
this.primeiroDiaUtil = primeiroDiaUtil;
}
public Boolean getUltimoDiaUtil() {
return getBoolean(ultimoDiaUtil);
}
public void setUltimoDiaUtil(Boolean ultimoDiaUtil) {
this.ultimoDiaUtil = ultimoDiaUtil;
}
public Boolean getActivo() {
return getBoolean(activo);
}
public void setActivo(Boolean activo) {
this.activo = activo;
}
public Date getFecmodif() {
return fecmodif;
}
public void setFecmodif(Date fecmodif) {
this.fecmodif = fecmodif;
}
public Boolean getDescontarProximoCiclo() {
return descontarProximoCiclo;
}
public void setDescontarProximoCiclo(Boolean descontarProximoCiclo) {
this.descontarProximoCiclo = descontarProximoCiclo;
}
public Boolean getDescontarProximoDia() {
return descontarProximoDia;
}
public void setDescontarProximoDia(Boolean descontarProximoDia) {
this.descontarProximoDia = descontarProximoDia;
}
public Date getDataInicial() {
return dataInicial;
}
public void setDataInicial(Date dataInicial) {
this.dataInicial = dataInicial;
}
public Date getDataFinal() {
return dataFinal;
}
public void setDataFinal(Date dataFinal) {
this.dataFinal = dataFinal;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((cobrancaAddPuntoVenta_id == null) ? 0 : cobrancaAddPuntoVenta_id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
CobrancaAdcPuntoVenta other = (CobrancaAdcPuntoVenta) obj;
if (cobrancaAddPuntoVenta_id == null) {
if (other.cobrancaAddPuntoVenta_id != null)
return false;
} else if (!cobrancaAddPuntoVenta_id.equals(other.cobrancaAddPuntoVenta_id))
return false;
return true;
}
@Override
public String toString() {
return this.getDescricao();
}
}

View File

@ -0,0 +1,167 @@
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.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* @author vjcor
*
*/
@Entity
@SequenceGenerator(name = "COBRANCA_ADC_HIST_SEQ", sequenceName = "COBRANCA_ADC_HIST_SEQ", allocationSize = 1)
@Table(name = "COBRANCA_ADICIONAL_HISTORICO")
public class CobrancaAdicionalHistorico implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "COBRANCA_ADC_HIST_SEQ")
@Column(name = "COBRANCAADICIONALHISTORICO_ID")
private Long cobrancaAdicionalHistoricoID;
@JoinColumn(name = "COBRANCAADDPUNTOVENTA_ID")
@ManyToOne
private CobrancaAdcPuntoVenta cobrancaAdicional;
@Column(name = "CONTACORRENTEPTOVTA_ID")
private Long contaCorrentePtoVtaId;
@Column(name = "PUNTOVENTA_ID")
private Integer puntoVentaId;
@Column(name = "VALOR_COBRANCA")
private BigDecimal valorCobranca;
@Column(name = "VALOR_ACUMULADO")
private BigDecimal valorAcumulado;
@Column(name = "VALOR_APLICADO")
private BigDecimal valorAplicado;
@Column(name = "COBRANCA_EFETUADA")
private Boolean cobrancaEfetuada;
@Column(name = "FREQUENCIA_NA_DATA")
private String frequenciaNaData;
@Column(name = "DATA_REGISTRO")
@Temporal(TemporalType.TIMESTAMP)
private Date dataRegistro;
@Column(name = "MOTIVO")
private String motivo;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
public Long getCobrancaAdicionalHistoricoID() {
return cobrancaAdicionalHistoricoID;
}
public void setCobrancaAdicionalHistoricoID(Long cobrancaAdicionalHistoricoID) {
this.cobrancaAdicionalHistoricoID = cobrancaAdicionalHistoricoID;
}
public CobrancaAdcPuntoVenta getCobrancaAdicional() {
return cobrancaAdicional;
}
public void setCobrancaAdicional(CobrancaAdcPuntoVenta cobrancaAdicional) {
this.cobrancaAdicional = cobrancaAdicional;
}
public Long getContaCorrentePtoVtaId() {
return contaCorrentePtoVtaId;
}
public void setContaCorrentePtoVtaId(Long contaCorrentePtoVtaId) {
this.contaCorrentePtoVtaId = contaCorrentePtoVtaId;
}
public Integer getPuntoVentaId() {
return puntoVentaId;
}
public void setPuntoVentaId(Integer puntoVentaId) {
this.puntoVentaId = puntoVentaId;
}
public BigDecimal getValorCobranca() {
return valorCobranca;
}
public void setValorCobranca(BigDecimal valorCobranca) {
this.valorCobranca = valorCobranca;
}
public BigDecimal getValorAcumulado() {
return valorAcumulado;
}
public void setValorAcumulado(BigDecimal valorAcumulado) {
this.valorAcumulado = valorAcumulado;
}
public BigDecimal getValorAplicado() {
return valorAplicado;
}
public void setValorAplicado(BigDecimal valorAplicado) {
this.valorAplicado = valorAplicado;
}
public Boolean getCobrancaEfetuada() {
return cobrancaEfetuada == null ? false : cobrancaEfetuada;
}
public void setCobrancaEfetuada(Boolean cobrancaEfetuada) {
this.cobrancaEfetuada = cobrancaEfetuada;
}
public String getFrequenciaNaData() {
return frequenciaNaData;
}
public void setFrequenciaNaData(String frequenciaNaData) {
this.frequenciaNaData = frequenciaNaData;
}
public Date getDataRegistro() {
return dataRegistro;
}
public void setDataRegistro(Date dataRegistro) {
this.dataRegistro = dataRegistro;
}
public String getMotivo() {
return motivo;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
public Integer getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
}

View File

@ -244,7 +244,34 @@ public class PuntoVenta implements Serializable {
@Column(name = "INDBLOQUEIATIPOPASSAGEM")
private Boolean indBloqueiaTipoPassagem;
@OneToMany(mappedBy = "puntoVenta", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
@Where(clause = "activo = 1")
private List<CobrancaAdcPuntoVenta> cobrancaAdicionalList;
public List<CobrancaAdcPuntoVenta> getCobrancaAdicionalList() {
return cobrancaAdicionalList;
}
public CobrancaAdcPuntoVenta addCobrancaAddPuntoVenta(CobrancaAdcPuntoVenta cobranca) {
cobranca.setActivo(Boolean.TRUE);
cobranca.setFecmodif(Calendar.getInstance().getTime());
cobranca.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
this.cobrancaAdicionalList.add(cobranca);
return cobranca;
}
public void removeCobrancaAddPuntoVenta(CobrancaAdcPuntoVenta cobranca) {
if(this.cobrancaAdicionalList != null) {
this.cobrancaAdicionalList.remove(cobranca);
}
}
public void setCobrancaAdicionalList(List<CobrancaAdcPuntoVenta> cobrancaAdicionalList) {
this.cobrancaAdicionalList = cobrancaAdicionalList;
}
public PtovtaEmpresaBloqueada addEmpresaBloqueada(Empresa e) {
PtovtaEmpresaBloqueada eb = new PtovtaEmpresaBloqueada();
eb.setEmpresa(e);

View File

@ -0,0 +1,16 @@
package com.rjconsultores.ventaboletos.service;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
public interface CobrancaAdcPuntoVentaService extends GenericService<CobrancaAdcPuntoVenta, Integer> {
List<CobrancaAdcPuntoVenta> buscarTodasAsCobrancas(PuntoVenta puntoVenta);
List<CobrancaAdicionalHistorico> buscaHistoricoCobranca(CobrancaAdcPuntoVenta cobranca, Date dataInicial, Date dataFinal);
}

View File

@ -0,0 +1,68 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.CobrancaAdcPuntoVentaDAO;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.service.CobrancaAdcPuntoVentaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Service("cobrancaAdcPuntoVentaService")
public class CobrancaAdcPuntoVentaServiceImpl implements CobrancaAdcPuntoVentaService {
@Autowired
CobrancaAdcPuntoVentaDAO cobrancaAdcPuntoVentaDAO;
@Override
public List<CobrancaAdcPuntoVenta> obtenerTodos() {
return cobrancaAdcPuntoVentaDAO.obtenerTodos();
}
@Override
public CobrancaAdcPuntoVenta obtenerID(Integer id) {
return cobrancaAdcPuntoVentaDAO.obtenerID(id);
}
@Override
@Transactional
public CobrancaAdcPuntoVenta suscribir(CobrancaAdcPuntoVenta entidad) {
entidad.setActivo(true);
entidad.setFecmodif(new Date());
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
return cobrancaAdcPuntoVentaDAO.suscribir(entidad);
}
@Override
@Transactional
public CobrancaAdcPuntoVenta actualizacion(CobrancaAdcPuntoVenta entidad) {
entidad.setFecmodif(new Date());
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
return cobrancaAdcPuntoVentaDAO.actualizacion(entidad);
}
@Override
@Transactional
public void borrar(CobrancaAdcPuntoVenta entidad) {
entidad.setActivo(false);
entidad.setFecmodif(new Date());
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
cobrancaAdcPuntoVentaDAO.actualizacion(entidad);
}
public List<CobrancaAdicionalHistorico> buscaHistoricoCobranca(CobrancaAdcPuntoVenta cobranca, Date dataInicial, Date dataFinal) {
return cobrancaAdcPuntoVentaDAO.buscaHistoricoCobranca(cobranca, dataInicial, dataFinal);
}
@Override
public List<CobrancaAdcPuntoVenta> buscarTodasAsCobrancas(PuntoVenta puntoVenta) {
return cobrancaAdcPuntoVentaDAO.buscarTodasAsCobrancas(puntoVenta);
}
}