fixes bug#AL-1549

qua:
dev:Wallace

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@114797 d1611594-4594-4d17-8e1d-87c2c4800839
master
aristides 2022-10-17 17:57:09 +00:00
parent 366c6f5009
commit e3d964a647
6 changed files with 22 additions and 12 deletions

View File

@ -26,7 +26,7 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer> {
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId TODO
* @return TODO * @return TODO
*/ */
public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas); public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas,Integer[] lsCasetaPeaje);
public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas);

View File

@ -51,9 +51,9 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas) { public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> 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(); int qtd = getSession().createSQLQuery(sql).executeUpdate();

View File

@ -21,7 +21,7 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
*/ */
public interface SQLBuilder { public interface SQLBuilder {
public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas); public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas, Integer[] listCasetaPeaje);
public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas, List<Integer> lsParadaId); public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas, List<Integer> lsParadaId);

View File

@ -5,6 +5,8 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.commons.lang.StringUtils;
import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro; import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
@ -245,7 +247,7 @@ public class SQLBuilderOracle implements SQLBuilder {
@Override @Override
public String getSQLGerarTarifaOficial(final Integer codRuta, final Integer usuarioId, public String getSQLGerarTarifaOficial(final Integer codRuta, final Integer usuarioId,
final OrgaoConcedente orgaoConcedente, final List<Integer> idsEmpresas) { final OrgaoConcedente orgaoConcedente, final List<Integer> idsEmpresas,Integer[] listCasetaPeaje) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" INSERT "); 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 estado e on e.estado_id = c.estado_id ");
sb.append(" inner join MARCA_CLASESERVICIO mc on "); sb.append(" inner join MARCA_CLASESERVICIO mc on ");
sb.append(" mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and ma.marca_id = mc.marca_id "); 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(" inner join CLASE_SERVICIO cl on cl.claseservicio_id = r.CLASESERVICIO_ID, ");
sb.append(" moneda m "); sb.append(" moneda m ");
sb.append(" "); sb.append(" ");
sb.append("where "); sb.append("where ");
sb.append(" rc.activo = 1 "); sb.append(" rc.activo = 1 ");
@ -407,6 +413,10 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_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(" 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(); return sb.toString();
} }

View File

@ -36,7 +36,7 @@ public interface TarifaOficialService {
* @param orgaoConcedenteId * @param orgaoConcedenteId
* @return A quantidade de registros afetadas * @return A quantidade de registros afetadas
*/ */
public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas); public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas,Integer[] lsCasetaPeaje);
/** /**
@ -67,7 +67,7 @@ public interface TarifaOficialService {
* @param empresaId * @param empresaId
* @throws BusinessException * @throws BusinessException
*/ */
public void gerarAtualizarTarifa(List<Ruta> lsRuta, OrgaoConcedente orgaoConcedenteId, List<Empresa> lsEmpresaSelected) throws BusinessException; public void gerarAtualizarTarifa(List<Ruta> lsRuta, OrgaoConcedente orgaoConcedenteId, List<Empresa> lsEmpresaSelected, Integer[] lsCasetaPeaje) throws BusinessException;
/** /**
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.<br/> * Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.<br/>

View File

@ -63,8 +63,8 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas) { public Integer gerarTarifaPorCoeficiente(Integer rutaId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas,Integer[] lsCasetaPeaje) {
return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedente, idsEmpresas); return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedente, idsEmpresas,lsCasetaPeaje );
} }
@Override @Override
@ -82,7 +82,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTarifa(List<Ruta> lsRuta, OrgaoConcedente orgaoConcedente, List<Empresa> lsEmpresaSelected) throws BusinessException { public void gerarAtualizarTarifa(List<Ruta> lsRuta, OrgaoConcedente orgaoConcedente, List<Empresa> lsEmpresaSelected, Integer[] lsCasetaPeaje) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL // Limpando a tabela de TARIFA_OFICIAL
tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected); tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected);
@ -109,7 +109,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
// Gerando as tarifas pelo coeficiente // Gerando as tarifas pelo coeficiente
if (orgaoConcedente == null || if (orgaoConcedente == null ||
(orgaoConcedente.getOrgaoConcedenteId() == null || orgaoConcedente.getOrgaoConcedenteId() != OrgaoConcedente.CODIGO_ARTESP)) { (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); log.info("qtdTarifaCoeficiente=" + qtdTarifaCoeficiente);
} }