예제 #1
0
 static function getOrdenesDeCompraByUserId($data)
 {
     $ocs = array();
     $conn = ExternalDao::getConnection();
     $sql = "select * from vt080_oc_cabe where f_entrega between " . $data->date . " and DATEADD(day, u_dias_limite_entrega, '" . $data->date . "')  ";
     if ($data->sucursalId) {
         $sql = $sql . " and (M_OC_MADRE = 'S' or C_SUCU_DESTINO_ALT = " . $data->sucursalId . ' ) ';
     }
     if (isset($data->proveedorId) && $data->proveedorId) {
         $sql = $sql . " and c_proveedor = " . $data->proveedorId;
     } else {
         if (isset($data->userId) && $data->userId) {
             $users_proveedor = SecurityDao::getUserProveedores($data->userId);
             $proveedorIds = Phinq::create($users_proveedor)->select(function ($item) {
                 return $item->proveedorId;
             })->toArray();
             $ids = implode(" , ", $proveedorIds);
             $sql = $sql . " and c_proveedor in ( " . $ids . ") ";
         }
     }
     $sql = $sql . " order by U_SUFIJO_OC ";
     $stmt = sqlsrv_query($conn, $sql, null);
     if ($stmt === false) {
         die(print_r(sqlsrv_errors(), true));
     }
     while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
         $oc = new \stdClass();
         $oc->id = $row['U_SUFIJO_OC'];
         $oc->proveedorId = $row['C_PROVEEDOR'];
         $oc->fecha = $row['F_ENTREGA']->format('Y-m-d H:i:s');
         $oc->diasLimiteEntrega = $row['U_DIAS_LIMITE_ENTREGA'];
         array_push($ocs, $oc);
     }
     sqlsrv_free_stmt($stmt);
     sqlsrv_close($conn);
     return $ocs;
 }
예제 #2
0
 static function addFormEntryMessage($messageDto)
 {
     $transaction = NULL;
     $result = array();
     $dwoo = new Core();
     try {
         $transaction = GenericDao::beginTransaction();
         $message = new FormEntryMessage(null, date("Y-m-d H:i:s", time()), true, $messageDto->proveedorId, $messageDto->entryId, $messageDto->formId, $messageDto->message, $messageDto->sender);
         FormDao::addFormEntryMessage($message, $transaction);
         $entry = FormAdmin::getFormEntryDetailById($messageDto->formId, $messageDto->entryId);
         if ($messageDto->sender == MessageSender::cliente) {
             FormAdmin::changeProveedorEntryState($messageDto->proveedorId, $messageDto->formId, $messageDto->entryId, \entities\ClienteState::enviada, \entities\ProveedorState::recibida);
             $transaction->commit();
             $proveedor = ProveedorDao::getProveedorById($messageDto->proveedorId);
             $user = SecurityDao::getUserById($proveedor->usuarioId);
             $dest = 'proveedor';
         } else {
             FormAdmin::changeProveedorEntryState($messageDto->proveedorId, $messageDto->formId, $messageDto->entryId, \entities\ClienteState::enProceso, \entities\ProveedorState::enProceso);
             $transaction->commit();
             $user = SecurityDao::getUserById($entry->userId);
             $dest = 'cliente';
         }
         $user->logo = AppConfig::logoUrl;
         $user->producto = $entry->producto;
         $code = base64_encode($user->id . '|' . $user->createDate . '|' . $user->mail . '|' . $dest . '|' . date("Y-m-d H:i:s", time()));
         $link = 'http://' . getenv('HTTP_HOST') . APP_FOLDER . '/views/client/AutoLoginManager.php?c=' . $code;
         $user->link = $link;
         $template = $dwoo->get($_SERVER["DOCUMENT_ROOT"] . '/views/shared/templates/mails/newMessage.tpl', (array) $user);
         Mail::Send($user->mail, 'Aladinnus, nuevo mensaje', $template);
     } catch (\Exception $ex) {
         $transaction->rollBack();
         $result = array($ex->getMessage());
     }
     return $result;
 }
예제 #3
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();
예제 #4
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();
     }
 }
예제 #5
0
 static function deleteReserva($id)
 {
     $reserva = SecurityDao::getReservaById($id);
     $result = new Result();
     try {
         $transaction = GenericDao::beginTransaction();
         $reserva->deleted = true;
         SecurityDao::updateReserva($reserva, $transaction);
         $transaction->commit();
     } catch (\Exception $ex) {
         $transaction->rollBack();
         $result->hasErrors = true;
         $result->messages = array($ex->getMessage());
     }
     $response = new Response($result, NULL);
     return json_encode($response);
 }