function ejecucionProyectos() { $facadeProyectos = new FacadeProyectos(); $datos = $facadeProyectos->listadoProyectos(); foreach ($datos as $dato) { $ejecucion = $dato['ejecutado']; $idProyecto = $dato['idProyecto']; $nombreProyecto = $dato['nombreProyecto']; $fechaInicio = $dato['fechaInicio']; date_default_timezone_set("America/Bogota"); $fechaActual = date('Y-m-d'); $fechaFin = $dato['fechaFin']; $estado = $dato['estadoProyecto']; $transcurrido = $dato['ejecutado']; if ($fechaInicio == $fechaActual && $estado == 'Espera') { $totalDias = $this->dias_transcurridos($fechaInicio, $fechaFin); $totalPasado = $this->dias_transcurridos($fechaInicio, $fechaActual); $porcentaje = $totalPasado * 100 / $totalDias; $facadeProyectos->ejecucionProyecto($idProyecto, $porcentaje); $facadeProyectos->cambiarEstadoProyecto('Ejecución', $idProyecto); } elseif ($estado == 'Ejecución' && $transcurrido < 100) { $totalDias = $this->dias_transcurridos($fechaInicio, $fechaFin); $totalPasado = $this->dias_transcurridos($fechaInicio, $fechaActual); $porcentaje = $totalPasado * 100 / $totalDias; $facadeProyectos->ejecucionProyecto($idProyecto, $porcentaje); } elseif ($fechaInicio < $fechaActual && $estado == 'Sin Estudio Costos' || $fechaInicio < $fechaActual && $estado == 'Sin Producción') { $facadeProyectos->cambiarEstadoProyecto('Cancelado', $idProyecto); $facadeProyectos->cambiarObservacionesProyecto('No se incluyó producción o costos antes de la fecha tentativa de inicio.', $idProyecto); } } $datos2 = $facadeProyectos->listadoProyectos(); foreach ($datos2 as $dato2) { if ($dato2['ejecutado'] == 100) { $facadeProyectos->cambiarEstadoProyecto('Finalizado', $dato2['idProyecto']); } else { if ($dato2['ejecutado'] > 100) { $facadeProyectos->ejecucionProyecto($dato2['idProyecto'], 100); } } } }
$total = $subTotal * $todo['cantidadProductos']; $fProyecto->insertarMateriaProyecto($insumo['insumos'], $idProyecto, $total, 0); } $procesos = $fProceso->obtenerProcesoPorProducto($todo['Productos_idProductos']); //Procesos por producto segun solicitud de proyecto foreach ($procesos as $proceso) { $subTotalProceso = $fProceso->obtenerProcesoPorID($proceso['procesos_idProceso']); //Retorna solo costo base $totalEmp = $proceso['cantidadDeEmpleados']; $totalPrecio = $subTotalProceso * $todo['cantidadProductos'] * $totalEmp; $totalTiempo = $proceso['tiempoPorProceso'] * $todo['cantidadProductos']; $fProyecto->insertarProcesoProyecto($idProyecto, $proceso['procesos_idProceso'], $totalTiempo, $totalPrecio, $totalEmp, 0); } } $fProyecto->cambiarEstadoProyecto('Sin Estudio Costos', $_POST['idProyecto']); header("location: ../vista/produccionProyecto?mensaje=" . $mensaje); } else { if (isset($_GET['proCancel'])) { header("location: ../vista/listarProyectos?estePro=" . $_GET['proCancel'] . "&&#cancelarProyecto"); } else { if (isset($_POST['cancelarPro'])) { $facadeProyecto = new FacadeProyectos(); $facadeProyecto->cambiarEstadoProyecto('Cancelado', $_POST['numberPro']); $facadeProyecto->cambiarObservacionesProyecto($_POST['cancelar'], $_POST['numberPro']); header("location: ../vista/listarProyectos?mensaje=Proyecto Cancelado con Éxito"); } } } } } }