/**
  * 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 actionBayarkan($id = null)
 {
     $modPengeluarankas = new PengeluarankasT();
     $model = new PinjamanpegT();
     $model->pinjamanpeg_id = $modPengeluarankas->pinjamanpeg_id;
     $model->pengeluarankas_id = $modPengeluarankas->pengeluarankas_id;
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (!empty($id)) {
         $model = PinjamanpegT::model()->findByPk($id);
         $modDetails = PinjampegdetT::model()->findAll('pinjamanpeg_id = ' . $model->pinjamanpeg_id . ' ');
         //$model->karyawan_id = $model->karyawan->nama_karyawan;
     }
     if (isset($_POST['bayar'])) {
         $modPengeluarankas->jenispengeluaran_id = $_POST['PinjamanpegT']['jenispengeluaran_id'];
         $modPengeluarankas->pinjamanpeg_id = $model->pinjamanpeg_id;
         $modPengeluarankas->tglpengeluaran = date('Y-m-d H:i:s');
         $modPengeluarankas->nopengeluaran = Params::noPengeluaran();
         $modPengeluarankas->untukkeperluan = $model->untukkeperluan;
         $modPengeluarankas->namapenerima = $model->karyawan->nama_karyawan;
         $modPengeluarankas->keterangan = $model->keterangan;
         $modPengeluarankas->jmlkeluar = $model->jumlahpinjaman;
         $modPengeluarankas->pegpengeluran = $_POST["pegpengeluaran"];
         if ($modPengeluarankas->save()) {
             //                $model->pengeluarankas_id = $modPengeluarankas->pengeluarankas_id;
             //                $model->save();
             PinjamanpegT::model()->updateByPk($id, array('pengeluarankas_id' => $modPengeluarankas->pengeluarankas_id));
             $this->redirect(array('admin', 'id' => $model->pinjamanpeg_id));
         }
     }
     $this->render('bayarkan', array('model' => $model, 'modDetails' => $modDetails, 'modPengeluarankas' => $modPengeluarankas));
 }
Пример #3
0
 public static function model($className = __CLASS__)
 {
     parent::model($className);
 }