public function actionCreate() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $gl = new GlPah(); $status = false; $msg = 'Kas keluar berhasil disimpan.'; $user = Yii::app()->user->getId(); $id = -1; //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $ref = new PahReferenceCom(); $docref = $ref->get_next_reference(KAS_KELUAR); $kas_keluar = new PahKasKeluar(); foreach ($_POST as $k => $v) { if ($k == 'amount') { $v = get_number($v); } $_POST['PahKasKeluar'][$k] = $v; } $date = $_POST['PahKasKeluar']['trans_date']; $_POST['PahKasKeluar']['entry_time'] = Now(); $_POST['PahKasKeluar']['users_id'] = $user; $_POST['PahKasKeluar']['doc_ref'] = $docref; $kas_keluar->attributes = $_POST['PahKasKeluar']; if (!$kas_keluar->save()) { throw new Exception("Gagal menyimpan kas keluar."); } $id = $docref; $ref->save(KAS_KELUAR, $kas_keluar->kas_keluar_id, $docref); $bank_account = Pah::get_act_code_from_bank_act($kas_keluar->pah_bank_accounts_id); //debet kode beban - kredit kas/bank $gl->add_gl(KAS_KELUAR, $kas_keluar->kas_keluar_id, $date, $docref, $kas_keluar->pah_chart_master_account_code, $kas_keluar->note, $kas_keluar->amount, $user); $gl->add_gl(KAS_KELUAR, $kas_keluar->kas_keluar_id, $date, $docref, $bank_account, '-', -$kas_keluar->amount, $user); $gl->validate(); $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(); }