Ejemplo n.º 1
0
 public function actionListapedidos()
 {
     $model = new Compras('search');
     $model->unsetAttributes();
     if (isset($_GET['Compras'])) {
         $model->attributes = $_GET['Compras'];
     }
     $model->activa = 1;
     $model->identificacionUsuario = Yii::app()->user->name;
     $this->render('pedidos', array('model' => $model));
 }
Ejemplo n.º 2
0
 public function actionDetallepedido($pedido)
 {
     $this->layout = "simple";
     $objCompra = Compras::model()->find(array('with' => array("objUsuario", "objCompraDireccion" => array("with" => array("objCiudad", "objSector")), "objFormaPagoCompra" => array("with" => "objFormaPago"), "objFormaPagoCompra", "objEstadoCompra", "objOperador", "listItems" => array("with" => array("objProducto", "listBeneficios", "objImpuesto", "objEstadoItem"), "listObservaciones" => array("with" => array("objTipoObservacion")))), 'condition' => 't.idCompra=:id', 'params' => array(':id' => $pedido)));
     if ($objCompra === null) {
         throw new CHttpException(404, 'Pedido solicitado no existe.');
     }
     $asignar = Yii::app()->request->getParam('asignar', false);
     $opcion = Yii::app()->request->getParam('opcion', 'pdv');
     if ($asignar && $objCompra->idOperador == null && $objCompra->idEstadoCompra == Yii::app()->params->callcenter['estadoCompra']['estado']['pendiente']) {
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $objCompra->idOperador = Yii::app()->controller->module->user->id;
             $objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['tramite'];
             $objCompraEstado = new ComprasEstados();
             $objCompraEstado->idCompra = $objCompra->idCompra;
             $objCompraEstado->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['tramite'];
             $objCompraEstado->idOperador = Yii::app()->controller->module->user->id;
             $objObservacion = new ComprasObservaciones();
             $objObservacion->idCompra = $objCompra->idCompra;
             $objObservacion->observacion = "Cambio de Estado: En Trámite";
             $objObservacion->idOperador = Yii::app()->controller->module->user->id;
             $objObservacion->notificarCliente = 0;
             if (!$objObservacion->save()) {
                 throw new Exception("Error al guardar observación" . $objObservacion->validateErrorsResponse());
             }
             if (!$objCompraEstado->save()) {
                 throw new Exception("Error al guardar estado" . $objCompraEstado->validateErrorsResponse());
             }
             if (!$objCompra->save()) {
                 throw new Exception("Error al actualizar estado" . $objCompra->validateErrorsResponse());
             }
             $transaction->commit();
         } catch (Exception $exc) {
             Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
             try {
                 $transaction->rollBack();
             } catch (Exception $txexc) {
                 Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
             }
             Yii::app()->user->setFlash('danger', "Error al asignar pedido: " . $exc->getMessage());
             $this->redirect(Yii::app()->request->urlReferrer);
             //$this->redirect(Yii::app()->user->returnUrl);
             Yii::app()->end();
         }
     }
     $params = array();
     $params['params']['objCompra'] = $objCompra;
     $params['opcion'] = $opcion;
     if ($opcion == "pedido") {
         $params['vista'] = "_adminPedido";
     } else {
         if ($opcion == "cliente") {
             $params['vista'] = "_clienteDespacho";
             $listDirecciones = DireccionesDespacho::model()->findAll(array('with' => 'objCiudad', 'condition' => 'identificacionUsuario=:usuario AND activo=:activo', 'params' => array(':usuario' => $objCompra->identificacionUsuario, ':activo' => 1)));
             $params['params']['listDirecciones'] = $listDirecciones;
         } else {
             if ($opcion == "observacion") {
                 $params['vista'] = "_observacionesPedido";
             } else {
                 Yii::import('ext.select2.Select2');
                 $params['vista'] = "_ubicarPDV";
                 $params['opcion'] = "pdv";
                 $modelCompraAnteriores = new Compras('search');
                 $modelCompraAnteriores->unsetAttributes();
                 if (isset($_GET['Compras'])) {
                     $modelCompraAnteriores->attributes = $_GET['Compras'];
                 }
                 $modelCompraAnteriores->identificacionUsuario = $objCompra->identificacionUsuario;
                 $modelCompraAnteriores->tipoEntrega = Yii::app()->params->entrega["tipo"]['domicilio'];
                 $params['params']['modelCompra'] = $modelCompraAnteriores;
             }
         }
     }
     $this->render('pedido', $params);
 }