Exemple #1
0
 public function actionCreate()
 {
     $a = new Nomina();
     $b = new Asignaciones();
     $c = new Deducciones();
     if (isset($_POST['Nomina'], $_POST['Asignaciones'], $_POST['Deducciones'])) {
         // populate input data to $a and $b
         $a->attributes = $_POST['Nomina'];
         $b->attributes = $_POST['Asignaciones'];
         $c->attributes = $_POST['Deducciones'];
         // validate BOTH $a and $b
         $valid = $a->validate();
         $valid = $b->validate() && $valid;
         $valid = $c->validate() && $valid;
         if ($valid) {
             $a->total_asig = $a->b_alimenticio($b->b_alimenticio, $a->id_empleado) + $a->asistencia($b->asistencia, $a->id_empleado) + $a->hdiurnas($b->horasextra_diurna, $a->id_empleado) + $a->hnocturnas($b->horasextras_nocturna, $a->id_empleado) + $a->sabado($b->sabado, $a->id_empleado) + $a->feriado($b->feriado, $a->id_empleado) + $a->prestamos + $a->vaciado + $a->otros;
             $a->total_deduc = $a->sso($c->sso, $a->id_empleado) + $a->spf($c->spf, $a->id_empleado) + $a->lph($c->lph, $a->id_empleado) + $a->inasistencia($c->inasistencia, $a->id_empleado) + $a->descuento;
             $empleado = Empleados::model()->findByAttributes(array('id' => $a->id_empleado));
             $cargo = Cargos::model()->findByAttributes(array('id' => $empleado->id_cargo));
             if ($cargo->tipo_sueldo == 1) {
                 $a->neto = $cargo->sueldo + $a->total_asig - $a->total_deduc;
             } else {
                 $a->neto = $cargo->sueldo / 2 + $a->total_asig - $a->total_deduc;
             }
             // use false parameter to disable validation
             $b->save(false);
             $c->save(false);
             $a->id_asignacion = $b->id;
             $a->id_deduccion = $c->id;
             $a->save(false);
             date_default_timezone_set('America/Caracas');
             $auditoria = new Auditoria();
             $auditoria->id_user = Yii::app()->user->getId();
             $auditoria->accion = 2;
             $auditoria->modelo = $this->modelo;
             $auditoria->id_registro = $a->id;
             $auditoria->fecha = date("Y-m-d h:i:s");
             $auditoria->save(false);
             $this->redirect(array('admin'));
         }
     }
     $this->render('create', array('a' => $a, 'b' => $b, 'c' => $c));
 }