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.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
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) {
boolean isOrgaoNull = orgao == null;
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>();
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 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();
if(isOrgaoNull == false){
updateSql = new StringBuilder()
@ -242,11 +231,13 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
stmt.addBatch(up);
}
}
int i=0;
for(int i = 0 ; i < peajes.size(); i++){
stmt.addBatch(peajes.get(i).toInsertQuery());
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeQuery());
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeVigenciaQuery());
for(PeajeVO peajeVO : peajes){
stmt.addBatch(peajeVO.toInsertQuery());
stmt.addBatch(peajeVO.toUpdateExcepcionPeajeQuery());
stmt.addBatch(peajeVO.toUpdateExcepcionPeajeVigenciaQuery());
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;
}
private Map<Integer, CasetaPeaje> buscaCasetas(List<PeajeVO> pvo) {
private Map<Integer, CasetaPeaje> buscaCasetas(Set<PeajeVO> pvo) {
Set<Integer> ids = new LinkedHashSet<Integer>();
Map<Integer, CasetaPeaje> casetas = new HashMap<Integer, CasetaPeaje>();
@ -309,7 +300,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
}
@Transactional
private void recalcularExcecoesPedagio(List<PeajeVO> pvos) {
private void recalcularExcecoesPedagio(Set<PeajeVO> pvos) {
Map<Integer, CasetaPeaje> casetas = buscaCasetas(pvos);
for (PeajeVO peaje : pvos) {
ExcepcionPeaje excepcion = null;