bug #7500
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@56477 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
020adf0561
commit
30843a50e6
|
@ -9,7 +9,6 @@ import java.util.ArrayList;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.FiscalDAO;
|
||||
|
@ -26,7 +25,7 @@ import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria;
|
|||
@Repository("fiscalDAO")
|
||||
public class FiscalHibernateDAO implements FiscalDAO {
|
||||
|
||||
private static Logger log = Logger.getLogger(FiscalHibernateDAO.class);
|
||||
// private static Logger log = Logger.getLogger(FiscalHibernateDAO.class);
|
||||
|
||||
public static final String DATE_FORMAT_FISCAL = "yyyyMMdd";
|
||||
|
||||
|
@ -189,7 +188,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
return listManuais;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -197,7 +195,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
PreparedStatement stmt = null;
|
||||
ResultSet rset = null;
|
||||
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT r2.datamov AS datamov, ");
|
||||
sql.append(" r2.numreducoes AS numreducoes, ");
|
||||
|
@ -294,7 +291,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
return listRedZ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public String sqlFiscaisECFCancelados() {
|
||||
|
@ -330,10 +326,9 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
sql.append(" cs.descclase as claseServicio, ");
|
||||
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') as cnpjEcf ");
|
||||
sql.append(" FROM fiscal_r4 r4 ");
|
||||
sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
|
||||
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
|
||||
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
|
||||
sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
|
||||
sql.append(" AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
|
||||
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
|
||||
sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
|
||||
sql.append(" LEFT JOIN evento_extra ee on ee.boleto_id = b.boleto_id and ee.tipoeventoextra_id in (42) ");
|
||||
|
@ -417,10 +412,9 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') as cnpjEcf, ");
|
||||
sql.append(" 'N' as status ");
|
||||
sql.append(" FROM fiscal_r4 r4 ");
|
||||
sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
|
||||
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
|
||||
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
|
||||
sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
|
||||
sql.append(" AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
|
||||
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
|
||||
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
|
||||
sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
|
||||
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
|
||||
|
@ -433,7 +427,10 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
|
||||
sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
|
||||
sql.append(" AND b.marca_id = ? ");
|
||||
sql.append(" AND r4.indcancelamento = 'N' ");
|
||||
sql.append(" AND (r4.indcancelamento = 'N' OR (r4.indcancelamento = 'S' AND ");
|
||||
sql.append(" (SELECT r3.numserie20 FROM fiscal_r3 r3 ");
|
||||
sql.append(" WHERE r3.numserie20 = r4.numserie20 AND r3.datamov = r4.datamov ");
|
||||
sql.append(" AND r3.totparcial = 'Can-T') IS NULL) ) ");
|
||||
sql.append(" GROUP BY r4.numserie20, ");
|
||||
sql.append(" r4.coo, ");
|
||||
sql.append(" r4.datainicialemissao, ");
|
||||
|
@ -473,8 +470,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
PreparedStatement stmt = null;
|
||||
ResultSet rset = null;
|
||||
|
||||
|
||||
|
||||
String sql = isCancelados ? sqlFiscaisECFCancelados() : sqlFiscaisECF();
|
||||
stmt = connection.prepareStatement(sql);
|
||||
stmt.setFetchSize(100);
|
||||
|
@ -528,7 +523,12 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
ImportacionFiscalVO novoFiscal = item;
|
||||
|
||||
codProduto = item.getCodProduto();
|
||||
if (codProduto != null) {
|
||||
codProduto = codProduto.toString().replace("-", "").replace("TA", "").replace("TX", "").replace("PE", "").replace("SE", "");
|
||||
} else {
|
||||
String boleto = item.getBoletoId().toString();
|
||||
codProduto = boleto.substring(boleto.length() - 8) + "F" + boleto.substring(boleto.length() - 2);
|
||||
}
|
||||
|
||||
if (fiscal == null) {
|
||||
fiscal = item;
|
||||
|
@ -573,11 +573,14 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
boolean pedagioCriada = false;
|
||||
boolean embarqueCriada = false;
|
||||
boolean seguroCriada = false;
|
||||
|
||||
boolean inconsistencia = false;
|
||||
|
||||
List<ItemFiscalVO> itensFiscais = new ArrayList<ItemFiscalVO>();
|
||||
for (ItemFiscalVO item : fiscal.getItensFiscais()) {
|
||||
|
||||
String codigoProduto = item.getCodProduto();
|
||||
|
||||
if (codigoProduto != null) {
|
||||
if (codigoProduto.indexOf("TA") >= 0)
|
||||
tarifaCriada = true;
|
||||
|
||||
|
@ -589,10 +592,29 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
if (codigoProduto.indexOf("SE") >= 0)
|
||||
seguroCriada = true;
|
||||
} else {
|
||||
inconsistencia = true;
|
||||
break;
|
||||
}
|
||||
|
||||
itensFiscais.add(item);
|
||||
}
|
||||
|
||||
if (inconsistencia) {
|
||||
ItemFiscalVO novaInconsistencia = new ItemFiscalVO(fiscal);
|
||||
novaInconsistencia.setInconsistencia(inconsistencia);
|
||||
novaInconsistencia.setCodProduto(codProduto + "-TX");
|
||||
novaInconsistencia.setTipoPassagem("E");
|
||||
|
||||
BigDecimal total = fiscal.getValorTarifa().add(fiscal.getValorPedagio()).add(fiscal.getValorEmbarque()).add(fiscal.getValorSeguro());
|
||||
novaInconsistencia.setValorItem(total);
|
||||
|
||||
novaInconsistencia.setRepTributado("N1");
|
||||
novaInconsistencia.setNumItem(StringHelper.preencherZeroEsquerda((1) + "", 3));
|
||||
itensFiscais.add(novaInconsistencia);
|
||||
|
||||
} else {
|
||||
|
||||
int numeroItem = 1;
|
||||
if (temTarifa && !tarifaCriada) {
|
||||
ItemFiscalVO novoTarifa = new ItemFiscalVO(fiscal);
|
||||
|
@ -635,6 +657,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
itensFiscais.add(novoSeguro);
|
||||
}
|
||||
}
|
||||
|
||||
return itensFiscais;
|
||||
}
|
||||
|
@ -693,8 +716,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
// return query.executeUpdate();
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -758,8 +779,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
PreparedStatement stmt = null;
|
||||
ResultSet rset = null;
|
||||
|
||||
|
||||
|
||||
StringBuilder sQuery = new StringBuilder();
|
||||
sQuery.append("SELECT TEE.TIPOEVENTOEXTRA_ID AS TIPOEVENTOEXTRAID, TEE.DESCTIPOEVENTO AS DESCTIPOEVENTO, ")
|
||||
.append(" TRUNC(CD.FECHORVTA) AS FECHORVTA, SUM(CD.PRECIO) AS TOTAL ")
|
||||
|
@ -791,6 +810,5 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
return importacionNaoFiscalVOs;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -680,7 +680,9 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
private String montarItensFiscais(ItemFiscalVO item, Integer seq, Integer seqItem) {
|
||||
|
||||
String tipoPassagem = null;
|
||||
if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
|
||||
String repTributado = item.getRepTributado() == null ? SituacaoTributaria.NAO_TRIBUTADO.getValue() : item.getRepTributado();
|
||||
if (repTributado.length() == 7 && repTributado.substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
tipoPassagem = item.getTipoPassagem();
|
||||
|
||||
if (tipoPassagem == null)
|
||||
|
@ -725,6 +727,11 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
valorItem = item.getValorSeguro() == null ? valorItem : item.getValorSeguro();
|
||||
}
|
||||
|
||||
boolean inconsistente = item.getInconsistencia() == null ? false : item.getInconsistencia();
|
||||
if (inconsistente) {
|
||||
valorItem = item.getValorTarifa().add(item.getValorPedagio()).add(item.getValorEmbarque()).add(item.getValorSeguro());
|
||||
}
|
||||
|
||||
valorItem = UtileriasFiscal.arredondar(valorItem);
|
||||
String valorUnitario = UtileriasFiscal.formataZeroDecimal(valorItem, 15);
|
||||
item.setValorItem(new BigDecimal(valorUnitario));
|
||||
|
@ -738,7 +745,7 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
HashMap<String, BigDecimal> aliquotaItens = new HashMap<String, BigDecimal>(0);
|
||||
|
||||
// Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota)
|
||||
if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
if (repTributado.length() == 7 && repTributado.substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
|
||||
String key = tipoPassagem + item.getRepTributado().substring(3, 7);
|
||||
|
||||
|
@ -749,7 +756,7 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
BigDecimal soma = item.getValorItem().divide(BigDecimal.TEN.multiply(BigDecimal.TEN));
|
||||
aliquotaItens.put(key, soma.add(aliquotaItens.get(key)));
|
||||
|
||||
} else if (item.getRepTributado().equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) {
|
||||
} else if (repTributado.equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) {
|
||||
|
||||
BigDecimal soma = item.getValorItem();
|
||||
totalICMSNaotributadoItem = StringHelper.preencherZeroEsquerda(soma.toString(), 15);
|
||||
|
@ -851,7 +858,8 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
HashMap<String, BigDecimal> aliquotaBaseCalculo = new HashMap<String, BigDecimal>(0);
|
||||
|
||||
// Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota)
|
||||
if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
String repTributado = item.getRepTributado() == null ? SituacaoTributaria.NAO_TRIBUTADO.getValue() : item.getRepTributado();
|
||||
if (repTributado.length() == 7 && repTributado.substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) {
|
||||
|
||||
String tipoPassagem = item.getTipoPassagem();
|
||||
|
||||
|
@ -868,7 +876,7 @@ public class FiscalServiceImpl implements FiscalService {
|
|||
BigDecimal soma = item.getValorItem().divide(BigDecimal.TEN.multiply(BigDecimal.TEN));
|
||||
aliquotaBaseCalculo.put(key, soma.add(aliquotaBaseCalculo.get(key)));
|
||||
|
||||
} else if (item.getRepTributado().equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) {
|
||||
} else if (repTributado.equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) {
|
||||
|
||||
BigDecimal soma = item.getValorItem();
|
||||
totalICMSNaotributado = soma.toString();
|
||||
|
|
|
@ -9,6 +9,7 @@ public class ItemFiscalVO extends ImportacionFiscalVO {
|
|||
private String repTributado;
|
||||
private BigDecimal valorItem;
|
||||
private String tipoPassagem;
|
||||
private Boolean inconsistencia;
|
||||
|
||||
public ItemFiscalVO() {
|
||||
super();
|
||||
|
@ -104,4 +105,15 @@ public class ItemFiscalVO extends ImportacionFiscalVO {
|
|||
return "ItemFiscalVO [numItem=" + numItem + ", codProduto=" + codProduto + ", repTributado=" + repTributado + ", valorItem=" + valorItem + ", tipoPassagem=" + tipoPassagem + ", getNumImpressora()=" + getNumImpressora() + ", getCoo()=" + getCoo() + ", getBoletoId()=" + getBoletoId() + ", getEmpresaId()=" + getEmpresaId() + ", getDataEmissao()=" + getDataEmissao() + ", getCnpjCliente()=" + getCnpjCliente() + ", getCnpjImpressora()=" + getCnpjImpressora() + ", getOrigenId()=" + getOrigenId() + ", getItensFiscais()=" + getItensFiscais() + ", getNumpdv()=" + getNumpdv() + "]";
|
||||
}
|
||||
|
||||
public Boolean getInconsistencia() {
|
||||
return inconsistencia;
|
||||
}
|
||||
|
||||
public void setInconsistencia(Boolean inconsistencia) {
|
||||
if (inconsistencia == null)
|
||||
this.inconsistencia = Boolean.FALSE;
|
||||
else
|
||||
this.inconsistencia = inconsistencia;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue