示例#1
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdproveedors()
 {
     return $this->hasMany(Proveedor::className(), ['idproveedor' => 'idproveedor'])->viaTable('productoxproveedor', ['idproducto' => 'idproducto']);
 }
示例#2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdproveedor0()
 {
     return $this->hasOne(Proveedor::className(), ['idproveedor' => 'idproveedor']);
 }
 /**
  * Envía la información del documento consultado hacia la vista y crea un nuevo ajuste de acuerdo a las opciones. 
  * @return type
  * @throws CHttpException
  */
 public function actionCargarDocumento()
 {
     //    if (\Yii::$app->request->isAjax) {
     // para la Validación de usuario
     if (true) {
         //      \Yii::$app->response->format = \yii\console\Response::FORMAT_JSON;
         $documento = \Yii::$app->request->post('documento');
         $tipoMovimiento = \Yii::$app->request->post('tipoMovimiento');
         $tipoAjuste = \Yii::$app->request->post('tipoAjuste');
         if (\Yii::$app->request->post('OrdenCompra')) {
             $ordenCompra = \app\modules\siap\models\OrdenCompra::find()->where(['idordencompra' => $documento])->one();
             $ajuste = new \app\modules\siap\models\Ajustes();
             // Validar datos
             // Fecha
             // Cargar datos al modelo
             $atributos = ['id_tipo_ajuste' => 1, 'fecha_ajuste' => date('Y-m-d'), 'id_usuario_crea' => 1, 'idefiscal' => $ordenCompra->idefiscal, 'concepto' => $ordenCompra->fecha . ' cambia a ' . \Yii::$app->request->post('Ajustes')['fecha_ajuste'], 'observacion' => \Yii::$app->request->post('Ajustes')['observacion'], 'reversado' => '0'];
             $ajuste->setAttributes($atributos);
             // Guardar el ajuste
             $ajuste->save();
             return $this->render('create', ['model' => new \app\modules\siap\models\Ajustes()]);
         }
         switch ($tipoMovimiento) {
             case 5:
                 //ORDEN DE COMPRA
                 $ordenCompra = \app\modules\siap\models\OrdenCompra::find()->where(['idordencompra' => $documento])->one();
                 if ($ordenCompra) {
                     if ($ordenCompra->status != 2) {
                         return json_encode(['success' => false, 'mensaje' => 'La orden de compra no ha sido imputada.']);
                     }
                     $proveedor = \app\modules\siap\models\Proveedor::findOne($ordenCompra->idproveedor);
                     $provider = new \yii\data\ActiveDataProvider(['query' => \app\modules\siap\models\OrdenCompraDetalleSearch::find()->where('idordencompra = ' . $ordenCompra->idordencompra)]);
                     $unidadSolicitante = \app\modules\siap\models\Coordinacion::findOne($ordenCompra->idcordinacion);
                     $render = $this->renderFile(Yii::$app->basePath . '/views/ajustes/_ordenCompra.php', ['ordenCompra' => $ordenCompra, 'proveedor' => $proveedor, 'provider' => $provider, 'tipoModificacion' => $tipoAjuste, 'unidadSolicitante' => $unidadSolicitante]);
                     return json_encode(['success' => true, 'mensaje' => 'Orden de pago cargada con éxito.', 'html' => $render]);
                 } else {
                     return json_encode(['success' => false, 'mensaje' => 'No se consiguió la Orden de Compra.']);
                 }
                 break;
             case 6:
                 //ORDEN DE PAGO
                 return json_encode(['success' => true, 'mensaje' => 's']);
                 break;
             case 11:
                 //ORDEN DE SERVICIO
                 return json_encode(['success' => true, 'mensaje' => 's']);
                 break;
             case 12:
                 //PAGO DIRECTO
                 return json_encode(['success' => true, 'mensaje' => 's']);
                 break;
             case 13:
                 //PAGO DE NOMINA
                 return json_encode(['success' => true, 'mensaje' => 's']);
                 break;
             case 20:
                 //PAGADO
                 return json_encode(['success' => true, 'mensaje' => 's']);
                 break;
             default:
                 return json_encode(['success' => false, 'mensaje' => 'Disculpe, por ahora no esta disponible la edicion de este tipo de documentos.']);
                 break;
         }
     } else {
         throw new CHttpException(403, "Usted no se encuentra autorizado para realizar esta accion");
     }
 }