예제 #1
0
 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();
     }
 }
예제 #2
0
 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;
     }
 }