Beispiel #1
0
        public void MovimentaEstoque(int pedidoID)
        {
            PedidosModel           pm       = new PedidosModel();
            OrdemProducao          op       = new OrdemProducao();
            List <PedidosProdutos> lpp      = pm.PesquisarPedidosProdutos(pedidoID, 0, 0);
            List <OrdemProducao>   lop      = op.Pesquisar(0, 0, pedidoID);
            List <Pedidos>         lpedidos = Pesquisar(pedidoID, 0);


            if (lpedidos[0].tipoPedido == 5)
            {
                // Conclui as OP's nao concluídas
                for (int i = 0; i < lop.Count; i++)
                {
                    if (lop[i].dtConclusao == null)
                    {
                        lop[i].dtConclusao = DateTime.Today;
                        op.Concluir(lop[i]);
                    }
                }


                // Movimenta o estoque dos produtos
                for (int i = 0; i < lpp.Count; i++)
                {
                    Produtos        produtos = new Produtos();
                    List <Produtos> lp       = produtos.Pesquisar(lpp[i].produtoID, "");

                    lp[i].qntEstoque = (lp[i].qntEstoque - lpp[i].qntPedido);
                    produtos.Alterar(lp[i]);
                }
            }

            if (lpedidos[0].tipoPedido == 4)
            {
                // Movimenta o estoque dos produtos
                for (int i = 0; i < lpp.Count; i++)
                {
                    Produtos        produtos = new Produtos();
                    List <Produtos> lp       = produtos.Pesquisar(lpp[i].produtoID, "");

                    lp[i].qntEstoque = (lp[i].qntEstoque + lpp[i].qntPedido);
                    produtos.Alterar(lp[i]);
                }
            }
        }
Beispiel #2
0
        public string EmitirOP(int pedidoID)
        {
            OrdemProducao        ordemProducao = new OrdemProducao();
            List <OrdemProducao> lop           = ordemProducao.Pesquisar(0, 0, pedidoID);

            if (lop.Count > 0)
            {
                return("Este pedido já possui Ordem de Produção, portanto não é possível emitir novamente.");
            }
            else
            {
                string   produzir          = "";
                Produtos p                 = new Produtos();
                Pedidos  pedidos           = new Pedidos();
                List <PedidosProdutos> lpp = pedidos.PesquisaProdutos(pedidoID);
                for (int i = 0; i < lpp.Count; i++)
                {
                    produzir += p.VerificaQuntidade(lpp[i].produtoID, lpp[i].qntPedido);
                }

                if (p.compraGeral != null)
                {
                    return("Infelizmente não é possivel emitir ordem de produção, ainda é necessário comprar os seguintes itens: " + p.compraGeral);
                }
                else
                {
                    if (p.producaoGeral != null)
                    {
                        string[] a = p.producaoGeral.Split(',');
                        try
                        {
                            for (int k = 0; k < p.produtos.Length; k++)
                            {
                                if (p.produtos[k][2] == "Produzir")
                                {
                                    Maquinarios m = new Maquinarios();

                                    // Insere OP
                                    OrdemProducao op = new OrdemProducao();
                                    op.produtoID    = Convert.ToInt32(p.produtos[k][0]);
                                    op.quantidade   = Convert.ToInt32(p.produtos[k][1]);
                                    op.dtOrdemProd  = DateTime.Now;
                                    op.dtPrevisao   = DateTime.Now.AddDays(Convert.ToInt32(p.produtos[k][5]));
                                    op.pedidoID     = lpp[0].pedidoID;
                                    op.maquinarioID = p.maquinarioApropriado(Convert.ToInt32(p.produtos[k][0]));
                                    op.Adicionar(op);

                                    // Altera maquinario
                                    m.dtDesocupacao    = op.dtPrevisao;
                                    m.dtOcupacao       = DateTime.Today;
                                    m.statusMaquinario = 1;
                                    m.maquinarioID     = op.maquinarioID;
                                    m.Alterar(m);
                                }
                            }
                            return("OP emitida");
                        }
                        catch (Exception)
                        {
                            return("Não foi possivel emitir a OP");
                        }
                    }
                    else
                    {
                        return("Os itens deste pedido não precisam de OP!");
                    }
                }
            }
        }