public async Task <IActionResult> RemoverDefecto(int numeroOrden , string defectoDescripcion, TipoDefecto tipoDefecto, TipoPie tipoPie) { var usuario = await ObtenerUsuario(); var specDefecto = new DefectoDescripcionSpecification(defectoDescripcion); var defecto = await _unitOfWork.Repository <Defecto>().GetEntityWithSpec(specDefecto); var specOrden = new OrdenConNumeroYActivaSpecification(numeroOrden); var ordenCorrecta = await _unitOfWork.Repository <OrdenDeProduccion>() .GetEntityWithSpec(specOrden); if (ordenCorrecta != null && usuario != null && defecto != null) { var specHorarios = new HorariosDeOrdenSpecification(ordenCorrecta.Id); var horarios = await _unitOfWork.Repository <HorarioTrabajo>().ListAsync(specHorarios); var specHallazgos = new DefectosOrdenSpecification(horarios.Last().Id); var hallazgos = await _unitOfWork.Repository <Hallazgo>().ListAsync(specHallazgos); var hora = _unitOfWork.GetHora(); var cantidad = 1; ordenCorrecta.RemoverDefecto(tipoPie, usuario.Empleado, defecto, horarios, hallazgos); await _unitOfWork.Complete(); } return(await Iniciar(numeroOrden, defecto)); }
public async Task <IActionResult> RemoverParDePrimera(int numeroOrden) { var usuario = await ObtenerUsuario(); var specOrden = new OrdenConNumeroYActivaSpecification(numeroOrden); var ordenCorrecta = await _unitOfWork.Repository <OrdenDeProduccion>().GetEntityWithSpec(specOrden); if (ordenCorrecta != null && usuario != null) { var specHorarios = new HorariosDeOrdenSpecification(ordenCorrecta.Id); var horarios = await _unitOfWork.Repository <HorarioTrabajo>().ListAsync(specHorarios); if (horarios.Count > 0) { ordenCorrecta.RemoverParDePrimera(horarios); await _unitOfWork.Complete(); } } return(await Iniciar(numeroOrden)); }
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")); }