gleimar 2015-09-22 15:35:08 +00:00
parent 6adb9f0620
commit 2fcfbd81ee
6 changed files with 34 additions and 19 deletions

View File

@ -43,8 +43,9 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer>{
* @param rutaId * @param rutaId
* @param usuarioId TODO * @param usuarioId TODO
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId TODO
* @param empresaId TODO
*/ */
public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId);
/** /**
* See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)} * See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)}

View File

@ -136,18 +136,18 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId) {
// Atualizo a taxa de embarque de acordo a parada e km // Atualizo a taxa de embarque de acordo a parada e km
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId)); SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId, empresaId));
query.executeUpdate(); query.executeUpdate();
// Atualizo a taxa de embarque de acordo a km do orgao // Atualizo a taxa de embarque de acordo a km do orgao
query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorKmOrgao(rutaId, usuarioId, orgaoConcedenteId)); query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorKmOrgao(rutaId, usuarioId, orgaoConcedenteId, empresaId));
query.executeUpdate(); query.executeUpdate();
// Atualizo a taxa de embarque de acordo a parada e valor fixo // Atualizo a taxa de embarque de acordo a parada e valor fixo
query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId)); query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId, empresaId));
query.executeUpdate(); query.executeUpdate();
} }

View File

@ -27,12 +27,11 @@ public interface SQLBuilder {
public String getSQLGerarTarifaOficialArtesp( Integer codRuta, Integer usuarioId, public String getSQLGerarTarifaOficialArtesp( Integer codRuta, Integer usuarioId,
Integer orgaoConcedenteId, Integer empresaId); Integer orgaoConcedenteId, Integer empresaId);
public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId);
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId);
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId, public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, Integer empresaId);
Integer orgaoConcedenteId);
public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);

View File

@ -418,8 +418,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId, public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
final Integer orgaoConcedenteId) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
sb.append("( "); sb.append("( ");
@ -433,6 +432,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on ");
sb.append(" tepKm.parada_id = t.origen_id and tepKm.KMATE >= "); sb.append(" tepKm.parada_id = t.origen_id and tepKm.KMATE >= ");
sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' "); sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' ");
sb.append(" inner join marca m on m.marca_id = tao.marca_id ");
sb.append("where "); sb.append("where ");
sb.append(" tepKm.kmate= "); sb.append(" tepKm.kmate= ");
sb.append(" (select min(tepKm1.KMATE) "); sb.append(" (select min(tepKm1.KMATE) ");
@ -443,11 +443,15 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" ) "); sb.append(" ) ");
sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id ");
sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id ");
sb.append(" and tao.orgaoconcedente_id = tepKm.orgaoconcedente_id ");
sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id ");
sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id ");
sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id ");
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
sb.append(" and tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id ");
if (empresaId != null) {
sb.append(" and m.empresa_id = ").append(empresaId);
}
sb.append(") "); sb.append(") ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
sb.append(" "); sb.append(" ");
@ -459,13 +463,13 @@ public class SQLBuilderOracle implements SQLBuilder {
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId);
} }
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId, public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
final Integer orgaoConcedenteId) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
sb.append("coalesce( "); sb.append("coalesce( ");
@ -479,6 +483,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join taxa_embarque_km tek on "); sb.append(" inner join taxa_embarque_km tek on ");
sb.append(" tek.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID "); sb.append(" tek.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID ");
sb.append(" and tek.activo = 1 and t.CANTKMREAL <= tek.kmate "); sb.append(" and tek.activo = 1 and t.CANTKMREAL <= tek.kmate ");
sb.append(" inner join marca m on tao.marca_id = m.marca_id ");
sb.append("where "); sb.append("where ");
sb.append(" tek.kmate= "); sb.append(" tek.kmate= ");
sb.append(" (select min(tek1.KMATE) "); sb.append(" (select min(tek1.KMATE) ");
@ -491,10 +496,16 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" "); sb.append(" ");
sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id ");
sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id ");
sb.append(" and tao.orgaoconcedente_id = tek.orgaoconcedente_id ");
sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id ");
sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id ");
sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id ");
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
if (empresaId != null) {
sb.append(" and m.empresa_id = ").append(empresaId);
}
sb.append("),IMPORTETAXAEMBARQUE) "); sb.append("),IMPORTETAXAEMBARQUE) ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
sb.append(" "); sb.append(" ");
@ -512,8 +523,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId, public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
final Integer orgaoConcedenteId) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
@ -528,6 +538,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on ");
sb.append(" tepFixo.parada_id = t.origen_id "); sb.append(" tepFixo.parada_id = t.origen_id ");
sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 "); sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 ");
sb.append(" inner join marca m on m.marca_id = tao.marca_id ");
sb.append("where "); sb.append("where ");
sb.append(" tao.marca_id = tarifa_oficial.marca_id "); sb.append(" tao.marca_id = tarifa_oficial.marca_id ");
sb.append(" and tao.orgaoconcedente_id = tepFixo.orgaoconcedente_id "); sb.append(" and tao.orgaoconcedente_id = tepFixo.orgaoconcedente_id ");
@ -536,6 +547,9 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id ");
sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id ");
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
if (empresaId != null) {
sb.append(" and m.empresa_id = ").append(empresaId);
}
sb.append("),IMPORTETAXAEMBARQUE) "); sb.append("),IMPORTETAXAEMBARQUE) ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
sb.append(" "); sb.append(" ");

View File

@ -82,9 +82,10 @@ public interface TarifaOficialService {
* @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada * @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada
* @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado
* @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço * @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço
* @param empresaId - Empresa para ser filtrada
* @throws BusinessException * @throws BusinessException
*/ */
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException; public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada, Integer empresaId) throws BusinessException;
/** /**

View File

@ -85,12 +85,12 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException{ public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada, Integer empresaId) throws BusinessException{
if (gerarTabelaZerada){ if (gerarTabelaZerada){
gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, null); gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, empresaId);
} }
tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
} }
@Override @Override