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