gleimar 2012-08-27 20:10:05 +00:00
parent bd16c14bee
commit 909ad4400d
6 changed files with 44 additions and 31 deletions

View File

@ -6,23 +6,25 @@ import com.rjconsultores.ventaboletos.service.TarifaOficialService;
public interface TarifaOficialDAO { public interface TarifaOficialDAO {
/** /**
* See {@link TarifaOficialService#gerarTarifaANTT(Integer)} * See {@link TarifaOficialService#gerarTarifaPorCoeficiente(Integer)}
* @param ruta * @param ruta
* @param usuarioId TODO * @param usuarioId TODO
* @param orgaoConcedenteId TODO
* @return TODO * @return TODO
*/ */
public Integer gerarTarifaANTT(Integer ruta, Integer usuarioId); public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId);
/** /**
* See {@link TarifaOficialService#atualizarTarifaANTT(Integer)} * See {@link TarifaOficialService#atualizarTarifaPorCoeficiente(Integer)}
* @param rutaId * @param rutaId
* @param usuarioId TODO * @param usuarioId TODO
* @param orgaoConcedenteId TODO
* @return TODO * @return TODO
*/ */
public Integer atualizarTarifaANTT(Integer rutaId, Integer usuarioId); public Integer atualizarTarifaCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
/** /**
* * See {@link TarifaOficialService#copiarParaTarifa(VigenciaTarifa)} * See {@link TarifaOficialService#copiarParaTarifa(VigenciaTarifa)}
* @param vigenciaTarifa * @param vigenciaTarifa
* @param usuarioId TODO * @param usuarioId TODO
*/ */

View File

@ -24,9 +24,9 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public Integer gerarTarifaANTT(Integer rutaId, Integer usuarioId) { public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) {
String sql = sqlBuilder.getSQLTarifaOficial1(rutaId, usuarioId); String sql = sqlBuilder.getSQLTarifaOficial1(rutaId, usuarioId, orgaoConcedenteId);
int qtd = getSession().createSQLQuery(sql).executeUpdate(); int qtd = getSession().createSQLQuery(sql).executeUpdate();
@ -34,9 +34,9 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public Integer atualizarTarifaANTT(Integer rutaId, Integer usuarioId) { public Integer atualizarTarifaCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) {
String sql = sqlBuilder.getSQLTarifaOficial2(rutaId,usuarioId); String sql = sqlBuilder.getSQLTarifaOficial2(rutaId,usuarioId, orgaoConcedenteId);
int qtd = getSession().createSQLQuery(sql).executeUpdate(); int qtd = getSession().createSQLQuery(sql).executeUpdate();

View File

@ -14,9 +14,9 @@ package com.rjconsultores.ventaboletos.dao.sqlbuilder;
*/ */
public interface SQLBuilder { public interface SQLBuilder {
public String getSQLTarifaOficial1(Integer codRuta, Integer usuarioId); public String getSQLTarifaOficial1(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId);
public String getSQLTarifaOficial2(Integer rutaId, Integer usuarioId); public String getSQLTarifaOficial2(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
public String getSQLTaxaEmbarque1(Integer rutaId, Integer usuarioId); public String getSQLTaxaEmbarque1(Integer rutaId, Integer usuarioId);
public String getSQLTaxaEmbarque2(Integer rutaId, Integer usuarioId); public String getSQLTaxaEmbarque2(Integer rutaId, Integer usuarioId);

View File

@ -5,7 +5,7 @@ import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
public class SQLBuilderOracle implements SQLBuilder { public class SQLBuilderOracle implements SQLBuilder {
@Override @Override
public String getSQLTarifaOficial1(Integer codRuta, Integer usuarioId) { public String getSQLTarifaOficial1(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("INSERT "); sb.append("INSERT ");
sb.append("INTO "); sb.append("INTO ");
@ -82,7 +82,9 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and r.activo = 1 "); sb.append(" and r.activo = 1 ");
sb.append(" and tc.activo = 1 "); sb.append(" and tc.activo = 1 ");
sb.append(" and m.moneda_id = 1 "); sb.append(" and m.moneda_id = 1 ");
sb.append(" and oc.orgaoconcedente_id = 3 "); if (orgaoConcedenteId != null){
sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId);
}
sb.append(" and "); sb.append(" and ");
sb.append(" (t.tramo_id, "); sb.append(" (t.tramo_id, ");
sb.append(" mc.marca_id, "); sb.append(" mc.marca_id, ");
@ -95,7 +97,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getSQLTarifaOficial2(Integer rutaId, Integer usuarioId) { public String getSQLTarifaOficial2(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("UPDATE TARIFA_OFICIAL SET PRECIO = "); sb.append("UPDATE TARIFA_OFICIAL SET PRECIO = ");
@ -126,7 +128,9 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and r.activo = 1 "); sb.append(" and r.activo = 1 ");
sb.append(" and tc.activo = 1 "); sb.append(" and tc.activo = 1 ");
sb.append(" and m.moneda_id = 1 "); sb.append(" and m.moneda_id = 1 ");
sb.append(" and oc.orgaoconcedente_id = 3 "); if (orgaoConcedenteId != null){
sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId);
}
sb.append(" and t.tramo_id = TARIFA_OFICIAL.tramo_id "); sb.append(" and t.tramo_id = TARIFA_OFICIAL.tramo_id ");
sb.append(" and mc.marca_id = TARIFA_OFICIAL.marca_id "); sb.append(" and mc.marca_id = TARIFA_OFICIAL.marca_id ");
sb.append(" and r.CLASESERVICIO_ID = TARIFA_OFICIAL.CLASESERVICIO_ID "); sb.append(" and r.CLASESERVICIO_ID = TARIFA_OFICIAL.CLASESERVICIO_ID ");
@ -142,7 +146,9 @@ public class SQLBuilderOracle implements SQLBuilder {
if (rutaId != null){ if (rutaId != null){
sb.append(" and ruta_id = ").append(rutaId); sb.append(" and ruta_id = ").append(rutaId);
} }
if (orgaoConcedenteId != null){
sb.append(" and orgaoconcedente_id = ").append(orgaoConcedenteId);
}
return sb.toString(); return sb.toString();
} }

View File

@ -6,38 +6,43 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
public interface TarifaOficialService { public interface TarifaOficialService {
/** /**
* Gera as tarifas de acordo o cálculo da ANTT.<br/> * Gera as tarifas de acordo o cálculo do coeficiente tarifário.<br/>
*
* Fórmula: (KM * Coeficiente Tarifário)
* *
* Se o parametro ruta não for informado, será gerado tarifas para todas as * Se o parametro ruta não for informado, será gerado tarifas para todas as
* rutas da ANTT.<br/> * rutas. <br/>
* *
* Obs.: Essa operção apenas gera tarifas que ainda não estão geradas<br/> * Obs.: Essa operção apenas gera tarifas que ainda não estão geradas<br/>
* *
* @param rutaId * @param rutaId
* @return A quantidade de registros afetadas * @return A quantidade de registros afetadas
*/ */
public Integer gerarTarifaANTT(Integer rutaId); public Integer gerarTarifaPorCoeficiente(Integer rutaId);
/** /**
* Atualiza as tarifas de acordo o cálculo da ANTT<br/> * Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.<br/>
*
* Fórmula: (KM * Coeficiente Tarifário)
* *
* Se o parametro ruta não for informado, será atualizado as tarifas para * Se o parametro ruta não for informado, será atualizado as tarifas para
* todas as rutas da ANTT.<br/> * todas as rutas.<br/>
* *
* @param rutaId * @param rutaId
* @return TODO * @return TODO
*/ */
public Integer atualizarTarifaANTT(Integer rutaId); public Integer atualizarTarifaPorCoeficiente(Integer rutaId);
/** /**
* Gera as novas tarifas e atualiza as já existentes * Gera as novas tarifas e atualiza as já existentes
* *
* Utiliza os métodos {@link #gerarTarifaANTT(Integer)} e {@link #atualizarTarifaANTT(Integer)} * Utiliza os métodos {@link #gerarTarifaPorCoeficiente(Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer)}
* *
* @param rudaId * @param rudaId
* @param orgaoConcedenteId
* @return - Retorna o total de registros inseridos + atualizados * @return - Retorna o total de registros inseridos + atualizados
*/ */
public Integer gerarAtualizarTarifaANTT(Integer rudaId); public Integer gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId);
/** /**
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada * Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada

View File

@ -17,14 +17,14 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public Integer gerarTarifaANTT(Integer rutaId) { public Integer gerarTarifaPorCoeficiente(Integer rutaId) {
return tarifaOficialDAO.gerarTarifaANTT(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), null);
} }
@Override @Override
@Transactional @Transactional
public Integer atualizarTarifaANTT(Integer rutaId) { public Integer atualizarTarifaPorCoeficiente(Integer rutaId) {
return tarifaOficialDAO.atualizarTarifaANTT(rutaId,UsuarioLogado.getUsuarioLogado().getUsuarioId()); return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId,UsuarioLogado.getUsuarioLogado().getUsuarioId(), null);
} }
@Override @Override
@ -35,10 +35,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public Integer gerarAtualizarTarifaANTT(Integer rudaId) { public Integer gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) {
Integer qtd = gerarTarifaANTT(rudaId); Integer qtd = gerarTarifaPorCoeficiente(rudaId);
qtd += atualizarTarifaANTT(rudaId); qtd += atualizarTarifaPorCoeficiente(rudaId);
return qtd; return qtd;
} }