frederico 2016-07-28 14:13:21 +00:00
parent 24960f82cc
commit 7859fc79d6
10 changed files with 93 additions and 21 deletions

View File

@ -12,4 +12,7 @@ public interface OrgaoConcedenteDAO extends GenericDAO<OrgaoConcedente, Integer>
public List<Integer> obtenerTodosIds() ; public List<Integer> obtenerTodosIds() ;
public List<OrgaoConcedente> obtenerTodosExceto(Integer... id);
} }

View File

@ -2,6 +2,8 @@ package com.rjconsultores.ventaboletos.dao;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
@ -38,8 +40,10 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer>{
* @param calculaPegagio Boolean * @param calculaPegagio Boolean
* @param calculaTarifa Boolean * @param calculaTarifa Boolean
* @param calculaTaxaEmbarque Boolean * @param calculaTaxaEmbarque Boolean
* @param empresa Empresa
* @param orgaoConcedente OrgaoConcedente
*/ */
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro); public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgaoConcedente);
/** /**
* See {@link TarifaOficialService#atualizarTaxaEmbarque(Integer, Integer)} * See {@link TarifaOficialService#atualizarTaxaEmbarque(Integer, Integer)}

View File

@ -32,6 +32,16 @@ public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO<OrgaoConced
return c.list(); return c.list();
} }
@SuppressWarnings("unchecked")
public List<OrgaoConcedente> obtenerTodosExceto(Integer... id) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descOrgao"));
c.add(Restrictions.not(Restrictions.in("orgaoConcedenteId", id)));
return c.list();
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<Integer> obtenerTodosIds() { public List<Integer> obtenerTodosIds() {

View File

@ -16,6 +16,8 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
@ -78,7 +80,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
query.executeUpdate(); query.executeUpdate();
} }
private void apagarTarifasInativas(VigenciaTarifa vigenciaTarifa){ private void apagarTarifasInativas(VigenciaTarifa vigenciaTarifa, Empresa empresa, OrgaoConcedente orgao) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("select "); sb.append("select ");
sb.append(" tar.tarifaId "); sb.append(" tar.tarifaId ");
@ -95,36 +97,61 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
sb.append(" and tar.ruta=tao.ruta "); sb.append(" and tar.ruta=tao.ruta ");
sb.append(" and tar.vigenciaTarifa.vigenciatarifaId = :vigenciaId "); sb.append(" and tar.vigenciaTarifa.vigenciatarifaId = :vigenciaId ");
Query query = null; if (orgao != null) {
sb.append(" and tar.orgaoConcedente = :orgao ");
}
if (empresa != null) {
sb.append(" and tar.marca.empresa = :empresa ");
}
query = getSession().createQuery("DELETE FROM TarifaTipoptovta WHERE tarifa.tarifaId in (" + sb.toString()+ ")"); Query query = getSession().createQuery("DELETE FROM TarifaTipoptovta WHERE tarifa.tarifaId in (" + sb.toString()+ ")");
query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId()); query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId());
if (orgao != null) {
query.setParameter("orgao", orgao);
}
if (empresa != null) {
query.setParameter("empresa", empresa);
}
int qtd = query.executeUpdate(); int qtd = query.executeUpdate();
log.info("qtd TarifaTipoptovta apagada = " + qtd); log.info("qtd TarifaTipoptovta apagada = " + qtd);
query = getSession().createQuery("DELETE FROM TarifaCategoria WHERE tarifa.tarifaId in (" + sb.toString()+ ")"); query = getSession().createQuery("DELETE FROM TarifaCategoria WHERE tarifa.tarifaId in (" + sb.toString()+ ")");
query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId()); query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId());
if (orgao != null) {
query.setParameter("orgao", orgao);
}
if (empresa != null) {
query.setParameter("empresa", empresa);
}
qtd = query.executeUpdate(); qtd = query.executeUpdate();
log.info("qtd TarifaCategoria apagada = " + qtd); log.info("qtd TarifaCategoria apagada = " + qtd);
query = getSession().createQuery("DELETE FROM Tarifa WHERE activo = 0 and tarifaId in (" + sb.toString()+ ")"); query = getSession().createQuery("DELETE FROM Tarifa WHERE activo = 0 and tarifaId in (" + sb.toString()+ ")");
query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId()); query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId());
if (orgao != null) {
query.setParameter("orgao", orgao);
}
if (empresa != null) {
query.setParameter("empresa", empresa);
}
qtd = query.executeUpdate(); qtd = query.executeUpdate();
log.info("qtd Tarifa apagada = " + qtd); log.info("qtd Tarifa apagada = " + qtd);
} }
@Override @Override
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro) { public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgaoConcedente) {
//Apago antes as tarifas que podem estar como activo =0 //Apago antes as tarifas que podem estar como activo =0
apagarTarifasInativas(vigenciaTarifa); apagarTarifasInativas(vigenciaTarifa, empresa, orgaoConcedente);
// Insiro as tarifas que não existem // Insiro as tarifas que não existem
SQLQuery querySQL = getSession().createSQLQuery(sqlBuilder.getSQLInserirTarifaPelaTarifaOficial(vigenciaTarifa.getVigenciatarifaId(), usuarioId)); SQLQuery querySQL = getSession().createSQLQuery(sqlBuilder.getSQLInserirTarifaPelaTarifaOficial(vigenciaTarifa.getVigenciatarifaId(), usuarioId, empresa, orgaoConcedente));
querySQL.executeUpdate(); querySQL.executeUpdate();
// Atualizo o preço e o componente dos preços que já existem // Atualizo o preço e o componente dos preços que já existem
querySQL = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTarifaPorTarifaOfical(vigenciaTarifa.getVigenciatarifaId(), usuarioId, calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro)); querySQL = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTarifaPorTarifaOfical(vigenciaTarifa.getVigenciatarifaId(), usuarioId, calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro, empresa, orgaoConcedente));
querySQL.executeUpdate(); querySQL.executeUpdate();
} }

View File

@ -3,6 +3,8 @@ package com.rjconsultores.ventaboletos.dao.sqlbuilder;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.vo.caja.CajaVO; import com.rjconsultores.ventaboletos.vo.caja.CajaVO;
/** /**
@ -37,9 +39,9 @@ public interface SQLBuilder {
public String getSQLAtualizarSeguroPorTarifa(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); public String getSQLAtualizarSeguroPorTarifa(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
public String getSQLAtualizarTarifaPorTarifaOfical(Integer vigenciaTarifaId, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro); public String getSQLAtualizarTarifaPorTarifaOfical(Integer vigenciaTarifaId, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgao);
public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId); public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId, Empresa empresa, OrgaoConcedente orgao);
public String getSQLActualizarCorridaFecHusoFecVerano(); public String getSQLActualizarCorridaFecHusoFecVerano();

View File

@ -6,8 +6,8 @@ import java.util.List;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.dao.util.DBUtil; import com.rjconsultores.ventaboletos.dao.util.DBUtil;
import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties;import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
public class SQLBuilderOracle implements SQLBuilder { public class SQLBuilderOracle implements SQLBuilder {
private static final Integer HORAS_NO_DIA = Integer.valueOf(24); private static final Integer HORAS_NO_DIA = Integer.valueOf(24);
private static final Integer RED_PAGO_FORMAPAGO_ID = Integer.valueOf(95); private static final Integer RED_PAGO_FORMAPAGO_ID = Integer.valueOf(95);
@ -658,7 +658,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getSQLAtualizarTarifaPorTarifaOfical(final Integer vigenciaTarifaId, final Integer usuarioId, final Boolean calculaPegagio, final Boolean calculaTarifa, final Boolean calculaTaxaEmbarque, final Boolean calculaSeguro) { public String getSQLAtualizarTarifaPorTarifaOfical(final Integer vigenciaTarifaId, final Integer usuarioId, final Boolean calculaPegagio, final Boolean calculaTarifa, final Boolean calculaTaxaEmbarque, final Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgao) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update ( "); sb.append("update ( ");
sb.append(" "); sb.append(" ");
@ -685,8 +685,15 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and tao.moneda_id = ta.moneda_id "); sb.append(" and tao.moneda_id = ta.moneda_id ");
sb.append(" and tao.ruta_id = ta.ruta_id "); sb.append(" and tao.ruta_id = ta.ruta_id ");
sb.append(" and tao.orgaoconcedente_id = ta.orgaoconcedente_id "); sb.append(" and tao.orgaoconcedente_id = ta.orgaoconcedente_id ");
sb.append(" inner join marca m ON tao.marca_id = m.marca_id ");
sb.append("where "); sb.append("where ");
sb.append(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId); sb.append(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId);
if(orgao != null){
sb.append(" and tao.orgaoconcedente_id = ").append(orgao.getOrgaoConcedenteId());
}
if(empresa != null){
sb.append(" and m.empresa_id = ").append(empresa.getEmpresaId());
}
sb.append(" ) set "); sb.append(" ) set ");
if (calculaPegagio) { if (calculaPegagio) {
sb.append(" taimportepedagio = taoimportepedagio,"); sb.append(" taimportepedagio = taoimportepedagio,");
@ -708,7 +715,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getSQLInserirTarifaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId) { public String getSQLInserirTarifaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId, Empresa empresa, OrgaoConcedente orgao) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append(" insert "); sb.append(" insert ");
sb.append(" into "); sb.append(" into ");
@ -742,14 +749,24 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" tao.DESTINO_ID "); sb.append(" tao.DESTINO_ID ");
sb.append(" from "); sb.append(" from ");
sb.append(" TARIFA_OFICIAL tao, "); sb.append(" TARIFA_OFICIAL tao, ");
sb.append(" VIGENCIA_TARIFA v "); sb.append(" VIGENCIA_TARIFA v, ");
sb.append(" MARCA m ");
sb.append(" where "); sb.append(" where ");
sb.append(" tao.ACTIVO=1 "); sb.append(" m.MARCA_ID=tao.MARCA_ID ");
sb.append(" and tao.ACTIVO=1 ");
sb.append(" and v.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append(" "); sb.append(" and v.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append(" ");
if(orgao != null){
sb.append(" and tao.ORGAOCONCEDENTE_ID=").append(orgao.getOrgaoConcedenteId()).append(" ");
}
if(empresa != null){
sb.append(" and m.EMPRESA_ID=").append(empresa.getEmpresaId()).append(" ");
}
sb.append(" and not (exists (select "); sb.append(" and not (exists (select ");
sb.append(" tar.TARIFA_ID "); sb.append(" tar.TARIFA_ID ");
sb.append(" from "); sb.append(" from ");
sb.append(" TARIFA tar "); sb.append(" TARIFA tar ");
sb.append(" where "); sb.append(" where ");
sb.append(" tar.ACTIVO=1 "); sb.append(" tar.ACTIVO=1 ");
sb.append(" and tar.TRAMO_ID=tao.TRAMO_ID "); sb.append(" and tar.TRAMO_ID=tao.TRAMO_ID ");

View File

@ -11,6 +11,8 @@ public interface OrgaoConcedenteService {
public List<OrgaoConcedente> obtenerTodos(); public List<OrgaoConcedente> obtenerTodos();
public List<OrgaoConcedente> obtenerTodosExceto(Integer... id);
public OrgaoConcedente obtenerID(Integer id); public OrgaoConcedente obtenerID(Integer id);
public OrgaoConcedente actualizacion(OrgaoConcedente entidad); public OrgaoConcedente actualizacion(OrgaoConcedente entidad);

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
@ -69,7 +70,7 @@ public interface TarifaOficialService {
* *
* @param vigenciaTarifa * @param vigenciaTarifa
*/ */
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro); public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgaoConcedente);
/** /**
* Atualiza a taxa de embarque da entidade TarifaOficial.<br/> * Atualiza a taxa de embarque da entidade TarifaOficial.<br/>

View File

@ -56,4 +56,9 @@ public class OrgaoConcedenteServiceImpl implements OrgaoConcedenteService {
public List<OrgaoConcedente> buscar(String desc) { public List<OrgaoConcedente> buscar(String desc) {
return orgaoConcedenteDAO.buscar(desc); return orgaoConcedenteDAO.buscar(desc);
} }
@Override
public List<OrgaoConcedente> obtenerTodosExceto(Integer... id) {
return orgaoConcedenteDAO.obtenerTodosExceto(id);
}
} }

View File

@ -50,8 +50,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro) { public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro,Empresa empresa, OrgaoConcedente orgaoConcedente) {
tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId(), calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro); tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId(),
calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro, empresa, orgaoConcedente);
} }
@Override @Override