コード例 #1
0
 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);
             }
         }
     }
 }
コード例 #2
0
 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);
                 }
             }
         }
     }
 }
コード例 #3
0
                        $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");
                    }
                }
            }
        }
    }
}
コード例 #4
0
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);
}