Exportação Fiscal : ECF e RMD (issue 8120)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@62831 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
32f6eb6183
commit
011608943e
|
@ -6,6 +6,7 @@ import java.sql.PreparedStatement;
|
|||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
@ -1707,6 +1708,57 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
||||
List<ExportacaoRMDTipoPAR> retorno = new ArrayList<ExportacaoRMDTipoPAR>();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(" select");
|
||||
sb.append(" c.estado_id as cod_participante,");
|
||||
sb.append(" e.nombempresa as nombempresa,");
|
||||
sb.append(" e.cveestado as cveestado,");
|
||||
sb.append(" e.cnpj as cnpj,");
|
||||
sb.append(" ie.numinscricaoestadual as numinscricaoestadual,");
|
||||
sb.append(" ie.logradouro as logradouro,");
|
||||
sb.append(" ie.numero as numero,");
|
||||
sb.append(" ie.complemento as complemento,");
|
||||
sb.append(" ie.bairro as bairro,");
|
||||
sb.append(" ie.cep as cep");
|
||||
sb.append(" from empresa e");
|
||||
sb.append(" join ciudad c on c.ciudad_id = e.ciudad_id");
|
||||
sb.append(" join estado e on e.estado_id = c.estado_id");
|
||||
sb.append(" left join estado eie on eie.cveestado like ?");
|
||||
sb.append(" left join inscricao_estadual ie on ie.empresa_id = e.empresa_id and ie.estado_id = eie.estado_id");
|
||||
sb.append(" where e.empresa_id = ?");
|
||||
|
||||
try {
|
||||
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
||||
ps.setString(1, cveestado);
|
||||
ps.setLong(2, Long.valueOf(empresaId));
|
||||
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
ExportacaoRMDTipoPAR registro = null;
|
||||
|
||||
while (rs.next()) {
|
||||
registro = new ExportacaoRMDTipoPAR();
|
||||
registro.setCodigoParticipante(rs.getInt("cod_participante"));
|
||||
registro.setNomeParticipante(rs.getString("nombempresa"));
|
||||
registro.setUfParticipante(rs.getString("cveestado"));
|
||||
registro.setCpfParticipante(rs.getString("cnpj"));
|
||||
registro.setIeParticipante(rs.getString("numinscricaoestadual"));
|
||||
registro.setLogradouro(rs.getString("logradouro"));
|
||||
registro.setNumero(rs.getInt("numero"));
|
||||
registro.setComplemento(rs.getString("complemento"));
|
||||
registro.setBairro(rs.getString("bairro"));
|
||||
registro.setCep(rs.getString("cep") == null ? null : Integer.parseInt(rs.getString("cep").replace("-", "").replace(".", "")));
|
||||
|
||||
retorno.add(registro);
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
return retorno;
|
||||
}
|
||||
|
||||
|
@ -1714,6 +1766,69 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
public List<ExportacaoRMDTipoRMD> buscarRegistroRMDTipoRMD(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
||||
List<ExportacaoRMDTipoRMD> retorno = new ArrayList<ExportacaoRMDTipoRMD>();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(" select");
|
||||
sb.append(" ce.estado_id as cod_estabelecimento,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END) as cod_participante,");
|
||||
sb.append(" a.acfiscal as num_aidf,");
|
||||
sb.append(" a.serie as serie,");
|
||||
sb.append(" a.subserie as subserie,");
|
||||
sb.append(" b.numfoliosistema as num_bilhete,");
|
||||
sb.append(" b.numfoliopreimpreso as num_formulario,");
|
||||
sb.append(" b.feccreacion as data_emissao,");
|
||||
sb.append(" (CASE WHEN b.indstatusboleto like 'C' THEN 'S' ELSE 'N' END) as doc_cancelado");
|
||||
sb.append(" from boleto b");
|
||||
sb.append(" join empresa e on e.empresa_id = b.empresacorrida_id");
|
||||
sb.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id");
|
||||
sb.append(" join parada po on po.parada_id = b.origen_id");
|
||||
sb.append(" join ciudad co on co.ciudad_id = po.ciudad_id");
|
||||
sb.append(" join estado eo on eo.estado_id = co.estado_id");
|
||||
sb.append(" left join alias_servico s on s.origen_id = b.origen_id and s.destino_id = b.destino_id and s.corrida_id = b.corrida_id and s.ruta_id = b.ruta_id");
|
||||
sb.append(" left join parada pos on pos.parada_id = s.aliasorigen_id");
|
||||
sb.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id");
|
||||
sb.append(" left join estado eos on eos.estado_id = cos.estado_id");
|
||||
sb.append(" join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END)");
|
||||
sb.append(" where");
|
||||
sb.append(" b.tipoventa_id = 3");
|
||||
sb.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C')");
|
||||
sb.append(" and b.empresacorrida_id = ?");
|
||||
sb.append(" and (b.feccorrida >= ? and b.feccorrida >= ?)");
|
||||
sb.append(" and (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) like ?");
|
||||
|
||||
try {
|
||||
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
||||
ps.setString(1, cveestado);
|
||||
ps.setLong(2, Long.valueOf(empresaId));
|
||||
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
ExportacaoRMDTipoRMD registro = null;
|
||||
|
||||
while (rs.next()) {
|
||||
registro = new ExportacaoRMDTipoRMD();
|
||||
registro.setCodigoEstabelecimento(rs.getInt("cod_estabelecimento"));
|
||||
registro.setNumeroAIDF(rs.getInt("num_aidf"));
|
||||
registro.setSerieAIDF(rs.getString("serie"));
|
||||
registro.setSubSerieAIDF(rs.getString("subserie"));
|
||||
registro.setNumeroBilheteAIDF(rs.getInt("num_bilhete"));
|
||||
registro.setNumeroFormularioAIDF(rs.getInt("num_formulario"));
|
||||
registro.setDataEmissao(sdf.format(rs.getDate("data_emissao")));
|
||||
registro.setCancelado(rs.getString("doc_cancelado").equals("S") ? Boolean.TRUE : Boolean.FALSE);
|
||||
registro.setCodigoParticipante(rs.getInt("cod_participante"));
|
||||
registro.setCodigoContabil(""); //FIXME: Falta definir - registro.setCodigoContabil(rs.getString("doc_cancelado").equals("S") ? "" : rs.getString(""));
|
||||
|
||||
retorno.add(registro);
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
return retorno;
|
||||
}
|
||||
|
||||
|
|
|
@ -289,17 +289,17 @@ public class ExportacaoFiscal {
|
|||
}
|
||||
|
||||
private void adicionarRegistroRMDTipoPAR(PrintWriter writer, List<ExportacaoRMDTipoPAR> listaRegistroRMDTipoPAR) {
|
||||
Integer codigoParticipante = 7;
|
||||
String nomeParticipante = "EXPRESSO GUANABARA S/A";
|
||||
String ufParticipante = "AL";
|
||||
String cpfParticipante = "41550112004514";
|
||||
String ieParticipante = "241034574";
|
||||
String imParticipante = "";
|
||||
String logradouro = "AV. GOV. LAMENHA FILHO. TERM.RODOV. MACEIO/AL";
|
||||
Integer numero = 10;
|
||||
String complemento = "";
|
||||
String bairro = "";
|
||||
Integer cep = 0;
|
||||
for (ExportacaoRMDTipoPAR registro : listaRegistroRMDTipoPAR) {
|
||||
Integer codigoParticipante = registro.getCodigoParticipante();
|
||||
String nomeParticipante = registro.getNomeParticipante();
|
||||
String ufParticipante = registro.getUfParticipante();
|
||||
String cpfParticipante = registro.getCpfParticipante();
|
||||
String ieParticipante = registro.getIeParticipante();
|
||||
String logradouro = registro.getLogradouro();
|
||||
Integer numero = registro.getNumero();
|
||||
String complemento = registro.getComplemento();
|
||||
String bairro = registro.getBairro();
|
||||
Integer cep = registro.getCep();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("PAR").append(SEPARADOR);
|
||||
|
@ -308,7 +308,7 @@ public class ExportacaoFiscal {
|
|||
sb.append(formataCaracter(ufParticipante, false, 2)).append(SEPARADOR);
|
||||
sb.append(formataCaracter(cpfParticipante, true, 14)).append(SEPARADOR);
|
||||
sb.append(formataCaracter(ieParticipante, true, 14)).append(SEPARADOR);
|
||||
sb.append(formataCaracter(imParticipante, true, 20)).append(SEPARADOR);
|
||||
sb.append(formataCaracter(VAZIO, false, 20)).append(SEPARADOR); // Posição 7
|
||||
sb.append("N").append(SEPARADOR);
|
||||
sb.append("N").append(SEPARADOR);
|
||||
sb.append("N").append(SEPARADOR);
|
||||
|
@ -340,18 +340,20 @@ public class ExportacaoFiscal {
|
|||
|
||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||
}
|
||||
}
|
||||
|
||||
private void adicionarRegistroRMDTipoRMD(PrintWriter writer, List<ExportacaoRMDTipoRMD> listaRegistroRMDTipoRMD) {
|
||||
Integer codigoEstabelecimento = 8;
|
||||
Integer numeroAIDF = 114034303;
|
||||
String serieAIDF = "F";
|
||||
String subSerieAIDF = "";
|
||||
Integer numeroBilheteAIDF = 2723;
|
||||
Integer numeroFormularioAIDF = 2723;
|
||||
String dataEmissao = "20160501";
|
||||
Boolean cancelado = Boolean.FALSE;
|
||||
Integer codigoParticipante = 7;
|
||||
String codigoContabil = "31102010010001";
|
||||
for (ExportacaoRMDTipoRMD registro : listaRegistroRMDTipoRMD) {
|
||||
Integer codigoEstabelecimento = registro.getCodigoEstabelecimento();
|
||||
Integer numeroAIDF = registro.getNumeroAIDF();
|
||||
String serieAIDF = registro.getSerieAIDF();
|
||||
String subSerieAIDF = registro.getSubSerieAIDF();
|
||||
Integer numeroBilheteAIDF = registro.getNumeroBilheteAIDF();
|
||||
Integer numeroFormularioAIDF = registro.getNumeroFormularioAIDF();
|
||||
String dataEmissao = registro.getDataEmissao();
|
||||
Boolean cancelado = registro.getCancelado();
|
||||
Integer codigoParticipante = registro.getCodigoParticipante();
|
||||
String codigoContabil = registro.getCodigoContabil();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("RMD").append(SEPARADOR);
|
||||
|
@ -392,6 +394,7 @@ public class ExportacaoFiscal {
|
|||
|
||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||
}
|
||||
}
|
||||
|
||||
private void adicionarRegistroRMDTipoBPS(PrintWriter writer, List<ExportacaoRMDTipoBPS> listaRegistroRMDTipoBPS) {
|
||||
Integer codigoEstabelecimento = 8;
|
||||
|
|
Loading…
Reference in New Issue