public function actionCreateJurnalUmum()
 {
     //        return;
     if (!app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         $status = false;
         $msg = 'Jurnal umum berhasil disimpan.';
         $user = app()->user->getId();
         $detils = CJSON::decode($_POST['detil']);
         $transaction = app()->db->beginTransaction();
         try {
             $ref = new MtReferenceCom();
             $docref = $ref->get_next_reference(JURNAL_UMUM);
             $jurnal_umum_id = Mt::get_max_type_no(JURNAL_UMUM);
             $jurnal_umum_id++;
             foreach ($detils as $detil) {
                 $amount = $detil['debit'] > 0 ? $detil['debit'] : -$detil['kredit'];
                 Mt::add_gl(JURNAL_UMUM, $jurnal_umum_id, $_POST['tran_date'], $docref, $detil['account'], "-", $amount, $user, $detil['id_mobil']);
             }
             $ref->save(JURNAL_UMUM, $jurnal_umum_id, $docref);
             $transaction->commit();
             $status = true;
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
         echo CJSON::encode(array('success' => $status, 'id' => $docref, 'msg' => $msg));
         app()->end();
     }
 }
 public function actionCreate()
 {
     // return;
     $model = new MtPinjamKendaraan();
     if (!Yii::app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         $status = false;
         $msg = 'Peminjaman kendaraan berhasil disimpan.';
         $transaction = app()->db->beginTransaction();
         $id = -1;
         try {
             $ref = new MtReferenceCom();
             $docref = $ref->get_next_reference(PINJAM_KENDARAAN);
             $user = app()->user->getId();
             foreach ($_POST as $k => $v) {
                 if ($k == 'ongkos_sewa' || $k == 'ongkos_driver' || $k == 'ongkos_bbm' || $k == 'total_ongkos' || $k == 'dp' || $k == 'sisa_tagihan' || $k == 'disc' || $k == 'total') {
                     $v = get_number($v);
                 }
                 $_POST['MtPinjamKendaraan'][$k] = $v;
             }
             $_POST['MtPinjamKendaraan']['entry_time'] = Now();
             $_POST['MtPinjamKendaraan']['id_driver'] = is_integer($_POST['MtPinjamKendaraan']['id_driver']) ? $_POST['MtPinjamKendaraan']['id_driver'] : NULL;
             $_POST['MtPinjamKendaraan']['users_id'] = $user;
             $_POST['MtPinjamKendaraan']['doc_ref'] = $docref;
             $model->attributes = $_POST['MtPinjamKendaraan'];
             $msg = "Data gagal disimpan";
             if ($model->save()) {
                 $status = true;
                 $msg = "Data berhasil di simpan dengan id " . $model->id_pinjam;
             } else {
                 $status = false;
             }
             $id = $docref;
             $date = $model->trans_date;
             $ref->save(PINJAM_KENDARAAN, $model->id_pinjam, $docref);
             if ($model->dp > 0) {
                 $bank_account = '0';
                 if ($model->trans_via == "Tunai") {
                     $bank_account = Mt::get_act_code_from_bank_act(Mt::get_prefs('akun_kas_ditangan'));
                 } else {
                     $bank_account = Mt::get_act_code_from_bank_act(Mt::get_prefs('akun_kas_dibank'));
                 }
                 // debet kas - kredit pendapatan
                 Mt::add_gl(PINJAM_KENDARAAN, $model->id_pinjam, $date, $docref, $bank_account, '-', $model->dp, $user, $model->id_mobil);
                 Mt::add_gl(PINJAM_KENDARAAN, $model->id_pinjam, $date, $docref, Mt::get_prefs('akun_uang_muka'), '-', -$model->dp, $user, $model->id_mobil);
             }
             $transaction->commit();
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
         echo CJSON::encode(array('success' => $status, 'msg' => $msg, 'id' => $id));
         Yii::app()->end();
     }
 }
 public function actionCreate()
 {
     if (!app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         $status = false;
         $msg = 'Kas masuk berhasil disimpan.';
         $user = app()->user->getId();
         $id = -1;
         //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc');
         $transaction = app()->db->beginTransaction();
         try {
             $ref = new MtReferenceCom();
             $docref = $ref->get_next_reference(KAS_MASUK);
             $kas_masuk = new MtKasMasuk();
             foreach ($_POST as $k => $v) {
                 if ($k == 'amount') {
                     $v = get_number($v);
                 }
                 $_POST['MtKasMasuk'][$k] = $v;
             }
             $date = $_POST['MtKasMasuk']['trans_date'];
             $_POST['MtKasMasuk']['entry_time'] = Now();
             $_POST['MtKasMasuk']['users_id'] = $user;
             $_POST['MtKasMasuk']['doc_ref'] = $docref;
             $_POST['MtKasMasuk']['id_mobil'] = $_POST['MtKasMasuk']['id_mobil'] != '' ? $_POST['MtKasMasuk']['id_mobil'] : NULL;
             $kas_masuk->attributes = $_POST['MtKasMasuk'];
             $kas_masuk->save();
             $id = $docref;
             $ref->save(KAS_MASUK, $kas_masuk->kas_masuk_id, $docref);
             $bank_account = Mt::get_act_code_from_bank_act($kas_masuk->mt_bank_accounts_id);
             $act_donatur = $kas_masuk->account_code;
             //debet kode kas/bank - kredit pendapatan
             Mt::add_gl(KAS_MASUK, $kas_masuk->kas_masuk_id, $date, $docref, $bank_account, '-', $kas_masuk->amount, $user, $kas_masuk->id_mobil);
             Mt::add_gl(KAS_MASUK, $kas_masuk->kas_masuk_id, $date, $docref, $act_donatur, $kas_masuk->note, -$kas_masuk->amount, $user, $kas_masuk->id_mobil);
             $transaction->commit();
             $status = true;
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
     }
     echo CJSON::encode(array('success' => $status, 'id' => $id, 'msg' => $msg));
     app()->end();
 }
 public function actionCreateTransfer()
 {
     if (!Yii::app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc');
         $status = false;
         $msg = 'Transfer antar kas berhasil diproses.';
         $id = -1;
         $bank_asal = $_POST['bank_act_asal'];
         $bank_tujuan = $_POST['bank_act_tujuan'];
         $trans_date = $_POST['trans_date'];
         $memo = $_POST['memo'];
         $amount = get_number($_POST['amount']);
         if ($bank_asal == $bank_tujuan) {
             echo CJSON::encode(array('success' => false, 'id' => -1, 'msg' => 'Bank asal dan bank tujuan tidak boleh sama.'));
             Yii::app()->end();
         }
         if ($amount <= 0) {
             echo CJSON::encode(array('success' => false, 'id' => -1, 'msg' => 'Jumlah yang akan ditransfer harus lebih dari nol.'));
             Yii::app()->end();
         }
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $ref = new MtReferenceCom();
             $docref = $ref->get_next_reference(BANKTRANSFER);
             $bank_account_asal = Mt::get_act_code_from_bank_act($bank_asal);
             $bank_account_tujuan = Mt::get_act_code_from_bank_act($bank_tujuan);
             $trans_no = Mt::get_next_trans_no_bank_trans();
             $user = Yii::app()->user->getId();
             //debet kode bank tujuan - kredit kode bank asal
             Mt::add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_tujuan, $memo, $amount, $user, null);
             Mt::add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_asal, $memo, -$amount, $user, null);
             $ref->save(BANKTRANSFER, $trans_no, $docref);
             $id = $docref;
             $transaction->commit();
             $status = true;
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
         echo CJSON::encode(array('success' => $status, 'id' => $id, 'msg' => $msg));
         Yii::app()->end();
     }
 }
 public function actionCreate()
 {
     $model = new MtKembaliKendaraan();
     if (!Yii::app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         $status = false;
         $msg = 'Peminjaman kendaraan berhasil disimpan.';
         $transaction = app()->db->beginTransaction();
         $id = -1;
         try {
             $ref = new MtReferenceCom();
             $docref = $ref->get_next_reference(KEMBALI_KENDARAAN);
             $user = app()->user->getId();
             foreach ($_POST as $k => $v) {
                 if ($k == 'ongkos_sewa' || $k == 'ongkos_driver' || $k == 'ongkos_bbm' || $k == 'total_ongkos' || $k == 'dp' || $k == 'ongkos_extend' || $k == 'disc' || $k == 'total' || $k == 'pelunasan') {
                     $v = get_number($v);
                 }
                 $_POST['MtKembaliKendaraan'][$k] = $v;
             }
             $_POST['MtKembaliKendaraan']['entry_time'] = Now();
             $_POST['MtKembaliKendaraan']['users_id'] = $user;
             $_POST['MtKembaliKendaraan']['doc_ref_kembali'] = $docref;
             $model->attributes = $_POST['MtKembaliKendaraan'];
             $msg = "Data gagal disimpan";
             if ($model->save()) {
                 $status = true;
                 $msg = "Data berhasil di simpan dengan id " . $model->id_kembali;
             } else {
                 $status = false;
             }
             $id = $docref;
             $date = $model->trans_date;
             $ref->save(KEMBALI_KENDARAAN, $model->id_kembali, $docref);
             if ($model->pelunasan > 0) {
                 $bank_account = '0';
                 if ($model->trans_via == "Tunai") {
                     $bank_account = Mt::get_act_code_from_bank_act(Mt::get_prefs('akun_kas_ditangan'));
                 } else {
                     $bank_account = Mt::get_act_code_from_bank_act(Mt::get_prefs('akun_kas_dibank'));
                 }
                 Mt::add_gl(KEMBALI_KENDARAAN, $model->id_kembali, $date, $docref, $bank_account, '-', $model->pelunasan, $user, $model->idPinjam->id_mobil);
                 Mt::add_gl(KEMBALI_KENDARAAN, $model->id_kembali, $date, $docref, Mt::get_prefs('akun_uang_muka'), "-", $model->dp, $user, $model->idPinjam->id_mobil);
                 Mt::add_gl(KEMBALI_KENDARAAN, $model->id_kembali, $date, $docref, Mt::get_prefs('akun_pendapatan_sewa'), '-', -$model->total, $user, $model->idPinjam->id_mobil);
                 if ($model->disc > 0) {
                     Mt::add_gl(KEMBALI_KENDARAAN, $model->id_kembali, $date, $docref, Mt::get_prefs('akun_diskon'), "-", $model->disc, $user, $model->idPinjam->id_mobil);
                 }
             }
             $pinjam = $this->loadModel($model->id_pinjam, 'MtPinjamKendaraan');
             $pinjam->is_back = 1;
             $pinjam->id_driver = $_POST['MtKembaliKendaraan']['id_driver'];
             $pinjam->save();
             $transaction->commit();
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
         echo CJSON::encode(array('success' => $status, 'msg' => $msg, 'id' => $id));
         Yii::app()->end();
     }
 }