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<Dados60R> getDados60R() { List<Dados60R> ld60r = new ArrayList<>(); // agrupando os itens vendidos pelo mes+ano+id produto. Map<String, List<EcfVendaProduto>> mensal = new HashMap<>(); for (EcfZ z : zs) { String mesAno = Util.formataData(z.getEcfZMovimento(), "MMyyyy"); for (EcfVenda venda : z.getEcfVendas()) { for (EcfVendaProduto vp : venda.getEcfVendaProdutos()) { String chave = mesAno + "-" + vp.getProdProduto().getId(); List<EcfVendaProduto> lista = mensal.get(chave); if (lista == null) { lista = new ArrayList<>(); lista.add(vp); mensal.put(chave, lista); } else { lista.add(vp); } } } } // gerando os valores do mes/ano por produto for (Entry<String, List<EcfVendaProduto>> entry : mensal.entrySet()) { double qtd = 0.00; double liquido = 0.00; char trib = 0; double aliq = 0.00; // soma os valores for (EcfVendaProduto vp : entry.getValue()) { qtd += vp.getEcfVendaProdutoQuantidade(); liquido += vp.getEcfVendaProdutoLiquido(); trib = vp.getProdProduto().getProdProdutoTributacao(); aliq = vp.getProdProduto().getProdProdutoIcms(); } Dados60R d60r = new Dados60R(); d60r.setMesAno(Integer.valueOf(entry.getKey().substring(0, 6))); d60r.setCodigo(entry.getKey() + ""); d60r.setQtd(qtd); d60r.setLiquido(liquido); if (trib == 'T') { d60r.setBase_icms(liquido); d60r.setTributacao(Util.formataNumero(aliq * 100, 4, 0, false)); } else { d60r.setTributacao(trib + ""); } Util.normaliza(d60r); ld60r.add(d60r); } return ld60r; }
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; }