rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_compra.jsp");
rd.forward(request, response);
}
else if(action.equals("aprovar")) {
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, Integer.valueOf(pedidoId));
ct.setInt(2, 2);
ct.executeUpdate();
message = "Pedido " + Integer.valueOf(pedidoId) + " aprovado";
request.setAttribute("message", message);
refreshPedidoCompra(request, 1);
rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_compra.jsp");
rd.forward(request, response);
}
else if(action.equals("rejeitar")) {
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, Integer.valueOf(pedidoId));
ct.setInt(2, 4);
ct.executeUpdate();
message = "Pedido " + Integer.valueOf(pedidoId) + " rejeitado";
request.setAttribute("message", message);
refreshPedidoCompra(request, 1);
rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_compra.jsp");
rd.forward(request, response);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// Avaliar Pedido de Venda
if (jspName.equals("avaliarPedidoVenda")) {
try {//iniciar a pagina com os pedidos pendentes
String pedidoId = request.getParameter("id");
String action = request.getParameter("action");
if(pedidoId == null) {
refreshPedidoVenda(request);
rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_venda.jsp");
rd.forward(request, response);
}
else if(action.equals("aprovar")) {
HashMap<Produto, Integer> produtos;
DaoProduto daoP = new DaoProduto();
PedidoVenda pv = new PedidoVenda();
pv.setId(Integer.valueOf(pedidoId));
pv.setStatuid(2);
DaoPedidoVenda daoPv = new DaoPedidoVenda();
daoPv.updateStatus(pv);
produtos = daoPv.listaProdutosVenda(Integer.valueOf(pedidoId));
for(Entry e : produtos.entrySet()) {
Produto p = (Produto)e.getKey();
daoP.subtractQuantidade(p.getId(), (Integer)e.getValue());
}
message = "Pedido " + Integer.valueOf(pedidoId) + " aprovado";
request.setAttribute("message", message);
refreshPedidoVenda(request);
rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_venda.jsp");
rd.forward(request, response);
}
else if(action.equals("rejeitar")) {
PedidoVenda pv = new PedidoVenda();
pv.setId(Integer.valueOf(pedidoId));
pv.setStatuid(4);
DaoPedidoVenda daoPv = new DaoPedidoVenda();
daoPv.updateStatus(pv);
message = "Pedido " + Integer.valueOf(pedidoId) + " rejeitado";
request.setAttribute("message", message);
refreshPedidoVenda(request);
rd = request.getRequestDispatcher("/logistica/jsp/avaliar_pedido_venda.jsp");
rd.forward(request, response);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// Criar Cota��o
if (jspName.equals("cotacaoProduto")) {
if(request.getParameter("listarFornecedores") != null &&
request.getParameter("listarFornecedores").equals("true")) {
try {
DaoFornecedor daoFornecedor = new DaoFornecedor();
request.setAttribute("listaFornecedor", daoFornecedor.listarfornecedores());
} catch (SQLException e) {
e.printStackTrace();
}
rd = request.getRequestDispatcher("/logistica/jsp/criar_cotacao.jsp");
rd.forward(request, response);
}
else if(request.getParameter("listaProdutos") != null){
try {
DaoFornecedor daoFornecedor = new DaoFornecedor();
DaoCotacao daoCotacao = new DaoCotacao();
String cnpj = request.getParameter("fornecedor");
ArrayList<Fornecedor> fornecedores = daoFornecedor.listarfornecedores();
Fornecedor fornecedorDosProdutos = new Fornecedor();
for (Fornecedor fornecedor: fornecedores){
if (fornecedor.getCnpj().equals(cnpj))
fornecedorDosProdutos = fornecedor;
}
request.setAttribute("fornecedorDosProdutos", fornecedorDosProdutos);
request.setAttribute("listaCotacao", daoCotacao.listaCotacao(fornecedorDosProdutos.getCnpj()));
} catch (SQLException e) {
e.printStackTrace();
}
rd = request.getRequestDispatcher("/logistica/jsp/criar_cotacao.jsp");
rd.forward(request, response);
}
else if (request.getParameter("salvarCotacao") != null){
try {
DaoCotacao daoCotacao = new DaoCotacao();
Cotacao cotacao = new Cotacao();
java.util.Date dataAtual = new java.util.Date();
Date dateSql = new Date(dataAtual.getTime());
DaoProduto daoProduto = new DaoProduto();
ArrayList<Produto> produtos = (ArrayList<Produto>) daoProduto.listaProdutos();
for (int i = 0; i < produtos.size(); i++){
String precoDoProduto = request.getParameter("precoProduto"+produtos.get(i).getId());
if (precoDoProduto != null && !precoDoProduto.equals("")){
cotacao.setDataCotacao(dateSql);
cotacao.setFornecedorCNPJ((request.getParameter("fornecedorCnpj")));
cotacao.setProdutoId(produtos.get(i).getId());
cotacao.setPreco(Float.parseFloat(request.getParameter("precoProduto"+produtos.get(i).getId())));
daoCotacao.salvaCotacao(cotacao);
}
}
message = "Dados gravados";
request.setAttribute("message", message);
rd = request.getRequestDispatcher("/logistica/jsp/criar_cotacao.jsp");
rd.forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
else {
rd = request.getRequestDispatcher("/logistica/jsp/cotacao.jsp");
rd.forward(request, response);
}
}
// Listar Cota��o
if (jspName.equals("listaCotacao")) {
String inicio = request.getParameter("inicio");
String fim = request.getParameter("fim");
try {
DaoCotacao daoCotacao = new DaoCotacao();
request.setAttribute("listaCotacao", daoCotacao.listaCotacao(inicio, fim));
DaoFornecedor daoFornecedor = new DaoFornecedor();
DaoProduto daoProduto = new DaoProduto();
request.setAttribute("listaFornecedor", daoFornecedor.listarfornecedores());
request.setAttribute("listaProduto", daoProduto.listaProdutos());
} catch (SQLException e) {
e.printStackTrace();
}
rd = request.getRequestDispatcher("/logistica/jsp/listar_cotacao.jsp");
rd.forward(request, response);
}
}
// Pedido de Compra
if (jspName.equals("pedidoCompra")){
try {
DaoFornecedor daoFornecedor = new DaoFornecedor();
request.setAttribute("listaFornecedor", daoFornecedor.listarfornecedores());
} catch (Exception e) {
e.printStackTrace();
}
if(request.getParameter("listaProdutos") != null){
try {
DaoFornecedor daoFornecedor = new DaoFornecedor();
String cnpj = request.getParameter("fornecedor");
ArrayList<Fornecedor> fornecedores = daoFornecedor.listarfornecedores();
Fornecedor fornecedorDosProdutos = new Fornecedor();
for (Fornecedor fornecedor: fornecedores){
if (fornecedor.getCnpj().equals(cnpj))
fornecedorDosProdutos = fornecedor;
}
request.setAttribute("fornecedorDosProdutos", fornecedorDosProdutos);
request.setAttribute("listaProdutosFornecedor", daoFornecedor.listaProdutosDeFornecedores(cnpj));
} catch (SQLException e) {
e.printStackTrace();
}
}
else if (request.getParameter("salvarPedido") != null){
try {
DaoPedidoCompra daoPedidoCompra = new DaoPedidoCompra();
DaoProduto daoProduto = new DaoProduto();
PedidoCompra pedidoCompra = new PedidoCompra();
ArrayList<Produto> produtos = (ArrayList<Produto>) daoProduto.listaProdutos();
HashMap<Produto, Integer> produtosDaCompra = new HashMap<Produto, Integer>();
pedidoCompra.setFornecedorCnpj(request.getParameter("fornecedorCnpj"));
pedidoCompra.setValorTotal(Float.parseFloat("0"));
java.util.Date dataAtual = new java.util.Date();
Date dateSql = new Date(dataAtual.getTime());
pedidoCompra.setDataCompra(dateSql);
pedidoCompra.setStatusPedido(1);
for (int i = 0; i < produtos.size(); i++){
String quantidadeProduto = request.getParameter("quantidadeProduto"+produtos.get(i).getId());
if (quantidadeProduto != null && !quantidadeProduto.equals("")){
int qtd = Integer.parseInt(quantidadeProduto);
Produto produto = new Produto();
produto.setId(produtos.get(i).getId());
produtosDaCompra.put(produto, qtd);
}
}
pedidoCompra.setProdutos(produtosDaCompra);
daoPedidoCompra.salvarPedidoDeCompra(pedidoCompra);
} catch (SQLException e) {
e.printStackTrace();
}
message = "Pedido de compra efetuado";
request.setAttribute("message", message);
}
rd = request.getRequestDispatcher("/logistica/jsp/pedido_compra.jsp");
rd.forward(request, response);
}
if (jspName.equals("produtoFornecedor")) {
try {
refreshProdutoFornecedor(request);
} catch (SQLException e) {
e.printStackTrace();
}
rd = request.getRequestDispatcher("/logistica/jsp/produto_fornecedor.jsp");
rd.forward(request, response);
}
// Salvar produto do fornecedor
if (jspName.equals("salvarProdutoFornecedor")) {
try {
DaoProduto daoProduto = new DaoProduto();
String fornecedorCNPJ = request.getParameter("fornecedor");
float produtoId = Float.parseFloat(request.getParameter("produto"));
daoProduto.salvarProdutoDoFornecedor(fornecedorCNPJ, produtoId);
message = "Dados gravados";
request.setAttribute("message", message);
refreshProdutoFornecedor(request);
rd = request.getRequestDispatcher("/logistica/jsp/produto_fornecedor.jsp");
rd.forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
//Confirmar Recebimento do produto
if (jspName.equals("confirmarRecebimentoProduto")) {
String action = request.getParameter("action");
String produtoId = request.getParameter("id");
ArrayList<PedidoCompra> listaPedidoCompra;
if (produtoId == null) { //nenhum pedido foi selecionado
try{
listaPedidoCompra = refreshPedidoCompra(request, 2);
}
catch(SQLException e) {
e.printStackTrace();
}
}
else if(action != null && action.equals("aprovar")) {
int pId = Integer.parseInt(produtoId);
try{
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
listaPedidoCompra = refreshPedidoCompra(request, 2);
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, pId);
ct.setInt(2, 3);
ct.executeUpdate();
for(PedidoCompra pc : listaPedidoCompra) {
HashMap<Produto, Integer> listaProduto = pc.getProdutos();
for(Entry e : listaProduto.entrySet()) {
DaoProduto daoP = new DaoProduto();
Produto p = (Produto)e.getKey();
daoP.addQuantidade(p.getId(), (Integer)e.getValue());
}
}
listaPedidoCompra = refreshPedidoCompra(request, 2);
message = "Pedido de id: " + pId + " aprovado";
request.setAttribute("message", message);
}
catch(SQLException e) {
e.printStackTrace();
}
}
else if(action != null && action.equals("rejeitar")) {
int pId = Integer.parseInt(produtoId);
try{
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, pId);
ct.setInt(2, 6);
ct.executeUpdate();
listaPedidoCompra = refreshPedidoCompra(request, 2);
message = "Pedido de id: " + pId + " rejeitado";
request.setAttribute("message", message);
}
catch(SQLException e) {
e.printStackTrace();
}
}
rd = request.getRequestDispatcher("/logistica/jsp/confirmar_recebimento_produto.jsp");
rd.forward(request, response);
}
//Reavaliar Recebimento do produto
if (jspName.equals("reavaliarRecebimentoProduto")) {
String action = request.getParameter("action");
String produtoId = request.getParameter("id");
ArrayList<PedidoCompra> listaPedidoCompra;
if (produtoId == null) { //nenhum pedido foi selecionado
try{
listaPedidoCompra = refreshPedidoCompra(request, 6);
}
catch(SQLException e) {
e.printStackTrace();
}
}
else if(action != null && action.equals("aprovar")) {
int pId = Integer.parseInt(produtoId);
try{
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
listaPedidoCompra = refreshPedidoCompra(request, 6);
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, pId);
ct.setInt(2, 3);
ct.executeUpdate();
for(PedidoCompra pc : listaPedidoCompra) {
HashMap<Produto, Integer> listaProduto = pc.getProdutos();
for(Entry e : listaProduto.entrySet()) {
DaoProduto daoP = new DaoProduto();
Produto p = (Produto)e.getKey();
daoP.addQuantidade(p.getId(), (Integer)e.getValue());
}
}
listaPedidoCompra = refreshPedidoCompra(request, 6);
message = "Pedido de id: " + pId + " aprovado";
request.setAttribute("message", message);
}
catch(SQLException e) {
e.printStackTrace();
}
}
else if(action != null && action.equals("cancelar")) {
int pId = Integer.parseInt(produtoId);
try{
DataBase db = DataBase.getDb();
Connection conn = db.getConnection();
CallableStatement ct = conn.prepareCall("exec updateStatusPedidoCompra @pedidoid=?, @statusid=?");
ct.setInt(1, pId);
ct.setInt(2, 5);
ct.executeUpdate();