Fix date and datetime

This commit is contained in:
GuilhermeWerner
2021-09-18 11:51:09 -03:00
parent 55af34fc74
commit 6d35876a79
4 changed files with 28 additions and 36 deletions

View File

@ -3,7 +3,7 @@ CREATE TABLE public.produto (
descricao varchar NOT NULL,
preco numeric NOT NULL,
quantidade int4 NOT NULL,
datafabricacao date NULL,
datavalidade date NULL,
datafabricacao date NOT NULL,
datavalidade date NOT NULL,
CONSTRAINT produto_pk PRIMARY KEY (id)
);

View File

@ -99,13 +99,14 @@ public class ProdutoDAO {
for (int i = 0; rs.next(); i++) {
produtos[i] = new Produto(rs.getInt("id"), rs.getString("descricao"), rs.getFloat("preco"),
rs.getInt("quantidade")/* , rs.getDate("dataFabricacao"), rs.getDate("dataFabricacao") */);
rs.getInt("quantidade"), rs.getTimestamp("dataFabricacao"), rs.getDate("dataValidade"));
}
}
st.close();
} catch (Exception e) {
System.err.println(e.getMessage());
System.out.println(e.getMessage());
}
return produtos;
}
@ -117,7 +118,7 @@ public class ProdutoDAO {
ResultSet rs = st.executeQuery("SELECT * FROM produto WHERE produto.id = " + id);
if (rs.first()) {
produto = new Produto(rs.getInt("id"), rs.getString("descricao"), rs.getFloat("preco"),
rs.getInt("quantidade")/* , rs.getDate("dataFabricacao"), rs.getDate("dataFabricacao") */);
rs.getInt("quantidade"), rs.getTimestamp("dataFabricacao"), rs.getDate("dataValidade"));
}
st.close();
} catch (SQLException u) {

View File

@ -1,13 +1,14 @@
package model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.*;
import java.sql.*;
public class Produto implements Serializable {
private static final long serialVersionUID = 1L;
public static final String DESCRICAO_PADRAO = "Novo Produto";
public static final int MAX_ESTOQUE = 1000;
private int id;
private String descricao;
private float preco;
@ -15,31 +16,21 @@ public class Produto implements Serializable {
private LocalDateTime dataFabricacao;
private LocalDate dataValidade;
public Produto() {
id = -1;
descricao = DESCRICAO_PADRAO;
preco = 0.01F;
quantidade = 0;
dataFabricacao = LocalDateTime.now();
dataValidade = LocalDate.now().plusMonths(6); // o default é uma validade de 6 meses.
}
public Produto(int id, String descricao, float preco, int quantidade) {
setId(id);
setDescricao(descricao);
setPreco(preco);
setQuant(quantidade);
dataFabricacao = LocalDateTime.now();
dataValidade = LocalDate.now().plusMonths(6); // o default é uma validade de 6 meses.
}
public Produto(int id, String descricao, float preco, int quantidade, LocalDateTime fabricacao, LocalDate v) {
setId(id);
setDescricao(descricao);
setPreco(preco);
setQuant(quantidade);
setDataFabricacao(fabricacao);
setDataValidade(v);
this.id = id;
this.descricao = descricao;
this.preco = preco;
this.quantidade = quantidade;
this.dataFabricacao = fabricacao;
this.dataValidade = v;
}
public Produto() {
this(-1, DESCRICAO_PADRAO, 0.01F, 0, LocalDateTime.now(), LocalDate.now().plusMonths(6));
}
public Produto(int id, String descricao, float preco, int quantidade, Timestamp fabricacao, Date v) {
this(id, descricao, preco, quantidade, fabricacao.toLocalDateTime(), v.toLocalDate());
}
public int getId() {

View File

@ -22,14 +22,14 @@ public class ProdutoService {
String descricao = request.queryParams("descricao");
float preco = Float.parseFloat(request.queryParams("preco"));
int quantidade = Integer.parseInt(request.queryParams("quantidade"));
// LocalDateTime dataFabricacao =
// LocalDateTime.parse(request.queryParams("dataFabricacao"));
// LocalDate dataValidade =
// LocalDate.parse(request.queryParams("dataValidade"));
LocalDateTime dataFabricacao =
LocalDateTime.parse(request.queryParams("dataFabricacao"));
LocalDate dataValidade =
LocalDate.parse(request.queryParams("dataValidade"));
int id = produtoDAO.getRandomId();
Produto produto = new Produto(id, descricao, preco, quantidade/* , dataFabricacao, dataValidade */);
Produto produto = new Produto(id, descricao, preco, quantidade , dataFabricacao, dataValidade);
produtoDAO.inserirProduto(produto);