private static function validate()
 {
     $errors = array();
     if (!isset($_POST["barcode"]) || !$_POST["barcode"] || strlen(trim($_POST["barcode"])) != 16) {
         array_push($errors, 'Código de barras inválido');
     } else {
         $userId = (int) substr($_POST["barcode"], 0, 8);
         $solicitudId = (int) substr($_POST["barcode"], 8, 8);
         $solicitud = SolicitudesEntregaAdmin::getSolicitudEntregaById($solicitudId);
         if ($solicitud == null) {
             array_push($errors, 'Solicitud inválida');
         } else {
             if ($solicitud->status == SolicitudEntregaState::anulada) {
                 array_push($errors, 'La solicitud se encuetra anulada');
             } else {
                 if ($solicitud->status == SolicitudEntregaState::entregada) {
                     array_push($errors, 'La solicitud ya fué entregada');
                 } else {
                     if ($solicitud->status != SolicitudEntregaState::confirmada) {
                         array_push($errors, 'La solicitud aun no ha sido confirmada');
                     } else {
                         if ($solicitud->userId != $userId) {
                             array_push($errors, 'La solicitud no coincide con el usuario enviado');
                         } else {
                             $actual = date("y-m-d", time());
                             $startsAt = date("y-m-d", strtotime($solicitud->startsAt));
                             if ($startsAt < $actual) {
                                 array_push($errors, 'La fecha de entrega ha caducado');
                             }
                             if ($startsAt > $actual) {
                                 array_push($errors, 'Su turno está agendado para ' . date("d/m/y", strtotime($solicitud->startsAt)) . ' a las ' . date("H:i", strtotime($solicitud->startsAt)));
                             }
                         }
                     }
                 }
             }
         }
     }
     return $errors;
 }
Exemplo n.º 2
0
<?php 
if (!isset($_SESSION)) {
    session_start();
}
$_SERVER["DOCUMENT_ROOT"] = $_SERVER["DOCUMENT_ROOT"] . '/turnos';
include_once $_SERVER["DOCUMENT_ROOT"] . '/common/Includes.php';
\admin\SolicitudesEntregaAdmin::processPendientes();
        break;
    case "getDiaBloqueo":
        $result = SolicitudesEntregaAdmin::getDiaBloqueoById($request->data);
        echo $result;
        break;
    case "getDiasBloqueoBySucursalId":
        $result = SolicitudesEntregaAdmin::getDiasBloqueoBySucursalId($request->data);
        echo $result;
        break;
    case "createDiaBloqueo":
        $result = SolicitudesEntregaAdmin::createDiaBloqueo($request->data);
        echo $result;
        break;
    case "updateDiaBloqueo":
        $result = SolicitudesEntregaAdmin::updateDiaBloqueo($request->data);
        echo $result;
        break;
    case "deleteDiaBloqueo":
        $result = SolicitudesEntregaAdmin::deleteDiaBloqueo($request->data);
        echo $result;
        break;
    case "getOrdenesDeCompraCompletas":
        $result = SolicitudesEntregaAdmin::getOrdenesDeCompraCompletas($request->data);
        echo $result;
        break;
    case "setOrdenDeCompraParcial":
        $result = SolicitudesEntregaAdmin::setOrdenDeCompraParcial($request->data);
        echo $result;
        break;
        //endregion
}
<?php 
if (!isset($_SESSION)) {
    session_start();
}
$_SERVER["DOCUMENT_ROOT"] = $_SERVER["DOCUMENT_ROOT"] . '/turnos';
include_once $_SERVER["DOCUMENT_ROOT"] . '/common/Includes.php';
use admin\SolicitudesEntregaAdmin;
use lib\ExportDataExcel;
use security\SecurityManager;
//SecurityManager::authorize(array('admin'));
$data = SolicitudesEntregaAdmin::getSolicitudesEntregaConfirmadas();
$exporter = new ExportDataExcel('browser', 'SolicitudesConfirmadas.xls');
$exporter->initialize();
$exporter->addRow(array("Id", "Fecha", "sucursal", "Ocs"));
foreach ($data as $solicitud) {
    $exporter->addRow(array($solicitud->id, $solicitud->startsAt, $solicitud->sucursalNombre, $solicitud->ordenesDeCompra));
}
$exporter->finalize();
exit;
Exemplo n.º 5
0
 static function changeState($solicitudEntregId, $status)
 {
     $solicitudEntrega = SolicitudesEntregaDao::getSolicitudEntregaById($solicitudEntregId);
     $actualOcs = SolicitudesEntregaDao::getOrdenesDeCompraBySolicitudId($solicitudEntregId);
     $proveedor = SecurityDao::getUserById($solicitudEntrega->userId);
     try {
         $transaction = GenericDao::beginTransaction();
         $solicitudEntrega->status = $status;
         $solicitudEntrega->updateDate = date("Y-m-d H:i:s", time());
         SolicitudesEntregaDao::updateSolicitudEntrega($solicitudEntrega, $transaction);
         $transaction->commit();
         $ordenesDeCompraDetail = '';
         foreach ($actualOcs as $oc) {
             $ordenesDeCompraDetail = $ordenesDeCompraDetail . ', ' . $oc->ordenDeCompraId;
         }
         $ordenesDeCompraDetail = substr($ordenesDeCompraDetail, 1);
         $subject = 'Entrega de solicitud';
         $name = 'Administrador';
         $title = 'Se le comunica que el proveedor ' . $proveedor->firstName . 'ha hecho entrega de la solicitud nro. ' . $solicitudEntrega->id . '.';
         $detail = 'La entrega esta compuesta por las siguientes ordenes de compra: ' . $ordenesDeCompraDetail;
         SolicitudesEntregaAdmin::sendMail('*****@*****.**', $subject, $name, $title, $detail);
     } catch (\Exception $ex) {
         $transaction->rollBack();
     }
 }
Exemplo n.º 6
0
<?php 
if (!isset($_SESSION)) {
    session_start();
}
$_SERVER["DOCUMENT_ROOT"] = $_SERVER["DOCUMENT_ROOT"] . '/turnos';
include_once $_SERVER["DOCUMENT_ROOT"] . '/common/Includes.php';
use admin\SolicitudesEntregaAdmin;
use dao\SecurityDao;
$solicitud = SolicitudesEntregaAdmin::getSolicitudEntregaById($_GET['id']);
$user = SecurityDao::getUserById($solicitud->userId);
$barcode = str_repeat("0", 8 - strlen($user->id)) . $user->id . str_repeat("0", 8 - strlen($solicitud->id)) . $solicitud->id;
$status = null;
switch ($solicitud->status) {
    case 1:
        $status = 'Ingresada';
        break;
    case 2:
        $status = 'Pendiente de confirmación';
        break;
    case 3:
        $status = 'Confirmada';
        break;
    case 4:
        $status = 'Rechazada';
        break;
}
$generator = new \lib\barcode\BarcodeGeneratorPNG();
$img = 'data:image/png;base64,' . base64_encode($generator->getBarcode($barcode, $generator::TYPE_CODE_128));
$pdf = new \lib\FPDF();
$pdf->AddPage();