public static function model($className = __CLASS__) { parent::model($className); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new KPenggajianT(); $modPenggajiandetail = new PenggajiandetailT(); $modPengeluarankas = new PengeluarankasT(); $model->tglpenggajian = date('Y-m-d'); $model->mengetahui = KaryawanM::model()->findByPk(Params::KARYAWAN_ID)->nama_karyawan; $pegawai = LoginpemakaiK::model()->findByPk(Yii::app()->user->id); $model->pegpengeluran = isset($pegawai->karyawan_id) ? $pegawai->karyawan->nama_karyawan : ""; // $model->pegpengeluran = LoginpemakaiK::model()->findByPk(Yii::app()->user->id)->karyawan->nama_karyawan; $model->menyetujui = isset(KaryawanM::model()->findByPk(Params::PEG_MENYETUJUI_ID)->nama_karyawan) ? KaryawanM::model()->findByPk(Params::PEG_MENYETUJUI_ID)->nama_karyawan : ""; $model->jenispengeluaran_id = Params::JENIS_PENGELUARAN_ID; $command = Yii::app()->db->createCommand()->select('MAX(pengeluarankas_id) AS maxnumber')->from('pengeluarankas_t')->queryAll(); $maxnumber = $command[0]['maxnumber']; $urutan = substr($maxnumber, -1) + 1; $nomor = date('Ymd') . CustomFormat::pad_zero($urutan, 3, TRUE); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['KPenggajianT'])) { $transaction = Yii::app()->db->beginTransaction(); try { if (isset($_POST['save'])) { $model->attributes = $_POST['KPenggajianT']; $model->penerimaankotor = Params::formatNumberForDB($model->penerimaankotor); $model->penerimaanbersih = Params::formatNumberForDB($model->penerimaanbersih); $model->jmlpotongan = Params::formatNumberForDB($model->jmlpotongan); // $model->pengeluarankas_id = '0'; $model->bulan = date('m'); $model->tahun = date('Y'); if ($model->save()) { $jumlahdetail = 0; if (isset($_POST['PenggajiandetailT'])) { foreach ($_POST['PenggajiandetailT'] as $i => $row) { $modPenggajiandetail = new PenggajiandetailT(); $modPenggajiandetail->karykomponen_id = $row['karykomponen_id']; $modPenggajiandetail->penggajian_id = $model->penggajian_id; $modPenggajiandetail->jumlah = Params::formatNumberForDB($row['jumlah']); if ($modPenggajiandetail->save()) { $jumlahdetail++; } } } } $penggajian = isset($_POST['PenggajiandetailT']) ? $_POST['PenggajiandetailT'] : null; if ($jumlahdetail == COUNT($penggajian)) { $transaction->commit(); $this->redirect(array('admin')); } } else { if (isset($_POST['bayar'])) { $model->attributes = $_POST['KPenggajianT']; $model->bulan = date('m'); $model->tahun = date('Y'); $model->pengeluarankas_id = $modPengeluarankas->pengeluarankas_id; if ($model->save()) { $jumlahdetail = 0; $idpenggajian = $model->penggajian_id; $modPengeluarankas = new PengeluarankasT(); $modPengeluarankas->jenispengeluaran_id = $_POST['KPenggajianT']['jenispengeluaran_id']; $modPengeluarankas->penggajian_id = $model->penggajian_id; $modPengeluarankas->tglpengeluaran = date('Y-m-d'); $modPengeluarankas->nopengeluaran = $nomor; $modPengeluarankas->untukkeperluan = 'Gaji karyawan'; $modPengeluarankas->namapenerima = $model->karyawan->nama_karyawan; $modPengeluarankas->keterangan = $model->keterangan; $modPengeluarankas->jmlkeluar = $model->penerimaanbersih; $modPengeluarankas->pegpengeluran = $_POST['KPenggajianT']['pegpengeluran']; $modPengeluarankas->pegmengetahui = $model->mengetahui; if ($modPengeluarankas->save()) { $modelsave = PenggajianT::model()->findByPK($idpenggajian); $modelsave->pengeluarankas_id = $modPengeluarankas->pengeluarankas_id; $modelsave->save(); } foreach ($_POST['PenggajiandetailT'] as $i => $row) { // echo nl2br(print_r($_POST['PenggajiandetailT'],1)); $modPenggajiandetail = new PenggajiandetailT(); $modPenggajiandetail->karykomponen_id = $row[karykomponen_id]; $modPenggajiandetail->penggajian_id = $model->penggajian_id; $modPenggajiandetail->jumlah = $row[jumlah]; if ($modPenggajiandetail->save()) { $jumlahdetail++; } } } if ($jumlahdetail == COUNT($_POST['PenggajiandetailT'])) { $transaction->commit(); $this->redirect(array('admin')); } } } } catch (Exception $ex) { $transaction->rollback(); Yii::app()->user->setFlash('error', '<strong>Gagal</strong> Data gagal disimpan. ' . $ex->getMessage()); } // $this->redirect(array('view','id'=>$model->penggajian_id)); } $this->render('create', array('model' => $model, 'modPenggajiandetail' => $modPenggajiandetail, 'modPengeluarankas' => $modPengeluarankas)); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = PenggajiandetailT::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }