public string Concluir(OrdemProducao o)
        {
            OrdemProducaoModel opm = new OrdemProducaoModel();
            OrdemProducao      op  = opm.OrdemProducao.Single(c => c.ordemProducaoID.Equals(o.ordemProducaoID));

            if (op.dtConclusao == null)
            {
                op.dtConclusao = DateTime.Now;
            }
            else
            {
                return("Não é possível concluir uma OP que já foi concluída.");
            }

            try
            {
                opm.SaveChanges();
                Maquinarios m = new Maquinarios();
                m.ConcluirOP(op.maquinarioID, op.dtPrevisao);
                return("OP concluída.");
            }
            catch (Exception e)
            {
                return("OP não concluída.");
            }
        }
Exemple #2
0
        public void SubtraiSubItens(OrdemProducao op)
        {
            ProdutosFilhos        produtosFilhos = new ProdutosFilhos();
            List <ProdutosFilhos> lp             = produtosFilhos.Pesquisar(op.produtoID, 0);

            for (int i = 0; i < lp.Count; i++)
            {
                Produtos        produtos     = new Produtos();
                List <Produtos> listProdutos = produtos.Pesquisar(lp[i].filhoID, "");
                listProdutos[0].produtoID  = lp[i].filhoID;
                listProdutos[0].qntEstoque = listProdutos[0].qntEstoque - (Convert.ToInt32(op.quantidade) * Convert.ToInt32(lp[i].quantidade));
                produtos.Alterar(listProdutos[0]);
            }
        }
Exemple #3
0
        public string Concluir(OrdemProducao op)
        {
            List <OrdemProducao> lop      = Pesquisar(op.ordemProducaoID, 0, 0);
            Produtos             produtos = new Produtos();
            List <Produtos>      lp       = produtos.Pesquisar(lop[0].produtoID, "");

            lp[0].produtoID  = lop[0].produtoID;
            lp[0].qntEstoque = (lp[0].qntEstoque + lop[0].quantidade);
            produtos.Alterar(lp[0]);

            OrdemProducaoModel opm = new OrdemProducaoModel();

            return(opm.Concluir(op));
        }
Exemple #4
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]);
                }
            }
        }
        public string Adicionar(OrdemProducao op)
        {
            OrdemProducaoModel opm = new OrdemProducaoModel();

            opm.OrdemProducao.Add(op);
            try
            {
                opm.SaveChanges();

                Produtos produtos = new Produtos();
                produtos.SubtraiSubItens(op);

                return("OP emitida");
            }
            catch (Exception e)
            {
                return("Nao foi possível emitir sua OP");
            }
        }
Exemple #6
0
        public string Adicionar(OrdemProducao op)
        {
            OrdemProducaoModel opm = new OrdemProducaoModel();

            return(opm.Adicionar(op));
        }
Exemple #7
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!");
                    }
                }
            }
        }