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); } } } }
function enviarCorreoFinProyecto() { $facadeProyectos = new FacadeProyectos(); $facadeUsuarios = new FacadeUsuarios(); $datos = $facadeProyectos->listadoProyectos(); foreach ($datos as $dato) { $idProyecto = $dato['idProyecto']; $porcentaje = $dato['ejecutado']; $nombreProyecto = $dato['nombreProyecto']; $estado = $dato['estadoProyecto']; if ($porcentaje == 100 && $estado == 'Finalizado') { $correo = $facadeUsuarios->correosPorProyecto($idProyecto); foreach ($correo as $correos) { $email = $correos['email']; //envio de correo $correoDTO = new CorreosDTO(); $correoDTO->setRemitente("*****@*****.**"); $correoDTO->setNombreRemitente("Productivity Manager"); $correoDTO->setAsunto("Finalización del proyecto N° " . $idProyecto . " " . $nombreProyecto); $correoDTO->setContrasena("adsi2015"); $correoDTO->setDestinatario($email); $correoDTO->setContenido("Sres.<br>" . "Se les informa que el proyecto " . $nombreProyecto . " a finalizado el día de hoy <br>" . '<font style="color: #83AF44; font-size: 11px; font-weight:bold; font-family: Sans-Serif;font-style:italic; " >Prductivity Manager Software' . '© Todos los derechos reservados 2015.' . '<br>' . 'Bogotá, Colombia' . '<br>' . 'Teléfono: +57 3015782659' . '<br>' . 'https://www.facebook.com/productivitymanager' . '<br>' . 'https://twitter.com/Productivity_Mg' . '</font>'); $facadeCorreo = new FacadeCorreos(); $confirmacion = $facadeCorreo->EnvioCorreo($correoDTO); if ($confirmacion != 'True') { $mensajeCorreo = $confirmacion; $mensaje2 = "Error no se pudo enviar el correo "; $consecutivos = 0; } else { //mensaje enviado $facadeProyectos->cambiarEstadoProyecto('Archivado', $idProyecto); } } } } }
$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"); } } } } } }
require_once '../modelo/dao/UsuarioDAO.php'; require_once '../modelo/dto/UsuarioDTO.php'; require_once '../facades/FacadeUsuarios.php'; require_once '../modelo/dao/ProyectosDAO.php'; require_once '../modelo/dto/ProyectosDTO.php'; require_once '../facades/FacadeProyectos.php'; if (isset($_POST['crearCosto'])) { session_start(); $facadeUsuario = new FacadeUsuarios(); $idProyectoSolicitado = $_POST['idProyecto']; $idGerenteCargo = $facadeUsuario->usuarioEnSesion($_SESSION['id']); $costoManoDeObra = $_POST['manoDeObra']; $costoProduccion = $_POST['costoProduccion']; $costoProyecto = $_POST['costoProyecto']; $utilidad = $_POST['utilidad']; $tiempoEstimado = $_POST['tiempoEstimado']; $totalTrabajadores = $_POST['totalTrabajadores']; $observaciones = $_POST['observaciones']; $nombreProyecto = $_POST['nombreProyecto']; $costoDTO = new EstudioCostosDTO($idProyectoSolicitado, $idGerenteCargo, $costoManoDeObra, $costoProduccion, $costoProyecto, $utilidad, $tiempoEstimado, $totalTrabajadores, $observaciones); $facadeCostos = new FacadeEstudioCostos(); $mensaje = $facadeCostos->generarEstudioCostos($costoDTO); $valida = $facadeCostos->verificaExistenciaEstudio($idProyectoSolicitado); // actualizar estado de proyecto if ($valida != '') { $facadeProyecto = new FacadeProyectos(); $facadeProyecto->cambiarEstadoProyecto('Espera', $idProyectoSolicitado); $facadeProyecto->cambiarFechaFinProyecto($_POST['fechaFinal'], $idProyectoSolicitado); } header("location: ../vista/estudioDeCostos?mensaje=" . $mensaje . "&projectNum=" . $idProyectoSolicitado . "&nameProject=" . $nombreProyecto); }