diff --git a/pom.xml b/pom.xml
index 8ea869bc4..8ce4b5dc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
modelWeb
- 1.0.0
+ 1.0.3
diff --git a/src/com/rjconsultores/ventaboletos/dao/HistoricoFormaPagoPuntoVentaDAO.java b/src/com/rjconsultores/ventaboletos/dao/HistoricoFormaPagoPuntoVentaDAO.java
new file mode 100644
index 000000000..75966b2f0
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/HistoricoFormaPagoPuntoVentaDAO.java
@@ -0,0 +1,20 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.rjconsultores.ventaboletos.dao;
+
+import java.util.List;
+
+import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+
+/**
+ *
+ * @author Wallace
+ */
+public interface HistoricoFormaPagoPuntoVentaDAO extends GenericDAO {
+
+ List obtenerTodosPorPuntoVenta(PuntoVenta puntoVenta);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/PeajeDao.java b/src/com/rjconsultores/ventaboletos/dao/PeajeDao.java
new file mode 100644
index 000000000..7f0415b31
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/PeajeDao.java
@@ -0,0 +1,8 @@
+package com.rjconsultores.ventaboletos.dao;
+
+import com.rjconsultores.ventaboletos.entidad.Peaje;
+
+public interface PeajeDao extends GenericDAO {
+
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java
index 6af7ce7ed..0e34d5ade 100644
--- a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java
@@ -76,5 +76,5 @@ public interface RutaDAO extends GenericDAO {
public List buscarPorIds(Integer[] rutaIds);
- public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje);
+ public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa);
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/SapDAO.java b/src/com/rjconsultores/ventaboletos/dao/SapDAO.java
index 473bfcc86..112a0a26e 100644
--- a/src/com/rjconsultores/ventaboletos/dao/SapDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/SapDAO.java
@@ -10,9 +10,9 @@ import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO;
public interface SapDAO extends GenericDAO {
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar);
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status);
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar, PuntoVenta puntoVenta);
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status, PuntoVenta puntoVenta);
public boolean atualizaFechamento(Long fechamentocntcorrenteId, int status) throws Exception;
diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java
index 66e61eef2..c1c0bc3b3 100644
--- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java
@@ -1,8 +1,10 @@
package com.rjconsultores.ventaboletos.dao;
+import java.math.BigDecimal;
import java.util.List;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
+import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
@@ -13,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.service.TarifaOficialService;
+import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialComComposicaoDoPedagioVo;
import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialVO;
public interface TarifaOficialDAO extends GenericDAO {
@@ -23,7 +26,7 @@ public interface TarifaOficialDAO extends GenericDAO {
* @param orgaoConcedenteId TODO
* @return TODO
*/
- public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas);
+ public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas,Integer[] lsCasetaPeaje);
public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas);
@@ -98,4 +101,8 @@ public interface TarifaOficialDAO extends GenericDAO {
public long obtenerCount(List lsEmpresaSelected);
public List obterTarifaOficialPorFiltroVO(Moneda moneda, Marca marca,List lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende);
+
+ public List oberTarifaOficialComComposicaoDoPedagioVo(Integer empresaId);
+
+ public void atualizarPedagioComFiltroDePracaDePedagio(Integer tarifaOficialId, BigDecimal importePedagio, String composicaoPedagio );
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/HistoricoFormaPagoPuntoVentaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/HistoricoFormaPagoPuntoVentaHibernateDAO.java
new file mode 100644
index 000000000..29201ff13
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/HistoricoFormaPagoPuntoVentaHibernateDAO.java
@@ -0,0 +1,49 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.rjconsultores.ventaboletos.dao.hibernate;
+
+import java.util.List;
+
+import org.hibernate.Criteria;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Repository;
+
+import com.rjconsultores.ventaboletos.dao.HistoricoFormaPagoPuntoVentaDAO;
+import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+
+/**
+ *
+ * @author Administrador
+ */
+@Repository("historicoFormaPagoPuntoVentaDAO")
+public class HistoricoFormaPagoPuntoVentaHibernateDAO extends GenericHibernateDAO implements HistoricoFormaPagoPuntoVentaDAO {
+
+ @Autowired
+ public HistoricoFormaPagoPuntoVentaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
+ setSessionFactory(factory);
+ }
+
+ @Override
+ public List obtenerTodos() {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+
+ return c.list();
+ }
+
+ @Override
+ public List obtenerTodosPorPuntoVenta(PuntoVenta puntoVenta) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+ c.add(Restrictions.eq("puntoVenta", puntoVenta));
+
+ return c.list();
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/PeajeHibernateDao.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/PeajeHibernateDao.java
new file mode 100644
index 000000000..a4d293e69
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/PeajeHibernateDao.java
@@ -0,0 +1,20 @@
+package com.rjconsultores.ventaboletos.dao.hibernate;
+
+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.PeajeDao;
+import com.rjconsultores.ventaboletos.entidad.Peaje;
+
+
+@Repository("peajeDao")
+public class PeajeHibernateDao extends GenericHibernateDAO implements PeajeDao {
+
+ @Autowired
+ public PeajeHibernateDao(@Qualifier("sessionFactory") SessionFactory factory) {
+ setSessionFactory(factory);
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java
index fee5d58b2..f09a5e060 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java
@@ -470,7 +470,7 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme
}
@Override
- public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje){
+ public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje,Empresa empresa){
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("indRutaCancelada", Boolean.FALSE));
@@ -485,6 +485,9 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme
crietriaOrgaoConcendente.add(Restrictions.eq("activo", Boolean.TRUE));
crietriaOrgaoConcendente.add(Restrictions.eq("orgaoConcedenteId", orgao.getOrgaoConcedenteId()));
}
+ if (empresa != null && empresa.getEmpresaId() != -1) {
+ c.createCriteria("lsRutaEmpresa").add(Restrictions.eq("empresa", empresa));
+ }
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return c.list();
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/SapHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/SapHibernateDAO.java
index 74cb6f8f2..6a9a3ef45 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/SapHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/SapHibernateDAO.java
@@ -7,19 +7,20 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import com.rjconsultores.ventaboletos.dao.SapDAO;
+import com.rjconsultores.ventaboletos.entidad.Empresa;
+import com.rjconsultores.ventaboletos.entidad.FechamentoCntcorrente;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.enums.StatusIntegracaoSap;
+import com.rjconsultores.ventaboletos.utilerias.DateUtil;
+import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO;
+
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.SapDAO;
-import com.rjconsultores.ventaboletos.entidad.Empresa;
-import com.rjconsultores.ventaboletos.entidad.FechamentoCntcorrente;
-import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
-import com.rjconsultores.ventaboletos.utilerias.DateUtil;
-import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO;
-
@Repository("sapDAO")
public class SapHibernateDAO extends GenericHibernateDAO implements SapDAO {
@@ -29,13 +30,13 @@ public class SapHibernateDAO extends GenericHibernateDAO obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) {
- return obtenerTodosParaRemessa(empresa, dataDe, dataAte, reenviar, null);
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status) {
+ return obtenerTodosParaRemessa(empresa, dataDe, dataAte, status, null);
}
@SuppressWarnings("unchecked")
@Override
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar, PuntoVenta puntoVenta) {
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status, PuntoVenta puntoVenta) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT ");
@@ -76,8 +77,8 @@ public class SapHibernateDAO extends GenericHibernateDAO idsEmpresas) {
+ public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas, Integer[] lsCasetaPeaje) {
- String sql = sqlBuilder.getSQLGerarTarifaOficial(rutaId, usuarioId, orgaoConcedente, idsEmpresas);
+ String sql = sqlBuilder.getSQLGerarTarifaOficial(rutaId, usuarioId, orgaoConcedente, idsEmpresas,lsCasetaPeaje);
int qtd = getSession().createSQLQuery(sql).executeUpdate();
@@ -369,7 +373,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO= TO_DATE(:dataFinal,'DD/MM/YYYY hh24:mi')");
+ sql.append(" INNER JOIN PEAJE p");
+ sql.append(" ON p.ORGAOCONCEDENTE_ID = tof.ORGAOCONCEDENTE_ID");
+ sql.append(" AND p.ruta_id= tof.ruta_id");
+ sql.append(" AND p.ORIGEN_ID = tof.ORIGEN_ID");
+ sql.append(" AND p.DESTINO_ID = tof.DESTINO_ID");
+ sql.append(" AND p.activo = 1");
+ sql.append(" AND m.empresa_id=:empresaId ");
+ sql.append(" group by ta.tarifa_id,tof.tarifaoficial_id,ta.tarifa_id,ta.COMPOSICAO_DO_PEAJE");
+
+ Query query = getSession().createSQLQuery(sql.toString());
+
+ Query qr = getSession().createSQLQuery(sql.toString()).addScalar("tarifaOficialId", Hibernate.INTEGER).addScalar("composicaoDoPedagioNaTarifa", Hibernate.STRING).addScalar("composicaoDoPedagioNaTarifaOficialComPeaje", Hibernate.STRING).setResultTransformer(Transformers.aliasToBean(TarifaOficialComComposicaoDoPedagioVo.class));
+ qr.setParameter("empresaId", empresaId);
+ qr.setParameter("dataInicial", DateUtil.getStringDate(DateUtil.inicioFecha(new Date()), "dd/MM/yyyy HH:mm"));
+ qr.setParameter("dataFinal", DateUtil.getStringDate(DateUtil.fimFecha(new Date()), "dd/MM/yyyy HH:mm"));
+
+ return (List) qr.list();
+
+
+
+
+ }
+
+ @Override
+ public void atualizarPedagioComFiltroDePracaDePedagio(Integer tarifaOficialId, BigDecimal importePedagio, String composicaoPedagio) {
+ StringBuilder sb = new StringBuilder("");
+ sb.append("update tarifa_oficial set IMPORTEPEDAGIO =:importePedagio, ");
+ sb.append("COMPOSICAO_DO_PEAJE =:composicaoDoPedagio ");
+ sb.append("WHERE tarifaoficial_id=:tarifaOficialId");
+
+ Query query = getSession().createSQLQuery(sb.toString());
+ query.setBigDecimal("importePedagio", importePedagio);
+ query.setString("composicaoDoPedagio", composicaoPedagio);
+ query.setInteger("tarifaOficialId", tarifaOficialId);
+
+ query.executeUpdate();
+
+ }
+
}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java
index 93847780c..deac6d043 100644
--- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java
+++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java
@@ -21,7 +21,7 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
*/
public interface SQLBuilder {
- public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas);
+ public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas, Integer[] listCasetaPeaje);
public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas, List lsParadaId);
diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java
index d189be441..b14c162e8 100644
--- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java
+++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java
@@ -5,6 +5,8 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang.StringUtils;
+
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
@@ -245,7 +247,7 @@ public class SQLBuilderOracle implements SQLBuilder {
@Override
public String getSQLGerarTarifaOficial(final Integer codRuta, final Integer usuarioId,
- final OrgaoConcedente orgaoConcedente, final List idsEmpresas) {
+ final OrgaoConcedente orgaoConcedente, final List idsEmpresas,Integer[] listCasetaPeaje) {
StringBuilder sb = new StringBuilder();
sb.append(" INSERT ");
@@ -374,8 +376,12 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join estado e on e.estado_id = c.estado_id ");
sb.append(" inner join MARCA_CLASESERVICIO mc on ");
sb.append(" mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and ma.marca_id = mc.marca_id ");
+ if(null !=listCasetaPeaje) {
+ sb.append(" inner join peaje p on p.ruta_id=r.ruta_id and p.origen_id=po.parada_id and p.destino_id=pd.parada_id and p.orgaoconcedente_id =oc.orgaoconcedente_id ");
+ }
sb.append(" inner join CLASE_SERVICIO cl on cl.claseservicio_id = r.CLASESERVICIO_ID, ");
sb.append(" moneda m ");
+
sb.append(" ");
sb.append("where ");
sb.append(" rc.activo = 1 ");
@@ -406,7 +412,11 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" oc.orgaoconcedente_id, r.ruta_id) ");
sb.append(" not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_ID, ");
sb.append(" tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id ");
- sb.append(" from tarifa_oficial tao where tao.activo = 1) ");
+ sb.append(" from tarifa_oficial tao where tao.activo = 1) ");
+ if(null !=listCasetaPeaje) {
+ sb.append(" and p.activo=1 ");
+ sb.append(" and p.casetapeaje_id in ( " + StringUtils.join(listCasetaPeaje,",") + ") ");
+ }
return sb.toString();
}
@@ -768,6 +778,7 @@ public class SQLBuilderOracle implements SQLBuilder {
StringBuilder sb = new StringBuilder("");
sb.append("SELECT tao.IMPORTEPEDAGIO AS \"taoimportepedagio\", ");
+ sb.append(" tao.COMPOSICAO_DO_PEAJE AS \"taocomposicaodopeaje\", ");
sb.append(" tao.PRECIO AS \"taoprecio\", ");
sb.append(" tao.PRECIOORIGINAL AS \"taopreciooriginal\", ");
sb.append(" tao.IMPORTETAXAEMBARQUE AS \"taoimportetaxaembarque\", ");
@@ -809,6 +820,7 @@ public class SQLBuilderOracle implements SQLBuilder {
if (calculaPegagio) {
sb.append("IMPORTEPEDAGIO=").append(dados.get("taoimportepedagio")).append(",");
+ sb.append(" COMPOSICAO_DO_PEAJE='").append(dados.get("taocomposicaodopeaje")).append("',");
}
if (calculaTarifa) {
sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(",");
@@ -839,7 +851,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" MARCA_ID, CLASESERVICIO_ID, PRECIOORIGINAL, MONEDA_ID, ");
sb.append(" VIGENCIATARIFA_ID, STATUSTARIFA, ACTIVO, FECMODIF, ");
sb.append(" USUARIO_ID, IMPORTETAXAEMBARQUE, IMPORTEPEDAGIO, IMPORTEOUTROS, ");
- sb.append(" IMPORTESEGURO, IMPORTETPP, ORGAOCONCEDENTE_ID, RUTA_ID, ORIGEN_ID, DESTINO_ID ) ");
+ sb.append(" IMPORTESEGURO, IMPORTETPP, ORGAOCONCEDENTE_ID, RUTA_ID, ORIGEN_ID, DESTINO_ID, COMPOSICAO_DO_PEAJE ) ");
sb.append(" select ");
sb.append(" TARIFA_SEQ.nextval, ");
sb.append(" tao.PRECIO , ");
@@ -862,7 +874,8 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" tao.ORGAOCONCEDENTE_ID , ");
sb.append(" tao.RUTA_ID , ");
sb.append(" tao.ORIGEN_ID , ");
- sb.append(" tao.DESTINO_ID ");
+ sb.append(" tao.DESTINO_ID, ");
+ sb.append(" tao.COMPOSICAO_DO_PEAJE ");
sb.append(" from ");
sb.append(" TARIFA_OFICIAL tao, ");
sb.append(" VIGENCIA_TARIFA v, ");
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Categoria.java b/src/com/rjconsultores/ventaboletos/entidad/Categoria.java
index 584566217..2d27484e2 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Categoria.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Categoria.java
@@ -102,6 +102,9 @@ public class Categoria implements Serializable {
@Column(name = "INDVENDEAPI")
private Boolean indvendeapi;
+ @Column(name = "INDEXIGEIDENTIDADE")
+ private Boolean indExigeIdentidade;
+
public Categoria() {
}
@@ -292,4 +295,14 @@ public class Categoria implements Serializable {
public void setIndvendeapi(Boolean indvendeapi) {
this.indvendeapi = indvendeapi;
}
+
+ public Boolean getIndExigeIdentidade() {
+ return indExigeIdentidade;
+
+ }
+
+ public void setIndExigeIdentidade(Boolean indExigeIdentidade) {
+ this.indExigeIdentidade = indExigeIdentidade;
+
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/HistoricoFormaPagoPuntoVenta.java b/src/com/rjconsultores/ventaboletos/entidad/HistoricoFormaPagoPuntoVenta.java
new file mode 100644
index 000000000..167a6fe74
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/HistoricoFormaPagoPuntoVenta.java
@@ -0,0 +1,183 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.io.Serializable;
+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;
+import javax.persistence.Transient;
+
+import org.hibernate.Hibernate;
+
+import br.com.rjconsultores.auditador.annotations.AuditarClasse;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
+@AuditarClasse(nome = "HistoricoFormaPagoPuntoVenta", tela = "Alteracao Forma Pago Ponto de Venda/Historico")
+@Entity
+@SequenceGenerator(name = "HIST_FORMAPAGOPUNTOVENTA_SEQ", sequenceName = "HIST_FORMAPAGOPUNTOVENTA_SEQ", allocationSize = 1)
+@Table(name = "HIST_FORMAPAGO_PUNTOVENTA")
+public class HistoricoFormaPagoPuntoVenta implements Serializable, Auditavel {
+
+ private static final long serialVersionUID = 1L;
+ @Id
+ @Basic(optional = false)
+ @GeneratedValue(strategy = GenerationType.AUTO, generator = "HIST_FORMAPAGOPUNTOVENTA_SEQ")
+ @Column(name = "HIST_FORMAPAGO_PUNTOVENTA_ID")
+ private Integer historicoFormaPagoPuntoVentaId;
+
+ @Column(name = "IND_INCLUSAO")
+ private Boolean indInclusao;
+
+ @Column(name = "MOTIVO")
+ private String motivo;
+
+ @Column(name = "FEC_ALTERACAO")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecAlteracao;
+
+ @NaoAuditar
+ @ManyToOne
+ @JoinColumn(name = "PUNTOVENTA_ID")
+ private PuntoVenta puntoVenta;
+
+ @Column(name = "FORMAPAGO_ID")
+ private Integer formaPagoId;
+
+ @Column(name = "ACTIVO")
+ private Boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecmodif;
+
+ @Column(name = "USUARIO_ID")
+ private Integer usuarioId;
+
+ @Column(name = "EMPRESA_ID")
+ private Integer empresaId;
+
+ @Transient
+ @NaoAuditar
+ private HistoricoFormaPagoPuntoVenta historicoPuntoVentaClone;
+
+
+ public Integer getHistoricoFormaPagoPuntoVentaId() {
+ return historicoFormaPagoPuntoVentaId;
+ }
+
+ public void setHistoricoFormaPagoPuntoVentaId(Integer historicoFormaPagoPuntoVentaId) {
+ this.historicoFormaPagoPuntoVentaId = historicoFormaPagoPuntoVentaId;
+ }
+
+ public Boolean getIndInclusao() {
+ return indInclusao;
+ }
+
+ public void setIndInclusao(Boolean indInclusao) {
+ this.indInclusao = indInclusao;
+ }
+
+ public Date getFecAlteracao() {
+ return fecAlteracao;
+ }
+
+ public void setFecAlteracao(Date fecAlteracao) {
+ this.fecAlteracao = fecAlteracao;
+ }
+
+ public HistoricoFormaPagoPuntoVenta getHistoricoPuntoVentaClone() {
+ return historicoPuntoVentaClone;
+ }
+
+ public void setHistoricoPuntoVentaClone(HistoricoFormaPagoPuntoVenta historicoPuntoVentaClone) {
+ this.historicoPuntoVentaClone = historicoPuntoVentaClone;
+ }
+
+ public PuntoVenta getPuntoVenta() {
+ return puntoVenta;
+ }
+
+ public void setPuntoVenta(PuntoVenta puntoVenta) {
+ this.puntoVenta = puntoVenta;
+ }
+
+ 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 Integer getUsuarioId() {
+ return usuarioId;
+ }
+
+ public void setUsuarioId(Integer usuarioId) {
+ this.usuarioId = usuarioId;
+ }
+
+ public Integer getEmpresaId() {
+ return empresaId;
+ }
+
+ public void setEmpresaId(Integer empresaId) {
+ this.empresaId = empresaId;
+ }
+
+ public String getMotivo() {
+ return motivo;
+ }
+
+ public void setMotivo(String motivo) {
+ this.motivo = motivo;
+ }
+
+ public Integer getFormaPagoId() {
+ return formaPagoId;
+ }
+
+ public void setFormaPagoId(Integer formaPagoId) {
+ this.formaPagoId = formaPagoId;
+ }
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ historicoPuntoVentaClone = new HistoricoFormaPagoPuntoVenta();
+ historicoPuntoVentaClone = (HistoricoFormaPagoPuntoVenta) this.clone();
+ Hibernate.initialize(historicoPuntoVentaClone.getPuntoVenta());
+
+ }
+
+ @Override
+ public HistoricoFormaPagoPuntoVenta getCloneObject() throws CloneNotSupportedException {
+ return historicoPuntoVentaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getHistoricoFormaPagoPuntoVentaId());
+ }
+
+
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java b/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java
index c1a85bd6a..d77961506 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java
@@ -52,7 +52,7 @@ import br.com.rjconsultores.auditador.interfaces.Auditavel;
*/
@Entity
@SequenceGenerator(name = "PUNTO_VENTA_SEQ", sequenceName = "PUNTO_VENTA_SEQ", allocationSize = 1)
-@AuditarClasse(nome = "PuntoVenta", tela = "Alteração de Ponto de Venda")
+@AuditarClasse(nome = "PuntoVenta", tela = "Altera��o de Ponto de Venda")
@Table(name = "PUNTO_VENTA")
public class PuntoVenta implements Serializable, Auditavel {
@@ -259,6 +259,11 @@ public class PuntoVenta implements Serializable, Auditavel {
@LazyCollection(LazyCollectionOption.FALSE)
private List historicoPuntoVentaList;
+ @NaoAuditar
+ @OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoVenta")
+ @LazyCollection(LazyCollectionOption.FALSE)
+ private List historicoFormaPagoPuntoVentaList;
+
@AuditarLista(auditarEntidades = true, nome = "CategoriaBloqueioImpPosterior")
@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventa")
@LazyCollection(LazyCollectionOption.FALSE)
@@ -326,6 +331,12 @@ public class PuntoVenta implements Serializable, Auditavel {
@Column(name = "INDBLOQCANCBILHETEIMPRESSO ")
private Boolean indBloqueiaCancelamentoBilheteImpresso;
+ @Column(name = "LATITUDE ")
+ private Double latitude;
+
+ @Column(name = "LONGITUDE ")
+ private Double longitude;
+
public List getCobrancaAdicionalList() {
return cobrancaAdicionalList;
}
@@ -424,6 +435,7 @@ public class PuntoVenta implements Serializable, Auditavel {
this.ptovtaCatIndList = new ArrayList();
this.ptovtaEmpresaBloqueadaList = new ArrayList();
this.historicoPuntoVentaList = new ArrayList();
+ this.historicoFormaPagoPuntoVentaList = new ArrayList();
}
public PuntoVenta(Integer puntoventaId) {
@@ -1093,6 +1105,14 @@ public class PuntoVenta implements Serializable, Auditavel {
this.historicoPuntoVentaList = historicoPuntoVentaList;
}
+ public List getHistoricoFormaPagoPuntoVentaList() {
+ return historicoFormaPagoPuntoVentaList;
+ }
+
+ public void setHistoricoFormaPagoPuntoVentaList(List historicoFormaPagoPuntoVentaList) {
+ this.historicoFormaPagoPuntoVentaList = historicoFormaPagoPuntoVentaList;
+ }
+
public List getCategoriaBloqImpPosteriorList() {
return categoriaBloqImpPosteriorList;
}
@@ -1280,6 +1300,22 @@ public class PuntoVenta implements Serializable, Auditavel {
this.ptovtaExcecaoMultaCancList = ptovtaExcecaoMultaCanc;
}
+ public Double getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(Double latitude) {
+ this.latitude = latitude;
+ }
+
+ public Double getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(Double longitude) {
+ this.longitude = longitude;
+ }
+
@Override
public void clonar() throws CloneNotSupportedException {
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java b/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
index 16be316b4..8e7729292 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
@@ -162,6 +162,11 @@ public class Tarifa implements Serializable, Auditavel, AuditavelTelaAlt
@Transient
private String telaAlternativa;
+
+ @Column(name = "COMPOSICAO_DO_PEAJE")
+ @NaoAuditar
+ private String composicaoDoPeaje;
+
public Tarifa() {
}
@@ -407,6 +412,16 @@ public class Tarifa implements Serializable, Auditavel, AuditavelTelaAlt
public void setImporteseguro(BigDecimal importeseguro) {
this.importeseguro = importeseguro;
}
+
+
+
+ public String getComposicaoDoPeaje() {
+ return composicaoDoPeaje;
+ }
+
+ public void setComposicaoDoPeaje(String composicaoDoPeaje) {
+ this.composicaoDoPeaje = composicaoDoPeaje;
+ }
@Override
public void clonar() throws CloneNotSupportedException {
diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
index 06dc2a4b4..2d1c8b244 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
@@ -138,6 +138,10 @@ public class TarifaOficial implements Serializable, Auditavel {
@Transient
private Integer empresaId;
+
+ @Column(name = "COMPOSICAO_DO_PEAJE")
+ @NaoAuditar
+ private String composicaoDoPeaje;
public TarifaOficial() {
}
@@ -285,6 +289,16 @@ public class TarifaOficial implements Serializable, Auditavel {
public void setDestino(Parada destino) {
this.destino = destino;
}
+
+
+
+ public String getComposicaoDoPeaje() {
+ return composicaoDoPeaje;
+ }
+
+ public void setComposicaoDoPeaje(String composicaoDoPeaje) {
+ this.composicaoDoPeaje = composicaoDoPeaje;
+ }
@Override
public int hashCode() {
diff --git a/src/com/rjconsultores/ventaboletos/enums/StatusIntegracaoSap.java b/src/com/rjconsultores/ventaboletos/enums/StatusIntegracaoSap.java
index d72837cdf..e45dbc58d 100644
--- a/src/com/rjconsultores/ventaboletos/enums/StatusIntegracaoSap.java
+++ b/src/com/rjconsultores/ventaboletos/enums/StatusIntegracaoSap.java
@@ -1,7 +1,35 @@
package com.rjconsultores.ventaboletos.enums;
+import java.util.Arrays;
+import java.util.List;
+
public enum StatusIntegracaoSap {
- INTEGRADO,
- NAO_INTEGRADO,
- PENDENTE;
+ INTEGRADO("Integrado"),
+ NAO_ENVIADO("Nao Enviado"),
+ PENDENTE("Pendente"),
+ RECUSADO("Recusado SAP");
+
+ private String descricao;
+
+ private StatusIntegracaoSap(String descricao) {
+ this.descricao = descricao;
+ }
+
+ @Override
+ public String toString() {
+ return descricao;
+ }
+
+ public static List list() {
+ return Arrays.asList(values());
+ }
+
+ public static StatusIntegracaoSap getStatusIntegracaoSap(Integer tValor) {
+ for (StatusIntegracaoSap valor : StatusIntegracaoSap.values()) {
+ if (tValor.equals(valor.ordinal())) {
+ return valor;
+ }
+ }
+ return null;
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/service/HistoricoFormaPagoPuntoVentaService.java b/src/com/rjconsultores/ventaboletos/service/HistoricoFormaPagoPuntoVentaService.java
new file mode 100644
index 000000000..81d8bbabc
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/HistoricoFormaPagoPuntoVentaService.java
@@ -0,0 +1,21 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.rjconsultores.ventaboletos.service;
+
+import java.util.List;
+
+import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+
+/**
+ *
+ * @author Wallace
+ */
+public interface HistoricoFormaPagoPuntoVentaService extends GenericService {
+
+ List obtenerTodosPorPuntoVenta(PuntoVenta puntoVenta);
+
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/PeajeService.java b/src/com/rjconsultores/ventaboletos/service/PeajeService.java
new file mode 100644
index 000000000..e2e398a0b
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/PeajeService.java
@@ -0,0 +1,9 @@
+package com.rjconsultores.ventaboletos.service;
+
+import com.rjconsultores.ventaboletos.entidad.Peaje;
+
+public interface PeajeService {
+
+ public Peaje buscarPeajePorId(Integer peajeId);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/RutaService.java b/src/com/rjconsultores/ventaboletos/service/RutaService.java
index 4e46c59b9..ccb4286e2 100644
--- a/src/com/rjconsultores/ventaboletos/service/RutaService.java
+++ b/src/com/rjconsultores/ventaboletos/service/RutaService.java
@@ -124,4 +124,6 @@ public interface RutaService {
public List buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ;
+ public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa);
+
}
diff --git a/src/com/rjconsultores/ventaboletos/service/SapService.java b/src/com/rjconsultores/ventaboletos/service/SapService.java
index 6b73cf0e9..f3c940887 100644
--- a/src/com/rjconsultores/ventaboletos/service/SapService.java
+++ b/src/com/rjconsultores/ventaboletos/service/SapService.java
@@ -9,12 +9,12 @@ import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO;
public interface SapService extends GenericService {
-
- public int remessa(List fechamentos) throws Exception ;
-
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar);
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar, PuntoVenta puntoVenta);
+ public int remessa(List fechamentos, boolean processoManual) throws Exception ;
+
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status);
+
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status, PuntoVenta puntoVenta);
public void integracaoSapAutomatica() throws Exception;
diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java
index a07de71c3..749159676 100644
--- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java
+++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java
@@ -4,6 +4,7 @@ import java.util.List;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
+import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
@@ -35,7 +36,7 @@ public interface TarifaOficialService {
* @param orgaoConcedenteId
* @return A quantidade de registros afetadas
*/
- public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List idsEmpresas);
+ public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List idsEmpresas,Integer[] lsCasetaPeaje);
/**
@@ -66,7 +67,7 @@ public interface TarifaOficialService {
* @param empresaId
* @throws BusinessException
*/
- public void gerarAtualizarTarifa(List lsRuta, OrgaoConcedente orgaoConcedenteId, List lsEmpresaSelected) throws BusinessException;
+ public void gerarAtualizarTarifa(List lsRuta, OrgaoConcedente orgaoConcedenteId, List lsEmpresaSelected, Integer[] lsCasetaPeaje) throws BusinessException;
/**
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.
@@ -148,5 +149,7 @@ public interface TarifaOficialService {
public List obterTarifaOficialPorFiltro(Moneda moneda, Marca marca,List lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende);
+ public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje,Integer empresaId);
+
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java
index bdd484945..7297983ce 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java
@@ -617,14 +617,14 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
if (boletoComissao.isMotivocancelacionQuitacaoOcd()) {
formapago.subtract(formapagoBoleto.getImporte());
// somando as vendas
- } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual()) {
+ } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) {
formapago.add(formapagoBoleto.getImporte());
// subtraindo os cancelamentos
} else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) {
formapago.subtract(formapagoBoleto.getImporte());
// subtraindo as trocas e devolucoes
- } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) {
- if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido() || boletoComissao.isMotivocancelacionQuitacaoOcd()) {
+ } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido() || boletoComissao.isMotivocancelacionTransferido()) {
+ if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido() || boletoComissao.isMotivocancelacionQuitacaoOcd() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) {
formapago.subtract(formapagoBoleto.getImporte());
}
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java
index 9f032d20a..2985117b7 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java
@@ -67,15 +67,15 @@ public class ContingenciaServiceImpl implements ContingenciaService {
historicoCont.setDataHora(Calendar.getInstance().getTime());
if (historicoCont.getEmpresa() == null) {
- throw new BusinessException("Não é possível salvar sem a empresa");
+ throw new BusinessException("N�o � poss�vel salvar sem a empresa");
}
if (historicoCont.getEstado() == null) {
- throw new BusinessException("Não é possível salvar sem o estado referente");
+ throw new BusinessException("N�o � poss�vel salvar sem o estado referente");
}
if (historicoCont.getMotivo() == null) {
- throw new BusinessException("Não é possível salvar sem o motivo referente");
+ throw new BusinessException("N�o � poss�vel salvar sem o motivo referente");
}
try {
@@ -102,10 +102,10 @@ public class ContingenciaServiceImpl implements ContingenciaService {
}
private void setMotivoNaoTrocaStatus(LogHistoricoContingencia historicoCont, Exception e) {
- log.error(String.format("Erro no envio de e-mail de contingência da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e);
+ log.error(String.format("Erro no envio de e-mail de conting�ncia da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e);
String motivo = historicoCont.getMotivo();
- motivo = motivo.concat("**Problema no envio de E-mail de notificação. Favor checar.");
+ motivo = motivo.concat("**Problema no envio de E-mail de notifica��o. Favor checar.");
historicoCont.setMotivo(motivo);
}
@@ -164,35 +164,44 @@ public class ContingenciaServiceImpl implements ContingenciaService {
return EStatusContingencia.getStatusContingencia(Integer.valueOf(historicoCont.getStatus()));
}
- private void enviaEmail(LogHistoricoContingencia historicoCont) throws SendFailedException, AuthenticationFailedException {
- SendMail mail = new SendMail();
+ private void enviaEmail(LogHistoricoContingencia historicoCont) throws SendFailedException, AuthenticationFailedException {
+
EmpresaEmail empresaEmail = empresaEmailService.buscarPorEmpresa(historicoCont.getEmpresa());
EmpresaEmailConfig empresaEmailConfig = empresaEmailConfigService.buscarPorEmpresa(historicoCont.getEmpresa());
- mail.setAuth(empresaEmailConfig.getIndAutenticacao());
- if (StringUtils.isNotEmpty(empresaEmailConfig.getTipoAutorizacao())) {
- mail.setAuthType(AuthType.valueOf(empresaEmailConfig.getTipoAutorizacao()));
+
+ if (empresaEmail != null && empresaEmailConfig != null &&
+ empresaEmailConfig.getIndAutenticacao() != null && empresaEmail.getEmailDe() != null &&
+ empresaEmailConfig.getTipoAutorizacao() != null && empresaEmailConfig.getSmtp() != null &&
+ empresaEmailConfig.getSenha() != null && empresaEmailConfig.getSmtpPorta() != null &&
+ empresaEmailConfig.getSmtpEmail() != null && empresaEmail.getDestinatario() != null) {
+
+ SendMail mail = new SendMail();
+ mail.setAuth(empresaEmailConfig.getIndAutenticacao());
+ if (StringUtils.isNotEmpty(empresaEmailConfig.getTipoAutorizacao())) {
+ mail.setAuthType(AuthType.valueOf(empresaEmailConfig.getTipoAutorizacao()));
+ }
+ mail.setEmailFrom(empresaEmail.getEmailDe());
+ mail.setSmtpHost(empresaEmailConfig.getSmtp());
+ mail.setSmtpPassword(empresaEmailConfig.getSenha());
+ mail.setSmtpPort(empresaEmailConfig.getSmtpPorta());
+ mail.setSmtpUser(empresaEmailConfig.getSmtpEmail());
+ mail.setSubject("Conting�ncia Off-line BP-e");
+ mail.setText(getMensagem(historicoCont));
+ mail.setEmailTo(empresaEmail.getDestinatario());
+ mail.setEmailToCO(EMAIL_COPIA_OCULTA);
+ mail.send();
}
- mail.setEmailFrom(empresaEmail.getEmailDe());
- mail.setSmtpHost(empresaEmailConfig.getSmtp());
- mail.setSmtpPassword(empresaEmailConfig.getSenha());
- mail.setSmtpPort(empresaEmailConfig.getSmtpPorta());
- mail.setSmtpUser(empresaEmailConfig.getSmtpEmail());
- mail.setSubject("Contingência Off-line BP-e");
- mail.setText(getMensagem(historicoCont));
- mail.setEmailTo(empresaEmail.getDestinatario());
- mail.setEmailToCO(EMAIL_COPIA_OCULTA);
- mail.send();
}
private String getMensagem(LogHistoricoContingencia historicoContingencia) {
StringBuilder mensagem = new StringBuilder();
- mensagem.append(String.format("A empresa %s está com a emissão do BP-e em contingência off-line para a UF %s no ambiente de %s. ",
+ mensagem.append(String.format("A empresa %s est� com a emiss�o do BP-e em conting�ncia off-line para a UF %s no ambiente de %s. ",
historicoContingencia.getEmpresa().getNombempresa(), historicoContingencia.getEstado().getCveestado(),
EAmbienteContingencia.getAmbienteContingencia(historicoContingencia.getAmbiente()).getDescricao()));
- mensagem.append("A emissão em contingência deve ser tratada como exceção, sendo que a regra deve ser a emissão com autorização em tempo real.");
- mensagem.append("O Fisco poderá solicitar esclarecimentos, e até mesmo restringir ao contribuinte a utilização da modalidade de contingência off-line, caso seja identificado que o emissor do BP-e utiliza a contingência em demasia e sem justificativa aceitável, quando comparado a outros contribuintes em situação similar.");
- mensagem.append("Na utilização de contingência off-line, o contribuinte assume o risco de perda da informação dos ");
- mensagem.append("BP-e emitidos em contingência, até que os mesmos constem da base de dados do Fisco.");
+ mensagem.append("A emiss�o em conting�ncia deve ser tratada como exce��o, sendo que a regra deve ser a emiss�o com autoriza��o em tempo real.");
+ mensagem.append("O Fisco poder� solicitar esclarecimentos, e at� mesmo restringir ao contribuinte a utiliza��o da modalidade de conting�ncia off-line, caso seja identificado que o emissor do BP-e utiliza a conting�ncia em demasia e sem justificativa aceit�vel, quando comparado a outros contribuintes em situa��o similar.");
+ mensagem.append("Na utiliza��o de conting�ncia off-line, o contribuinte assume o risco de perda da informa��o dos ");
+ mensagem.append("BP-e emitidos em conting�ncia, at� que os mesmos constem da base de dados do Fisco.");
return mensagem.toString();
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
index 3e49f434d..f551b210c 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
@@ -1443,17 +1443,28 @@ public class CorridaServiceImpl implements CorridaService {
try {
while (DateUtil.compareOnlyDate(dataAte, dataInicial) >= 0) {
- boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false);
- if (corridaGerada) {
- calendarData.setTime(dataAte);
- calendarData.add(Calendar.DATE, -1);
- dataAte = calendarData.getTime();
-
- } else {
- log.info("Corrida do dia: " + sdfData.format(dataAte) + " já gerada");
+ boolean corridaExiste = corridaDAO.existe(new Corrida.Id(esquemaCorrida.getNumCorrida(), dataAte));
+ String strDataGeracao = DateUtil.getStringDate(dataAte);
+
+ log.info(String.format("Corrida existe = %s [%s - %s]",corridaExiste,esquemaCorrida.getNumCorrida() ,strDataGeracao));
+
+ //A corrida já existir é a única condição para parar de gerar.
+ //Se a corrida não for gerada (rotina mais abaixo), podem haver várias condições: o dia da semana, feriado, etc
+ if (corridaExiste){
+ log.info(String.format("Corrida % do dia % já gerada",esquemaCorrida.getNumCorrida(), strDataGeracao));
+
break;
}
-
+
+
+ boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false);
+
+ log.info(String.format("Corrida gerada = %s [%s - %s]",corridaGerada,esquemaCorrida.getNumCorrida() ,strDataGeracao));
+
+
+ calendarData.setTime(dataAte);
+ calendarData.add(Calendar.DATE, -1);
+ dataAte = calendarData.getTime();
}
log.info("commit bloco corridas");
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/HistoricoFormaPagoPuntoVentaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/HistoricoFormaPagoPuntoVentaServiceImpl.java
new file mode 100644
index 000000000..27ea05e1b
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/impl/HistoricoFormaPagoPuntoVentaServiceImpl.java
@@ -0,0 +1,75 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.rjconsultores.ventaboletos.service.impl;
+
+import java.util.Calendar;
+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.HistoricoFormaPagoPuntoVentaDAO;
+import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.service.HistoricoFormaPagoPuntoVentaService;
+import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
+
+/**
+ *
+ * @author Wallace
+ */
+@Service("historicoFormaPagoPuntoVentaService")
+public class HistoricoFormaPagoPuntoVentaServiceImpl implements HistoricoFormaPagoPuntoVentaService {
+
+ @Autowired
+ private HistoricoFormaPagoPuntoVentaDAO historicoFormaPagoPuntoVentaDAO;
+
+ public List obtenerTodos() {
+ return historicoFormaPagoPuntoVentaDAO.obtenerTodos();
+ }
+
+ public HistoricoFormaPagoPuntoVenta obtenerID(Integer id) {
+ return historicoFormaPagoPuntoVentaDAO.obtenerID(id);
+ }
+
+ @Transactional
+ public HistoricoFormaPagoPuntoVenta suscribir(HistoricoFormaPagoPuntoVenta entidad) {
+
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+ entidad.setIndInclusao(Boolean.TRUE);
+ entidad.setFecAlteracao(Calendar.getInstance().getTime());
+
+ return historicoFormaPagoPuntoVentaDAO.suscribir(entidad);
+ }
+
+ @Transactional
+ public HistoricoFormaPagoPuntoVenta actualizacion(HistoricoFormaPagoPuntoVenta entidad) {
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+
+ return historicoFormaPagoPuntoVentaDAO.actualizacion(entidad);
+ }
+
+ @Transactional
+ public void borrar(HistoricoFormaPagoPuntoVenta entidad) {
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.FALSE);
+ entidad.setIndInclusao(Boolean.FALSE);
+ entidad.setFecAlteracao(Calendar.getInstance().getTime());
+
+ historicoFormaPagoPuntoVentaDAO.actualizacion(entidad);
+ }
+
+ @Override
+ public List obtenerTodosPorPuntoVenta(PuntoVenta puntoVenta) {
+ return historicoFormaPagoPuntoVentaDAO.obtenerTodosPorPuntoVenta(puntoVenta);
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PeajeServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PeajeServiceImpl.java
new file mode 100644
index 000000000..0c75725a5
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/impl/PeajeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.rjconsultores.ventaboletos.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.rjconsultores.ventaboletos.dao.PeajeDao;
+import com.rjconsultores.ventaboletos.entidad.Peaje;
+import com.rjconsultores.ventaboletos.service.PeajeService;
+
+@Service("peajeService")
+public class PeajeServiceImpl implements PeajeService{
+
+ @Autowired
+ private PeajeDao peajeDao;
+
+
+ public Peaje buscarPeajePorId(Integer peajeId) {
+ return peajeDao.obtenerID(peajeId);
+ }
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
index 798b8b03a..da64f2713 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
@@ -86,7 +86,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
@Autowired
private LogAuditoriaService logAuditoriaService;
- // FIXME : Remover esse método de quem está usando. Esse método carrega muitos dados
+ // FIXME : Remover esse m�todo de quem est� usando. Esse m�todo carrega muitos dados
@Deprecated
public List obtenerTodos() {
return puntoVentaDAO.obtenerTodos();
@@ -114,13 +114,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
Constante constDesativaTotvs = constanteService.buscarPorNomeConstante("WS_TOTVS_DESATIVA_INTEGRACAO");
Boolean desativaTotvs = constDesativaTotvs != null && constDesativaTotvs.getValorconstante().equals("1");
- // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso.
- // Integração AG
+ // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso.
+ // Integra��o AG
/*
- * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integração com AG"); integraAG(entidad); log.debug("fim da integração com AG"); }
+ * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integra��o com AG"); integraAG(entidad); log.debug("fim da integra��o com AG"); }
*/
- // Integração Totvs
+ // Integra��o Totvs
if (!desativaTotvs){
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.INTEGRACION_TOTVS.getDescricao())) {
try {
@@ -176,13 +176,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
logAuditoriaService.auditar(null, entidad, entidad.getEmpresa() != null ? entidad.getEmpresa().getEmpresaId() : null);
- // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso.
- // Integração AG
+ // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso.
+ // Integra��o AG
Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG");
if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) {
- log.debug("iniciando integração com AG");
+ log.debug("iniciando integra��o com AG");
integraAG(entidad);
- log.debug("fim da integração com AG");
+ log.debug("fim da integra��o com AG");
}
return entidad;
@@ -214,7 +214,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
connection.close();
}
} catch (SQLException e) {
- log.error("error fechar conexão", e);
+ log.error("error fechar conex�o", e);
throw new RuntimeException(e);
}
}
@@ -236,9 +236,9 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
return;
}
if (!strFornecedor.contains("ERRO")){
- // retornar msg a informação de registro já cadastrado
+ // retornar msg a informa��o de registro j� cadastrado
entidad.setIndIntegradoAG(false);
- entidad.setMotivoNaoIntegradoAG("Fornecedor já cadastrado");
+ entidad.setMotivoNaoIntegradoAG("Fornecedor j� cadastrado");
} else {
fornecedor = new TFornecedor();
fornecedor.setNome(entidad.getRazonSocial());
@@ -307,9 +307,9 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
return;
}
if (!cliStr.contains("ERRO")) {
- // retornar msg a informação de registro já cadastrado
+ // retornar msg a informa��o de registro j� cadastrado
entidad.setIndIntegradoAG(false);
- entidad.setMotivoNaoIntegradoAG("Cliente já cadastrado");
+ entidad.setMotivoNaoIntegradoAG("Cliente j� cadastrado");
} else {
cli = new TCliente();
cli.setCodigo("");
@@ -435,7 +435,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
PuntoVenta originalClone = null;
try {
originalClone = entidad.getCloneObject();
- if(entidad.getTitularId()!=null) {
+ if(entidad.getTitularId()!=null && originalClone != null) {
originalClone.setTitularId(entidad.getTitularId().getCloneObject());
}
} catch (Exception e) {
@@ -449,13 +449,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
Constante constDesativaTotvs = constanteService.buscarPorNomeConstante("WS_TOTVS_DESATIVA_INTEGRACAO");
Boolean desativaTotvs = constDesativaTotvs != null && constDesativaTotvs.getValorconstante().equals("1");
- // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso.
- // Integração AG
+ // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso.
+ // Integra��o AG
/*
- * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if ( entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integração com AG"); integraAG(entidad); log.debug("fim da integração com AG"); }
+ * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if ( entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integra��o com AG"); integraAG(entidad); log.debug("fim da integra��o com AG"); }
*/
- // Integração Totvs
+ // Integra��o Totvs
if (!desativaTotvs){
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.INTEGRACION_TOTVS.getDescricao())) {
@@ -510,13 +510,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
}
}
- // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso.
- // Integração AG
+ // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso.
+ // Integra��o AG
Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG");
if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) {
- log.debug("iniciando integração com AG");
+ log.debug("iniciando integra��o com AG");
integraAG(entidad);
- log.debug("fim da integração com AG");
+ log.debug("fim da integra��o com AG");
}
return entidad;
@@ -765,7 +765,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
String contrib = ContribuinteICMS.NAO.getValor();
String entid = TipoEntidade.TRANSPORTE_PASSAGEIRO.getValor();
- String pais = "";// segundo orientação da TOTVS, passar em branco
+ String pais = "";// segundo orienta��o da TOTVS, passar em branco
try {
resp = TotvsService.cadastrarCliente(endpointCliente, bairro, cep, cgc, codmun, codpais, complemen, contaCliente, contrib, ddd, email, cnpjEmpresaProtheus,
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java
index bbbf59375..8317b6cde 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java
@@ -675,12 +675,17 @@ public class RutaServiceImpl implements RutaService {
@Override
public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje){
- return rutaDAO.buscarPorOrgaoEcasetaPeaje(orgao,listCasetaPeaje);
+ return buscarPorOrgaoEcasetaPeaje(orgao,listCasetaPeaje,null);
}
@Override
public List buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) {
return rutaDAO.buscarRutasPorEmpresaOrgaoConcedenteParadaIds(empresa,orgao,lsParadaIds);
}
+
+ @Override
+ public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa){
+ return rutaDAO.buscarPorOrgaoEcasetaPeaje(orgao,listCasetaPeaje,empresa);
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java
index a72eab0db..f743ca86f 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java
@@ -15,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.FechamentoCntcorrente;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.enums.StatusIntegracaoSap;
import com.rjconsultores.ventaboletos.rest.IntegracaoSapRest;
import com.rjconsultores.ventaboletos.service.SapService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
@@ -25,8 +26,6 @@ public class SapServiceImpl implements SapService{
private static final String INTEGRACAO_SAP_URL = "INTEGRACAO_SAP_URL";
private static final String INTEGRACAO_SAP_CREDENCIAL = "INTEGRACAO_SAP_CREDENCIAL";
- private static final int INTEGRACAO_SAP_OK = 1;
- private static final int INTEGRACAO_SAP_ERRO = 2;
private static Logger log = Logger.getLogger(SapServiceImpl.class);
@Autowired
@@ -65,17 +64,17 @@ public class SapServiceImpl implements SapService{
}
@Override
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) {
- return sapDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, reenviar, null);
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status) {
+ return sapDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, status, null);
}
@Override
- public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar, PuntoVenta puntoVenta) {
- return sapDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, reenviar, puntoVenta);
+ public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, String status, PuntoVenta puntoVenta) {
+ return sapDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, status, puntoVenta);
}
-
+
@Override
- public int remessa(List fechamentos) throws Exception {
+ public int remessa(List fechamentos, boolean processoManual) throws Exception {
try {
int contador = 0;
IntegracaoSapRest integracaoSapRest = IntegracaoSapRest.getInstance();
@@ -87,16 +86,20 @@ public class SapServiceImpl implements SapService{
JSONObject integrado = integracaoSapRest.enviarIntegracaoSap(fechamentoCntcorrente, url, credenciais);
if(integrado == null) {
- atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), INTEGRACAO_SAP_ERRO);
- log.error("Erro no envio/retorno da requisicao para integra��o SAP do fechamentoID: "+fechamentoCntcorrente.getFechamentocntcorrenteId());
- throw new RuntimeException("Erro no envio/retorno da requisicao para integração SAP do fechamentoID: "+fechamentoCntcorrente.getFechamentocntcorrenteId());
+ atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), StatusIntegracaoSap.NAO_ENVIADO.ordinal());
+ log.error("Erro no envio/retorno da requisicao para integracao SAP do fechamentoID: "+fechamentoCntcorrente.getFechamentocntcorrenteId());
+ if(processoManual) {
+ throw new RuntimeException("Erro no envio/retorno da requisicao para integracao SAP do fechamentoID: "+fechamentoCntcorrente.getFechamentocntcorrenteId());
+ }
}else if(integrado.getString("Integration").equals("S")) {
- atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), INTEGRACAO_SAP_OK);
+ atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), StatusIntegracaoSap.INTEGRADO.ordinal());
contador++;
}else if(integrado.getString("Integration").equals("E")) {
- atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), INTEGRACAO_SAP_ERRO);
+ atualizaFechamento(fechamentoCntcorrente.getFechamentocntcorrenteId(), StatusIntegracaoSap.RECUSADO.ordinal());
log.warn("Retorno enviado pelo SAP: \r\n"+integrado.getString("Message"));
- throw new RuntimeException("Fechamento: "+fechamentoCntcorrente.getFechamentocntcorrenteId()+"\r\nRetorno enviado pelo SAP: \r\n"+integrado.getString("Message"));
+ if(processoManual) {
+ throw new RuntimeException("Fechamento: "+fechamentoCntcorrente.getFechamentocntcorrenteId()+"\r\nRetorno enviado pelo SAP: \r\n"+integrado.getString("Message"));
+ }
}
}
}
@@ -125,18 +128,18 @@ public class SapServiceImpl implements SapService{
@Override
public void integracaoSapAutomatica() throws Exception {
- List listaPendente = obtenerTodosParaRemessa(null, DateUtil.getYesterdayDate(), new Date(), false);
+ List listaPendente = obtenerTodosParaRemessa(null, DateUtil.getYesterdayDate(), new Date(), "2");
while(!listaPendente.isEmpty()) {
log.info("IntegracaoSap: Registro a enviar:"+listaPendente.size());
try {
- remessa(listaPendente);
+ remessa(listaPendente, false);
} catch (Exception e) {
throw e;
}
- listaPendente = obtenerTodosParaRemessa(null, DateUtil.getYesterdayDate(), new Date(), false);
+ listaPendente = obtenerTodosParaRemessa(null, DateUtil.getYesterdayDate(), new Date(), "2");
}
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
index e62ed15be..be5891be0 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
@@ -1,7 +1,12 @@
package com.rjconsultores.ventaboletos.service.impl;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -14,12 +19,14 @@ import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO;
import com.rjconsultores.ventaboletos.dao.SeguroKmDAO;
import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
+import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
+import com.rjconsultores.ventaboletos.entidad.Peaje;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.Tramo;
@@ -27,8 +34,10 @@ import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
+import com.rjconsultores.ventaboletos.service.PeajeService;
import com.rjconsultores.ventaboletos.service.TarifaOficialService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
+import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialComComposicaoDoPedagioVo;
import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialVO;
@Service("tarifaOficialService")
@@ -47,11 +56,15 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Autowired
private LogAuditoriaService logAuditoriaService;
+
+
+ @Autowired
+ private PeajeService peajeService;
@Override
@Transactional
- public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List idsEmpresas) {
- return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedente, idsEmpresas);
+ public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List idsEmpresas,Integer[] lsCasetaPeaje) {
+ return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedente, idsEmpresas,lsCasetaPeaje );
}
@Override
@@ -69,7 +82,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override
@Transactional(rollbackFor = BusinessException.class)
- public void gerarAtualizarTarifa(List lsRuta, OrgaoConcedente orgaoConcedente, List lsEmpresaSelected) throws BusinessException {
+ public void gerarAtualizarTarifa(List lsRuta, OrgaoConcedente orgaoConcedente, List lsEmpresaSelected, Integer[] lsCasetaPeaje) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL
tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected);
@@ -96,7 +109,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
// Gerando as tarifas pelo coeficiente
if (orgaoConcedente == null ||
(orgaoConcedente.getOrgaoConcedenteId() == null || orgaoConcedente.getOrgaoConcedenteId() != OrgaoConcedente.CODIGO_ARTESP)) {
- Integer qtdTarifaCoeficiente = gerarTarifaPorCoeficiente(rutaId, orgaoConcedente, idsEmpresas);
+ Integer qtdTarifaCoeficiente = gerarTarifaPorCoeficiente(rutaId, orgaoConcedente, idsEmpresas,lsCasetaPeaje);
log.info("qtdTarifaCoeficiente=" + qtdTarifaCoeficiente);
}
@@ -340,5 +353,115 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
}
return lsTarifa;
}
+
+
+ public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje,Integer empresaId) {
+ try {
+ List lsTarifaOficialComComposicaoDoPedagioVo = tarifaOficialDAO.oberTarifaOficialComComposicaoDoPedagioVo(empresaId);
+
+ if (!lsTarifaOficialComComposicaoDoPedagioVo.isEmpty()) {
+
+
+ for (TarifaOficialComComposicaoDoPedagioVo tarifaOficialComComposicaoDoPedagioVo : lsTarifaOficialComComposicaoDoPedagioVo) {
+ log.info("tarifaOficiald:" + tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId() + " | composicao do pedágio no cálculo:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() + " | composicao do pedágio na tarifa:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa());
+
+ if (tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa() == null) {
+ HashMap mapComposicaoDoPedagioNaTarifaOficialComPeaje = new HashMap();
+ String[] parDeChavePeajeMaisCasetaPeaje1 = tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje().replace(" ", "").split(",");
+ montaMapComposicao(mapComposicaoDoPedagioNaTarifaOficialComPeaje, parDeChavePeajeMaisCasetaPeaje1);
+ BigDecimal valorPedagio = montarObterValorImportePedagio(mapComposicaoDoPedagioNaTarifaOficialComPeaje);
+ String stringComposicaoDoPedagio = tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje();
+
+ atualizarPedagioComFiltroDePracaDePedagio(tarifaOficialComComposicaoDoPedagioVo, valorPedagio, stringComposicaoDoPedagio);
+
+ } else {
+ HashMap mapComposicaoDoPedagioNaTarifa = new HashMap();
+ String[] parDeChavePeajeMaisCasetaPeaje = tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa().replace(" ", "").split(",");
+ montaMapComposicao(mapComposicaoDoPedagioNaTarifa, parDeChavePeajeMaisCasetaPeaje);
+
+ HashMap mapComposicaoDoPedagioNaTarifaOficialComPeaje = new HashMap();
+ String[] parDeChavePeajeMaisCasetaPeaje1 = tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje().replace(" ", "").split(",");
+ montaMapComposicao(mapComposicaoDoPedagioNaTarifaOficialComPeaje, parDeChavePeajeMaisCasetaPeaje1);
+
+ atualizarComposicaoDoPedagioNaTarifa(lsCasetaPeaje, mapComposicaoDoPedagioNaTarifa, mapComposicaoDoPedagioNaTarifaOficialComPeaje);
+
+ BigDecimal valorPedagio = montarObterValorImportePedagio(mapComposicaoDoPedagioNaTarifa);
+
+ String stringComposicaoDoPedagio = "";
+ stringComposicaoDoPedagio = remontarAStringDeComposicaoDoPedagio(mapComposicaoDoPedagioNaTarifa, stringComposicaoDoPedagio);
+
+ atualizarPedagioComFiltroDePracaDePedagio(tarifaOficialComComposicaoDoPedagioVo, valorPedagio, stringComposicaoDoPedagio);
+
+ }
+
+ }
+ } else {
+ log.info("Não retornou nenhum registro da consulta oberTarifaOficialComComposicaoDoPedagioVo ");
+ }
+ }catch (Exception e) {
+ // TODO: handle exception
+ e.printStackTrace();
+ }
+
+ }
+
+ private void atualizarPedagioComFiltroDePracaDePedagio(TarifaOficialComComposicaoDoPedagioVo tarifaOficialComComposicaoDoPedagioVo, BigDecimal valorPedagio, String stringComposicaoDoPedagio) {
+ log.info("tarifaOficiald:"+tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId()+" | composicao do pedágio na tarifa oficial:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() +" | importePedagio:"+valorPedagio);
+
+ tarifaOficialDAO.atualizarPedagioComFiltroDePracaDePedagio(tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId(), valorPedagio, stringComposicaoDoPedagio);
+ }
+
+ private String remontarAStringDeComposicaoDoPedagio(HashMap mapComposicaoDoPedagioNaTarifa, String stringComposicaoDoPedagio) {
+ Boolean inicio =true;
+
+ for(Entry map : mapComposicaoDoPedagioNaTarifa.entrySet()) {
+ if(!inicio) {
+ stringComposicaoDoPedagio += ",";
+ }
+ stringComposicaoDoPedagio += map.getKey()+";"+map.getValue();
+ inicio=false;
+ }
+ return stringComposicaoDoPedagio;
+ }
+
+ private BigDecimal montarObterValorImportePedagio(HashMap mapComposicaoDoPedagioNaTarifa) {
+ BigDecimal valorPedagio = new BigDecimal("0.0");
+ for(Entry map : mapComposicaoDoPedagioNaTarifa.entrySet()) {
+ Peaje peaje = peajeService.buscarPeajePorId(map.getValue());
+ valorPedagio=valorPedagio.add(peaje.getImportePeaje().setScale(2,RoundingMode.HALF_UP));
+
+ }
+ return valorPedagio.setScale(2,RoundingMode.HALF_UP);
+
+ }
+
+ private void atualizarComposicaoDoPedagioNaTarifa(List lsCasetaPeaje, HashMap mapComposicaoDoPedagioNaTarifa, Map mapComposicaoDoPedagioNaTarifaOficialComPeaje) {
+ for(CasetaPeaje casetaPeaje : lsCasetaPeaje) {
+ if(mapComposicaoDoPedagioNaTarifa.containsKey(casetaPeaje.getCasetaPeajeId())) {
+ mapComposicaoDoPedagioNaTarifa.remove(casetaPeaje.getCasetaPeajeId());
+ }
+
+ if(mapComposicaoDoPedagioNaTarifaOficialComPeaje.containsKey(casetaPeaje.getCasetaPeajeId())) {
+ mapComposicaoDoPedagioNaTarifa.put(casetaPeaje.getCasetaPeajeId(),mapComposicaoDoPedagioNaTarifaOficialComPeaje.get(casetaPeaje.getCasetaPeajeId()));
+ }
+
+ }
+ }
+
+ private void montaMapComposicao(Map mapComposicaoDoPedagioNaTarifa, String[] parDeChavePeajeMaisCasetaPeaje) {
+ for(String chavePeajeMaisCasetaPeaje:parDeChavePeajeMaisCasetaPeaje) {
+ String[] composicao = chavePeajeMaisCasetaPeaje.split(";");
+ Integer casetaPeaje = Integer.parseInt(composicao[0].trim());
+ Integer peaje = Integer.parseInt(composicao[1].trim());
+ mapComposicaoDoPedagioNaTarifa.put(casetaPeaje,peaje);
+ }
+ }
+
+ public static void main(String[] args) {
+ BigDecimal valorPedagio = new BigDecimal("0.0");
+
+ valorPedagio=valorPedagio.add(new BigDecimal("100.005"));
+ System.out.println(valorPedagio.setScale(2,RoundingMode.HALF_UP));
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java
index cb5c27e79..2671dfdd4 100644
--- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java
+++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java
@@ -845,12 +845,8 @@ public class BoletoComissao {
if(isVendaGap(getTipoVenta()) && !isStatusEntregue()) {
return false;
}
-
- if(isVendaBilheteTransferencia(getTipoVenta())) {
- return false;
- }
-
- return isStatusVendido() || isStatusTroca() || isStatusEntregue();
+
+ return isStatusVendido() || isStatusTroca() || isStatusEntregue() || isVendaBilheteTransferencia(getTipoVenta());
}
public boolean isQuitacaoOCD() {
if(getMotivoCancelacionId() != null){
diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/TarifaOficialComComposicaoDoPedagioVo.java b/src/com/rjconsultores/ventaboletos/vo/comissao/TarifaOficialComComposicaoDoPedagioVo.java
new file mode 100644
index 000000000..8545b69f9
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/vo/comissao/TarifaOficialComComposicaoDoPedagioVo.java
@@ -0,0 +1,29 @@
+package com.rjconsultores.ventaboletos.vo.comissao;
+
+public class TarifaOficialComComposicaoDoPedagioVo {
+ private Integer tarifaOficialId;
+ private String composicaoDoPedagioNaTarifa;
+ private String composicaoDoPedagioNaTarifaOficialComPeaje;
+
+ public Integer getTarifaOficialId() {
+ return tarifaOficialId;
+ }
+ public void setTarifaOficialId(Integer tarifaOficialId) {
+ this.tarifaOficialId = tarifaOficialId;
+ }
+ public String getComposicaoDoPedagioNaTarifa() {
+ return composicaoDoPedagioNaTarifa;
+ }
+ public void setComposicaoDoPedagioNaTarifa(String composicaoDoPedagioNaTarifa) {
+ this.composicaoDoPedagioNaTarifa = composicaoDoPedagioNaTarifa;
+ }
+ public String getComposicaoDoPedagioNaTarifaOficialComPeaje() {
+ return composicaoDoPedagioNaTarifaOficialComPeaje;
+ }
+ public void setComposicaoDoPedagioNaTarifaOficialComPeaje(String composicaoDoPedagioNaTarifaOficialComPeaje) {
+ this.composicaoDoPedagioNaTarifaOficialComPeaje = composicaoDoPedagioNaTarifaOficialComPeaje;
+ }
+
+
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/vo/integracao/FechamentoCntCorrenteVO.java b/src/com/rjconsultores/ventaboletos/vo/integracao/FechamentoCntCorrenteVO.java
index 8996cae45..782f93436 100644
--- a/src/com/rjconsultores/ventaboletos/vo/integracao/FechamentoCntCorrenteVO.java
+++ b/src/com/rjconsultores/ventaboletos/vo/integracao/FechamentoCntCorrenteVO.java
@@ -2,6 +2,8 @@ package com.rjconsultores.ventaboletos.vo.integracao;
import java.math.BigDecimal;
+import com.rjconsultores.ventaboletos.enums.StatusIntegracaoSap;
+
public class FechamentoCntCorrenteVO {
public FechamentoCntCorrenteVO() {
@@ -21,10 +23,10 @@ public class FechamentoCntCorrenteVO {
private Integer empresaId;
private String nombEmpresa;
private String ufEmpresa;
- private Boolean integradoSap;
+ private StatusIntegracaoSap integradoSap;
private boolean enviar;
- public FechamentoCntCorrenteVO(Long fechamentocntcorrenteId, String fecfechamento, String feclancamento, String anofechamento, String mesfechamento, BigDecimal total, String nombpuntoventa, String cnpjPuntoVenta, Integer empresaId, String nombEmpresa, String ufEmpresa, Boolean integradoSap) {
+ public FechamentoCntCorrenteVO(Long fechamentocntcorrenteId, String fecfechamento, String feclancamento, String anofechamento, String mesfechamento, BigDecimal total, String nombpuntoventa, String cnpjPuntoVenta, Integer empresaId, String nombEmpresa, String ufEmpresa, StatusIntegracaoSap integradoSap) {
super();
this.fechamentocntcorrenteId = fechamentocntcorrenteId;
this.fecfechamento = fecfechamento;
@@ -104,11 +106,11 @@ public class FechamentoCntCorrenteVO {
this.ufEmpresa = ufEmpresa;
}
- public boolean isIntegradoSap() {
- return Boolean.TRUE.equals(integradoSap);
+ public StatusIntegracaoSap getIntegradoSap() {
+ return integradoSap;
}
- public void setIntegradoSap(boolean integradoSap) {
+ public void setIntegradoSap(StatusIntegracaoSap integradoSap) {
this.integradoSap = integradoSap;
}