/** * 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)); }