/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = OrdenCompra::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['idordencompra' => $this->idordencompra, 'status' => $this->status, 'fecha' => $this->fecha, 'tipo' => $this->tipo, 'escredito' => $this->escredito, 'numcontrol' => $this->numcontrol, 'idefiscal' => $this->idefiscal, 'monto' => $this->monto, 'montoiva' => $this->montoiva, 'idproveedor' => $this->idproveedor, 'reversado' => $this->reversado, 'idcordinacion' => $this->idcordinacion, 'idusuario_crea' => $this->idusuario_crea, 'fecha_crea' => $this->fecha_crea, 'fecha_reverso' => $this->fecha_reverso, 'idusuario_reversa' => $this->idusuario_reversa, 'idordenservicio' => $this->idordenservicio, 'reqrequisicion' => $this->reqrequisicion, 'reqinvitacion' => $this->reqinvitacion, 'reqinforme' => $this->reqinforme, 'reqpresupuesto' => $this->reqpresupuesto, 'cantpresupuesto' => $this->cantpresupuesto, 'cantcarta' => $this->cantcarta, 'reqcarta' => $this->reqcarta, 'proyecto' => $this->proyecto, 'id_odc' => $this->id_odc]); $query->andFilterWhere(['like', 'observaciones', $this->observaciones])->andFilterWhere(['like', 'concepto', $this->concepto])->andFilterWhere(['like', 'motivo', $this->motivo])->andFilterWhere(['like', 'hora_crea', $this->hora_crea])->andFilterWhere(['like', 'horareverso', $this->horareverso])->andFilterWhere(['like', 'descripcionproyecto', $this->descripcionproyecto])->andFilterWhere(['like', 'tentrega', $this->tentrega])->andFilterWhere(['like', 'observacion', $this->observacion]); return $dataProvider; }
/** * 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"); } }