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 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!"); } } } }