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, descricao varchar NOT NULL,
preco numeric NOT NULL, preco numeric NOT NULL,
quantidade int4 NOT NULL, quantidade int4 NOT NULL,
datafabricacao date NULL, datafabricacao date NOT NULL,
datavalidade date NULL, datavalidade date NOT NULL,
CONSTRAINT produto_pk PRIMARY KEY (id) CONSTRAINT produto_pk PRIMARY KEY (id)
); );

View File

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

View File

@ -1,13 +1,14 @@
package model; package model;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate; import java.time.*;
import java.time.LocalDateTime; import java.sql.*;
public class Produto implements Serializable { public class Produto implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static final String DESCRICAO_PADRAO = "Novo Produto"; public static final String DESCRICAO_PADRAO = "Novo Produto";
public static final int MAX_ESTOQUE = 1000; public static final int MAX_ESTOQUE = 1000;
private int id; private int id;
private String descricao; private String descricao;
private float preco; private float preco;
@ -15,31 +16,21 @@ public class Produto implements Serializable {
private LocalDateTime dataFabricacao; private LocalDateTime dataFabricacao;
private LocalDate dataValidade; 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) { public Produto(int id, String descricao, float preco, int quantidade, LocalDateTime fabricacao, LocalDate v) {
setId(id); this.id = id;
setDescricao(descricao); this.descricao = descricao;
setPreco(preco); this.preco = preco;
setQuant(quantidade); this.quantidade = quantidade;
setDataFabricacao(fabricacao); this.dataFabricacao = fabricacao;
setDataValidade(v); 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() { public int getId() {

View File

@ -22,14 +22,14 @@ public class ProdutoService {
String descricao = request.queryParams("descricao"); String descricao = request.queryParams("descricao");
float preco = Float.parseFloat(request.queryParams("preco")); float preco = Float.parseFloat(request.queryParams("preco"));
int quantidade = Integer.parseInt(request.queryParams("quantidade")); int quantidade = Integer.parseInt(request.queryParams("quantidade"));
// LocalDateTime dataFabricacao = LocalDateTime dataFabricacao =
// LocalDateTime.parse(request.queryParams("dataFabricacao")); LocalDateTime.parse(request.queryParams("dataFabricacao"));
// LocalDate dataValidade = LocalDate dataValidade =
// LocalDate.parse(request.queryParams("dataValidade")); LocalDate.parse(request.queryParams("dataValidade"));
int id = produtoDAO.getRandomId(); 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); produtoDAO.inserirProduto(produto);