Beispiel #1
0
        public void AgregarDefectoPieIzquierdoObservado()
        {
            // arrange

            var            OP       = new OP();
            List <Defecto> Defectos = new List <Defecto>();

            Defecto d = new Defecto("Descosido", TipoDefecto.Observado);

            Defectos.Add(d);

            TimeSpan hi = DateTime.Now.TimeOfDay;
            //Hora fin no debe pasar al dia siguiente
            TimeSpan hf = new TimeSpan(hi.Hours + 2, 0, 0);

            var Turno = new Turno(hi, hf);

            TimeSpan hp1 = new TimeSpan(hi.Hours + 1, 32, 0);

            OP.IniciarInspeccion(Turno, Defectos);
            OP.AgregarHallazgo(hp1, d, d.TipoDefecto, pie.Izquierdo);

            // act

            var respuesta = OP.ObtenerHallazgoHora(hp1, d, d.TipoDefecto, pie.Izquierdo);

            // assert

            Assert.AreEqual(1, respuesta);
        }
Beispiel #2
0
        public IHttpActionResult PutDefecto(int id, Defecto defecto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != defecto.Id)
            {
                return(BadRequest());
            }

            db.Entry(defecto).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DefectoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public List <Defecto> Get()
        {
            // var conectionString = Coneccion.Cadena.conexion;
            var conectionString = CreadorConection.Creador(CreadorConection.Auditoria).conectionstring();

            var list = new List <Defecto>();

            using (SqlConnection cn = new SqlConnection(conectionString))
            {
                cn.Open();

                var sqlcommand = new SqlCommand("select idDefecto,Defecto from tbDefectos where irregular=1 order by Defecto", cn);
                sqlcommand.CommandType = CommandType.Text;

                var dr = sqlcommand.ExecuteReader();


                while (dr.Read())
                {
                    var obj = new Defecto
                    {
                        idDefecto = Convert.ToInt32(dr["idDefecto"].ToString()),
                        nombre    = dr["Defecto"].ToString(),
                    };

                    list.Add(obj);
                }

                return(list);
            }
        }
Beispiel #4
0
        public IHttpActionResult PostDefecto(Defecto defecto)
        {
            RespuestaServicio <DefectoView> respuesta = new RespuestaServicio <DefectoView>();

            if (defecto != null)
            {
                defecto.Activo       = true;
                defecto.FechaReporte = DateTime.Now;

                DefectoServicio servicio = new DefectoServicio(db);
                respuesta = servicio.PostDefecto(defecto);
                if (respuesta.EjecucionCorrecta)
                {
                    NotificationService notify          = new NotificationService();
                    UsuarioServicio     usuarioServicio = new UsuarioServicio();

                    List <DispositivoView> dispositivos = usuarioServicio.GetMecanicosPorOrigen(defecto.IdOrigen);
                    List <string>          llaves       = dispositivos.Select(x => x.Llave).ToList();

                    foreach (string notificacion in llaves)
                    {
                        notify.SendPushNotification(notificacion, "El modulo " + respuesta.Respuesta.Origen.Modulo.NombreCorto + " no parece estar funcionando muy bien.", "Nuevo defecto reportado en " + respuesta.Respuesta.Origen.WorkCenter.NombreCorto + ".");
                    }
                }
                else
                {
                }
            }
            else
            {
                respuesta.Mensaje = "El defecto no se puede agregar porque llego nulo :(";
            }

            return(Ok(respuesta));
        }
Beispiel #5
0
        internal void agregarDefecto(Defecto defec, string tipoPie)
        {
            var defectoModel = new DefectoModel()
            {
                Descripcion = defec.Descripcion,
                Tipo        = defec.Tipo.ToString()
            };

            _controlador.agregarDefecto(defectoModel, tipoPie);
        }
Beispiel #6
0
 public ActionResult Edit(Defecto defecto)
 {
     //if (ModelState.IsValid)
     //{
     //    db.Entry(defecto).State = EntityState.Modified;
     //    db.SaveChanges();
     //    return RedirectToAction("Index");
     //}
     //ViewBag.IdOrigen = new SelectList(db.Origens, "Id", "Id", defecto.IdOrigen);
     //ViewBag.IdReportador = new SelectList(db.Personas, "Id", "Nombre", defecto.IdReportador);
     return(View(/*defecto*/));
 }
Beispiel #7
0
 public ActionResult Post([FromBody] Defecto defecto)
 {
     try
     {
         context.defecto.Add(defecto);
         context.SaveChanges();
         return(CreatedAtRoute("GetDefecto", new { id = defecto.iddefecto }, defecto));
     }catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #8
0
        public ActionResult Create(Defecto defecto)
        {
            //if (ModelState.IsValid)
            //{
            //    db.Defectos.Add(defecto);
            //    db.SaveChanges();
            //    return RedirectToAction("Index");
            //}

            //ViewBag.IdOrigen = new SelectList(db.Origens, "Id", "Id", defecto.IdOrigen);
            //ViewBag.IdReportador = new SelectList(db.Personas, "Id", "Nombre", defecto.IdReportador);
            return(View(/*defecto*/));
        }
Beispiel #9
0
        public IHttpActionResult DeleteDefecto(int id)
        {
            Defecto defecto = db.Defectos.Find(id);

            if (defecto == null)
            {
                return(NotFound());
            }

            db.Defectos.Remove(defecto);
            db.SaveChanges();

            return(Ok(defecto));
        }
Beispiel #10
0
        public List <Defecto> DesmapearOrden(List <DefectoModel> defectosModels)
        {
            List <Defecto> defectos = new List <Defecto>();

            for (int i = 0; i < defectosModels.Count; i++)
            {
                var defecto = new Defecto()
                {
                    Descripcion = defectosModels[i].Descripcion,
                    Tipo        = (TipoDefecto)Enum.Parse(typeof(TipoDefecto), defectosModels[i].Tipo)
                };
                defectos.Add(defecto);
            }
            return(defectos);
        }
        public void TestComprobarQueDefectosSeIncrementeEnUno()
        {
            //Arrange
            var acumulador = 0;
            var defecto    = new Defecto()
            {
                Tipo        = TipoDefecto.Observado,
                Descripcion = "Roto"
            };
            var defecto2 = new Defecto()
            {
                Tipo        = TipoDefecto.Observado,
                Descripcion = "Mal pegado"
            };

            Jornada jornada = new Jornada()
            {
                Inspecciones = new List <Inspeccion>()
                {
                    new Inspeccion()
                    {
                        esDePrimera = true,
                        Hora        = "14:00"
                    }
                }
            };
            string hora1 = "17:00";
            string hora2 = "17:15";

            //Act

            jornada.agregarInspeccionDefecto(hora1, defecto, TipoPie.Derecho);
            jornada.agregarInspeccionDefecto(hora2, defecto2, TipoPie.Izquierdo);

            foreach (var jor in jornada.Inspecciones)
            {
                if (!jor.esDePrimera)
                {
                    acumulador += 1;
                }
            }

            //Assert
            Assert.AreEqual(acumulador, 2);
        }
Beispiel #12
0
 public ActionResult Put(int id, [FromBody] Defecto defecto)
 {
     try
     {
         if (defecto.iddefecto == id)
         {
             context.Entry(defecto).State = EntityState.Modified;
             context.SaveChanges();
             return(CreatedAtRoute("GetDefecto", new { id = defecto.iddefecto }, defecto));
         }
         else
         {
             return(BadRequest());
         }
     }catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #13
0
        public RespuestaServicio <DefectoView> PostDefecto(Defecto defecto)
        {
            RespuestaServicio <DefectoView> respuesta = new RespuestaServicio <DefectoView>();

            if (defecto == null)
            {
                respuesta.Mensaje = "El defecto no puede ser null al momento de guardar";
                return(respuesta);
            }
            ActividadEnDefecto actividad = new ActividadEnDefecto();

            actividad.Descripcion  = "Nuevo defecto Reportado!!";
            actividad.IdEjecutante = defecto.IdReportador;
            actividad.Fecha        = DateTime.Now;
            defecto.Actividades    = new List <ActividadEnDefecto>();
            defecto.Actividades.Add(actividad);
            try
            {
                _context.Defectos.Add(defecto);

                _context.SaveChanges();

                var respuesta_defecto = GetDefecto(defecto.Id);
                if (respuesta_defecto.EjecucionCorrecta)
                {
                    respuesta.Respuesta = respuesta_defecto.Respuesta;
                }
                else
                {
                    respuesta.Mensaje = respuesta_defecto.Mensaje;
                    return(respuesta);
                }
            }
            catch (Exception ex)
            {
                respuesta.Mensaje = ex.ToString();
                return(respuesta);
            }
            return(respuesta);
        }
Beispiel #14
0
        public RespuestaServicio <DefectoView> PutDefecto(int id, string NotificacionSAP)
        {
            RespuestaServicio <DefectoView> respuesta = new RespuestaServicio <DefectoView>();

            Defecto defecto = _context.Defectos.Find(id);

            if (defecto == null)
            {
                return(respuesta);
            }

            ActividadEnDefecto actividad = new ActividadEnDefecto();

            actividad.Descripcion  = "#SAP Actualizado!!";
            actividad.IdEjecutante = defecto.IdReportador;
            actividad.Fecha        = DateTime.Now;
            defecto.Actividades    = new List <ActividadEnDefecto>();
            defecto.Actividades.Add(actividad);


            defecto.NotificacionSAP       = NotificacionSAP;
            _context.Entry(defecto).State = EntityState.Modified;

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                respuesta.Mensaje = ex.ToString();
                return(respuesta);
            }

            respuesta = GetDefecto(defecto.Id);

            return(respuesta);
        }
        public static async Task SeedAsync(CalidadContext context, ILoggerFactory loggerFactory)
        {
            try
            {
                if (!context.Colores.Any())
                {
                    var coloresData = File.ReadAllText("../Datos/Data/SeedData/colores.json");

                    var colores = JsonSerializer.Deserialize <List <Color> >(coloresData);

                    foreach (var item in colores)
                    {
                        context.Colores.Add(item);
                    }

                    await context.SaveChangesAsync();
                }

                if (!context.Modelos.Any())
                {
                    var modelosData = File.ReadAllText("../Datos/Data/SeedData/modelos.json");

                    var modelos = JsonSerializer.Deserialize <List <Modelo> >(modelosData);

                    foreach (var item in modelos)
                    {
                        context.Modelos.Add(item);
                    }

                    await context.SaveChangesAsync();
                }

                /*if (!context.Ordenes.Any())
                 * {
                 *  var ordenesData = File.ReadAllText("../Datos/Data/SeedData/ordenes.json");
                 *
                 *  var ordenes = JsonSerializer.Deserialize<List<OrdenDeProduccion>>(ordenesData);
                 *
                 *  foreach (var item in ordenes)
                 *  {
                 *      context.Ordenes.Add(item);
                 *  }
                 *
                 *  await context.SaveChangesAsync();
                 * }*/
                if (!context.Defectos.Any())
                {
                    var defectosData = File.ReadAllText("../Datos/Data/SeedData/defectos.json");

                    var defectos = JsonSerializer.Deserialize <List <Defecto> >(defectosData);

                    foreach (var item in defectos)
                    {
                        var defecto = new Defecto
                        {
                            TipoDefecto = (TipoDefecto)Enum.Parse(typeof(TipoDefecto), item.TipoDefecto.ToString()),
                            Descripcion = item.Descripcion
                        };
                        context.Defectos.Add(defecto);
                    }

                    await context.SaveChangesAsync();
                }
                if (!context.Turnos.Any())
                {
                    var turnosData = File.ReadAllText("../Datos/Data/SeedData/turnos.json");

                    var turnos = JsonSerializer.Deserialize <List <Turno> >(turnosData);

                    foreach (var item in turnos)
                    {
                        context.Turnos.Add(item);
                    }

                    await context.SaveChangesAsync();
                }

                if (!context.Usuarios.Any())
                {
                    var andres = new Usuario()
                    {
                        DisplayName = "Andres",
                        User        = "******",
                        Password    = "******",
                        Empleado    = new Empleado()
                        {
                            Nombre    = "Andres",
                            Apellido  = "Vasile",
                            Documento = 12345678,
                            Email     = "*****@*****.**",
                            Rol       = (TipoEmpleado)Enum.Parse(typeof(TipoEmpleado), TipoEmpleado.Administrativo.ToString())
                        }
                    };

                    context.Usuarios.Add(andres);

                    var victor = new Usuario()
                    {
                        DisplayName = "Victor",
                        User        = "******",
                        Password    = "******",
                        Empleado    = new Empleado()
                        {
                            Nombre    = "Victor",
                            Apellido  = "Bejas",
                            Documento = 87654321,
                            Email     = "*****@*****.**",
                            Rol       = (TipoEmpleado)Enum.Parse(typeof(TipoEmpleado), TipoEmpleado.SupervisorDeCalidad.ToString())
                        }
                    };

                    context.Usuarios.Add(victor);

                    var sergio = new Usuario()
                    {
                        DisplayName = "Sergio",
                        User        = "******",
                        Password    = "******",
                        Empleado    = new Empleado()
                        {
                            Nombre    = "Sergio",
                            Apellido  = "Rubino",
                            Documento = 12312312,
                            Email     = "*****@*****.**",
                            Rol       = (TipoEmpleado)Enum.Parse(typeof(TipoEmpleado), TipoEmpleado.SupervisorDeLinea.ToString())
                        }
                    };
                    context.Usuarios.Add(sergio);

                    var diego = new Usuario()
                    {
                        DisplayName = "Diego",
                        User        = "******",
                        Password    = "******",
                        Empleado    = new Empleado()
                        {
                            Nombre    = "Diego",
                            Apellido  = "Cos",
                            Documento = 12312312,
                            Email     = "*****@*****.**",
                            Rol       = (TipoEmpleado)Enum.Parse(typeof(TipoEmpleado), TipoEmpleado.SupervisorDeLinea.ToString())
                        }
                    };
                    context.Usuarios.Add(diego);

                    await context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                var logger = loggerFactory.CreateLogger <CalidadContext>();
                logger.LogError(ex.Message);
            }
        }
Beispiel #16
0
        public IHttpActionResult PutDefectoBySAP(int id, String sap)
        {
            Defecto defecto = db.Defectos.Where(x => x.Id == id).FirstOrDefault();

            if (defecto == null)
            {
                return(NotFound());
            }

            defecto.NotificacionSAP = sap;
            db.SaveChanges();

            var defectoView = db.Defectos
                              .Where(d => (d.Id == id))
                              .Select(d => new DefectoView
            {
                Id           = d.Id,
                IdOrigen     = d.IdOrigen,
                IdReportador = d.IdReportador,
                Descripcion  = d.Descripcion,
                Activo       = d.Activo,
                //NotificacionSAP = d.NotificacionSAP,
                FechaReporte  = d.FechaReporte,
                FechaEstimada = d.FechaEstimada,
                Reportador    = new PersonaView
                {
                    Id        = d.Reportador.Id,
                    Apellido1 = d.Reportador.Apellido1,
                    Apellido2 = d.Reportador.Apellido2,
                    Nombre    = d.Reportador.Nombre,

                    Puesto = new PuestoView
                    {
                        Id     = d.Reportador.Puesto.Id,
                        Nombre = d.Reportador.Puesto.Nombre
                    }
                },
                Origen = new OrigenView
                {
                    Id           = d.Origen.Id,
                    IdModulo     = d.Origen.IdModulo,
                    IdWorkCenter = d.Origen.IdWorkCenter,
                    Modulo       = new ModuloView
                    {
                        Id          = d.Origen.Modulo.Id,
                        Nombre      = d.Origen.Modulo.Nombre,
                        NombreCorto = d.Origen.Modulo.NombreCorto,
                        Activo      = d.Origen.Modulo.Activo
                    },
                    WorkCenter = new WorkCenterView
                    {
                        Id          = d.Origen.WorkCenter.Id,
                        Nombre      = d.Origen.WorkCenter.Nombre,
                        NombreCorto = d.Origen.WorkCenter.NombreCorto,
                        Activo      = d.Origen.WorkCenter.Activo
                    }
                }
            }).FirstOrDefault();



            return(Ok(defectoView));
        }
Beispiel #17
0
        public IHttpActionResult PutDefectoByResponsable(int id, int idResponsable)
        {
            Defecto defecto = db.Defectos.Where(x => x.Id == id).FirstOrDefault();

            if (defecto == null)
            {
                return(NotFound());
            }

            ActividadEnDefecto actividad = new ActividadEnDefecto();

            actividad.Descripcion  = "Nueva Asignacion a Defecto";
            actividad.IdEjecutante = defecto.IdReportador;
            actividad.Fecha        = DateTime.Now;
            defecto.Actividades    = new List <ActividadEnDefecto>();
            defecto.Actividades.Add(actividad);

            db.SaveChanges();

            var defectoView = db.Defectos
                              .Where(d => (d.Id == id))
                              .Select(d => new DefectoView
            {
                Id           = d.Id,
                IdOrigen     = d.IdOrigen,
                IdReportador = d.IdReportador,
                Descripcion  = d.Descripcion,
                Activo       = d.Activo,
                //NotificacionSAP = d.NotificacionSAP,
                FechaReporte  = d.FechaReporte,
                FechaEstimada = d.FechaEstimada,
                Reportador    = new PersonaView
                {
                    Id        = d.Reportador.Id,
                    Apellido1 = d.Reportador.Apellido1,
                    Apellido2 = d.Reportador.Apellido2,
                    Nombre    = d.Reportador.Nombre,

                    Puesto = new PuestoView
                    {
                        Id     = d.Reportador.Puesto.Id,
                        Nombre = d.Reportador.Puesto.Nombre
                    }
                },
                Origen = new OrigenView
                {
                    Id           = d.Origen.Id,
                    IdModulo     = d.Origen.IdModulo,
                    IdWorkCenter = d.Origen.IdWorkCenter,
                    Modulo       = new ModuloView
                    {
                        Id          = d.Origen.Modulo.Id,
                        Nombre      = d.Origen.Modulo.Nombre,
                        NombreCorto = d.Origen.Modulo.NombreCorto,
                        Activo      = d.Origen.Modulo.Activo
                    },
                    WorkCenter = new WorkCenterView
                    {
                        Id          = d.Origen.WorkCenter.Id,
                        Nombre      = d.Origen.WorkCenter.Nombre,
                        NombreCorto = d.Origen.WorkCenter.NombreCorto,
                        Activo      = d.Origen.WorkCenter.Activo
                    }
                }
            }).FirstOrDefault();



            return(Ok(defectoView));
        }
Beispiel #18
0
        public IHttpActionResult PutDefectoByActivo(int id, Boolean activo)
        {
            Defecto defecto = db.Defectos.Where(x => x.Id == id).FirstOrDefault();

            if (defecto == null)
            {
                return(NotFound());
            }

            ActividadEnDefecto actividad = new ActividadEnDefecto();

            if (activo)
            {
                actividad.Descripcion = "Defecto Abierto nuevamente!!";
            }
            else
            {
                actividad.Descripcion = "Defecto Cerrado!!";
            }
            actividad.IdEjecutante = defecto.IdReportador;
            actividad.Fecha        = DateTime.Now;
            defecto.Actividades    = new List <ActividadEnDefecto>();
            defecto.Actividades.Add(actividad);

            defecto.Activo          = activo;
            db.Entry(defecto).State = EntityState.Modified;
            db.SaveChanges();

            var defectoView = db.Defectos
                              .Where(d => (d.Id == id))
                              .Select(d => new DefectoView
            {
                Id           = d.Id,
                IdOrigen     = d.IdOrigen,
                IdReportador = d.IdReportador,
                Descripcion  = d.Descripcion,
                Activo       = d.Activo,
                //NotificacionSAP = d.NotificacionSAP,
                FechaReporte  = d.FechaReporte,
                FechaEstimada = d.FechaEstimada,
                Reportador    = new PersonaView
                {
                    Id        = d.Reportador.Id,
                    Apellido1 = d.Reportador.Apellido1,
                    Apellido2 = d.Reportador.Apellido2,
                    Nombre    = d.Reportador.Nombre,

                    Puesto = new PuestoView
                    {
                        Id     = d.Reportador.Puesto.Id,
                        Nombre = d.Reportador.Puesto.Nombre
                    }
                },
                Origen = new OrigenView
                {
                    Id           = d.Origen.Id,
                    IdModulo     = d.Origen.IdModulo,
                    IdWorkCenter = d.Origen.IdWorkCenter,
                    Modulo       = new ModuloView
                    {
                        Id          = d.Origen.Modulo.Id,
                        Nombre      = d.Origen.Modulo.Nombre,
                        NombreCorto = d.Origen.Modulo.NombreCorto,
                        Activo      = d.Origen.Modulo.Activo
                    },
                    WorkCenter = new WorkCenterView
                    {
                        Id          = d.Origen.WorkCenter.Id,
                        Nombre      = d.Origen.WorkCenter.Nombre,
                        NombreCorto = d.Origen.WorkCenter.NombreCorto,
                        Activo      = d.Origen.WorkCenter.Activo
                    }
                }
            }).FirstOrDefault();

            if (defectoView == null)
            {
                return(NotFound());
            }

            return(Ok(defectoView));
        }
        public async Task <IActionResult> Iniciar(int numeroOrden, Defecto defectoSeleccionado = null)
        {
            var usuario = await ObtenerUsuario();

            var specOrden     = new OrdenConNumeroSpecification(numeroOrden);
            var ordenCorrecta = await _unitOfWork.Repository <OrdenDeProduccion>().GetEntityWithSpec(specOrden);

            if (ordenCorrecta != null)
            {
                var empleadoValido = ordenCorrecta.VerificarAsosiacion(usuario.Empleado);

                if (empleadoValido)
                {
                    var specObservados = new DefectosObservadosSpecification(TipoDefecto.Observado);
                    var specReproceso  = new DefectosObservadosSpecification(TipoDefecto.Reproceso);

                    var defectosObservados = await _unitOfWork.Repository <Defecto>().ListAsync(specObservados);

                    var defectosReproceso = await _unitOfWork.Repository <Defecto>().ListAsync(specReproceso);

                    var hora = _unitOfWork.GetHora();

                    var turnos = await _unitOfWork.Repository <Turno>().ListAllAsync();

                    var turno = ordenCorrecta.Linea.ValidarTurno(turnos, hora);


                    // if (turno != null)
                    //{
                    var specHorarios = new HorariosDeOrdenSpecification(ordenCorrecta.Id);
                    var horarios     = await _unitOfWork.Repository <HorarioTrabajo>().ListAsync(specHorarios);

                    var defectosListViewModel = new DefectosListViewModel
                    {
                        DefectosObservados = defectosObservados,
                        DefectosReprocesos = defectosReproceso,
                        Hora      = hora,
                        Orden     = ordenCorrecta,
                        Turno     = turno,
                        Hallazgos = ordenCorrecta.Horarios.Last().Hallazgos,
                        Primeras  = ordenCorrecta.Horarios.Last().ParesPrimera
                    };

                    if (defectoSeleccionado != null)
                    {
                        defectosListViewModel.def = defectoSeleccionado;
                    }


                    if (horarios.Count > 0)
                    {
                        defectosListViewModel.CantidadPrimera = horarios.Last().ParesPrimera.Count;;
                    }

                    return(View("IniciarInspeccion", defectosListViewModel));
                    // }
                    // else
                    // {
                    //     return RedirectToAction("IniciarAsociacion", "Asociar");
                    // }
                }
            }
            return(RedirectToAction("IniciarAsociacion", "Asociar"));
        }