Rotina de faturamento de voucher feat bug#AL-4356

master
Fabio 2024-08-21 14:57:02 -03:00
parent f9750aee3c
commit cf539458e2
7 changed files with 119 additions and 32 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId> <artifactId>ModelWeb</artifactId>
<version>1.96.3</version> <version>1.97.0</version>
<distributionManagement> <distributionManagement>
<repository> <repository>

View File

@ -9,6 +9,6 @@ public interface VoucherDAO extends GenericDAO<Voucher, Long> {
public List<Voucher> buscarConsulta(Long voucherId, String numContrato, String nit, String nomeTransportadora, Date dataInicial, Date dataFinal, Integer origemId, Integer destinoId); public List<Voucher> buscarConsulta(Long voucherId, String numContrato, String nit, String nomeTransportadora, Date dataInicial, Date dataFinal, Integer origemId, Integer destinoId);
public List<Voucher> buscarLegalizacao(Long numInicial, Long numFinal, String numContrato, Integer status, Integer origenId, Integer destinoId); public List<Voucher> buscarListaVoucher(Long numInicial, Long numFinal, String numContrato, Long transportadora, Long grupoContratoId, Integer status, Integer origenId, Integer destinoId);
} }

View File

@ -61,6 +61,7 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
null, null,
null, null,
null, null,
null,
hql); hql);
hql.append("ORDER BY voucherId "); hql.append("ORDER BY voucherId ");
@ -79,15 +80,18 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
null, null,
null, null,
null, null,
null,
query); query);
return query.list(); return query.list();
} }
@Override @Override
public List<Voucher> buscarLegalizacao(Long numInicial, public List<Voucher> buscarListaVoucher(Long numInicial,
Long numFinal, Long numFinal,
String numContrato, String numContrato,
Long transportadoraId,
Long grupoContratoId,
Integer status, Integer status,
Integer origemId, Integer origemId,
Integer destinoId) { Integer destinoId) {
@ -108,7 +112,8 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
status, status,
origemId, origemId,
destinoId, destinoId,
null, transportadoraId,
grupoContratoId,
numInicial, numInicial,
numFinal, numFinal,
hql); hql);
@ -126,7 +131,8 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
status, status,
origemId, origemId,
destinoId, destinoId,
null, transportadoraId,
grupoContratoId,
numInicial, numInicial,
numFinal, numFinal,
query); query);
@ -134,7 +140,6 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
return query.list(); return query.list();
} }
private void setJoins(StringBuilder hql) { private void setJoins(StringBuilder hql) {
hql.append("LEFT JOIN com.rjconsultores.ventaboletos.entidad.Parada ori ON v.origenId = ori.paradaId "); hql.append("LEFT JOIN com.rjconsultores.ventaboletos.entidad.Parada ori ON v.origenId = ori.paradaId ");
hql.append("LEFT JOIN com.rjconsultores.ventaboletos.entidad.Parada des ON v.destinoId = des.paradaId "); hql.append("LEFT JOIN com.rjconsultores.ventaboletos.entidad.Parada des ON v.destinoId = des.paradaId ");
@ -150,6 +155,7 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
Integer origemId, Integer origemId,
Integer destinoId, Integer destinoId,
Long transportadoraId, Long transportadoraId,
Long grupoContratoId,
Long numInicial, Long numInicial,
Long numFinal, Long numFinal,
StringBuilder hql) { StringBuilder hql) {
@ -186,6 +192,10 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
hql.append(" AND v.transportadora.transportadoraId = :transportadoraId "); hql.append(" AND v.transportadora.transportadoraId = :transportadoraId ");
} }
if(grupoContratoId != null ){
hql.append(" AND v.contrato.grupoContratoId = :grupoContratoId ");
}
if(dataInicial != null ){ if(dataInicial != null ){
hql.append(" AND v.dataValidade >= :dataInicial "); hql.append(" AND v.dataValidade >= :dataInicial ");
} }
@ -213,6 +223,7 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
Integer origemId, Integer origemId,
Integer destinoId, Integer destinoId,
Long transportadoraId, Long transportadoraId,
Long grupoContratoId,
Long numInicial, Long numInicial,
Long numFinal, Long numFinal,
Query query) { Query query) {
@ -245,6 +256,10 @@ public class VoucherHibernateDAO extends GenericHibernateDAO<Voucher, Long> impl
query.setLong("transportadoraId", transportadoraId); query.setLong("transportadoraId", transportadoraId);
} }
if(grupoContratoId != null ){
query.setLong("grupoContratoId", grupoContratoId);
}
if(dataInicial != null ){ if(dataInicial != null ){
query.setDate("dataInicial", dataInicial); query.setDate("dataInicial", dataInicial);
} }

View File

@ -94,7 +94,7 @@ public class Voucher implements Serializable {
@Column(name = "GRUPOCONTRATO_ID") @Column(name = "GRUPOCONTRATO_ID")
private Long grupoContratoId; private Long grupoContratoId;
@OneToOne(fetch = FetchType.LAZY) @OneToOne
@JoinColumn(name = "TRANSPORTADORA_ID") @JoinColumn(name = "TRANSPORTADORA_ID")
private Transportadora transportadora; private Transportadora transportadora;
@ -106,6 +106,10 @@ public class Voucher implements Serializable {
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date dataLegaliza; private Date dataLegaliza;
@Column(name = "DATA_CORTE")
@Temporal(TemporalType.TIMESTAMP)
private Date dataCorte;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
private boolean activo; private boolean activo;

View File

@ -11,8 +11,12 @@ import com.rjconsultores.ventaboletos.vo.configuracioneccomerciales.VoucherVO;
public interface VoucherService extends GenericService<Voucher, Long> { public interface VoucherService extends GenericService<Voucher, Long> {
List<Voucher> buscarConsulta(Long voucherId, String numContrato, String nit, String nomeTransportadora, Date dataInicial, Date dataFinal, Integer origemId, Integer destinoId); public List<Voucher> buscarConsulta(Long voucherId, String numContrato, String nit, String nomeTransportadora, Date dataInicial, Date dataFinal, Integer origemId, Integer destinoId);
List<VoucherVO> legalizar(Long numInicial, Long numFinal, String numContrato, Transportadora transportadora, BigDecimal valor, Parada origem, Parada destino); public List<VoucherVO> legalizar(Long numInicial, Long numFinal, String numContrato, Transportadora transportadora, BigDecimal valor, Parada origem, Parada destino);
public List<Voucher> buscarListaVoucher(Long numInicial, Long numFinal, String numContrato, Long transportadora, Long grupoContratoId, Integer status, Integer origem, Integer destino);
public List<Voucher> faturar(List<Voucher> lista, Long numFatura, Date datCorte);
} }

View File

@ -9,6 +9,7 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.zkoss.lang.Strings;
import org.zkoss.util.resource.Labels; import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.dao.VoucherDAO; import com.rjconsultores.ventaboletos.dao.VoucherDAO;
@ -45,6 +46,8 @@ public class VoucherServiceImpl implements VoucherService {
@Transactional @Transactional
public Voucher actualizacion(Voucher entidad) { public Voucher actualizacion(Voucher entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecModif(Calendar.getInstance().getTime());
return voucherDAO.actualizacion(entidad); return voucherDAO.actualizacion(entidad);
} }
@ -76,6 +79,25 @@ public class VoucherServiceImpl implements VoucherService {
destinoId); destinoId);
} }
@Override
public List<Voucher> buscarListaVoucher(Long numInicial,
Long numFinal,
String numContrato,
Long transportadora,
Long grupoContratoId,
Integer status,
Integer origem,
Integer destino) {
return voucherDAO.buscarListaVoucher(numInicial,
numFinal,
numContrato,
transportadora,
grupoContratoId,
status,
origem,
destino);
}
@Override @Override
@Transactional @Transactional
public List<VoucherVO> legalizar(Long numInicial, public List<VoucherVO> legalizar(Long numInicial,
@ -85,11 +107,13 @@ public class VoucherServiceImpl implements VoucherService {
BigDecimal valor, BigDecimal valor,
Parada origem, Parada origem,
Parada destino) { Parada destino) {
List<Voucher> dados = voucherDAO.buscarLegalizacao(numInicial, List<Voucher> dados = voucherDAO.buscarListaVoucher(numInicial,
numFinal, numFinal,
null, null,
null, null,
null, null,
null,
null,
null); null);
List<VoucherVO> retorno = new ArrayList<VoucherVO>(); List<VoucherVO> retorno = new ArrayList<VoucherVO>();
@ -143,4 +167,32 @@ public class VoucherServiceImpl implements VoucherService {
return retorno; return retorno;
} }
@Override
@Transactional
public List<Voucher> faturar(List<Voucher> lista, Long numFatura, Date datCorte) {
for (Voucher vou : lista) {
if( Strings.isBlank(vou.getNumFatura()) ) {
if(numFatura != null) {
vou.setNumFatura(numFatura.toString());
}else {
continue;
}
}
if( vou.getDataCorte() == null ) {
if(datCorte != null) {
vou.setDataCorte(datCorte);
}else {
continue;
}
}
vou.setStatus(SituacaoVoucher.FATURADO.getValor());
vou.setDataFatura(Calendar.getInstance().getTime());
voucherDAO.actualizacion(vou);
}
return lista;
}
} }

View File

@ -75,6 +75,15 @@ public class VoucherVO implements Serializable {
@Renderizado( posicao = 8 ) @Renderizado( posicao = 8 )
private String mensagem; private String mensagem;
@Temporal(TemporalType.TIMESTAMP)
private Date dataFatura;
@Temporal(TemporalType.TIMESTAMP)
private Date dataLegaliza;
@Temporal(TemporalType.TIMESTAMP)
private Date dataCorte;
public SituacaoVoucher getSituacaoVoucher() { public SituacaoVoucher getSituacaoVoucher() {
return SituacaoVoucher.buscarPeloValor(status); return SituacaoVoucher.buscarPeloValor(status);
} }
@ -123,6 +132,9 @@ public class VoucherVO implements Serializable {
this.transportadora = pai.getTransportadora(); this.transportadora = pai.getTransportadora();
this.valorLegalizado = pai.getValorLegalizado(); this.valorLegalizado = pai.getValorLegalizado();
this.valorLicitado = pai.getValorLicitado(); this.valorLicitado = pai.getValorLicitado();
this.dataFatura = pai.getDataFatura();
this.dataLegaliza = pai.getDataLegaliza();
this.dataCorte = pai.getDataCorte();
} }
public static VoucherVO converteVoucher( Voucher pai ) { public static VoucherVO converteVoucher( Voucher pai ) {