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(); } app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $ref = new PeReferenceCom(); $docref = $ref->get_next_reference(BANKTRANSFER); $bank_account_asal = Pe::get_act_code_from_bank_act($bank_asal); $bank_account_tujuan = Pe::get_act_code_from_bank_act($bank_tujuan); $trans_no = Pe::get_next_trans_no_bank_trans(); $user = Yii::app()->user->getId(); //debet kode bank tujuan - kredit kode bank asal Pe::add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_tujuan, $memo, $amount, $user); Pe::add_gl(BANKTRANSFER, $trans_no, $trans_date, $docref, $bank_account_asal, $memo, -$amount, $user); $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 actionDelete($id) { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $id = $_POST['id']; $memo_ = $_POST['memo_']; $status = false; $msg = 'Transaksi berhasil divoid.'; $user = Yii::app()->user->getId(); //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $aktivitas = PeAktivitasGrupTrans::model()->findByPk($id); $date = $aktivitas->trans_date; $docref = $aktivitas->doc_ref; // $bank_account = $kas_masuk->pe_bank_accounts_id; $void = new PeVoided(); $void->type = T_AKTIVITASGRUP; $void->id = $id; $void->date_ = $date; $void->memo_ = $memo_; if (!$void->save()) { throw new Exception("Gagal menyimpan void."); } $bank = PeBankAccounts::model()->findByPk($aktivitas->pe_bank_accounts_id); $act_sub = $aktivitas->peSubAktivitas->account_code; //void gl //beban kredit , kas debet karena pengeluaran Pe::add_gl(VOID, $void->id_voided, $date, $docref, $bank->account_code, "VOID Aktivitas Grup {$docref}", $aktivitas->amount, $user); Pe::add_gl(VOID, $void->id_voided, $date, $docref, $act_sub, "VOID Aktivitas Grup {$docref}", -$aktivitas->amount, $user); $transaction->commit(); $status = true; } catch (Exception $ex) { $transaction->rollback(); $status = false; $msg = $ex; } } echo CJSON::encode(array('success' => $status, 'msg' => $msg)); Yii::app()->end(); }
public function actionDelete() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $id = $_POST['id']; $memo_ = $_POST['memo_']; $status = false; $msg = 'Kas keluar berhasil divoid.'; $user = Yii::app()->user->getId(); //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { $kas_keluar = PeKasKeluar::model()->findByPk($id); $date = $kas_keluar->trans_date; $docref = $kas_keluar->doc_ref; // $bank_account = $kas_masuk->pe_bank_accounts_id; $void = new PeVoided(); $void->type = KAS_KELUAR; $void->id = $id; $void->date_ = $date; $void->memo_ = $memo_; if (!$void->save()) { throw new Exception("Gagal menyimpan void."); } $bank = PeBankAccounts::model()->findByPk($kas_keluar->pe_bank_accounts_id); //void gl Pe::add_gl(VOID, $void->id_voided, $date, $docref, $bank->account_code, "VOID Kas Keluar {$docref}", $kas_keluar->amount, $user); Pe::add_gl(VOID, $void->id_voided, $date, $docref, $kas_keluar->pe_account_code, "VOID Kas Keluar {$docref}", -$kas_keluar->amount, $user); $transaction->commit(); $status = true; } catch (Exception $ex) { $transaction->rollback(); $status = false; $msg = $ex; } } echo CJSON::encode(array('success' => $status, 'msg' => $msg)); Yii::app()->end(); // if (Yii::app()->request->isPostRequest) { // $this->loadModel($id, 'PeKasKeluar')->delete(); // // if (!Yii::app()->request->isAjaxRequest) // $this->redirect(array('admin')); // } else // throw new CHttpException(400, // Yii::t('app', 'Invalid request. Please do not repeat this request again.')); }
public function actionSetSaldoAwal() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); $status = false; $msg = 'Saldo Awal berhasil disimpan.'; $date = $_POST['trans_date']; $user = Yii::app()->user->getId(); $id = Pe::get_next_trans_saldo_awal(); app()->db->autoCommit = false; $transaction = app()->db->beginTransaction(); try { Pe::add_gl(SALDO_AWAL, $id, $date, "-", $_POST['account_code'], '-', get_number($_POST['amount']), $user); $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(); } }