/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Maestrocompo(); $model->valorespordefecto(); // Uncomment the following line if AJAX validation is needed $this->performAjaxValidation($model); if (isset($_POST['Maestrocompo'])) { $model->attributes = $_POST['Maestrocompo']; $transaccion = $model->dbConnection->beginTransaction(); if ($model->save()) { //actualizamos tambien las tablas inventario y maestrodetalle //inventario $centros = Centros::model()->findAll(); foreach ($centros as $fila) { $modeloporcentros = new Maestrodetallecentros(); $modeloporcentros->setAttributes(array('hcodart' => $model->codigo, 'codcen' => $fila->codcen, 'catvalor' => '', 'iqf' => '0'), true); // var_dump($fila); $modeloalmacenes = Almacenes::model()->findall("codcen=:vcdocen", array(":vcdocen" => $fila->codcen)); foreach ($modeloalmacenes as $filaalmacen) { //$contact->setIsNewRecord(true); $modeloinventario = new Alinventario(); $modelodetalle = new Maestrodetalle(); $modelodetalle->setAttributes(array('codart' => $model->codigo, 'codcentro' => $fila->codcen, 'codal' => $filaalmacen->codalm, 'codgrupoventas' => '001', 'canaldist' => '01', 'sujetolote' => '0', 'canteconomica' => 0, 'cantreposic' => 0, 'cantreorden' => 0, 'leadtime' => 0, 'controlprecio' => 'V'), true); $modeloinventario->setAttributes(array('codart' => $model->codigo, 'codcen' => $fila->codcen, 'codalm' => $filaalmacen->codalm, 'cantlibre' => 0, 'canttran' => 0, 'cantres' => 0, 'ubicacion' => '', 'lote' => '', 'codmon' => Yii::app()->params['monedadef']), true); // var_dump($modeloinventario); /* echo "<br><br><br>"; var_dump($modelodetalle->attributes); echo "<br><br><br>";*/ // var_dump($modeloinventario->attributes); if (!$modeloinventario->save() or !$modelodetalle->save()) { $transaccion->rollback(); throw new CHttpException(404, 'No se pudieron grabar los datos detalles '); } else { } } //bucle de almacenes if (!$modeloporcentros->save()) { $transaccion->rollback(); throw new CHttpException(404, 'No se pudieron grabar los datos del modelo poR CENTROS '); } } ///FIN DEL BUCLE CENTROS $transaccion->commit(); Yii::app()->user->setFlash('success', "Se ha creado el material " . $model->codigo); } else { /// SSI HUBO UN ERRRO AL GRANAR EL MATERIAL $transaccion->rollback(); throw new CHttpException(404, 'No se pudieron grabar los datos del material '); } $this->redirect(array('update', 'id' => $model->codigo)); } /// si no se puede grabar $this->render('create', array('model' => $model, 'habilitado' => '')); }