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; }
<?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;
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(); } }
<?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();