braziljs / forum

Fórum da BrazilJS
MIT License
126 stars 6 forks source link

Help #21

Open controlecn opened 4 years ago

controlecn commented 4 years ago

Alguém pode me ajudar? Preciso puxar o ultimo cadastro do banco. assim ele me devolve o primeiro. Como faço para retornar o ultimo lançamento. Eu somo os valores de todas os lançamentos porém no campo (const atualiza = item.updatedAt) quero que pegue a data do ultimo lançamento feito, que seria apenas o ultimo registro.

'''js

getList = async () => { try { this.setState({ loading: true }); const { data } = await api.get(maquina/all/lancamentos/cards);

this.setList(data); } catch (e) { console.log(e); } finally { this.setState({ loading: false }); } };

setList = data => { let tempArr = []

for (let item of data) {
  if (!item.loja || !item.zona) continue

  const index = tempArr.findIndex(x => x.id === item.loja._id)

  if (index >= 0) {
    const entrada = (item.entrada_final - item.entrada_inicial) * item.jogo_valor
    const saida = (item.saida_final - item.saida_inicial) * item.jogo_valor

    tempArr[index].entrada += entrada
    tempArr[index].saida += saida
    tempArr[index].total += entrada - saida
  } else {
    const id = item.loja._id
    const entrada = (item.entrada_final - item.entrada_inicial) * item.jogo_valor
    const saida = (item.saida_final - item.saida_inicial) * item.jogo_valor
    const codigo = item.loja.codigo
    const descricao = item.loja.nome
    const total = entrada - saida
    const zona = item.zona.nome;
    const maquinas = this.state.maquinas.filter(x => x.zona._id === item.zona._id).length
    const atualiza = item.updatedAt

    tempArr.push({
      id,
      entrada,
      saida,
      codigo,
      descricao,
      total,
      maquinas,
      zona,
      atualiza

    })
  }
}

this.setState({ list: tempArr })

}

render() { return (

{this.state.loading && ( )} {this.state.list.map(item => (

Ultimo Lançamento: {this.formatDate(new Date(item.atualiza))}
          </Col>
        ))}
      </Row>
    </Container>