public function updateTranLoanById($data) { try { $db = $this->getAdapter(); $db->beginTransaction(); $session_user = new Zend_Session_Namespace('auth'); $user_id = $session_user->user_id; $is_allinterest = 0; if (!empty($data['all_interest'])) { $is_allinterest = $data['all_interest']; } $arr = array('sender_id' => $data['sender'], 'invoice' => $data['invoice_no'], 'loan_date' => $data['loan_date'], 'user_id' => $user_id, 'status' => 1, 'is_allinterest' => $is_allinterest); $where = $db->quoteInto('b_id=?', $data['tran_id']); $this->update($arr, $where); $db_tran = new Application_Model_DbTable_DbCustomerLoan(); $rows = $db_tran->getBorrowDetail($data['tran_id']); $dbc = new Application_Model_DbTable_DbCapital(); $this->_name = 'cs_capital_detail'; foreach ($rows as $key => $rs) { $row = $dbc->DetechCapitalExist($user_id, $rs['currency_type'], null); if (!empty($row)) { $arr = array('amount' => $row['amount'] + $rs['loan_amount']); $dbc->updateCurrentBalanceById($row['id'], $arr); $where = ' tran_id = ' . $rs['id'] . ' AND tran_type = 5 '; $this->delete($where); //for delete capital detail } } $this->_name = 'cs_borrow_detail'; $where = 'br_id = ' . $data['tran_id']; $this->delete($where); $process = 0; $amount = 0; for ($i = 1; $i < 4; $i++) { //for add capital detail and update current capital by staff if (!empty($data['borrow_dollar']) and $i == 1) { $process = 1; $curr_type = 1; $amount = $data['borrow_dollar'] + ($data['debt_dollar'] - $data['old_dollar']); if ($data['sender'] != $data['old_sender']) { $amount = $data['borrow_dollar'] + $data['debt_dollar']; } $interest_rate = empty($data['all_interest']) == 0 ? $data['total_interest'] : $data['interest_dollar']; } elseif (!empty($data['borrow_bath']) and $i == 2) { $process = 1; $curr_type = 2; $amount = $data['borrow_bath'] + ($data['debt_bath'] - $data['old_bath']); if ($data['sender'] != $data['old_sender']) { $amount = $data['borrow_bath'] + $data['debt_bath']; } $interest_rate = empty($data['all_interest']) == 0 ? $data['total_interest'] : $data['interest_bath']; } elseif (!empty($data['borrow_riel']) and $i == 3) { $process = 1; $curr_type = 3; $amount = $data['borrow_riel'] + ($data['debt_khmer'] - $data['old_riel']); if ($data['sender'] != $data['old_sender']) { $amount = $data['borrow_riel'] + $data['debt_khmer']; } $interest_rate = empty($data['all_interest']) == 0 ? $data['total_interest'] : $data['interest_riel']; } if ($process == 1) { //with loan tran_type = 5 $arr = array('br_id' => $data['tran_id'], 'currency_type' => $curr_type, 'loan_amount' => $amount, 'laon_rate' => $interest_rate, 'BD' => $data['BD'], 'RD' => $data['RD'], 'RB' => $data['RB'], 'status' => 1); $l_id = $this->insert($arr); $arr = array('tran_id' => $l_id, 'tran_type' => 5, 'curr_type' => $curr_type, 'amount' => -$amount, 'user_id' => $user_id); $dbc->addMoneyToCapitalDetail($arr); $rs = $dbc->DetechCapitalExist($session_user->user_id, $curr_type, null); if (!empty($rs)) { //update old user $arr = array('amount' => $rs['amount'] - $amount); $dbc->updateCurrentBalanceById($rs['id'], $arr); } else { $date = date("Y-m-d H:i:s"); $arr = array('amount' => -$amount, 'currencyType' => $curr_type, 'userid' => $user_id, 'statusDate' => $date); $dbc->AddCurrentBalanceById($arr); } } $process = 0; } $db->commit(); } catch (Exception $e) { $db->rollBack(); } }
public function getAmountAction() { if ($this->getRequest()->isPost()) { $_data = $this->getRequest()->getPost(); $_db = new Application_Model_DbTable_DbCustomerLoan(); $moneys = $_db->getAddLoanSenderNameById($_data['sender_id']); print_r(Zend_Json::encode($moneys)); exit; } }