fixes bug#6641
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@48073 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
6adb9f0620
commit
2fcfbd81ee
|
@ -43,8 +43,9 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer>{
|
|||
* @param rutaId
|
||||
* @param usuarioId 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)}
|
||||
|
|
|
@ -136,18 +136,18 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
}
|
||||
|
||||
@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
|
||||
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId));
|
||||
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId, empresaId));
|
||||
query.executeUpdate();
|
||||
|
||||
// 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();
|
||||
|
||||
// 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();
|
||||
}
|
||||
|
||||
|
|
|
@ -27,12 +27,11 @@ public interface SQLBuilder {
|
|||
public String getSQLGerarTarifaOficialArtesp( Integer codRuta, Integer usuarioId,
|
||||
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,
|
||||
Integer orgaoConcedenteId);
|
||||
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, Integer empresaId);
|
||||
|
||||
public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
|
||||
|
||||
|
|
|
@ -418,8 +418,7 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId,
|
||||
final Integer orgaoConcedenteId) {
|
||||
public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
|
||||
sb.append("( ");
|
||||
|
@ -433,6 +432,7 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on ");
|
||||
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(" inner join marca m on m.marca_id = tao.marca_id ");
|
||||
sb.append("where ");
|
||||
sb.append(" tepKm.kmate= ");
|
||||
sb.append(" (select min(tepKm1.KMATE) ");
|
||||
|
@ -443,11 +443,15 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
sb.append(" ) ");
|
||||
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 = tepKm.orgaoconcedente_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.ruta_id = tarifa_oficial.ruta_id ");
|
||||
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
|
||||
sb.append(" ");
|
||||
|
@ -460,12 +464,12 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId);
|
||||
}
|
||||
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,
|
||||
final Integer orgaoConcedenteId) {
|
||||
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
|
||||
sb.append("coalesce( ");
|
||||
|
@ -479,6 +483,7 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
sb.append(" inner join taxa_embarque_km tek on ");
|
||||
sb.append(" tek.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID ");
|
||||
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(" tek.kmate= ");
|
||||
sb.append(" (select min(tek1.KMATE) ");
|
||||
|
@ -491,10 +496,16 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
sb.append(" ");
|
||||
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 = tek.orgaoconcedente_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.ruta_id = tarifa_oficial.ruta_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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
|
||||
sb.append(" ");
|
||||
|
@ -512,8 +523,7 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,
|
||||
final Integer orgaoConcedenteId) {
|
||||
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) {
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
|
||||
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(" tepFixo.parada_id = t.origen_id ");
|
||||
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(" tao.marca_id = tarifa_oficial.marca_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.ruta_id = tarifa_oficial.ruta_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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
|
||||
sb.append(" ");
|
||||
|
|
|
@ -82,9 +82,10 @@ public interface TarifaOficialService {
|
|||
* @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 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
|
||||
*/
|
||||
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException;
|
||||
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada, Integer empresaId) throws BusinessException;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -85,12 +85,12 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
|
|||
|
||||
@Override
|
||||
@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){
|
||||
gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, null);
|
||||
gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, empresaId);
|
||||
}
|
||||
|
||||
tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId);
|
||||
tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue