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;
 }