Пример #1
0
    'summaryText'=>false,
    'columns' => array(
        array(
                      'name'   => 'idcantunidad',
                      'value'  => 'isset($data->idcantunidad)?$data->idcantunidad:""',
                      'filter' => false,
                ),
        array(
                      'name'   => 'cantidad',
                      'value'  => 'isset($data->cantidad)?$data->cantidad:""',
                      'filter' => false,
                ),
        array(
                      'name'   => 'idpractica',
                      'value'  => 'isset($data->idpractica0->codigo)?$data->idpractica0->codigo:""',
                      'filter' => CHtml::listData(Practica::model()->findAll(array('order'=>'codigo')),'idpractica','codigo'),
                ),
        array(
                      'name'   => 'idunidad',
                      'value'  => 'isset($data->idunidad0->nombre)?$data->idunidad0->nombre:""',
                      'filter' => CHtml::listData(Unidad::model()->findAll(array('order'=>'nombre')),'idunidad','nombre'),
                ),
array(
    'class' => 'CButtonColumn',
    'viewButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-view.png',
    'updateButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-update.png',
    'deleteButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-delete.png',
    'header' => Yii::t('app', 'Actions'),
        ),
    ),
));
Пример #2
0
 public function search3($idosplan)
 {
     // busqueda de las practicas incluidas en el nomencladorplan
     $criteria = new CDbCriteria();
     $criteria->compare('idosplan', $idosplan);
     $criteria->select = 'idpractica';
     $p = $this->findAll($criteria);
     // obtener arreglo de idpractica
     foreach ($p as $row) {
         $idpractica[] = $row->idpractica;
     }
     // busqueda en tabla practicas de los idnomenclador no repetidos
     //
     $criteria = new CDbCriteria();
     $criteria->addInCondition("idpractica", $idpractica);
     $criteria->select = 'idnomenclador';
     $criteria->distinct = true;
     $r = Practica::model()->findAll($criteria);
     // para cada idnomenclador obtener idunidad
     foreach ($r as $row) {
         $idnomenclador = $row->idnomenclador;
         //
         $idunidad[] = Nomenclador::model()->getUnidades($idnomenclador);
     }
     // retorna arreglo con las idunidades del nomenclador
     // recorrer doble arreglo $idunidad
     foreach ($idunidad as $row) {
         foreach ($row as $clave => $valor) {
             $unidad[] = $valor;
         }
     }
     return $unidad;
 }
Пример #3
0
<div class="wide form">

<?php $form = $this->beginWidget('CActiveForm', array(
    'action' => Yii::app()->createUrl($this->route),
    'method' => 'get',
)); ?>

    <div class="row">
        <?php echo $form->label($model, 'idnomencladorplan'); ?>
        <?php echo $form->textFieldControlGroup($model,'idnomencladorplan'); ?>
    </div>

    <div class="row">
        <?php echo $form->label($model, 'idosplan'); ?>
        <?php echo $form->dropDownListControlGroup($model, 'idosplan0', CHtml::listData(Osplan::model()->findAll(array('order'=>'codplan')),'idosplan', 'codplan')); ?>
    </div>

    <div class="row">
        <?php echo $form->label($model, 'idpractica'); ?>
        <?php echo $form->dropDownListControlGroup($model, 'idpractica0', CHtml::listData(Practica::model()->findAll(array('order'=>'codigo')),'idpractica', 'codigo')); ?>
    </div>

    <div class="row buttons">
        <?php echo CHtml::submitButton(Yii::t('app', 'Search')); ?>
    </div>

<?php $this->endWidget(); ?>

</div><!-- search-form -->
Пример #4
0
    <?php
    if ($model->mostrarCampo('matriculamedico'))
        echo $form->textFieldControlGroup($model, 'matriculamedico', array('size' => 30, 'maxlength' => 30));
    ?>


    <?php
    if ($model->mostrarCampo('fechaemision')) {
        echo $form->dateFieldControlGroup($model, 'fechaemision');
    }
     

    
// Sección de practicas
    echo TbHtml::labelTb('Prácticas', array('color' => TbHtml::LABEL_COLOR_WARNING, 'style' => 'margin-bottom:20px;font-size:21px;padding:12px;'));
    $data = CHtml::listData(Practica::model()->findAll(array('order' => 'nombre')), 'idpractica', 'nombrecomp');
// Cargo las practicas en pantalla
    $i = 0;
    $filas = ceil(Carga::MAX_PRACTICAS_BOLETA / 5);
   echo "<div class='control-group' style='float:right;margin-right:186px;margin-top:6px;' >";
  
    $this->widget('yiiwheels.widgets.select2.WhSelect2', array(
          'asDropDownList' =>true,
         'data' => $data,
         'name'=>'cargapractica',

          'htmlOptions'=>  
            array(
                'style' => 'width:300px;',
                'prompt' => '',
                'allowClear'=>true,
Пример #5
0
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $modelDomicilio = new Domicilio();
     $modellocalidad = new Localidad();
     // Traigo los parámetros de la carga según el id del plan
     $models_parametros_carga = Parametrocarga::model()->getParametros($id);
     $model_campos_carga = new Carga();
     // campos que son para carga de archivos de modalidad
     $modalidades = array("modalidadapertura", "modalidadcarga", "modalidadfacturacion", "modalidadoperativa");
     //modelo nomenclador plan
     $modelnomenplan = new Nomencladorplan();
     //asignar idosplan para cargar el nomenclador del plan
     $modelnomenplan->idosplan = $model->idosplan;
     if (isset($_POST['Osplan'])) {
         $model->setAttributes($_POST['Osplan']);
         if ($_POST['Osplan']['iddomicilio'] == '0') {
             $model->iddomicilio = null;
         }
         try {
             $transac = Yii::app()->db->beginTransaction();
             if (strlen($_POST['Domicilio']['calle']) != 0) {
                 $modelDomicilio->setAttributes($_POST['Domicilio']);
                 $modelDomicilio->idlocalidad = $_POST['Localidad']['idlocalidad'];
                 $modelDomicilio->iddomiciliotipo = Domiciliotipo::PARTICULAR;
                 if ($modelDomicilio->save()) {
                     $model->iddomicilio = $modelDomicilio->iddomicilio;
                 } else {
                     throw new Exception("Hubo un error al grabar el domicilio de entrega");
                 }
             }
             // archivos de modalidad subidos
             // si se envia desde el formulario, se asigna y
             // se graba. El nombre del archivo esta definido en el modelo osplan->archivomodalidadd()
             foreach ($modalidades as $modalidad) {
                 if (CUploadedFile::getInstance($model, $modalidad) !== null) {
                     $model->{$modalidad} = CUploadedFile::getInstance($model, $modalidad);
                     $model->{$modalidad}->saveAs($model->archivomodalidad($modalidad));
                 }
             }
             // si se selecciona el checkbox de borrar archivo de modalidad
             foreach ($modalidades as $modalidad) {
                 if (isset($_POST['borrar' . $modalidad])) {
                     $model->{$modalidad} = NULL;
                     @unlink($model->archivomodalidad($modalidad));
                 }
             }
             if ($model->save()) {
                 if (isset($_POST['Parametrocarga'])) {
                     $hayerror = false;
                     foreach ($_POST['Parametrocarga'] as $i => $item) {
                         $model_parametro_carga = $models_parametros_carga[$i];
                         // Asigno el modelo
                         $model_parametro_carga->setAttributes($_POST['Parametrocarga'][$i]);
                         // 04/05/2015 JMG Almaceno todos los campos, incluidos los no editables pero estos
                         // pueden ser obligatorios o no dependiendo de la metadata de la bd
                         if ($model_campos_carga->getMetaData()->columns[$model_parametro_carga->campo]->comment == "NOEDITABLE") {
                             if ($model_campos_carga->getMetaData()->columns[$model_parametro_carga->campo]->allowNull) {
                                 $model_parametro_carga->idopcioncampocarga = Opcioncampocarga::OPCIONAL;
                             } else {
                                 $model_parametro_carga->idopcioncampocarga = Opcioncampocarga::OBLIGATORIO;
                             }
                         }
                         $model_parametro_carga->idosplan = $model->idosplan;
                         if (!$model_parametro_carga->save()) {
                             $hayerror = true;
                         }
                     }
                     if ($hayerror) {
                         throw new Exception("Error al grabar parametros");
                     }
                 }
                 // NOMENCLADOR
                 // borrar nomenclador
                 if (isset($_POST['borrarnomenclador'])) {
                     try {
                         Nomencladorplan::model()->deleteAllByAttributes(array('idosplan' => $id));
                     } catch (Exception $e) {
                         throw new CHttpException(500, $e->getMessage());
                     }
                     // grabar todo y redirigir a manage
                     $transac->commit();
                     $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.'));
                     $this->redirect(array('manage'));
                 }
                 // borrar practicas seleccionadas
                 if (isset($_POST['id-borrar'])) {
                     $ids = $_POST['id-borrar'];
                     // arreglo con las idpracticas a borrar
                     try {
                         Nomencladorplan::model()->deleteAllByAttributes(array('idnomencladorplan' => $ids));
                     } catch (Exception $e) {
                         throw new CHttpException(500, $e->getMessage());
                     }
                     // grabar todo y redirigir a manage
                     $transac->commit();
                     $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.'));
                     $this->redirect(array('manage'));
                 }
                 //                            else {
                 // ARMADO de Nomenclador: grabar en tabla nomencladorplan
                 $marcatodas = false;
                 $rango = false;
                 // si se seleccionó un momenclador, la variable  idnomenclador es true
                 // y se analizan las variables de resto del formulario
                 // para armar el nomenclador.
                 // si no se manda idnomenclador, es porque se actualizan datos del osplan
                 // pero no se arma nomenclador
                 if ($_POST['idnomenclador'] == true) {
                     $idnomenclador = $_POST['idnomenclador'];
                     // filtro de tipo de practicas
                     $idpractipo = isset($_POST['idpractipo']) ? $_POST['idpractipo'] : false;
                     // controlar si seleccionaron  rangos
                     if (isset($_POST['rangodesde']) && isset($_POST['rangohasta'])) {
                         $rango = true;
                         $rangodesde = $_POST['rangodesde'];
                         $rangohasta = $_POST['rangohasta'];
                         //                            // controlar que no este vacio algun rango
                         if (in_array('', $rangodesde)) {
                             $rango = false;
                         }
                         if (in_array('', $rangohasta)) {
                             $rango = false;
                         }
                         //error de rango
                         if (!$rango) {
                             throw new Exception("Error en el rango de prácticas");
                         }
                     }
                     // todas las practicas seleccionadas
                     // si se marca, se anula el rango.
                     // y se seleccionan todas.
                     if (isset($_POST['marcatodas'])) {
                         $marcatodas = true;
                         $rango = false;
                     }
                     //  en caso de seleccionar todas
                     if ($marcatodas) {
                         // $idpracticas es un arreglo de idpracticas encontradas
                         $idpracticas = Practica::model()->search3($idnomenclador, $idpractipo);
                         foreach ($idpracticas as $key => $value) {
                             $modelnomencladorplan = new nomencladorplan();
                             $modelnomencladorplan->idosplan = $model->idosplan;
                             $modelnomencladorplan->idpractica = $value;
                             // grabar registro en tabla nomencladorplan
                             $modelnomencladorplan->save();
                         }
                     }
                     //  en caso de seleccionar por rango
                     if ($rango) {
                         // $idpracticas es un arreglo de idpracticas encontradas
                         foreach ($rangodesde as $key => $valordesde) {
                             $idpracticas = Practica::model()->search4($valordesde, $rangohasta[$key], $idpractipo);
                             if (!$idpracticas) {
                                 throw new Exception("Error en el rango de prácticas");
                             }
                             foreach ($idpracticas as $key => $value) {
                                 $modelnomencladorplan = new nomencladorplan();
                                 $modelnomencladorplan->idosplan = $model->idosplan;
                                 $modelnomencladorplan->idpractica = $value;
                                 // grabar registro en tabla nomencladorplan
                                 $modelnomencladorplan->save();
                             }
                         }
                     }
                 }
                 // grabar todo y redirigir a manage
                 $transac->commit();
                 $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.'));
                 $this->redirect(array('manage'));
             }
         } catch (Exception $e) {
             $transac->rollback();
             $model->addError('', $e->getMessage());
         }
     }
     $this->render('update', array('model' => $model, 'modelDomicilio' => $modelDomicilio, 'modellocalidad' => $modellocalidad, 'models_parametros_carga' => $models_parametros_carga, 'model_campos_carga' => $model_campos_carga, 'modelnomenplan' => $modelnomenplan));
 }
Пример #6
0
<?php

//titulo label


echo "<div class='bordeada' style='margin-top:0px;' >";

echo "<div style='margin:5px;' >";
echo TbHtml::labelTb('Prácticas', array('color' => TbHtml::LABEL_COLOR_WARNING, 'style' => 'margin-bottom:0px;font-size:16px;padding:9px;'));

if ($accion=='carga'){
$data = CHtml::listData(Practica::model()->findAll(array('order' => 'nombre')), 'codigocarga', 'nombrecomp');

// listado oculto de los codigos de carga
$codigoscarga = CHtml::listData(Practica::model()->findAll(array('order' => 'codigocarga')), 'idpractica', 'codigocarga');
echo TbHtml::dropDownList('codigoscarga', 'codigoscarga', $codigoscarga, array('style' => 'display:none;'));

// campo de carga de codigos de practica (codigocarga) 

echo TbHtml::labelTb('Código', array('style' => 'margin-left:115px;padding:7px;'));
echo TbHtml::textField('codpractica', '', array('span' => 1));


// listado de practicas con select 2

echo TbHtml::labelTb('Nombre', array('style' => 'margin-left:106px;padding:7px;'));
$this->widget('yiiwheels.widgets.select2.WhSelect2', array(
    'asDropDownList' => true,
    'data' => $data,
    'name' => 'cargapractica',
    'htmlOptions' =>
Пример #7
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());
     }
 }
Пример #8
0
 public function loadModel($id)
 {
     $model = Practica::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, Yii::t('app', 'The requested page does not exist.'));
     }
     return $model;
 }