Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lorranaas

Controle de estoque

Recommended Posts

Pessoal

 

Tenho três tabelas no meu BD:

 

CREATE TABLE tab_entradaestoque(

id int auto_increment primary key not null,

nomeproduto varchar(100) not null,

codigoproduto varchar(12) not null,

nomefornecedor varchar(100) not null,

valorunitario float(10) not null,

quantidade int not null,

nfiscal int not null,

data_cadastro timestamp default CURRENT_TIMESTAMP

);

CREATE TABLE tab_controleestoque(

id int auto_increment primary key not null,

nomeproduto varchar(100) not null,

codigoproduto varchar(12) not null,

quantidadetotal int not null,

quantidadeentrante int not null,

quantidadesaida int not null

);

CREATE TABLE tab_produtoestoque(

id int auto_increment primary key not null,

nome varchar(100) not null,

tipo varchar(100) not null,

codigo varchar(12) not null,

categoria varchar(15) not null,

data_cadastro timestamp default CURRENT_TIMESTAMP

 

);

 

 

No meu código, toda vez que insiro o produto na tab_produtoestoque, já jogo o produto para a tab_controleestoque.

 

Só que toda vez que eu atualizo a quantidade da tab_entradaestoque, eu preciso atualizar a quantidade entrante e quantidade saida da tab_controleestoque, sendo somando com o valor anterior (que já estava antes da entrada). Como posso fazer isso????

 

Segue meu código:

 

 

 

action_entradaestoque

 

<html>
<head>
<meta charset="utf-8">
<title>L's Food - Registro de Entrada - Estoque</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container box-mensagem-crud'>
<?php
require 'conexao.php';
// Atribui uma conexão PDO
$conexao = conexao::getInstance();
// Recebe os dados enviados pela submissão
$acao = (isset($_POST['acao'])) ? $_POST['acao'] : '';
$nome = (isset($_POST['nome'])) ? $_POST['nome'] : '';
$valor = (isset($_POST['valor'])) ? $_POST['valor'] : '';
$codigo = (isset($_POST['codigo'])) ? $_POST['codigo'] : '';
$quantidade = (isset($_POST['quantidade'])) ? $_POST['quantidade'] : '';
$nfiscal = (isset($_POST['nfiscal'])) ? $_POST['nfiscal'] : '';
$categoria = (isset($_POST['categoria'])) ? $_POST['categoria'] : '';
// Valida os dados recebidos
if ($acao != 'excluir' && $acao != 'editar'):
if ($nome == '' || strlen($nome) < 3):
$mensagem .= '<li>Favor preencher o Nome.</li>';
endif;
if ($codigo == ''):
$mensagem .= '<li>Favor preencher o Código.</li>';
endif;
if ($categoria == ''):
$mensagem .= '<li>Favor preencher a Categoria.</li>';
endif;
if ($nfiscal == ''):
$mensagem .= '<li>Favor preencher o Número da Nota Fiscal de Compra.</li>';
endif;
if ($quantidade == ''):
$mensagem .= '<li>Favor preencher a Quantidade.</li>';
endif;
if ($valor == ''):
$mensagem .= '<li>Favor preencher o Valor Unitário.</li>';
endif;
if ($mensagem != ''):
$mensagem = '<ul>' . $mensagem . '</ul>';
echo "<div class='alert alert-danger' role='alert'>".$mensagem."</div> ";
exit;
endif;
endif;
// Verifica se foi solicitada a inclusão de dados
if ($acao == 'editar'):
$sql = 'INSERT INTO tab_entradaestoque (nomeproduto, codigoproduto, valorunitario, nomefornecedor, quantidade, nfiscal)
VALUES(:nome, :codigo, :valor, :categoria, :quantidade, :nfiscal)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':codigo', $codigo);
$stm->bindValue(':categoria', $categoria);
$stm->bindValue(':valor', $valor);
$stm->bindValue(':quantidade', $quantidade);
$stm->bindValue(':nfiscal', $nfiscal);
$retorno = $stm->execute();
// $sql = "UPDATE tab_controleestoque SET quantidadeentrante='$quantidade' WHERE nome_produto = $nome";
// $stm = $conexao->prepare($sql);
//$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Entrada registrada com sucesso!</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao inserir entrada!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=indexprodutoestoque.php'>";
endif;
?>
</div>
</body>
</html>
entradaprodutoestoque
<!DOCTYPE html>
<html>
<head>
<title> L's Food - Registro de Entrada - Estoque </title>
<Meta http-equiv = "Content-Type" content = "charset = UTF-8" />
<!-- JQUERY -->
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/jquery-1.11.3.js"></script>
<!-- TWITTER BOOTSTRAP CSS -->
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap-theme.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap-theme.min.css">
<!-- TWITTER BOOTSTRAP JS -->
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/bootstrap.min.js"></script>
</head>
<body>
<div id="main">
<nav id="nav" class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="Home.html" style="padding-top: 10px;">
<img alt="Brand" src="images/logoMenu.jpg">
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Cadastros <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/sistema/cadastro.php">Cadastrar Cliente</a></li>
<li><a href="http://localhost:8024/sistema/cadastrofornecedor.php">Cadastrar Fornecedor</a></li>
<li><a href="http://localhost:8024/sistema/cadastroprodutoestoque.php">Cadastrar Produto - Estoque</a></li>
<li><a href="http://localhost:8024/sistema/cadastroproduto.php">Cadastrar Produto - Venda</a></li>
<li><a href="http://localhost:8024/sistema/cadastrousuario.php">Cadastrar Usuário</a></li>
<li><a href="http://localhost:8024/sistema/index.php">Consultar Cliente </a></li>
<li><a href="http://localhost:8024/sistema/indexfornecedor.php">Consultar Fornecedor </a></li>
<li><a href="http://localhost:8024/sistema/indexprodutoestoque.php">Consultar Produto - Estoque</a></li>
<li><a href="http://localhost:8024/sistema/indexproduto.php">Consultar Produto - Venda</a></li>
<li><a href="http://localhost:8024/sistema/indexusuario.php">Consultar Usuário</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Lançamentos <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/LsFood/EfetuarVenda.php">Lançar Venda </a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Relatórios <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Cadastro de Produto </a></li>
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Controle de Saída </a></li>
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Faturamento </a></li>
</ul>
</li>
<button type="button" onClick="Logout()" style="margin-top:11px;margin-left: 888px;">Sair</button>
</ul>
</div>
</div>
</nav>
</div>
</nav>
</body>
</html>
<style type="text/css">
ul.nav li.dropdown:hover ul.dropdown-menu{
display: block;
}
#main{
min-height: 30%;
margin: 0 auto 55px;
}
</style>
<?php
include 'conexao.php';
// Recebe o id do produto via GET
$id_cliente = (isset($_GET['id'])) ? $_GET['id'] : '';
// Valida se existe um id e se ele é numérico
if (!empty($id_cliente) && is_numeric($id_cliente)):
// Captura os dados do cliente solicitado
$conexao = conexao::getInstance();
$sql = "SELECT id, nome, codigo, categoria FROM tab_produtoestoque WHERE id = :id";
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id_cliente);
$stm->execute();
$cliente = $stm->fetch(PDO::FETCH_OBJ);
endif;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container'>
<fieldset>
<legend><h1>Formulário - Registrar Entrada - Estoque</h1></legend>
<?php if(empty($cliente)):?>
<h3 class="text-center text-danger">Cliente não encontrado!</h3>
<?php else: ?>
<form action="action_entradaestoque.php" method="post" id='form-contato' enctype='multipart/form-data'>
<div class="form-group">
<label for="nome">Nome</label>
<input type="text" class="form-control" id="nome" name="nome" value="<?=$cliente->nome?>" placeholder="Infome o Nome" disabled>
<span class='msg-erro msg-nome'></span>
</div>
<div class="form-group">
<label for="codigo">Código</label>
<input type="text" disableD class="form-control" id="codigo" maxlength="12" name="codigo" value="<?=$cliente->codigo?>" placeholder="Informe o Código">
<span class='msg-erro msg-codigo'></span>
</div>
<div class="form-group">
<label for="valor">Valor Unitário</label>
<input type="valor" class="form-control" id="valor" name="valor" placeholder="Informe o Valor Unitário">
<span class='msg-erro msg-valor'></span>
</div>
<div class="form-group">
<label for="quantidade">Quantidade </label>
<input type="quantidade" class="form-control" id="quantidade" name="quantidade" placeholder="Informe a Quantidade Adquirida"disable>
<span class='msg-erro msg-quantidade'></span>
</div>
<div class="form-group">
<label for="nfiscal">Nº Nota Fiscal </label>
<input type="nfiscal" class="form-control" id="nfiscal" maxlength="15" name="nfiscal" placeholder="Informe o Nº da Nota Fiscal de Compra">
<span class='msg-erro msg-nfiscal'></span>
</div>
<div class="form-group">
<label for="categoria">Fornecedor</label>
<select class="form-control" name="categoria" id="categoria">
<option value="">Selecione o Fornecedor</option>
<?php
$sql = "select nome from tab_fornecedor";
$rs = mysql_query($sql);
while ($reg = mysql_fetch_object($rs) ){
echo "<option value=$reg->nome </option>";
}
?>
</select>
</div>
<input type="hidden" name="acao" value="editar">
<input type="hidden" name="id" value="<?=$cliente->id?>">
<button type="submit" class="btn btn-primary" id='botao'>
Gravar
</button>
<a href='indexprodutoestoque.php' class="btn btn-danger">Cancelar</a>
</form>
<?php endif; ?>
</fieldset>
</div>
<script type="text/javascript" src="js/custons.js"></script>
</body>
</html>
cadastroprodutoestoque
<!DOCTYPE html>
<html>
<head>
<title> L's Food - Cadastro Produto Estoque </title>
<Meta http-equiv = "Content-Type" content = "charset = UTF-8" />
<!-- JQUERY -->
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/jquery-1.11.3.js"></script>
<!-- TWITTER BOOTSTRAP CSS -->
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap-theme.css">
<link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap-theme.min.css">
<!-- TWITTER BOOTSTRAP JS -->
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap-3.3.4-dist/js/bootstrap.min.js"></script>
</head>
<body>
<div id="main">
<nav id="nav" class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="Home.html" style="padding-top: 10px;">
<img alt="Brand" src="images/logoMenu.jpg">
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Cadastros <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/sistema/cadastro.php">Cadastrar Cliente</a></li>
<li><a href="http://localhost:8024/sistema/cadastrofornecedor.php">Cadastrar Fornecedor</a></li>
<li><a href="http://localhost:8024/sistema/cadastroprodutoestoque.php">Cadastrar Produto - Estoque</a></li>
<li><a href="http://localhost:8024/sistema/cadastroproduto.php">Cadastrar Produto - Venda</a></li>
<li><a href="http://localhost:8024/sistema/cadastrousuario.php">Cadastrar Usuário</a></li>
<li><a href="http://localhost:8024/sistema/index.php">Consultar Cliente </a></li>
<li><a href="http://localhost:8024/sistema/indexfornecedor.php">Consultar Fornecedor </a></li>
<li><a href="http://localhost:8024/sistema/indexprodutoestoque.php">Consultar Produto - Estoque</a></li>
<li><a href="http://localhost:8024/sistema/indexproduto.php">Consultar Produto - Venda</a></li>
<li><a href="http://localhost:8024/sistema/indexusuario.php">Consultar Usuário</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Lançamentos <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/LsFood/EfetuarVenda.php">Lançar Venda </a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Relatórios <span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu">
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Cadastro de Produto </a></li>
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Controle de Saída </a></li>
<li><a href="http://localhost:8024/LsFood/CadastroProduto.html">Faturamento </a></li>
</ul>
</li>
<button type="button" onClick="Logout()" style="margin-top:11px;margin-left: 888px;">Sair</button>
</ul>
</div>
</div>
</nav>
</div>
</nav>
</body>
</html>
<style type="text/css">
ul.nav li.dropdown:hover ul.dropdown-menu{
display: block;
}
#main{
min-height: 30%;
margin: 0 auto 55px;
}
</style>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cadastro de Produto </title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container'>
<fieldset>
<legend><h1>Formulário - Cadastro de Produto - Estoque</h1></legend>
<form action="action_produtoestoque.php" method="post" id='form-contato' enctype='multipart/form-data'>
<div class="form-group">
<label for="tipo">Tipo de Produto</label>
<select class="form-control" name="tipo" id="tipo">
<option value="">Selecione o Tipo do Produto </option>
<option value="Acucar">Açúcar</option>
<option value="Arroz">Arroz</option>
<option value="Café">Café</option>
<option value="Carne">Carne</option>
<option value="Cerveja">Cerveja</option>
<option value="Doce">Doce</option>
<option value="Farinha">Farinha</option>
<option value="Feijao">Feijão</option>
<option value="Molho">Molho de Tomate</option>
<option value="Oleo">Óleo</option>
<option value="Refrigerante">Refrigerante</option>
<option value="Tempeiro">Tempeiro</option>
<option value="verdura">Verdura</option>
<option value="Vinho">Vinho</option>
</select>
<span class='msg-erro msg-categoria'></span>
</div>
<div class="form-group">
<label for="nome">Nome</label>
<input type="text" class="form-control" id="nome" name="nome" placeholder="Infome o Nome do Produto">
<span class='msg-erro msg-nome'></span>
</div>
<div class="form-group">
<label for="codigo">Codigo</label>
<input type="codigo" class="form-control" id="codigo" maxlength="14" name="codigo" placeholder="Informe o Código">
<span class='msg-erro msg-codigo'></span>
</div>
<div class="form-group">
<label for="categoria">Categoria</label>
<select class="form-control" name="categoria" id="categoria">
<option value="">Selecione a Categoria </option>
<option value="Alimento">Alimento</option>
<option value="Bebida">Bebida</option>
</select>
<span class='msg-erro msg-categoria'></span>
</div>
<input type="hidden" name="acao" value="incluir">
<button type="submit" class="btn btn-primary" id='botao'>
Gravar
</button>
<a href='indexprodutoestoque.php' class="btn btn-danger">Cancelar</a>
</form>
</fieldset>
</div>
<script type="text/javascript" src="js/custom.js"></script>
</body>
</html>
action_produtoestoque
<html>
<head>
<meta charset="utf-8">
<title>L's Food - Cadastro Produto - Estoque</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
<div class='container box-mensagem-crud'>
<?php
require 'conexao.php';
// Atribui uma conexão PDO
$conexao = conexao::getInstance();
// Recebe os dados enviados pela submissão
$acao = (isset($_POST['acao'])) ? $_POST['acao'] : '';
$id = (isset($_POST['id'])) ? $_POST['id'] : '';
$tipo = (isset($_POST['tipo'])) ? $_POST['tipo'] : '';
$nome = (isset($_POST['nome'])) ? $_POST['nome'] : '';
$codigo = (isset($_POST['codigo'])) ? $_POST['codigo'] : '';
$categoria = (isset($_POST['categoria'])) ? $_POST['categoria'] : '';
// Valida os dados recebidos
$mensagem = '';
if ($acao == 'editar' && $id == ''):
$mensagem .= '<li>ID do registros desconhecido.</li>';
endif;
// Se for ação diferente de excluir valida os dados obrigatórios
if ($acao != 'excluir'):
if ($nome == '' || strlen($nome) < 3):
$mensagem .= '<li>Favor preencher o Nome.</li>';
endif;
if ($codigo == ''):
$mensagem .= '<li>Favor preencher o Código.</li>';
endif;
if ($categoria == ''):
$mensagem .= '<li>Favor preencher a Categoria.</li>';
endif;
if ($mensagem != ''):
$mensagem = '<ul>' . $mensagem . '</ul>';
echo "<div class='alert alert-danger' role='alert'>".$mensagem."</div> ";
exit;
endif;
endif;
// Verifica se foi solicitada a inclusão de dados
if ($acao == 'incluir'):
$sql = 'INSERT INTO tab_produtoestoque (nome, codigo, categoria, tipo)
VALUES(:nome, :codigo, :categoria, :tipo)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':codigo', $codigo);
$stm->bindValue(':categoria', $categoria);
$stm->bindValue(':tipo', $tipo);
$retorno = $stm->execute();
$sql = 'INSERT INTO tab_controleestoque (nomeproduto, codigoproduto)
VALUES(:nome, :codigo)';
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':codigo', $codigo);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Cadastro realizado com sucesso!</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao inserir cadastro!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=indexprodutoestoque.php'>";
endif;
// Verifica se foi solicitada a edição de dados
if ($acao == 'editar'):
$sql = "UPDATE tab_produtoestoque SET nome='$nome', codigo='$codigo', categoria='$categoria' WHERE id = $id";
$stm = $conexao->prepare($sql);
$stm->bindValue(':nome', $nome);
$stm->bindValue(':codigo', $email);
$stm->bindValue(':categoria', $categoria);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Cadastro editado com sucesso!</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao editar cadastro!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=indexprodutoestoque.php'>";
endif;
// Verifica se foi solicitada a exclusão dos dados
if ($acao == 'excluir'):
// Exclui o registro do banco de dados
$sql Controle= 'DELETE FROM tab_produtoestoque WHERE id = :id';
$stm = $conexao->prepare($sql);
$stm->bindValue(':id', $id);
$retorno = $stm->execute();
if ($retorno):
echo "<div class='alert alert-success' role='alert'>Cadastro excluído com sucesso!</div> ";
else:
echo "<div class='alert alert-danger' role='alert'>Erro ao excluir cadastro!</div> ";
endif;
echo "<meta http-equiv=refresh content='3;URL=indexprodutoestoque.php'>";
endif;
?>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem simples, vamos seguir a logica.

 

Você necessita que quando entrar insumos a tebela de controle tbm atualize qndo entrar, primeiro faça um select na tabela de controle depois pegue o valor que ja esta no campo, crie uma variavel com o valor recuperado+valor adicionado e faça o update na tabela necessaria...

 

Espero ter ajudado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.