示例#1
0
        public ActionResult DeleteConfirmed(string ord, string prod, int seqTran, int seqRep, string maq)
        {
            FilaProducao filaProducao = db.FilaProducao.Where(x => x.OrderId == ord && x.ProdutoId == prod && x.SequenciaTransformacao == seqTran && x.SequenciaRepeticao == seqRep).FirstOrDefault();

            db.FilaProducao.Remove(filaProducao);
            db.SaveChanges();
            return(Json(true));
        }
示例#2
0
        // GET: PlugAndPlay/FilaProducao/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FilaProducao filaProducao = db.FilaProducao.Find(id);

            if (filaProducao == null)
            {
                return(HttpNotFound());
            }
            return(View(filaProducao));
        }
示例#3
0
        // GET: PlugAndPlay/FilaProducao/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FilaProducao filaProducao = db.FilaProducao.Find(id);

            if (filaProducao == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaquinaId = new SelectList(db.Maquina, "Id", "Descricao", filaProducao.MaquinaId);
            ViewBag.OrderId   = new SelectList(db.Order, "Id", "Tipo", filaProducao.OrderId);
            ViewBag.ProdutoId = new SelectList(db.Produto, "Id", "Descricao", filaProducao.ProdutoId);
            return(View(filaProducao));
        }
示例#4
0
        public JsonResult Edit(FilaProducao filaProducao)
        {
            bool ok = true;

            if (ModelState.IsValid)
            {
                using (DbContextTransaction tran = db.Database.BeginTransaction())
                {
                    try
                    {
                        //db.FilaProducao.Attach(filaProducao);
                        //var entry =  db.Entry(filaProducao);
                        //entry.Property(x => x.DataInicioPrevista).IsModified = true;
                        //entry.Property(x => x.DataFimMaxima).IsModified = true;
                        var fila = db.FilaProducao.Where(f => f.OrderId == filaProducao.OrderId &&
                                                         f.MaquinaId == filaProducao.MaquinaId &&
                                                         f.ProdutoId == filaProducao.ProdutoId &&
                                                         f.SequenciaTransformacao == filaProducao.SequenciaTransformacao &&
                                                         f.SequenciaRepeticao == filaProducao.SequenciaRepeticao).FirstOrDefault();
                        fila.DataInicioPrevista = filaProducao.DataInicioPrevista;
                        fila.DataFimPrevista    = filaProducao.DataFimPrevista;
                        db.SaveChanges();
                        db.Database.ExecuteSqlCommand(" SP_PLUG_CALCULA_FILAS '" + filaProducao.MaquinaId + "'");
                        tran.Commit();
                    }
                    catch (Exception e)
                    {
                        tran.Rollback();
                        ok = false;
                    }
                }
            }
            else
            {
                ok = false;
            }

            return(Json(ok));
        }
示例#5
0
        public ActionResult Create(FilaProducao filaProducao)
        {
            List <string> msg = new List <string>(); int maxSeqRep = 0; int ok = 1;

            using (DbContextTransaction tran = db.Database.BeginTransaction())
            {
                try
                {
                    if (db.Produto.Count(p => p.Id == filaProducao.Roteiro.ProdutoId) < 1)
                    {
                        ok = -1;
                        msg.Add("O produto informado não está cadastrado.");
                    }
                    if (db.Order.Count(o => o.Id == filaProducao.OrderId) < 1)
                    {
                        ok = -1;
                        msg.Add("O pedido informado não está cadastrado.");
                    }

                    filaProducao.MaquinaId = filaProducao.Roteiro.MaquinaId;
                    filaProducao.ProdutoId = filaProducao.Roteiro.ProdutoId;
                    filaProducao.SequenciaTransformacao = filaProducao.Roteiro.SequenciaTransformacao;

                    if (db.FilaProducao.Count(x => x.OrderId == filaProducao.OrderId &&
                                              x.ProdutoId == filaProducao.ProdutoId &&
                                              x.SequenciaTransformacao == filaProducao.SequenciaTransformacao &&
                                              x.SequenciaRepeticao == filaProducao.SequenciaRepeticao &&
                                              x.MaquinaId == filaProducao.MaquinaId) > 0)
                    {
                        ok        = -2;
                        maxSeqRep = (int)db.FilaProducao.Where(x => x.OrderId == filaProducao.OrderId &&
                                                               x.ProdutoId == filaProducao.ProdutoId &&
                                                               x.SequenciaTransformacao == filaProducao.SequenciaTransformacao &&
                                                               x.MaquinaId == filaProducao.MaquinaId).Max(f => f.SequenciaRepeticao);
                    }
                    else if (!ModelState.IsValid)
                    {
                        ok = -1;
                    }
                    if (ok == 1)
                    {
                        if (db.Roteiro.Count(r => r.MaquinaId == filaProducao.Roteiro.MaquinaId &&
                                             r.ProdutoId == filaProducao.Roteiro.ProdutoId &&
                                             r.SequenciaTransformacao == filaProducao.Roteiro.SequenciaTransformacao) > 0)
                        {
                            //  db.Roteiro.Attach(filaProducao.Roteiro);
                        }

                        filaProducao.Status = "AB";
                        db.FilaProducao.Add(filaProducao);
                        db.SaveChanges();
                        db.Database.ExecuteSqlCommand("SP_PLUG_CALCULA_FILAS " + filaProducao.MaquinaId);
                    }
                    tran.Commit();
                }
                catch (Exception e)
                {
                    tran.Rollback();
                    ok = -1;
                }
            }

            return(Json(new { ok = ok, msg = msg, maxSeq = maxSeqRep }));
        }