Montagem de Kit no estoque
26/03/2016
0
[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160326-154924.png[/img]
[img]http://arquivo.devmedia.com.br/forum/imagem/482407-20160326-154945.jpg[/img]
Pessoal preciso muito da ajuda de vocês estou tendo dificuldades para montar um cadastro de kit. Na hora de cadastrar o kit ele deve aparecer os produtos que estão na tabela estoque, onde eu possa selecionar quais produtos irão compor o kit e a quantidade deles, e quando for da baixa em um kit ele possa baixar (diminuir a quantidade no estoque do produto que compoe o kit. Segue as imagens em anexo com o banco de dados e o codigo das paginas segue abaixo.
kit_add.php
<?php echo form_open('kit/create', 'class="form-cadastro"'); $field_array = array('Codigo', 'Nome', 'Categoria', 'Apresentacao', 'Minimo'); $field_array = array('Produto', 'Quantidade', 'Obs'); echo heading($headline, 3, 'class="form-cadastro-heading"'); echo br(); echo form_input('codigo_kit', '', 'title="Código do kit formado por 3 caracteres iniciais do tipo e 3 digitos sequenciais daquele tipo" class="input-block-level input-xlarge" placeholder="Codigo" required'); echo br(); echo form_input('nome_kit', '', 'title="Nome do kit" class="input-block-level input-xlarge" placeholder="Nome do kit" required'); echo ('<select name="categoria" title="Categoria ou tipo de Kit" class="input-block-level input-xlarge" required>'); echo ('<option value="">Categoria</option>'); foreach($categorias->result() as $categoria): echo ('<option value="'.$categoria->id_categoria.'">'.$categoria->nome_categoria.'</option>'); endforeach; echo ('</select>'); echo ('<select name="unidade" title="Unidade de medida do kit" class="input-block-level input-xlarge" required>'); echo ('<option value="">Unidade de medida</option>'); foreach($unidades->result() as $unidade): echo ('<option value="'.$unidade->id_apresentacao.'">'.$unidade->nome_apresentacao.'</option>'); endforeach; echo ('</select>'); echo form_input('qtd_minima', '', 'title="Quantidade mínima do kit em estoque" class="number input-block-level input-small" placeholder="Minimo" type="number" required'); echo br(); echo br(); echo form_submit('', 'Cadastrar', 'class="btn btn-primary"'); echo form_close();
kit.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Kit extends CI_Controller { public function Kit() { parent::__construct(); $this->check_isvalidated(); } private function check_isvalidated(){ if(! $this->session->userdata('validated')){ redirect('login'); } } function add() { $data['title'] = "Cadastro de Kit - Controle de Estoque"; $data['headline'] = "Cadastro de Kit"; $data['include'] = "kit_add"; $this->load->model('MApresentacao', '', TRUE); $data['unidades'] = $this->MApresentacao->listApresentacao(); $this->load->model('MCategoria', '', TRUE); $data['categorias'] = $this->MCategoria->listCategoria(); $this->load->view('template', $data); } function create() { $this->load->model('MKit','',TRUE); $this->MKit->addKit($_POST); redirect('kit/listing', 'refresh'); } function edit() { $id = $this->uri->segment(3); $this->load->model('MKit', '', TRUE); $data['kit'] = $this->MKit->getKit($id)->result(); $data['title'] = "Modificar Kit - Controle de Estoque"; $data['headline'] = "Edição de Kit"; $data['include'] = "kit_edit"; $this->load->model('MApresentacao', '', TRUE); $data['unidades'] = $this->MApresentacao->listApresentacao(); $this->load->model('MCategoria', '', TRUE); $data['categorias'] = $this->MCategoria->listCategoria(); $this->load->view('template', $data); } function update() { $this->load->model('MKit','',TRUE); $this->MKit->updateKit($_POST['id_kit'], $_POST); redirect('kit/listing', 'refresh'); } function delete() { $id = $this->uri->segment(3); $this->load->model('MKit','',TRUE); $this->MKit->deleteKit($id); redirect('kit/listing', 'refresh'); } function listing() { $this->load->model('MKit','',TRUE); $qry = $this->MKit->listKit(); $table = $this->table->generate($qry); $tmpl = array ( 'table_open' => '<table id="tabela" class="table table-striped table-bordered table-hover">' ); $this->table->set_template($tmpl); $this->table->set_empty(" "); $this->table->set_heading('Editar', 'Codigo', 'Nome', 'Categoria', 'Unidade', 'Minimo', 'Excluir'); $table_row = array(); foreach ($qry->result() as $kit) { $table_row = NULL; $table_row[] = anchor('kit/edit/' . $kit->id_kit, '<span class="ui-icon ui-icon-pencil"></span>'); $table_row[] = $kit->codigo_kit; $table_row[] = $kit->nome_kit; $table_row[] = $kit->nome_categoria; $table_row[] = $kit->nome_apresentacao; $table_row[] = $kit->qtd_minima; $table_row[] = anchor('kit/delete/' . $kit->id_kit, '<span class="ui-icon ui-icon-trash"></span>', "onClick=\" return confirm('Tem certeza que deseja remover o registro?')\""); $this->table->add_row($table_row); } $table = $this->table->generate(); $data['title'] = "Listagem de Kit - Controle de Estoque"; $data['headline'] = "Listagem de Kit"; $data['include'] = 'kit_listing'; $data['data_table'] = $table; $this->load->view('template', $data); } }
mkit.php
<?php class MKit extends CI_Model{ function addKit($data) { $this->db->insert('kit', $data); } function listKit() { $this->db->join('apresentacao', 'apresentacao.id_apresentacao = kit.unidade'); $this->db->join('categoria', 'categoria.id_categoria = kit.categoria'); $this->db->order_by('nome_kit', 'asc'); return $this->db->get('kit'); } function getKit($id) { return $this->db->get_where('kit', array('id_kit'=> $id)); } function updateKit($id, $data) { $this->db->where('id_kit', $id); $this->db->update('kit', $data); } function deleteKit($id) { $this->db->where('id_kit', $id); $this->db->delete('kit'); } }
Thiago Magalhães
Post mais votado
27/03/2016
Pelo visto você ainda não entendeu que fóruns funcionam de maneira colaborativa e as pessoas ajudam quando podem, possuem conhecimento e disponibilidade para isso, ninguém recebe para ajudar ou dar código pronto!
Quanto a sua dúvida, me espanta muito que uma pessoa que constrói um sistema desse usando framework MVC não saiba montar um cadastro do tipo mestre-detalhe.
Vou deixar uma dica para você de como montar isso:
1 - Para cada Kit é necessário cadastrar um cabeçalho como ID e Nome do Kit
2 - Depois disso vc exibe uma tabela onde será inserido pelo usuário o produto e a quantidade que serão inseridos nesse Kit.
Existem diversas maneiras de ser feito esse cadastro em termos de fluxo de dados e layout, faça um cadastro nesse Meus Pedidos (é Gratuito) que você vai entender o que estou explicando.
Boa sorte, espero que tenha entendido sobre o fórum e a dica do caminho a ser seguido na sua dúvida!
William
Mais Posts
26/03/2016
Thiago Magalhães
http://www.102celular.com/estoque
usuario: admin
senha: admin
Link para baixar os arquivos e o banco de dados:
http://www.4shared.com/zip/9OPuOry9ce/estoque.html?
Pessoal apenas quero poder cadastrar um kit, onde nesse kit contém os produtos da tabela produtos, e a quantidade de cada produto que compõe o kit. e Na aba saida quando cadastrar uma saida do Kit, o mesmo subtraia a quantidade do produto em estoque de acordo com o que foi cadastrado no kit.
Por exemplo:
tenho 4 produtos cadastrados na aba cadastrar produtos.
Madeira
Grampo
parafuso
bucha
Na aba estoque tenho:
Produto: Quantidade:
Madeira 20
Grampo 30
parafuso 40
bucha 50
Na aba cadastrar kit (aqui que está o problema) quando for cadastrar um kit, tipo: KIT CAMA DE CASAL:. Nesse kit deve conter os seguintes produtos: madeira, grampo, parafuso e a quantidade que cada um possui e que irá baixar no estoque. Exemplo:
Kit Cama de casal
Produto: Quantidade:
Madeira 5
Grampo 3
parafuso 6
bucha 8
Na aba saida quando for dar baixa em um kit, por Exemplo KIT CAMA DE CASAL. Ele baixa a quantidade do Kit, e a quantidade dos produtos em estoque como citado acima
Depois de baixado o kit cama de casal o estoque atualiza os valores.
Produto: Quantidade:
Madeira 15
Grampo 27
parafuso 34
bucha 42
Pessoal se eu não me expressei direito podem perguntar, mais resumindo o que eu quero é que na aba cadastrar kit fosse possivel cadastrar um kit selecionando varios produtos e a quantidade que irá usar. E na aba cadastrar saída, fosse possível da baixa no kit e ele baixasse a quantidade de produtos em estoque de acordo com a quantidade cadastrada em cada kit.
Desde já agradeço muito a Ajuda.
27/03/2016
Thiago Magalhães
no cadastro do kit
apenas quero anexar os produtos e a quantidade que irão diminuir no estoque quando der baixa nesse kit só isso que eu quero. Mais não ta batendo todas as formas que fiz deu erro.
30/03/2016
Thiago Magalhães
30/03/2016
Marcos P
Pessoal se eu não me expressei direito podem perguntar, mais resumindo o que eu quero é que na aba cadastrar kit fosse possivel cadastrar um kit selecionando varios produtos e a quantidade que irá usar. E na aba cadastrar saída, fosse possível da baixa no kit e ele baixasse a quantidade de produtos em estoque de acordo com a quantidade cadastrada em cada kit.
Thiago,
Acho que você não precisa de nossa ajuda, pois AJUDA, aqui no DevMedia, são dicas ou referências de pesquisa, para que você, baseado no seu esforço, possa resolver seu problema.
Não é isso que você necessita.
Você precisa de alguém que faça isso para você, pois, claramente, você iniciou um projeto ( trivial ) que não tem condições de concluir.
O William, que respondeu seu post, o fez com a melhor das boas intenções.
Então, fazer comentários como : "Esse sistemas meus pedidos não me ajudou em nada William" ou "aqui é dificil a galera ajudar. kkk esperando ajuda ate hoje", não agregam em absolutamente nada.
Se você quiser participar, contribuindo com nossa comunidade, será muito bem-vindo !
Mas, se acha que nós temos obrigação em resolver seus problemas, está muito enganado !
06/04/2016
Leonardo Xavier
Clique aqui para fazer login e interagir na Comunidade :)