private List<Dados60I> getDados60I(EcfZ z) { List<Dados60I> ld60i = new ArrayList<>(); for (EcfVenda venda : z.getEcfVendas()) { for (EcfVendaProduto vp : venda.getEcfVendaProdutos()) { Dados60I d60i = new Dados60I(); d60i.setData(z.getEcfZMovimento()); d60i.setSerie(z.getEcfImpressora().getEcfImpressoraSerie()); d60i.setModelo(z.getEcfImpressora().getEcfImpressoraCodigo()); d60i.setCoo(venda.getEcfVendaCoo()); d60i.setItem(vp.getEcfVendaProdutoOrdem()); d60i.setCodigo(vp.getProdProduto().getId() + ""); d60i.setQtd(vp.getEcfVendaProdutoQuantidade()); d60i.setLiquido(vp.getEcfVendaProdutoLiquido()); if (vp.getProdProduto().getProdProdutoTributacao() == 'T') { d60i.setBase_icms(vp.getEcfVendaProdutoLiquido()); d60i.setTributacao( Util.formataNumero(vp.getProdProduto().getProdProdutoIcms() * 100, 4, 0, false)); d60i.setValor_icms(vp.getEcfVendaProdutoIcms()); } else { d60i.setTributacao(vp.getProdProduto().getProdProdutoTributacao() + ""); } Util.normaliza(d60i); ld60i.add(d60i); } } return ld60i; }
private List<Dados60D> getDados60D(EcfZ z) { List<Dados60D> ld60d = new ArrayList<>(); // agrupando os itens vendidos pelo id produto no dia. Map<Integer, List<EcfVendaProduto>> diario = new HashMap<>(); for (EcfVenda venda : z.getEcfVendas()) { for (EcfVendaProduto vp : venda.getEcfVendaProdutos()) { List<EcfVendaProduto> lista = diario.get(vp.getProdProduto().getId()); if (lista == null) { lista = new ArrayList<>(); lista.add(vp); diario.put(vp.getProdProduto().getId(), lista); } else { lista.add(vp); } } } // gerando os valores do dia por produto for (Entry<Integer, List<EcfVendaProduto>> entry : diario.entrySet()) { double qtd = 0.00; double liquido = 0.00; double icms = 0.00; char trib = 0; double aliq = 0.00; // soma os valores for (EcfVendaProduto vp : entry.getValue()) { qtd += vp.getEcfVendaProdutoQuantidade(); liquido += vp.getEcfVendaProdutoLiquido(); icms += vp.getEcfVendaProdutoIcms(); trib = vp.getProdProduto().getProdProdutoTributacao(); aliq = vp.getProdProduto().getProdProdutoIcms(); } Dados60D d60d = new Dados60D(); d60d.setData(z.getEcfZMovimento()); d60d.setSerie(z.getEcfImpressora().getEcfImpressoraSerie()); d60d.setCodigo(entry.getKey() + ""); d60d.setQtd(qtd); d60d.setLiquido(liquido); if (trib == 'T') { d60d.setBase_icms(liquido); d60d.setTributacao(Util.formataNumero(aliq * 100, 4, 0, false)); d60d.setValor_icms(icms); } else { d60d.setTributacao(trib + ""); } Util.normaliza(d60d); ld60d.add(d60d); } return ld60d; }