bug#11600

dev: julio
qua: 

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@83978 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2018-08-06 20:53:44 +00:00
parent 5c999c648f
commit eaad0088d6
3 changed files with 13 additions and 85 deletions

View File

@ -50,6 +50,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append("select distinct "); sql.append("select distinct ");
sql.append(" c.boleto_id, "); sql.append(" c.boleto_id, ");
sql.append(" c.num_bpe, ");
sql.append(" c.numfoliosistema as numfoliosistema, "); sql.append(" c.numfoliosistema as numfoliosistema, ");
sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, "); sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, ");
sql.append(" bpe.codstat as codstatus, "); sql.append(" bpe.codstat as codstatus, ");
@ -168,7 +169,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
String xmlBpe = StringUtils.join(array); String xmlBpe = StringUtils.join(array);
registro.setXml(xmlBpe); registro.setXml(xmlBpe);
if (exportacaoBPEVo.buscaXml(registro)) { if (exportacaoBPEVo.isBpeCanceladoENaoEmbarque(registro)) {
String xmlAnterior = buscarXmlBPE(connection, (StringUtils.isBlank(registro.getChbpeSub()) ? registro.getChbpe() : registro.getChbpeSub())); String xmlAnterior = buscarXmlBPE(connection, (StringUtils.isBlank(registro.getChbpeSub()) ? registro.getChbpe() : registro.getChbpeSub()));
registro.setXmlAnterior(xmlAnterior); registro.setXmlAnterior(xmlAnterior);
registro.setXml(null); registro.setXml(null);
@ -187,9 +188,9 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
List<ExportacaoBPEBase> aux = new ArrayList<ExportacaoBPEBase>(); List<ExportacaoBPEBase> aux = new ArrayList<ExportacaoBPEBase>();
for (ExportacaoBPEBase e1 : registros) { for (ExportacaoBPEBase e1 : registros) {
if (exportacaoBPEVo.isBpeCancelado(e1)) { if (exportacaoBPEVo.isBpeCanceladoENaoEmbarque(e1)) {
for (ExportacaoBPEBase e2 : registros) { for (ExportacaoBPEBase e2 : registros) {
if (e1.getChbpe().equals(e2.getChbpe()) && !exportacaoBPEVo.isBpeCancelado(e2)) { if (e1.getChbpe().equals(e2.getChbpe()) && !exportacaoBPEVo.isBpeCanceladoENaoEmbarque(e2)) {
aux.add(e1); aux.add(e1);
break; break;
} }
@ -199,7 +200,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
boolean temItemCancelado = false; boolean temItemCancelado = false;
for (ExportacaoBPEBase e2 : registros) { for (ExportacaoBPEBase e2 : registros) {
if (e1.getChbpe().equals(e2.getChbpe()) && exportacaoBPEVo.isBpeCancelado(e2)) { if (e1.getChbpe().equals(e2.getChbpe()) && exportacaoBPEVo.isBpeCanceladoENaoEmbarque(e2)) {
temItemCancelado = true; temItemCancelado = true;
break; break;
} }
@ -578,83 +579,11 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
sql.append(" and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 "); sql.append(" and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 ");
sql.append(" and coalesce(ei.activo, 0) = 1 "); sql.append(" and coalesce(ei.activo, 0) = 1 ");
sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1)) "); sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1)) ");
sql.append(" and (coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0)) > 0 "); // sql.append(" and (coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0)) > 0 ");
sql.append(" and c.empresacorrida_id = :EMPRESA_ID "); sql.append(" and c.empresacorrida_id = :EMPRESA_ID ");
sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM "); sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM ");
sql.append(" and e_bpe.cveestado in ( ").append(ufs).append(" ) "); sql.append(" and e_bpe.cveestado in ( ").append(ufs).append(" ) ");
sql.append(" ");
sql.append("union all ");
sql.append(" ");
sql.append("select distinct ");
sql.append(" c.caja_id as cajaId, ");
sql.append(" 'REC' as tipoReceita, ");
sql.append(" c.numoperacion as numoperacion, ");
sql.append(" trunc(c.feccreacion) as fechorVenta, ");
sql.append(" coalesce(ae.estado_id, (case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end)) as estadoId,");
sql.append(" coalesce(ei.icms, eos.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, ");
sql.append(" coalesce(ae.cveestado,(case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end)) as estadoOrigem,");
sql.append(" (case when s.aliasdestino_id is null then ed.cveestado else eds.cveestado end) as estadoDestino,");
sql.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as municipioOrigem,");
sql.append(" case when(coalesce(ae.cveestado,(case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end)) = ");
sql.append(" (case when s.aliasdestino_id is null then ed.cveestado else eds.cveestado end) ) then 0 else 1 end as isInterEstadual, ");
sql.append(" ei.porcredbaseicms as redBaseCalcIcms, ");
sql.append(" ei.porcredmunicipal as porcRedMunicipal, ");
sql.append(" ei.porcredestadual as porcRedEstadual, ");
sql.append(" ei.indtarifamunicipal as indtarifamunicipal, ");
sql.append(" coalesce(ei.indseguromunicipal, 0) as indseguromunicipal, ");
sql.append(" coalesce(ei.indtxembarquemunicipal, 0) as indtxembarquemunicipal, ");
sql.append(" coalesce(ei.indpedagiomunicipal, 0) as indpedagiomunicipal, ");
sql.append(" coalesce(ei.indtarifaestadual, 0) as indtarifaestadual, ");
sql.append(" coalesce(ei.indseguroestadual, 0) as indseguroestadual, ");
sql.append(" coalesce(ei.indtxembarqueestadual, 0) as indtxembarqueestadual, ");
sql.append(" coalesce(ei.indpedagioestdual, 0) as indpedagioestdual, ");
sql.append(" ei.tributacaoimportacao as tributacaoImportacao, ");
sql.append(" (case when (coalesce(case when s.aliasorigen_id is null then po.regionmetropolitana_id ");
sql.append(" else pos.regionmetropolitana_id end, -1) = coalesce(case when s.aliasorigen_id is null ");
sql.append(" then pd.regionmetropolitana_id else pds.regionmetropolitana_id end, -2)) then 1 else 0 end) as isenta, ");
sql.append(" coalesce(c.preciopagado, 0) as tarifa, ");
sql.append(" coalesce(c.importetaxaembarque, 0) as taxaEmbarque, ");
sql.append(" coalesce(c.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(c.importeseguro, 0) as seguro, ");
sql.append(" coalesce(c.importeoutros, 0) as outros, ");
sql.append(" to_char(trunc(c.feccreacion), 'yyyymmdd') as datamov ");
sql.append("from caja c ");
sql.append(" join marca m on c.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join aidf a on a.aidf_id = c.aidf_id ");
sql.append(" join punto_venta pv on pv.puntoventa_id = c.puntoventa_id ");
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
sql.append(" join parada po on po.parada_id = c.origen_id ");
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id ");
sql.append(" join estado eo on eo.estado_id = co.estado_id ");
sql.append(" join parada pd on pd.parada_id = c.destino_id ");
sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id ");
sql.append(" join estado ed on ed.estado_id = cd.estado_id ");
sql.append(" left join alias_servico s on s.origen_id = c.origen_id ");
sql.append(" and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) ");
sql.append(" and s.ruta_id = c.ruta_id ");
sql.append(" left join parada pos on pos.parada_id = s.aliasorigen_id ");
sql.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id ");
sql.append(" left join estado eos on eos.estado_id = cos.estado_id ");
sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id ");
sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id ");
sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
sql.append(" left join estado ae on ae.estado_id = a.estado_id ");
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
sql.append(" and ie.estado_id = coalesce(ae.estado_id, eos.estado_id) and ie.activo = 1 ");
sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id ");
sql.append(" join estado eie on eie.estado_id = cie.estado_id ");
sql.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id ");
sql.append(" and ei.estado_id = coalesce(ae.estado_id, eos.estado_id) and ei.activo = 1 ");
sql.append("where ((c.tipoventa_id = 3 and c.indstatusboleto = 'V' and c.indreimpresion = 0) ");
sql.append(" or (c.tipoventa_id in (12,18) and c.indstatusboleto = 'E' and c.numfoliosistema = c.numfoliopreimpreso)) ");
sql.append(" and (c.motivocancelacion_id is null or c.motivocancelacion_id <> 35) ");
sql.append(" and c.indcancelacion = 0 ");
sql.append(" and c.empresacorrida_id = :EMPRESA_ID ");
sql.append(" and c.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and coalesce(ae.cveestado, eos.cveestado) in ( ").append(ufs).append(" ) ");
return sql.toString(); return sql.toString();
} }
@ -725,6 +654,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO {
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and b.fechorventa >= :DATE_INICIO "); sql.append(" and b.fechorventa >= :DATE_INICIO ");
sql.append(" and b.fechorventa <= :DATE_FIM "); sql.append(" and b.fechorventa <= :DATE_FIM ");
sql.append(" and b.num_bpe is null ");
sql.append(" and b.categoria_id not in (select valorconstante from constante where nombconstante = 'GRATUIDADE_CRIANCA') "); sql.append(" and b.categoria_id not in (select valorconstante from constante where nombconstante = 'GRATUIDADE_CRIANCA') ");
sql.append(" and coalesce(esaidf.cveestado, eos.cveestado, est.cveestado) in ( ").append(ufs).append(" ) "); sql.append(" and coalesce(esaidf.cveestado, eos.cveestado, est.cveestado) in ( ").append(ufs).append(" ) ");
sql.append("order by estadoId, isInterEstadual "); sql.append("order by estadoId, isInterEstadual ");

View File

@ -585,6 +585,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" and caj.indcancelacion = 1 "); sql.append(" and caj.indcancelacion = 1 ");
sql.append(" and caj.indstatusboleto = 'C' "); sql.append(" and caj.indstatusboleto = 'C' ");
sql.append(" and r4.indcancelamento = 'N' "); sql.append(" and r4.indcancelamento = 'N' ");
sql.append(" and caj.num_bpe is null ");
sql.append(" ORDER BY r4.datamov, "); sql.append(" ORDER BY r4.datamov, ");
sql.append(" r4.numserie20, "); sql.append(" r4.numserie20, ");
sql.append(" r4.coo, "); sql.append(" r4.coo, ");
@ -655,6 +656,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 "); sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 ");
sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 "); sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 ");
sql.append(" and c.serieimpfiscal is not null "); sql.append(" and c.serieimpfiscal is not null ");
sql.append(" and c.num_bpe is null ");
sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1)) "); sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1)) ");
// sql.append(" and (coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0)) > 0 "); // sql.append(" and (coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0)) > 0 ");
// sql.append(" and ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) > 0 "); // sql.append(" and ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) > 0 ");

View File

@ -50,7 +50,7 @@ public class ExportacaoBPEVo {
return listaRegistroBaseBPE; return listaRegistroBaseBPE;
} }
public boolean buscaXml(ExportacaoBPEBase registro) { public boolean isBpeCanceladoENaoEmbarque(ExportacaoBPEBase registro) {
return (registro.getCodstatus() == null ? false : (registro.getCodstatus().equals(StatusBpe.EVENTOS))); return (registro.getCodstatus() == null ? false : (registro.getCodstatus().equals(StatusBpe.EVENTOS)));
} }
@ -66,15 +66,11 @@ public class ExportacaoBPEVo {
boolean isCancelamento = isBpeCancelado(registro); boolean isCancelamento = isBpeCancelado(registro);
TBPe tbpe = null; TBPe tbpe = null;
String xml = isCancelamento ? registro.getXmlAnterior() : registro.getXml(); String xml = StringUtils.isNotBlank(registro.getXmlAnterior()) ? registro.getXmlAnterior() : registro.getXml();
if (StringUtils.isNotBlank(xml)) if (StringUtils.isNotBlank(xml))
tbpe = convertXmlToBpe(xml); tbpe = convertXmlToBpe(xml);
try {
String municipioOrigem = StringUtils.substring((StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunIni() : registro.getMunicipioOrigem()), 2);
} catch (Exception e) {
System.out.println(xml);
}
String municipioOrigem = StringUtils.substring((StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunIni() : registro.getMunicipioOrigem()), 2); String municipioOrigem = StringUtils.substring((StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunIni() : registro.getMunicipioOrigem()), 2);
String municipioDestino = StringUtils.substring((StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunFim() : registro.getMunicipioDestino()), 2); String municipioDestino = StringUtils.substring((StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunFim() : registro.getMunicipioDestino()), 2);
String estadoOrigem = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFIni().value() : registro.getEstadoOrigem()); String estadoOrigem = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFIni().value() : registro.getEstadoOrigem());