public ActionResult Create([Bind(Include = "CodigoIdentificador,ExpectativaId,Data,MateriaPrima," + "MPLote,MPConsumo,ProdIncio,ProdFim,Maquina,Produto,ProdutoCor,MasterLote,Fornecedor,TempAgua," + "NivelOleo,Galho,OffSpec,RefugoKg,UnidadesProduzidas,ContadorInicial,ContadorFinal")] OrdemProducaoPeca ordemProducaoPeca) { var a = Request.Form["Parada.HoraParada"]; var b = Request.Form["Parada.HoraRetorno"]; var c = Request.Form["Parada.Motivo"]; var d = Request.Form["Parada.Observacoes"]; if (ModelState.IsValid) { string[] hrP = a.Split(',').ToArray(); string[] hrR = b.Split(',').ToArray(); string[] mot = c.Split(',').ToArray(); string[] obs = d.Split(',').ToArray(); List <Parada> parada = new List <Parada>(); for (int x = 0; x < hrP.Count(); x++) { Parada p = new Parada(); p.HoraParada = hrP[x]; p.HoraRetorno = hrR[x]; p.Motivo = mot[x]; p.Observacoes = obs[x]; parada.Add(p); } ordemProducaoPeca.Paradas = parada; var qtdOp = 0; var mesAnterior = 0; if (db.OrdemProducaoPecas.ToList().Count() > 0) { qtdOp = db.OrdemProducaoPecas.ToList().Last().OPnoMes; mesAnterior = db.OrdemProducaoPecas.ToList().Last().Data.Month; } if (mesAnterior != ordemProducaoPeca.Data.Month) { ordemProducaoPeca.OPnoMes = 1; } else { ordemProducaoPeca.OPnoMes = qtdOp + 1; } ordemProducaoPeca.Expectativa = db.Expectativas.Find(ordemProducaoPeca.ExpectativaId); //db.Entry(ordemProducaoPeca).Reference(f => f.Expectativa).Load(); ordemProducaoPeca.ConfiguracaoInicial(); db.OrdemProducaoPecas.Add(ordemProducaoPeca); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ExpectativaId = new SelectList(db.Expectativas, "ExpectativaId", "Produto", ordemProducaoPeca.ExpectativaId); return(View(ordemProducaoPeca)); }
public ActionResult Create([Bind(Include = "CodigoIdentificador,ExpectativaId,Data,MateriaPrima," + "MPLote,MPConsumo,ProdIncio,ProdFim,MaquinaId,Produto,CorPecaId,MasterLote,Fornecedor,TempAgua," + "NivelOleo,Galho,OffSpec,RefugoKg,UnidadesProduzidas,ContadorInicial,ContadorFinal")] OrdemProducaoPeca ordemProducaoPeca, bool Status) { if (ordemProducaoPeca.MateriaPrima == null) { ViewBag.MateriaPrima = "Preencha este campo!"; } else { var a = Request.Form["Parada.HoraParada"]; var b = Request.Form["Parada.HoraRetorno"]; var c = Request.Form["Motivo"]; var d = Request.Form["Parada.Observacoes"]; var e = Request.Form["Hora"]; var h = Request.Form["Assinatura"]; ordemProducaoPeca.Status = Status; var maquina = db.Maquinas.Find(ordemProducaoPeca.MaquinaId); ordemProducaoPeca.Maquina = maquina; var qtdOp = 0; var mesAnterior = 0; if (db.OrdemProducaoPecas.Count() > 0) { qtdOp = db.OrdemProducaoPecas.ToList().Last().OPnoMes; mesAnterior = db.OrdemProducaoPecas.ToList().Last().Data.Month; } else { qtdOp = 0; mesAnterior = 0; } if (mesAnterior != ordemProducaoPeca.Data.Month) { ordemProducaoPeca.OPnoMes = 1; } else { ordemProducaoPeca.OPnoMes = qtdOp + 1; } ordemProducaoPeca.Expectativa = db.Expectativas.Find(ordemProducaoPeca.ExpectativaId); //db.Entry(ordemProducaoPeca).Reference(f => f.Expectativa).Load(); if (a != null) { var hrP = a.Split(','); var hrR = b.Split(','); var mot = c.Split(','); var obs = d.Split(','); List <Parada> parada = new List <Parada>(); for (int x = 0; x < hrP.Count(); x++) { Parada p = new Parada(); p.HoraParada = hrP[x]; p.HoraRetorno = hrR[x]; p.Motivo = mot[x]; p.Observacoes = obs[x]; p.OrdemProducaoPecaId = ordemProducaoPeca.CodigoIdentificador; parada.Add(p); } ordemProducaoPeca.Paradas = parada; } if (e != null) { var hora = e.Split(','); List <string> f = new List <string>(Request.Form.GetValues("ControleDeQualidade.Ciclo")); List <string> g = new List <string>(Request.Form.GetValues("ControleDeQualidade.PesoDaPeca")); var ciclo = f.Select(Double.Parse).ToList(); var pesoPeca = g.Select(Double.Parse).ToList(); List <string> peso1 = new List <string>(Request.Form.GetValues("ControleDeQualidade.Peso")); List <string> cor1 = new List <string>(Request.Form.GetValues("ControleDeQualidade.Cor")); List <string> dim = new List <string>(Request.Form.GetValues("ControleDeQualidade.Dimensao")); peso1 = ordemProducaoPeca.RemoveExtraFalseFromCheckbox(peso1); bool[] peso = peso1.Select(Boolean.Parse).ToArray(); cor1 = ordemProducaoPeca.RemoveExtraFalseFromCheckbox(cor1); bool[] cor = cor1.Select(Boolean.Parse).ToArray(); dim = ordemProducaoPeca.RemoveExtraFalseFromCheckbox(dim); bool[] dimensao = dim.Select(Boolean.Parse).ToArray(); var assinatura = h.Split(',').Select(Int32.Parse).ToArray(); List <ControleDeQualidade> ctrlQual = new List <ControleDeQualidade>(); for (int x = 0; x < hora.Count(); x++) { ControleDeQualidade c1 = new ControleDeQualidade(); c1.Hora = hora[x]; c1.Ciclo = ciclo[x]; c1.PesoDaPeca = pesoPeca[x]; c1.Peso = peso[x]; c1.Cor = cor[x]; c1.Dimensao = dimensao[x]; c1.Assinatura = assinatura[x]; c1.OrdemProducaoPecaId = ordemProducaoPeca.CodigoIdentificador; ctrlQual.Add(c1); //ordemProducaoPeca.ControleDeQualidade.ValidaInspecao(); } ordemProducaoPeca.ControlesDeQualidade = ctrlQual; } if (ModelState.IsValid) { ordemProducaoPeca.ConfiguracaoInicial(); db.OrdemProducaoPecas.Add(ordemProducaoPeca); db.SaveChanges(); return(RedirectToAction("Index")); } } //} ViewBag.MaquinaId = new SelectList(db.Maquinas.ToList(), "MaquinaId", "NomeMaquina"); ViewBag.Assinatura = new SelectList(db.Usuarios.Where(u => u.Hierarquia == "Acesso Produção" || u.Hierarquia == "Acesso Supervisor"), "UsuarioId", "NomeUsuario"); ViewBag.CorPecaId = new SelectList(db.CorPecas, "CorPecaId", "NomeCorPeca", ordemProducaoPeca.CorPecaId); ViewBag.ExpectativaId = new SelectList(db.Expectativas, "ExpectativaId", "Produto", ordemProducaoPeca.ExpectativaId); return(View(ordemProducaoPeca)); }