public void registaCompra(Compra compra) { Mes mes = compra.getMes(); Produto produto = compra.getProduto(); FichaClienteCompras ficha_cliente; try { ficha_cliente = getFichaClienteNoClone(compra.getCliente()); } catch (ClienteNaoExisteException ex) { ficha_cliente = new FichaClienteCompras(); this.arvoreClientes.put(compra.getCliente().clone(), ficha_cliente); } if (ficha_cliente.getNumComprasMes(mes, TipoCompra.AMBOS) == 0) { numeroClientesDistintosPorMes[mes.getIndiceArray()]++; } if (ficha_cliente.getTotalCompras() == 0) { numeroTotalClientesDistintos++; } ParProdutoNClientes par_prod_nclis; try { par_prod_nclis = this.getParProdutoNClientesNoClone(produto); } catch (ProdutoNaoExisteException ex) { par_prod_nclis = new ParProdutoNClientes(); this.arvoreParesProdutoNClientes.put(compra.getProduto().clone(), par_prod_nclis); } try { Matriz_Int_12x2 comprasMeses = ficha_cliente.getNumComprasProdutoMeses(produto); if (comprasMeses.getValorMesTipoCompra(mes, TipoCompra.AMBOS) == 0) { par_prod_nclis.addNumeroClientesMes(mes, 1); } if (comprasMeses.getSomaTotal() == 0) { par_prod_nclis.addNumeroTotalClientesDistintos(1); } } catch (ClienteNaoComprouProdutoException ex) { par_prod_nclis.addNumeroClientesMes(mes, 1); par_prod_nclis.addNumeroTotalClientesDistintos(1); } if (compra.getPreco() == 0) { this.numeroComprasValorZero++; } ficha_cliente.regista_compra(compra); }
public Map<Mes, Integer> getNumeroClientesDistintosMeses() { Mes mes; HashMap<Mes, Integer> resultado = new HashMap<>(); for (int i = 0; i < 12; i++) { mes = Mes.numero_to_mes(i + 1); resultado.put(mes, this.numeroClientesDistintosPorMes[i]); } return resultado; }
public int getNumeroClientesDistintosMes(Mes mes) { return this.numeroClientesDistintosPorMes[mes.getIndiceArray()]; }