/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Ajustes::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id_ajuste' => $this->id_ajuste, 'id_tipo_ajuste' => $this->id_tipo_ajuste, 'fecha_ajuste' => $this->fecha_ajuste, 'id_usuario_crea' => $this->id_usuario_crea, 'idefiscal' => $this->idefiscal, 'fecha_reverso_ajuste' => $this->fecha_reverso_ajuste, 'id_usuario_reversa' => $this->id_usuario_reversa]); $query->andFilterWhere(['like', 'concepto', $this->concepto])->andFilterWhere(['like', 'reversado', $this->reversado]); return $dataProvider; }
/** * @return \yii\db\ActiveQuery */ public function getAjustes0() { return $this->hasMany(\app\modules\siap\models\Ajustes::className(), ['id_usuario_reversa' => 'idusuario']); }
/** * Finds the Ajustes model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id_documento * @param integer $id_ajuste * @return Ajustes the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id_documento, $id_ajuste) { if (($model = Ajustes::findOne(['id_documento' => $id_documento, 'id_ajuste' => $id_ajuste])) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * 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"); } }