Example #1
0
 public function getPracticas()
 {
     // Busco si existen las practicas
     $criteria = new CDbCriteria();
     $criteria->compare('idcarga', $this->idcarga);
     if ($this->idcarga > 0) {
         $models = Practicacarga::model('practicacarga' . str_replace('/', '', Parametro::model()->getParametro('PERIODOCARGA', 'CARGA')->valoralfanumerico))->findall($criteria);
     } else {
         $models = array();
     }
     // Agrego los modelos que faltan para completar la cantidad
     // Maxima de prácticas
     $pr = count($models) + 1;
     for ($pr; $pr <= Carga::MAX_PRACTICAS_BOLETA; $pr++) {
         $model_practica_carga = new Practicacarga();
         array_push($models, $model_practica_carga);
     }
     return $models;
 }
Example #2
0
 public function grabartransaccion($nrotransac, $header, $codigocarga, $model)
 {
     $tran = Yii::app()->db->beginTransaction();
     // cargar los campos en el modelo de carga
     $model->distrito = 1;
     // Por ahora distrito IX
     $model->idcargatipo = 1;
     // Facturación
     $model->periodofacturacion = "03/2015";
     // Cable
     $model->idpacientetipo = 1;
     // ambulatorio
     // ver que fecha hay que grabar, esto es para probar
     // la fecha del header tiene formato mysql,
     // hay que pasarlo a formato argentino porque el
     // modelo carga lo valida de esta forma dd/mm/yyyy
     $model->fechaprestacion = $this->fecha_arg($header->prescripcion);
     $model->nroafiliado = $header->afiliado;
     try {
         // grabar carga
         if ($model->save()) {
             // grabar practicas
             foreach ($codigocarga as $codigo) {
                 if ($codigo > 0) {
                     $model_practica = new Practicacarga();
                     // buscar el registro practica segun el codigo
                     if ($registropractica = Practica::model()->findByAttributes(array('codigo' => $codigo))) {
                         $idpractica = $registropractica->idpractica;
                     } else {
                         throw new Exception("Prácticas inexistentes. Transacción no capturada");
                     }
                     $model_practica->idpractica = $idpractica;
                     $model_practica->idcarga = $model->idcarga;
                     $model_practica->precio = 0;
                     // Grabo 0 por ahora
                     if (!$model_practica->save()) {
                         throw new Exception(CHtml::errorSummary($model_practica));
                     }
                 }
             }
             $tran->commit();
         } else {
             throw new Exception(CHtml::errorSummary($model));
         }
     } catch (Exception $e) {
         $tran->rollback();
         throw new Exception($e->getMessage());
     }
 }