gleimar 2016-08-23 23:14:14 +00:00
parent e81b3f251f
commit 2ee34a7c0d
7 changed files with 90 additions and 29 deletions

View File

@ -13,7 +13,7 @@ import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionNaoFiscalVO;
public interface FiscalDAO {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException;
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException;

View File

@ -10,6 +10,10 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.FiscalDAO;
@ -27,6 +31,8 @@ import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria;
public class FiscalHibernateDAO implements FiscalDAO {
public static final String DATE_FORMAT_FISCAL = "yyyyMMdd";
@Autowired
private DataSource dataSource;
public FiscalHibernateDAO() {
}
@ -1010,7 +1016,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
return itensFiscais;
}
private int gerarRegistroP2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
private int gerarRegistroP2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException {
Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida);
StringBuilder sb = new StringBuilder("");
@ -1054,17 +1060,38 @@ public class FiscalHibernateDAO implements FiscalDAO {
sb.append(" and cto.fechorsalida between vt.feciniciovigencia and vt.fecfinvigencia ");
sb.append(" and c.feccorrida between :datIni and :datFim ");
sb.append(" and c.corrida_id in (:corridaId) ");
sb.append(" and ROWNUM < 2 ");
sb.append(" and CODPRODUTO(t.origen_id , t.destino_id , rc.ruta_id) not in (select codproduto from fiscal_p2) ");
sb.append(" and ROWNUM < 50 ");
// FIXME - Implementar a inserção na base de dados. Atenção para checar se tem q ficar em transação ou não
// Query query = getSession().createSQLQuery(sb.toString());
// query.setParameterList("corridaId", idsCorrida);
// query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
// query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
int qtd = 0;
Connection connection = null;
try{
connection = dataSource.getConnection();
connection.setAutoCommit(false);
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setDate(1, new java.sql.Date(dataDe.getTime()));
ps.setDate(2, new java.sql.Date(dataAte.getTime()));
ps.setString(3,StringUtils.join(idsCorrida, ","));
qtd = ps.executeUpdate();
connection.commit();
}catch(Throwable t){
connection.rollback();
}finally{
if (connection != null){
connection.close();
}
}
// return query.executeUpdate();
return qtd;
return 0;
}
private Integer[] getIdsCorrida(List<EsquemaCorrida> lsEsquemaCorrida) {
@ -1077,7 +1104,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
return idsCorrida;
}
private int gerarRegistroF2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
private int gerarRegistroF2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException {
StringBuilder sb = new StringBuilder("");
sb.append(" INSERT INTO FISCAL_F2 (cnpj, codigo_local_emissao,identificacao_linha, descricao_linha, data_partida, hora_partida, codigo_tipo_viagem) ");
sb.append(" select distinct oc.cnpj, t.origen_id as codigo_local_emissao, r.prefixo as identificacao_linha, r.descruta as descricao_linha, to_char(cto.fechorsalida, 'YYYYMMdd') as data_partida, to_char(cto.fechorsalida, 'hh24miss') as hora_partida, (case nvl(c.tiposervicio_id, 0) when 2 then '01' else '00' end) as codigo_tipo_viagem ");
@ -1101,22 +1128,42 @@ public class FiscalHibernateDAO implements FiscalDAO {
sb.append(" and cto.fechorsalida between vt.feciniciovigencia and vt.fecfinvigencia ");
sb.append(" and c.feccorrida between :datIni and :datFim ");
sb.append(" and c.corrida_id in (:corridaId) ");
sb.append(" and ROWNUM < 2 ");
//sb.append(" and ROWNUM < 2 ");
Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida);
// FIXME - Implementar a inserção na base de dados. Atenção para checar se tem q ficar em transação ou não
// Query query = getSession().createSQLQuery(sb.toString());
// query.setParameterList("corridaId", idsCorrida);
// query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
// query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
//
// return query.executeUpdate();
Connection connection = null;
int qtd = 0;
try{
connection = dataSource.getConnection();
connection.setAutoCommit(false);
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setDate(1, new java.sql.Date(dataDe.getTime()));
ps.setDate(2, new java.sql.Date(dataAte.getTime()));
ps.setString(3,StringUtils.join(idsCorrida, ","));
qtd = ps.executeUpdate();
connection.commit();
}catch(Throwable t){
connection.rollback();
}finally{
if (connection != null){
connection.close();
}
}
return 0;
return qtd;
}
@Override
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException {
int gerarRegistroP2 = this.gerarRegistroP2(lsEsquemaCorrida, dataDe, dataAte);
int gerarRegistroF2 = this.gerarRegistroF2(lsEsquemaCorrida, dataDe, dataAte);
return gerarRegistroP2 + gerarRegistroF2;

View File

@ -18,4 +18,6 @@ public interface ConstanteService extends GenericService<Constante, Integer> {
public List<Constante> buscar(String nombconstante);
String buscarNombreAmbiente();
boolean pafActivo();
}

View File

@ -1,6 +1,7 @@
package com.rjconsultores.ventaboletos.service;
import java.io.File;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -10,7 +11,7 @@ import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
public interface FiscalService {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException;
public HashMap<String, Object> importacionFiscalECFValidaReducaoZ(Date inicio, Date fim, Empresa empresa);

View File

@ -12,6 +12,7 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import java.util.Calendar;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -80,4 +81,20 @@ public class ConstanteServiceImpl implements ConstanteService {
return constante.getValorconstante();
}
@Override
public boolean pafActivo(){
List<Constante> list = constanteDAO.buscar("HOMOLOGACAO_PAF");
if (list.isEmpty()){
return false;
}
Constante constante = list.get(0);
if (StringUtils.isBlank(constante.getValorconstante())){
return false;
}
return constante.getValorconstante().equalsIgnoreCase("true");
}
}

View File

@ -69,7 +69,7 @@ public class FiscalServiceImpl implements FiscalService {
@Override
@Transactional
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException {
return fiscalDAO.gerarRegistroP2_F2(lsEsquemaCorrida, dataDe, dataAte);
}

View File

@ -129,12 +129,6 @@ public class ApplicationProperties {
String property = p.getProperty("contrasena.validaComplejidad", "0");
return property.equals("1");
}
public boolean pafActivo() {
String property = p.getProperty("paf.activo", "0");
return property.equals("1");
}
public boolean habilitarCustomSequence() {
String property = p.getProperty("custom.sequence", "0");
return property.equals("1");