gleimar 2017-06-01 22:44:45 +00:00
parent f8254832d4
commit c0be8a0731
1 changed files with 10 additions and 19 deletions

View File

@ -10,6 +10,7 @@ import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -149,7 +150,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) { public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) {
boolean isOrgaoNull = orgao == null; boolean isOrgaoNull = orgao == null;
List<String> updates = new ArrayList<String>(); List<String> updates = new ArrayList<String>();
List<PeajeVO> peajes = new ArrayList<PeajeVO>(); Set<PeajeVO> peajes = new HashSet<CalcularPeajeHibernateDAO.PeajeVO>();
List<ClasseIndicePeaje> classeIndicePeajes = new ArrayList<ClasseIndicePeaje>(); List<ClasseIndicePeaje> classeIndicePeajes = new ArrayList<ClasseIndicePeaje>();
if(orgao != null){ if(orgao != null){
@ -209,19 +210,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
log.info("****** FIM LINHA : "+ruta.toString()+" . INSTRUCOES DE INSERT NO BANCO PRONTAS ******"); log.info("****** FIM LINHA : "+ruta.toString()+" . INSTRUCOES DE INSERT NO BANCO PRONTAS ******");
} }
log.info("****** FIM DO PROCESSO DE CALCULO DE PEDAGIO ******"); log.info("****** FIM DO PROCESSO DE CALCULO DE PEDAGIO ******");
if(peajes.size()>1){
for (int i = 0 ; peajes.size()>i;) {
int posicao = peajes.lastIndexOf(peajes.get(i));
if(posicao != i){
peajes.remove(posicao);
i=0;
}else{
i++;
}
}
}
StringBuilder updateSql = new StringBuilder(); StringBuilder updateSql = new StringBuilder();
if(isOrgaoNull == false){ if(isOrgaoNull == false){
updateSql = new StringBuilder() updateSql = new StringBuilder()
@ -242,11 +231,13 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
stmt.addBatch(up); stmt.addBatch(up);
} }
} }
int i=0;
for(int i = 0 ; i < peajes.size(); i++){ for(PeajeVO peajeVO : peajes){
stmt.addBatch(peajes.get(i).toInsertQuery()); stmt.addBatch(peajeVO.toInsertQuery());
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeQuery()); stmt.addBatch(peajeVO.toUpdateExcepcionPeajeQuery());
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeVigenciaQuery()); stmt.addBatch(peajeVO.toUpdateExcepcionPeajeVigenciaQuery());
log.info("**** "+i+ "- de "+ peajes.size()+" de combinacoes de trecho X (praca pedagio por trecho) ****"); log.info("**** "+i+ "- de "+ peajes.size()+" de combinacoes de trecho X (praca pedagio por trecho) ****");
@ -269,7 +260,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
return result; return result;
} }
private Map<Integer, CasetaPeaje> buscaCasetas(List<PeajeVO> pvo) { private Map<Integer, CasetaPeaje> buscaCasetas(Set<PeajeVO> pvo) {
Set<Integer> ids = new LinkedHashSet<Integer>(); Set<Integer> ids = new LinkedHashSet<Integer>();
Map<Integer, CasetaPeaje> casetas = new HashMap<Integer, CasetaPeaje>(); Map<Integer, CasetaPeaje> casetas = new HashMap<Integer, CasetaPeaje>();
@ -309,7 +300,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
} }
@Transactional @Transactional
private void recalcularExcecoesPedagio(List<PeajeVO> pvos) { private void recalcularExcecoesPedagio(Set<PeajeVO> pvos) {
Map<Integer, CasetaPeaje> casetas = buscaCasetas(pvos); Map<Integer, CasetaPeaje> casetas = buscaCasetas(pvos);
for (PeajeVO peaje : pvos) { for (PeajeVO peaje : pvos) {
ExcepcionPeaje excepcion = null; ExcepcionPeaje excepcion = null;