fixed bug #7797
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58857 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
fa8b4a6617
commit
3464537754
|
@ -3,11 +3,14 @@ package com.rjconsultores.ventaboletos.dao.hibernate;
|
|||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SQLQuery;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.transform.Transformers;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -17,7 +20,8 @@ import org.springframework.stereotype.Repository;
|
|||
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
|
||||
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.OrgaoConcedente;
|
||||
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
|
||||
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
|
||||
|
||||
|
@ -25,7 +29,7 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
|
|||
public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial, Integer> implements TarifaOficialDAO {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(TarifaOficialHibernateDAO.class);
|
||||
|
||||
|
||||
@Autowired
|
||||
private SQLBuilder sqlBuilder;
|
||||
|
||||
|
@ -43,7 +47,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
|
||||
return qtd;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Integer gerarTarifaArtesp(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas) {
|
||||
|
||||
|
@ -53,7 +57,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
|
||||
return qtd;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Integer gerarTabelaZerada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas) {
|
||||
|
||||
|
@ -106,28 +110,28 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
sb.append(" and tar.orgaoConcedente=tao.orgaoConcedente ");
|
||||
sb.append(" and tar.ruta=tao.ruta ");
|
||||
sb.append(" and tar.vigenciaTarifa.vigenciatarifaId = :vigenciaId ");
|
||||
|
||||
|
||||
if (orgao != null) {
|
||||
sb.append(" and tar.orgaoConcedente = :orgao ");
|
||||
}
|
||||
if (empresa != null) {
|
||||
sb.append(" and tar.marca.empresa = :empresa ");
|
||||
}
|
||||
|
||||
Query 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());
|
||||
|
||||
|
||||
if (orgao != null) {
|
||||
query.setParameter("orgao", orgao);
|
||||
}
|
||||
if (empresa != null) {
|
||||
query.setParameter("empresa", empresa);
|
||||
}
|
||||
|
||||
|
||||
int qtd = query.executeUpdate();
|
||||
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());
|
||||
if (orgao != null) {
|
||||
query.setParameter("orgao", orgao);
|
||||
|
@ -135,11 +139,11 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
if (empresa != null) {
|
||||
query.setParameter("empresa", empresa);
|
||||
}
|
||||
|
||||
|
||||
qtd = query.executeUpdate();
|
||||
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());
|
||||
if (orgao != null) {
|
||||
query.setParameter("orgao", orgao);
|
||||
|
@ -147,11 +151,11 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
if (empresa != null) {
|
||||
query.setParameter("empresa", empresa);
|
||||
}
|
||||
|
||||
|
||||
qtd = query.executeUpdate();
|
||||
log.info("qtd Tarifa apagada = " + qtd);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
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
|
||||
|
@ -161,27 +165,31 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
SQLQuery querySQL = getSession().createSQLQuery(sqlBuilder.getSQLInserirTarifaPelaTarifaOficial(vigenciaTarifa.getVigenciatarifaId(), usuarioId, empresa, orgaoConcedente));
|
||||
querySQL.executeUpdate();
|
||||
// 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, empresa, orgaoConcedente));
|
||||
querySQL.executeUpdate();
|
||||
querySQL = getSession().createSQLQuery(sqlBuilder.getSQLSelecionarTarifaPorTarifaOficalParaAtualizar(vigenciaTarifa.getVigenciatarifaId(), empresa, orgaoConcedente));
|
||||
querySQL.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
|
||||
List<Map<String, Object>> dados = querySQL.list();
|
||||
for (Map<String, Object> dado : dados) {
|
||||
querySQL = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTarifaPorTarifaOfical(dado, usuarioId, calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro));
|
||||
querySQL.executeUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas) {
|
||||
|
||||
|
||||
int x = 0;
|
||||
|
||||
if(lsRuta != null && !lsRuta.isEmpty()){
|
||||
x=lsRuta.size();
|
||||
|
||||
if (lsRuta != null && !lsRuta.isEmpty()) {
|
||||
x = lsRuta.size();
|
||||
}
|
||||
|
||||
do{
|
||||
Integer rutaId = null ;
|
||||
|
||||
if(lsRuta != null && !lsRuta.isEmpty()){
|
||||
rutaId = lsRuta.get(x-1).getRutaId();
|
||||
|
||||
do {
|
||||
Integer rutaId = null;
|
||||
|
||||
if (lsRuta != null && !lsRuta.isEmpty()) {
|
||||
rutaId = lsRuta.get(x - 1).getRutaId();
|
||||
}
|
||||
|
||||
|
||||
// Atualizo a taxa de embarque de acordo a parada e km
|
||||
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas));
|
||||
query.executeUpdate();
|
||||
|
@ -194,7 +202,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas));
|
||||
query.executeUpdate();
|
||||
x--;
|
||||
}while(x > 0);
|
||||
} while (x > 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -208,14 +216,14 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarSeguroPorTarifa(rutaId, usuarioId, orgaoId));
|
||||
query.executeUpdate();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long obtenerCount(){
|
||||
String sql = " select count(*) from TarifaOficial ";
|
||||
public long obtenerCount() {
|
||||
String sql = " select count(*) from TarifaOficial ";
|
||||
Query query = getSession().createQuery(sql.toString());
|
||||
long qtd =0;
|
||||
long qtd = 0;
|
||||
qtd = (Long) query.list().get(0);
|
||||
|
||||
|
||||
return qtd;
|
||||
}
|
||||
|
||||
|
@ -237,10 +245,10 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
query.setParameter("orgao", orgaoConcedenteId);
|
||||
}
|
||||
query.setInteger("txEmbarque", taxaEmbarque ? 1 : 0);
|
||||
query.setParameter("usuarioId", usuarioId);
|
||||
query.setParameter("usuarioId", usuarioId);
|
||||
query.executeUpdate();
|
||||
}
|
||||
|
||||
|
||||
public void atualizarPedagio() {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" merge into tarifa_oficial ");
|
||||
|
@ -261,7 +269,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
|
|||
sql.append(" when matched then ");
|
||||
sql.append(" update set ");
|
||||
sql.append(" importepedagio = tarifa_importe.soma ");
|
||||
|
||||
|
||||
Connection conn = getSession().connection();
|
||||
Statement stmt;
|
||||
try {
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.dao.sqlbuilder;
|
|||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
|
||||
|
@ -39,8 +40,10 @@ public interface SQLBuilder {
|
|||
|
||||
public String getSQLAtualizarSeguroPorTarifa(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
|
||||
|
||||
public String getSQLAtualizarTarifaPorTarifaOfical(Integer vigenciaTarifaId, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgao);
|
||||
|
||||
public String getSQLSelecionarTarifaPorTarifaOficalParaAtualizar(Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao);
|
||||
|
||||
public String getSQLAtualizarTarifaPorTarifaOfical(Map<String,Object> dados, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro);
|
||||
|
||||
public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId, Empresa empresa, OrgaoConcedente orgao);
|
||||
|
||||
public String getSQLActualizarCorridaFecHusoFecVerano();
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao.sqlbuilder.impl;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
|
||||
import com.rjconsultores.ventaboletos.dao.util.DBUtil;
|
||||
|
@ -659,59 +660,64 @@ public class SQLBuilderOracle implements SQLBuilder {
|
|||
}
|
||||
|
||||
@Override
|
||||
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) {
|
||||
public String getSQLSelecionarTarifaPorTarifaOficalParaAtualizar(final Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao) {
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append("update ( ");
|
||||
sb.append(" ");
|
||||
sb.append("select ");
|
||||
sb.append(" ta.precio as taprecio, ");
|
||||
sb.append(" ta.preciooriginal as tapreciooriginal, ");
|
||||
sb.append(" ta.importetaxaembarque as taimportetaxaembarque, ");
|
||||
sb.append(" ta.importepedagio as taimportepedagio, ");
|
||||
sb.append(" ta.importeoutros as taimporteoutros, ");
|
||||
sb.append(" ta.importeseguro as taimporteseguro, ");
|
||||
sb.append(" tao.precio as taoprecio, ");
|
||||
sb.append(" tao.preciooriginal as taopreciooriginal, ");
|
||||
sb.append(" tao.importetaxaembarque as taoimportetaxaembarque, ");
|
||||
sb.append(" tao.importepedagio as taoimportepedagio, ");
|
||||
sb.append(" tao.importeoutros as taoimporteoutros, ");
|
||||
sb.append(" tao.importeseguro as taoimporteseguro, ");
|
||||
sb.append(" ta.fecmodif as tafecmodif,ta.usuario_id as tausuario_id ");
|
||||
sb.append("from ");
|
||||
sb.append(" tarifa_oficial tao ");
|
||||
sb.append(" inner join tarifa ta on ");
|
||||
sb.append(" tao.marca_id = ta.marca_id ");
|
||||
sb.append(" and tao.claseservicio_id = ta.claseservicio_id ");
|
||||
sb.append(" and tao.tramo_id = ta.tramo_id ");
|
||||
sb.append(" and tao.moneda_id = ta.moneda_id ");
|
||||
sb.append(" and tao.ruta_id = ta.ruta_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(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId);
|
||||
|
||||
sb.append("SELECT tao.IMPORTEPEDAGIO AS \"taoimportepedagio\", ");
|
||||
sb.append(" tao.PRECIO AS \"taoprecio\", ");
|
||||
sb.append(" tao.PRECIOORIGINAL AS \"taopreciooriginal\", ");
|
||||
sb.append(" tao.IMPORTETAXAEMBARQUE AS \"taoimportetaxaembarque\", ");
|
||||
sb.append(" tao.IMPORTESEGURO AS \"taoimporteseguro\", ");
|
||||
sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", ");
|
||||
sb.append(" ta.TARIFA_ID AS \"tarifaId\" ");
|
||||
|
||||
sb.append("FROM TARIFA_OFICIAL tao " );
|
||||
sb.append("INNER JOIN TARIFA ta ON (tao.MARCA_ID = ta.MARCA_ID ");
|
||||
sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID ");
|
||||
sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID ");
|
||||
sb.append(" AND tao.MONEDA_ID = ta.MONEDA_ID ");
|
||||
sb.append(" AND tao.RUTA_ID = ta.RUTA_ID ");
|
||||
sb.append(" AND tao.ORGAOCONCEDENTE_ID = ta.ORGAOCONCEDENTE_ID ");
|
||||
sb.append(" )");
|
||||
sb.append("INNER JOIN MARCA mTa ON tao.MARCA_ID = mTa.MARCA_ID ");
|
||||
sb.append("INNER JOIN MARCA mTao ON ta.MARCA_ID = mTao.MARCA_ID ");
|
||||
|
||||
sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId);
|
||||
|
||||
if(orgao != null){
|
||||
sb.append(" and tao.orgaoconcedente_id = ").append(orgao.getOrgaoConcedenteId());
|
||||
sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId());
|
||||
}
|
||||
if(empresa != null){
|
||||
sb.append(" and m.empresa_id = ").append(empresa.getEmpresaId());
|
||||
sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId());
|
||||
sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId());
|
||||
}
|
||||
sb.append(" ) set ");
|
||||
if (calculaPegagio) {
|
||||
sb.append(" taimportepedagio = taoimportepedagio,");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSQLAtualizarTarifaPorTarifaOfical(Map<String,Object> dados, Integer usuarioId, Boolean calculaPegagio,
|
||||
Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro){
|
||||
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
sb.append("UPDATE TARIFA SET ");
|
||||
|
||||
if(calculaPegagio){
|
||||
sb.append("IMPORTEPEDAGIO=").append(dados.get("taimportepedagio")).append(",");
|
||||
}
|
||||
if (calculaTarifa) {
|
||||
sb.append(" taprecio = taoprecio, ");
|
||||
sb.append(" tapreciooriginal = taopreciooriginal, ");
|
||||
if(calculaTarifa){
|
||||
sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(",");
|
||||
}
|
||||
if (calculaTaxaEmbarque) {
|
||||
sb.append(" taimportetaxaembarque = taoimportetaxaembarque, ");
|
||||
if(calculaTaxaEmbarque){
|
||||
sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(",");
|
||||
}
|
||||
if (calculaSeguro) {
|
||||
sb.append(" taimporteseguro = taoimporteseguro, ");
|
||||
}
|
||||
sb.append(" taimporteoutros = taoimporteoutros, ");
|
||||
sb.append(" tafecmodif = current_timestamp, tausuario_id = ").append(usuarioId);
|
||||
|
||||
if(calculaSeguro){
|
||||
sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(",");
|
||||
}
|
||||
sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(",");
|
||||
sb.append("FECMODIF= current_timestamp, USUARIO_ID=").append(usuarioId);
|
||||
sb.append(" WHERE TARIFA_ID = ").append(dados.get("tarifaId"));
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue