fixes bug#AL-1571

qua:
dev:Wallace

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@114867 d1611594-4594-4d17-8e1d-87c2c4800839
master
aristides 2022-10-20 13:57:23 +00:00
parent 2a6b84a459
commit 013d671749
4 changed files with 13 additions and 14 deletions

View File

@ -102,7 +102,7 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer> {
public List<TarifaOficialVO> obterTarifaOficialPorFiltroVO(Moneda moneda, Marca marca,List<Marca> lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende); public List<TarifaOficialVO> obterTarifaOficialPorFiltroVO(Moneda moneda, Marca marca,List<Marca> lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende);
public List<TarifaOficialComComposicaoDoPedagioVo> oberTarifaOficialComComposicaoDoPedagioVo(); public List<TarifaOficialComComposicaoDoPedagioVo> oberTarifaOficialComComposicaoDoPedagioVo(Integer empresaId);
public void atualizarPedagioComFiltroDePracaDePedagio(Integer tarifaOficialId, BigDecimal importePedagio, String composicaoPedagio ); public void atualizarPedagioComFiltroDePracaDePedagio(Integer tarifaOficialId, BigDecimal importePedagio, String composicaoPedagio );
} }

View File

@ -531,13 +531,14 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public List<TarifaOficialComComposicaoDoPedagioVo> oberTarifaOficialComComposicaoDoPedagioVo() { public List<TarifaOficialComComposicaoDoPedagioVo> oberTarifaOficialComComposicaoDoPedagioVo(Integer empresaId) {
StringBuilder sql = new StringBuilder(" SELECT "); StringBuilder sql = new StringBuilder(" SELECT ");
sql.append(" tof.tarifaoficial_id as tarifaOficialId, "); sql.append(" tof.tarifaoficial_id as tarifaOficialId, ");
sql.append(" ta.COMPOSICAO_DO_PEAJE as composicaoDoPedagioNaTarifa, "); sql.append(" ta.COMPOSICAO_DO_PEAJE as composicaoDoPedagioNaTarifa, ");
sql.append(" LISTAGG(p.casetapeaje_id||';'||p.peaje_id,',')\r\n" sql.append(" LISTAGG(p.casetapeaje_id||';'||p.peaje_id,',')\r\n"
+ "WITHIN GROUP (ORDER BY p.casetapeaje_id) as composicaoDoPedagioNaTarifaOficialComPeaje"); + "WITHIN GROUP (ORDER BY p.casetapeaje_id) as composicaoDoPedagioNaTarifaOficialComPeaje");
sql.append(" FROM tarifa_oficial tof "); sql.append(" FROM tarifa_oficial tof ");
sql.append(" INNER JOIN marca m ON m.marca_id=tof.marca_id ");
sql.append(" LEFT join tarifa ta on"); sql.append(" LEFT join tarifa ta on");
sql.append(" ta.origen_id=tof.origen_id and"); sql.append(" ta.origen_id=tof.origen_id and");
sql.append(" ta.destino_id=tof.destino_id and "); sql.append(" ta.destino_id=tof.destino_id and ");
@ -555,12 +556,13 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
sql.append(" AND p.ORIGEN_ID = tof.ORIGEN_ID"); sql.append(" AND p.ORIGEN_ID = tof.ORIGEN_ID");
sql.append(" AND p.DESTINO_ID = tof.DESTINO_ID"); sql.append(" AND p.DESTINO_ID = tof.DESTINO_ID");
sql.append(" AND p.activo = 1"); 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"); sql.append(" group by ta.tarifa_id,tof.tarifaoficial_id,ta.tarifa_id,ta.COMPOSICAO_DO_PEAJE");
Query query = getSession().createSQLQuery(sql.toString()); 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)); 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("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")); qr.setParameter("dataFinal", DateUtil.getStringDate(DateUtil.fimFecha(new Date()), "dd/MM/yyyy HH:mm"));

View File

@ -149,7 +149,7 @@ public interface TarifaOficialService {
public List<TarifaOficial> obterTarifaOficialPorFiltro(Moneda moneda, Marca marca,List<Marca> lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende); public List<TarifaOficial> obterTarifaOficialPorFiltro(Moneda moneda, Marca marca,List<Marca> lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende);
public void atualizarPedagioPorListaDePracaDePagio(List<CasetaPeaje> lsCasetaPeaje); public void atualizarPedagioPorListaDePracaDePagio(List<CasetaPeaje> lsCasetaPeaje,Integer empresaId);
} }

View File

@ -355,9 +355,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
} }
public void atualizarPedagioPorListaDePracaDePagio(List<CasetaPeaje> lsCasetaPeaje) { public void atualizarPedagioPorListaDePracaDePagio(List<CasetaPeaje> lsCasetaPeaje,Integer empresaId) {
try { try {
List<TarifaOficialComComposicaoDoPedagioVo> lsTarifaOficialComComposicaoDoPedagioVo = tarifaOficialDAO.oberTarifaOficialComComposicaoDoPedagioVo(); List<TarifaOficialComComposicaoDoPedagioVo> lsTarifaOficialComComposicaoDoPedagioVo = tarifaOficialDAO.oberTarifaOficialComComposicaoDoPedagioVo(empresaId);
if (!lsTarifaOficialComComposicaoDoPedagioVo.isEmpty()) { if (!lsTarifaOficialComComposicaoDoPedagioVo.isEmpty()) {
@ -428,10 +428,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
BigDecimal valorPedagio = new BigDecimal("0.0"); BigDecimal valorPedagio = new BigDecimal("0.0");
for(Entry<Integer, Integer> map : mapComposicaoDoPedagioNaTarifa.entrySet()) { for(Entry<Integer, Integer> map : mapComposicaoDoPedagioNaTarifa.entrySet()) {
Peaje peaje = peajeService.buscarPeajePorId(map.getValue()); Peaje peaje = peajeService.buscarPeajePorId(map.getValue());
valorPedagio=valorPedagio.add(peaje.getImportePeaje()); valorPedagio=valorPedagio.add(peaje.getImportePeaje().setScale(2,RoundingMode.HALF_UP));
} }
return valorPedagio.setScale(2,RoundingMode.HALF_EVEN); return valorPedagio.setScale(2,RoundingMode.HALF_UP);
} }
@ -458,13 +458,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
} }
public static void main(String[] args) { public static void main(String[] args) {
String teste="284;19004, 284;19005,425;18994"; BigDecimal valorPedagio = new BigDecimal("0.0");
// String testeEspacoReemovido=teste.tri;
String[] parDeChavePeajeMaisCasetaPeaje = teste.replace(" ", "").split(",");
for(String chavePeajeMaisCasetaPeaje:parDeChavePeajeMaisCasetaPeaje) { valorPedagio=valorPedagio.add(new BigDecimal("100.005"));
System.out.println(chavePeajeMaisCasetaPeaje); System.out.println(valorPedagio.setScale(2,RoundingMode.HALF_UP));
}
} }
} }