Dúvida Acionadores Mysql

08/04/2016

0

PHP

www.102celular.com/estoque

usuário admin
senha admin

Galera to montando um sistema de controle de estoque em php e mysql. acontece que quando eu dou baixa em um produto de forma individual ele subtrai no estoque a quantidade normalmente. Só que eu criei um cadastro de kit na aba produtos la você cadastra um kit com os produtos e quantidades que compõe esse kit. Na aba saída, eu tenho duas maneiras de dar saída. Tem a saída normal de produto onde ele baixa no estoque um por um.

Mas o segredo do problema tá aqui.

Na guia saída, em cadastrar a saída por kit, lá eu escolho o kit que eu quero baixar. Nessa tela ele baixa o kit como produto final ou seja eu escolho kit cama de casal e a quantidade dele ex: 3. Só que no estoque além de baixar o kit cama de casal e a quantidade dele que é 3. Quero que ao finalizar essa saída ele baixe a quantidade de produtos que ta cadastrado nesse kit na tabela kit na guia produtos/listagem de Kit/ Clica em visualizar.

Se alguém puder me ajudar a fazer essa conta fico agradecido.
Thiago Magalhães

Thiago Magalhães

Responder

Posts

08/04/2016

Raylan Zibel

Voce cria o kit com 10 itens, dá saída do kit de 10 itens e quer que no mesmo cadastro de kits esse kit que saiu passe a ter quantidade 0?
Responder

08/04/2016

Marcio Araujo

Boa tarde, Raylan, pela modelagem da base não seria mais simples de "visualizar" essa questão? Estou achando que sim.
Responder

08/04/2016

Raylan Zibel

Boa tarde, Raylan, pela modelagem da base não seria mais simples de "visualizar" essa questão? Estou achando que sim.


Sim. Parece um problema de modelagem mesmo.

Posso ter entendido errado, mas acho que ele quer visualizar a quantidade atual do produto no estoque, lá no cadastro do kit de produtos, sendo que a quantidade do produto dentro do kit é informada no cadastro do kit...
Responder

08/04/2016

Thiago Magalhães

Pessoal deixa eu ser bem Claro vou usar o fluxo do sistema e as imagens

1ª Imagem cadastro do Kit.

Nessa imagem eu clico na aba Produtos, depois Cadastrar kit.
Irá Abrir a pagina de cadastro do kit com os campos a preencher.
1º Campo: Kit Fiscal - Aqui você coloca o numero do kit. Ex: 001
2º Campo: produto - Aqui você Seleciona o Kit Ex: Cama de Casal, que está na tabela produtos. A mesma tabela onde fica os produtos que irão compor o kit.
3º Campo: Minimo - Aqui cadastra a quantidade minima em estoque.
4º Campo: Data do Kit - Escolhe a data de cadastro do Kit.

[img:descricao=Cadastro do Kit]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-174048.png[/img]

Pessoal feito o cadatro vai pra próxima tela que é para adicionar os produtos que compõe o kit.
Na tela abaixo adicionei três itens no Kit Cama Bom Casal 1.38 e suas quantidades.
Não se prendam em valores o foco é os produtos que compõe os itens e a quantidade.
Depois de montado o Kit clico em finalizar cadastro. O kit está cadastrado com os produtos e quantidades que compõe ele.

[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-174550.png[/img]


Agora o Segredo do problema está aqui. A imagem abaixo em cliquei em no MENU Saida/Cadastrar Saida de kit.

Seleciono o Usuário e a data da saída.

[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-175153.png[/img]

Feito isso na imagem abaixo vou adicionar o Kit que eu quero da baixa, escolhi Cama Box de Casal 1.38 e a quantidade de 6 peças.

[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-180720.png[/img]

Quando eu clico no Vezinho de baixar, e depois finalizar o cadastro. Ele vai no Menu estoque, pega e subtrai a quantidade de Cama Box de Casal 1.38. Lá por exemplo: tinha 41, baixamos 6 restou 35.

Aqui aqui a quantidade de produto final eu consegui fazer de boa ele subtrai tranquilo, o problema é os produtos que compõe essa Cama Box conforma a segunda tela acima. Que é Madeira, Grampo e Parafuso. Eu gostaria que quando eu desse uma saida por Kit como no exemplo acima dado. Além de baixar a quantidade do produto no exemplo usado que é 6. Ele também baixe a quantidade dos produtos que compõe ele. Madeira, grampo e parafuso. Quando finalizar o cadastro ele subtraia as quantidades que tem no estoque.

[img:descricao=Estoque geral]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-180244.png[/img]
Responder

08/04/2016

Thiago Magalhães

Marcio dá uma olhadinha ai vê se pode me ajudar por gentileza.
Responder

08/04/2016

Thiago Magalhães

Rayan dá uma olhadinha ai vê se pode me ajudar por gentileza.
Responder

08/04/2016

Raylan Zibel

Se voce fizer um join de kits com produtos e subprodutos, baseado no codigo do kit que deu saida, voce vai ter os codigos dos subprodutos e suas respectivas quantidades naquele kit. Daí é só dar baixa neles da mesma forma como fez no produto. Dá pra fazer tudo numa mesma trigger, por exemplo.
Responder

08/04/2016

Thiago Magalhães

Raylan

vou te mostrar a trigger que eu faço pra fazer a conta atual; Poderia me mostrar mais ou menos como ficaria a trigger.

[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160408-221818.png[/img]
Responder

08/04/2016

Thiago Magalhães

segue o codigo da saida pra facilitar, se alguém puder ajudar modificando o codigo. Lembrando que o kit é cadastrado na tabela chamada 'kit' e os item que são os produtos que compõe o kit estão vinculado a ele na tabela 'item_kit'

<?php 

	echo form_open('itemsaida/createItens', 'class="form"');
	
	echo ('<div class="row-fluid">');
	echo ('<div class="span6">');
	echo heading('Dados da Saida', 3, 'class="form-cadastro-heading"');
	
	$field_array1 = array('Número', 'Usuario', 'Data do Saida');
	
	echo form_hidden('cod_saida', $saida[0]->cod_saida);
	
	echo form_input('cod_saida', $saida[0]->cod_saida, 'disabled="disabled" class="input-block-level input-large"');
	echo br();
	
	echo ('<select name="id_usuario" disabled="disabled" class="input-block-level input-large">');
	echo ('<option value=""></option>');
	foreach($usuarios->result() as $usuario):
		echo ('<option value="'.$usuario->id_usuario.'"'); 
			if($usuario->id_usuario == $saida[0]->id_usuario) 
				echo ('selected="selected"');
		echo ('>'.$usuario->login.'</option>');
	endforeach;
	echo ('</select>');
	
	echo form_input('data_saida', mysql_to_pt($saida[0]->data_saida), 'id="data_saida" disabled="disabled" class="input-block-level input-large"');
	
	echo br();
	echo ('</div>');
	
	$field_array = array('Produto', 'Quantidade');

	echo ('<div class="span6">');
	echo heading('Item da Saida', 3, 'class="form-cadastro-heading"');	
	
	echo ('<select name="cod_produto" title="Produto" class="input-block-level input-large" required>');
	echo ('<option value="">Produto</option>');
	foreach($produtos->result() as $produto):
		echo ('<option value="'.$produto->id_produto.'">'.$produto->nome_produto.'</option>');
	endforeach;
	echo ('</select>');

	echo form_input('quantidade', '', 'title="Quantidade de Itens" size="10" class="input-block-level input-large" placeholder="Quantidade" required');
	echo br();
	
	
	echo form_submit('', 'Cadastrar', 'class="btn btn-primary"');
	echo form_close();
	echo br();
	echo ('</div>');
	echo ('</div>');
	
	echo br();
	echo br();
	
	if($msg == 1) {
		echo '<div class="alert alert-error"> <button type="button" class="close" data-dismiss="alert">×</button> A quantidade do produto em estoque não é suficiente para realizar o saida. </div>';
	}
	elseif($msg == 2) {
		echo '<div class="alert alert-error"> <button type="button" class="close" data-dismiss="alert">×</button> Não é possível fechar um saida com itens em aberto. </div>';
	}
	
	echo $data_table;
	echo br();
	echo br();
	
	echo anchor('saida/fechar/'.$saida[0]->cod_saida, form_button('Finalizar', 'Finalizar Cadastro', 'class="btn btn-primary"'));

/* End of file item_saida_add.php */
/* Location: ./system/application/views/item_saida_add.php */
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar