/**
  * 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));
 }
 public function actionKomponengaji($id)
 {
     if (Yii::app()->request->isAjaxRequest) {
         $this->layout = '//layouts/polos';
     }
     $gaji = 0;
     $modKaryawan = KKaryawanM::model()->findByPK($id);
     $lamaBlnKerja = $this->monthDifference($modKaryawan->tglditerima, date('Y-m-d'));
     $masterGaji = MastergajiM::model()->findByAttributes(array('lama_bln' => $lamaBlnKerja));
     if (isset($masterGaji)) {
         $gaji = $masterGaji->gajipokok;
     } else {
         $gaji = 0;
     }
     $gaji1bln = MastergajiM::model()->findByAttributes(array('lama_bln' => 1));
     $gajiPokok = number_format($gaji);
     $gaji = number_format($gajiPokok);
     //             echo $gaji1bln->gajipokok;
     //             echo $gajiPokok;
     $modKomponengaji = new KomponengajiM();
     $number = 1000;
     $money = number_format($number);
     //             echo $money;
     //
     $cek = KarykomponenM::model()->findByAttributes(array('karyawan_id' => $id));
     if (COUNT($cek) < 1) {
         $modKarykomponen = new KarykomponenM();
         $modKarykomponen->tglberlaku = date('Y-m-d H:i:s');
     } else {
         $modKarykomponen = $cek;
     }
     if (isset($_POST['komponengaji_id']) || isset($_POST['jumlah'])) {
         //                echo "<pre>";
         //                print_r($_POST);exit;
         KarykomponenM::model()->deleteAllByAttributes(array('karyawan_id' => $id, 'tglberlaku' => $_POST['KarykomponenM']['tglberlaku']));
         for ($n = 0; $n < COUNT($_POST['komponengaji_id']); $n++) {
             $cekkomponengaji = KarykomponenM::model()->findByAttributes(array('karyawan_id' => $id, 'komponengaji_id' => $_POST['komponengaji_id'][$n], 'tglberlaku' => $_POST['KarykomponenM']['tglberlaku']));
             //                    if (COUNT($cekkomponengaji) > 0) {
             //                            $modKarykomponen = KarykomponenM::model()->findByPK($cekkomponengaji->karykomponen_m);
             //                         } else {
             //                            $modKarykomponen = new KarykomponenM;
             //                            $modKarykomponen->tglberlaku = date('Y-m-d');
             //                         }
             $modKarykomponen = new KarykomponenM();
             $modKarykomponen->tglberlaku = date('Y-m-d');
             $komponengaji_id = $_POST['komponengaji_id'][$n];
             $modKarykomponen->karyawan_id = $id;
             $modKarykomponen->komponengaji_id = $komponengaji_id;
             //                                $jumlah = isset($_POST['jumlah'][$komponengaji_id]) ? $_POST['jumlah'][$komponengaji_id] : 0;
             $jumlah = isset($_POST['total'][$komponengaji_id]) ? $_POST['total'][$komponengaji_id] : 0;
             $modKarykomponen->jumlah = Params::formatNumberForDB($jumlah);
             //                    CActiveForm::validate($modKarykomponen);
             if ($modKarykomponen->validate()) {
                 $modKarykomponen->save();
             } else {
                 Yii::app()->user->setFlash('status', 'Data gagal tersimpan');
             }
         }
         $this->redirect(array('index', 'id' => $id));
     }
     $this->render('_formKomponengaji', array('modKomponengaji' => $modKomponengaji, 'modKarykomponen' => $modKarykomponen, 'masterGaji' => $masterGaji, 'gaji1bln' => $gaji1bln));
 }