wilian 2015-10-26 16:09:52 +00:00
parent 5f8fa3a878
commit ad9ec35c8d
9 changed files with 308 additions and 4 deletions

View File

@ -45,4 +45,8 @@ public interface ConferenciaComissaoDAO extends GenericDAO<Conferencia, Long> {
public List<LogConferencia> carregarLogConferencia(Long conferenciaId) throws BusinessException;
public boolean isBilhetesSemConferencia(Conferencia conferencia) throws BusinessException;
public boolean isEventosFinanceirosSemConferencia(Conferencia conferencia) throws BusinessException;
}

View File

@ -9,6 +9,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@ -43,6 +44,7 @@ import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
import com.rjconsultores.ventaboletos.vo.comissao.ConferenciaComissaoVO;
import com.rjconsultores.ventaboletos.vo.comissao.DiaConferenciaComissaoVO;
import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;
import com.rjconsultores.ventaboletos.vo.comissao.FormapagoVO;
import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO;
import com.rjconsultores.ventaboletos.vo.comissao.OcdVO;
@ -396,10 +398,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT DISTINCT EE.EVENTOEXTRA_ID AS \"eventoextraId\", EE.NUMDOCUMENTO AS \"numdocumento\", ")
.append("EE.IMPINGRESO AS \"impingreso\", TEE.DESCTIPOEVENTO AS \"desctipoevento\", EE.DESCINFO AS \"descinfo\", ")
.append("LOG.STATUS AS \"status\" ")
.append("LOG.STATUS AS \"status\", FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", ")
.append("FP.INDCONFERENCIAFISICACOMISSAO AS \"indconferenciafisicacomissao\" ")
.append("FROM EVENTO_EXTRA EE ")
.append("JOIN TIPO_EVENTO_EXTRA TEE ON EE.TIPOEVENTOEXTRA_ID = TEE.TIPOEVENTOEXTRA_ID ")
.append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.EVENTOEXTRA_ID = EE.EVENTOEXTRA_ID ")
.append("LEFT JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = EE.FORMAPAGO_ID ")
.append("WHERE EE.ACTIVO = 1 ")
.append("AND TO_DATE(EE.FECHORINGRESO,'DD/MM/YY') = :datamovimento ");
@ -424,6 +428,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.addScalar("desctipoevento", Hibernate.STRING)
.addScalar("descinfo", Hibernate.STRING)
.addScalar("status", Hibernate.INTEGER)
.addScalar("formapagoId", Hibernate.INTEGER)
.addScalar("descpago", Hibernate.STRING)
.addScalar("indconferenciafisicacomissao", Hibernate.BOOLEAN)
.setResultTransformer(Transformers.aliasToBean(EventosFinanceirosVO.class));
setParametros(qr, parametros);
@ -535,13 +542,16 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("B.NUMFOLIOPREIMPRESO AS \"numFolioPreImpreso\", EST.CVEESTADO AS \"uf\", CAT.DESCCATEGORIA AS \"desccategoria\", ")
.append("NVL(B.PRECIOPAGADO,0) AS \"valorpagado\", NVL(B.IMPORTEOUTROS,0) AS \"seguroOutros\", ")
.append("NVL(B.IMPORTEPEDAGIO,0) AS \"pedagio\", NVL(B.IMPORTESEGURO,0) AS \"seguro\", ")
.append("B.TIPOVENTA_ID AS \"tipoVenta\", B.INDSTATUSBOLETO AS \"indstatusboleto\", LOG.STATUS AS \"status\" ")
.append("B.TIPOVENTA_ID AS \"tipoVenta\", B.INDSTATUSBOLETO AS \"indstatusboleto\", LOG.STATUS AS \"status\", ")
.append("FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", FP.INDCONFERENCIAFISICACOMISSAO AS \"indconferenciafisicacomissao\" ")
.append("FROM BOLETO B ")
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ")
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.PARADA_ID ")
.append("LEFT JOIN ESTADO EST ON EST.ESTADO_ID = CID.ESTADO_ID ")
.append("LEFT JOIN CATEGORIA CAT ON CAT.CATEGORIA_ID = B.CATEGORIA_ID ")
.append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.BOLETO_ID = B.BOLETO_ID ")
.append("INNER JOIN BOLETO_FORMAPAGO BF ON BF.BOLETO_ID = B.BOLETO_ID ")
.append("INNER JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = BF.FORMAPAGO_ID ")
.append("WHERE B.ACTIVO = 1 ")
.append("AND TO_DATE(B.FECHORVENTA,'DD/MM/YY') = :datamovimento ");
@ -612,10 +622,30 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.addScalar("tipoVenta", Hibernate.INTEGER)
.addScalar("indstatusboleto", Hibernate.STRING)
.addScalar("status", Hibernate.INTEGER)
.addScalar("formapagoId", Hibernate.INTEGER)
.addScalar("descpago", Hibernate.STRING)
.addScalar("indconferenciafisicacomissao", Hibernate.BOOLEAN)
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
setParametros(qr, parametros);
return qr.list();
List<BoletoComissao> lsBoletoComissao = new ArrayList<BoletoComissao>();
List<BoletoComissao> auxLsBoletoComissao = qr.list();
for (BoletoComissao boletoComissao : auxLsBoletoComissao) {
if(boletoComissao.getFormapagos() == null) {
boletoComissao.setFormapagos(new HashSet<FormapagoVO>());
}
if(lsBoletoComissao.contains(boletoComissao)) {
BoletoComissao aux = lsBoletoComissao.get(lsBoletoComissao.indexOf(boletoComissao));
aux.getFormapagos().add(new FormapagoVO(boletoComissao.getFormapagoId(), boletoComissao.getDescpago(), boletoComissao.getIndconferenciafisicacomissao()));
lsBoletoComissao.set(lsBoletoComissao.indexOf(boletoComissao), aux);
} else {
boletoComissao.getFormapagos().add(new FormapagoVO(boletoComissao.getFormapagoId(), boletoComissao.getDescpago(), boletoComissao.getIndconferenciafisicacomissao()));
lsBoletoComissao.add(boletoComissao);
}
}
return lsBoletoComissao;
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
@ -748,4 +778,93 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
}
}
@Override
@SuppressWarnings("deprecation")
public boolean isBilhetesSemConferencia(Conferencia conferencia) throws BusinessException {
try {
Map<String, Object> parametros = carregarParametros(null, conferencia.getEmpresa(), conferencia.getPuntoVenta());
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT B.BOLETO_ID AS \"boletoId\" ")
.append("FROM BOLETO B ")
.append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.BOLETO_ID = B.BOLETO_ID ")
.append("INNER JOIN BOLETO_FORMAPAGO BF ON BF.BOLETO_ID = B.BOLETO_ID ")
.append("INNER JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = BF.FORMAPAGO_ID ")
.append("WHERE B.ACTIVO = 1 ")
.append("AND (LOG.LOGCONFERENCIA_ID IS NULL OR LOG.ACTIVO = 0) ")
.append("AND FP.INDCONFERENCIAFISICACOMISSAO = 1 ")
.append("AND TO_DATE(B.FECHORVENTA,'DD/MM/YY') = :datamovimento ")
.append("AND B.TIPOVENTA_ID IN (:tipoVenta) ")
.append("AND ( ")
.append(" (B.INDSTATUSBOLETO = 'V' AND B.MOTIVOCANCELACION_ID IS NULL) ")
.append(" OR ")
.append(" (B.INDSTATUSBOLETO = 'C' AND B.MOTIVOCANCELACION_ID IN (:motivocancelacionId)) ")
.append(" ) ");
parametros.put("datamovimento", conferencia.getDatamovimento());
parametros.put("tipoVenta", Arrays.asList(Constantes.TPV_BOLETO_REMOTO,Constantes.TPV_MANUAL,Constantes.TPV_DIRECTO_NORMAL));
parametros.put("motivocancelacionId", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION,Constantes.MVO_CANCEL_DEVOLUCAO));
if(parametros.containsKey("empresaId")) {
sQuery.append("AND B.EMPRESACORRIDA_ID = :empresaId ");
}
if(parametros.containsKey("puntoventaId")) {
sQuery.append("AND B.PUNTOVENTA_ID = :puntoventaId ");
}
log.info(sQuery.toString());
Query qr = getSession().createSQLQuery(sQuery.toString())
.addScalar("boletoId", Hibernate.LONG)
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
setParametros(qr, parametros);
return !qr.list().isEmpty();
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
}
}
@Override
@SuppressWarnings("deprecation")
public boolean isEventosFinanceirosSemConferencia(Conferencia conferencia) throws BusinessException {
try {
Map<String, Object> parametros = carregarParametros(null, conferencia.getEmpresa(), conferencia.getPuntoVenta());
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT DISTINCT EE.EVENTOEXTRA_ID AS \"eventoextraId\" ")
.append("FROM EVENTO_EXTRA EE ")
.append("JOIN TIPO_EVENTO_EXTRA TEE ON EE.TIPOEVENTOEXTRA_ID = TEE.TIPOEVENTOEXTRA_ID ")
.append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.EVENTOEXTRA_ID = EE.EVENTOEXTRA_ID ")
.append("LEFT JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = EE.FORMAPAGO_ID ")
.append("WHERE EE.ACTIVO = 1 ")
.append("AND (LOG.LOGCONFERENCIA_ID IS NULL OR LOG.ACTIVO = 0) ")
.append("AND FP.INDCONFERENCIAFISICACOMISSAO = 1 ")
.append("AND TO_DATE(EE.FECHORINGRESO,'DD/MM/YY') = :datamovimento ");
parametros.put("datamovimento", conferencia.getDatamovimento());
if(parametros.containsKey("empresaId")) {
sQuery.append("AND EE.EMPRESA_ID = :empresaId ");
}
if(parametros.containsKey("puntoventaId")) {
sQuery.append("AND EE.PUNTOVENTA_ID = :puntoventaId ");
}
log.info(sQuery.toString());
Query qr = getSession().createSQLQuery(sQuery.toString())
.addScalar("eventoextraId", Hibernate.LONG)
.setResultTransformer(Transformers.aliasToBean(EventosFinanceirosVO.class));
setParametros(qr, parametros);
return !qr.list().isEmpty();
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
}
}
}

View File

@ -57,6 +57,8 @@ public class FormaPago implements Serializable {
private List<ConfigRestriccionPago> configRestriccionPagoList;
@OneToMany(mappedBy = "formaPago")
private List<PricingFormapago> pricingFormapagoList;
@Column(name = "INDCONFERENCIAFISICACOMISSAO")
private Boolean indconferenciafisicacomissao;
public FormaPago() {
}
@ -194,4 +196,12 @@ public class FormaPago implements Serializable {
public void setImpfiscal(Boolean impfiscal) {
this.impfiscal = impfiscal;
}
public Boolean getIndconferenciafisicacomissao() {
return indconferenciafisicacomissao;
}
public void setIndconferenciafisicacomissao(Boolean indconferenciafisicacomissao) {
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
}

View File

@ -85,6 +85,9 @@ public class TipoEventoExtra implements Serializable {
private String natureza;
@Column(name = "CONTACONTABIL")
private String contaContabil;
@Column(name = "INDCONFERENCIAFISICACOMISSAO")
private Boolean indconferenciafisicacomissao;
// @Column(name = "FORMAPAGO_ID")
// private Integer formapagoId;
@ -328,6 +331,13 @@ public class TipoEventoExtra implements Serializable {
public void setContaContabil(String contaContabil) {
this.contaContabil = contaContabil;
}
public Boolean getIndconferenciafisicacomissao() {
return indconferenciafisicacomissao;
}
public void setIndconferenciafisicacomissao(Boolean indconferenciafisicacomissao) {
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
}

View File

@ -42,5 +42,9 @@ public interface ConferenciaComissaoService extends GenericService<Conferencia,
public Conferencia reabrirMovimentoDiario(Conferencia conferencia) throws BusinessException;
public Conferencia obtenerConferenciaDataMovimento(Date datamovimento, Integer puntoventaId, Integer empresaId) throws BusinessException;
public boolean isBilhetesSemConferencia(Conferencia conferencia) throws BusinessException;
public boolean isEventosFinanceirosSemConferencia(Conferencia conferencia) throws BusinessException;
}

View File

@ -134,4 +134,14 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
return conferenciaComissaoDAO.obtenerConferenciaDataMovimento(datamovimento, puntoventaId, empresaId);
}
@Override
public boolean isBilhetesSemConferencia(Conferencia conferencia) throws BusinessException {
return conferenciaComissaoDAO.isBilhetesSemConferencia(conferencia);
}
@Override
public boolean isEventosFinanceirosSemConferencia(Conferencia conferencia) throws BusinessException {
return conferenciaComissaoDAO.isEventosFinanceirosSemConferencia(conferencia);
}
}

View File

@ -1,6 +1,7 @@
package com.rjconsultores.ventaboletos.vo.comissao;
import java.math.BigDecimal;
import java.util.Set;
import com.rjconsultores.ventaboletos.enums.comissao.StatusLogConferencia;
@ -28,6 +29,12 @@ public class BoletoComissao {
private String uf;
private String desccategoria;
private Integer status;
private Integer formapagoId;
private String descpago;
private Boolean indconferenciafisicacomissao;
private Set<FormapagoVO> formapagos;
private BigDecimal icmsBase;
public Integer getEmpresaId() {
@ -217,6 +224,75 @@ public class BoletoComissao {
}
return "";
}
public String getDescFormapagos() {
StringBuilder sFormapagos = new StringBuilder();
for (FormapagoVO formapago : formapagos) {
if(sFormapagos.length() > 0) {
sFormapagos.append(", ");
}
sFormapagos.append(formapago.getDescpago());
}
return sFormapagos.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((boletoId == null) ? 0 : boletoId.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;
BoletoComissao other = (BoletoComissao) obj;
if (boletoId == null) {
if (other.boletoId != null)
return false;
} else if (!boletoId.equals(other.boletoId))
return false;
return true;
}
public Integer getFormapagoId() {
return formapagoId;
}
public void setFormapagoId(Integer formapagoId) {
this.formapagoId = formapagoId;
}
public String getDescpago() {
return descpago;
}
public void setDescpago(String descpago) {
this.descpago = descpago;
}
public Boolean getIndconferenciafisicacomissao() {
return indconferenciafisicacomissao;
}
public void setIndconferenciafisicacomissao(Boolean indconferenciafisicacomissao) {
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
public Set<FormapagoVO> getFormapagos() {
return formapagos;
}
public void setFormapagos(Set<FormapagoVO> formapagos) {
this.formapagos = formapagos;
}
public BigDecimal getIcmsBase() {
return icmsBase;

View File

@ -14,6 +14,9 @@ public class EventosFinanceirosVO {
private String desctipoevento;
private String descinfo;
private Integer status;
private Integer formapagoId;
private String descpago;
private Boolean indconferenciafisicacomissao;
public Long getEventoextraId() {
return eventoextraId;
@ -79,4 +82,28 @@ public class EventosFinanceirosVO {
return "";
}
public Integer getFormapagoId() {
return formapagoId;
}
public void setFormapagoId(Integer formapagoId) {
this.formapagoId = formapagoId;
}
public String getDescpago() {
return descpago;
}
public void setDescpago(String descpago) {
this.descpago = descpago;
}
public Boolean getIndconferenciafisicacomissao() {
return indconferenciafisicacomissao;
}
public void setIndconferenciafisicacomissao(Boolean indconferenciafisicacomissao) {
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
}

View File

@ -0,0 +1,44 @@
package com.rjconsultores.ventaboletos.vo.comissao;
public class FormapagoVO {
private Integer formapagoId;
private String descpago;
private Boolean indconferenciafisicacomissao;
public FormapagoVO() {
super();
}
public FormapagoVO(Integer formapagoId, String descpago, Boolean indconferenciafisicacomissao) {
this();
this.formapagoId = formapagoId;
this.descpago = descpago;
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
public Integer getFormapagoId() {
return formapagoId;
}
public void setFormapagoId(Integer formapagoId) {
this.formapagoId = formapagoId;
}
public String getDescpago() {
return descpago;
}
public void setDescpago(String descpago) {
this.descpago = descpago;
}
public Boolean getIndconferenciafisicacomissao() {
return indconferenciafisicacomissao;
}
public void setIndconferenciafisicacomissao(Boolean indconferenciafisicacomissao) {
this.indconferenciafisicacomissao = indconferenciafisicacomissao;
}
}