public function actionCreate() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $gl = new GlPah(); $status = false; $msg = 'Kas masuk 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_MASUK); $kas_masuk = new PahKasMasuk(); foreach ($_POST as $k => $v) { if ($k == 'amount') { $v = get_number($v); } $_POST['PahKasMasuk'][$k] = $v; } $date = $_POST['PahKasMasuk']['trans_date']; $_POST['PahKasMasuk']['entry_time'] = Now(); $_POST['PahKasMasuk']['users_id'] = $user; $_POST['PahKasMasuk']['doc_ref'] = $docref; $kas_masuk->attributes = $_POST['PahKasMasuk']; if (!$kas_masuk->save()) { throw new Exception("Gagal menyimpan kas masuk."); } $id = $docref; $ref->save(KAS_MASUK, $kas_masuk->kas_masuk_id, $docref); $bank_account = Pah::get_act_code_from_bank_act($kas_masuk->pah_bank_accounts_id); $act_donatur = $kas_masuk->pahDonatur->pah_chart_master_account_code; //debet kode kas/bank - kredit pendapatan $gl->add_gl(KAS_MASUK, $kas_masuk->kas_masuk_id, $date, $docref, $bank_account, '-', $kas_masuk->amount, $user); $gl->add_gl(KAS_MASUK, $kas_masuk->kas_masuk_id, $date, $docref, $act_donatur, $kas_masuk->note, -$kas_masuk->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(); }
public function actionCreate() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $gl = new GlPah(); $status = false; $msg = 'Anggaran 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(AKTIVITAS); $aktivitas = new PahAktivitas(); foreach ($_POST as $k => $v) { if ($k == 'amount') { $v = get_number($v); } $_POST['PahAktivitas'][$k] = $v; } $date = $_POST['PahAktivitas']['trans_date']; $_POST['PahAktivitas']['entry_time'] = Now(); $_POST['PahAktivitas']['users_id'] = $user; $_POST['PahAktivitas']['doc_ref'] = $docref; $aktivitas->attributes = $_POST['PahAktivitas']; if (!$aktivitas->save()) { throw new Exception("Gagal menyimpan aktivitas."); } $id = $docref; $ref->save(AKTIVITAS, $aktivitas->aktivitas_id, $docref); $bank_account = Pah::get_act_code_from_bank_act($aktivitas->pah_bank_accounts_id); $act_sub = $aktivitas->pahSubAktivitas->account_code; //debet kode beban - kredit kas bank $gl->add_gl(AKTIVITAS, $aktivitas->aktivitas_id, $date, $docref, $act_sub, $aktivitas->note, $aktivitas->amount, $user); $gl->add_gl(AKTIVITAS, $aktivitas->aktivitas_id, $date, $docref, $bank_account, '-', -$aktivitas->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(); } }
public function actionCreateTransfer() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $gl = new GlPah(); //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(); } app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $ref = new PahReferenceCom(); $docref = $ref->get_next_reference(BANKTRANSFER); $bank_account_asal = Pah::get_act_code_from_bank_act($bank_asal); $bank_account_tujuan = Pah::get_act_code_from_bank_act($bank_tujuan); $trans_no = Pah::get_next_trans_no_bank_trans(); $user = Yii::app()->user->getId(); //debet kode bank tujuan - kredit kode bank asal $gl->add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_tujuan, $memo, $amount, $user); $gl->add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_asal, $memo, -$amount, $user); $ref->save(BANKTRANSFER, $trans_no, $docref); $id = $docref; $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(); } }
public function actionCreate() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $status = false; $msg = 'Anggaran berhasil disimpan.'; $bulanStr = $_POST['bulanStr']; $bulan = $_POST['periode_bulan']; $tahun = $_POST['periode_tahun']; $detils = CJSON::decode($_POST['detil']); //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $anggaran = new PahAnggaran(); $ref = new PahReferenceCom(); $docref = $ref->get_next_reference(ANGGARAN); $_POST['PahAnggaran']['doc_ref'] = $docref; $_POST['PahAnggaran']['periode_bulan'] = $bulan; $_POST['PahAnggaran']['periode_tahun'] = $tahun; $_POST['PahAnggaran']['lock'] = 0; $_POST['PahAnggaran']['trans_date'] = Yii::app()->dateFormatter->format('yyyy-MM-dd', time()); $_POST['PahAnggaran']['users_id'] = Yii::app()->user->getId(); $anggaran->attributes = $_POST['PahAnggaran']; if (!$anggaran->save()) { throw new Exception("Gagal menyimpan anggaran."); } foreach ($detils as $detil) { $anggaran_detil = new PahAnggaranDetil(); $_POST['PahAnggaranDetil']['pah_chart_master_account_code'] = $detil['pah_chart_master_account_code']; $_POST['PahAnggaranDetil']['amount'] = $detil['amount']; $_POST['PahAnggaranDetil']['pah_anggaran_id'] = $anggaran->id; $anggaran_detil->attributes = $_POST['PahAnggaranDetil']; if (!$anggaran_detil->save()) { throw new Exception("Gagal menyimpan detil anggaran."); } } //$anggaran->pahAnggaranDetils = $ag_detil; $ref->save(ANGGARAN, $anggaran->id, $docref); $transaction->commit(); $status = true; } catch (Exception $ex) { $transaction->rollback(); $status = false; $msg = $ex; } echo CJSON::encode(array('success' => $status, 'bulan' => $bulanStr, 'tahun' => $tahun, 'id' => $docref, 'msg' => $msg)); Yii::app()->end(); } }