fixes bug#18849

dev: Gleimar
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@101041 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2020-03-31 20:59:30 +00:00
parent 10f5557d00
commit b3a6122632
5 changed files with 55 additions and 2 deletions

View File

@ -42,4 +42,9 @@ public interface TramoServicioDAO extends GenericDAO<TramoServicio, Integer> {
* @return
*/
public boolean existenTiemposTramosEsquema(Integer esquemaCorridaId);
/*
* Rotina que corrige inconsistencias nos tramos
*/
public void limparInconsistenciasTramo();
}

View File

@ -14,6 +14,8 @@ 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 org.springframework.transaction.annotation.Transactional;
import org.zkoss.util.logging.Log;
import com.rjconsultores.ventaboletos.dao.TramoServicioDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
@ -26,6 +28,7 @@ import com.rjconsultores.ventaboletos.entidad.Via;
*
* @author Rafius
*/
@SuppressWarnings("unchecked")
@Repository("tramoServicioDAO")
public class TramoServicioHibernateDAO extends GenericHibernateDAO<TramoServicio, Integer>
implements TramoServicioDAO {
@ -46,7 +49,6 @@ public class TramoServicioHibernateDAO extends GenericHibernateDAO<TramoServicio
return super.suscribir(entity);
}
public List<TramoServicio> buscarPorTramo(Tramo tramo) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -83,7 +85,6 @@ public class TramoServicioHibernateDAO extends GenericHibernateDAO<TramoServicio
* Deve ser temporario.
*/
@SuppressWarnings("unchecked")
List<TramoServicio> list = c.list();
if (list.size() > 1){
@ -122,4 +123,41 @@ public class TramoServicioHibernateDAO extends GenericHibernateDAO<TramoServicio
return cantTramos.equals(cantTramosTiempos);
}
@Override
@Transactional
public void limparInconsistenciasTramo() {
StringBuilder sql = new StringBuilder(500);
sql.append("update ");
sql.append(" tramo_servicio set activo = 0 ");
sql.append("WHERE ");
sql.append(" rowid in ( select rid from ( ");
sql.append(" select rowid rid,row_number() ");
sql.append(" over (partition by CLASESERVICIO_ID,TRAMO_ID order by rowid) rn ");
sql.append(" from tramo_servicio ");
sql.append(" where activo = 1) ");
sql.append(" where rn <> 1 ) ");
sql.append(" and activo =1 ");
Query query = getSession().createSQLQuery(sql.toString());
int tramoServicoAtualizado = query.executeUpdate();
log.info(" Rotina limparInconsistenciasTramo: "+tramoServicoAtualizado+" TramoServicio atualizados" );
sql = new StringBuilder(500);
sql.append("update ");
sql.append(" orgao_tramo set activo = 0 ");
sql.append("WHERE ");
sql.append(" rowid in ( select rid from ( ");
sql.append(" select rowid rid,row_number() ");
sql.append(" over (partition by CLASESERVICIO_ID,ORGAOCONCEDENTE_ID,TRAMO_ID order by rowid) rn ");
sql.append(" from orgao_tramo ");
sql.append(" where activo = 1) ");
sql.append(" where rn <> 1 ) ");
sql.append(" and activo =1 ");
Query query2 = getSession().createSQLQuery(sql.toString());
int orgaoTramoAtualizado = query2.executeUpdate();
log.info(" Rotina limparInconsistenciasTramo: "+orgaoTramoAtualizado+" OrgaoTramo atualizados" );
}
}

View File

@ -58,4 +58,6 @@ public interface TramoRutaService {
* @throws BusinessException
*/
public void generarTramosRutaExistente(RutaTramoVO rutaTramoVO, Ruta ruta) throws BusinessException;
public void limparInconsistenciasTramo();
}

View File

@ -35,6 +35,7 @@ import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaCombinacionService;
import com.rjconsultores.ventaboletos.service.RutaSecuenciaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TramoRutaService;
import com.rjconsultores.ventaboletos.service.TramoService;
import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -61,6 +62,8 @@ public class RutaServiceImpl implements RutaService {
private EsquemaCorridaDAO esquemaCorridaDAO;
@Autowired
private ParadaService paradaService;
@Autowired
private TramoRutaService tramoRutaService;
private static Logger log = Logger.getLogger(RutaServiceImpl.class);
@ -249,6 +252,7 @@ public class RutaServiceImpl implements RutaService {
private void generarSecuencias(Ruta ruta, List<ParadaSecuencia> lsParadasSequencia) throws BusinessException {
tramoRutaService.limparInconsistenciasTramo();
if (lsParadasSequencia != null) {
List<RutaSecuencia> lsRutaSecuencia = new ArrayList<RutaSecuencia>();
HashMap<Integer, List<RutaCaseta>> rutaSecuenciaBackup = new HashMap<Integer, List<RutaCaseta>>();

View File

@ -656,4 +656,8 @@ public class TramoRutaServiceImpl implements TramoRutaService {
return kmTotal;
}
public void limparInconsistenciasTramo() {
tramoServicioDAO.limparInconsistenciasTramo();
}
}