public function GetTercerosCheques() { $table = $this->getDbTable(); $select = $table->select(); $select->setIntegrityCheck(false); $select->from(array('cqu' => 'cheques'), array('id as cheque_id', 'operation_id', 'date as cheque_date', 'check_n', 'balance', 'amount as cheque_amount', 'liquidacion_id', 'status as cheque_status', 'terceros_today_value', 'terceros_tasa_anual', 'terceros_days')); $select->joinLeft(array('cls1' => 'clients'), 'cqu.client_id = cls1.id', array('id as tercero_client_id', 'first_name as tercero_first_name', 'last_name as tercero_last_name')); $select->joinInner(array('ops' => 'operations'), 'cqu.operation_id = ops.id', array('amount as operation_amount', 'type as operation_type')); $select->joinLeft(array('cls' => 'clients'), 'ops.client_id = cls.id', array('id as client_id', 'first_name', 'last_name', 'business')); //$select->joinLeft(array('cps' => 'credit_providers'), 'cqu.credit_provider_id = cps.id', array('name as sup_name')); $select->joinLeft(array('cps' => 'providers'), 'cqu.provider_id = cps.id', array('name as prov_name')); $select->joinLeft(array('chqs' => 'cheques_status'), 'cqu.status = chqs.id', array('status_list')); $select->joinLeft(array('liqs' => 'liquidaciones'), 'cqu.liquidacion_id = liqs.id', array('date as liq_date')); $select->where('ops.type = ?', 2); //op with terceros $select->where('cqu.status != ?', 5); //5=cheque fantasma $select->where('cqu.status != ?', 6); //6=en proceso $select->order('cqu.id ASC'); $resultSet = $table->fetchAll($select); $entries = array(); foreach ($resultSet as $row) { $entry = new Gyuser_Model_Cheques(); $entry->setId($row->cheque_id); $entry->setOperation_id($row->operation_id); $entry->setOperation_type($row->operation_type); $entry->setClient_id($row->client_id); $entry->setFirst_name($row->first_name); $entry->setLast_name($row->last_name); $entry->setTercero_client_id($row->tercero_client_id); $entry->setTercero_first_name($row->tercero_first_name); $entry->setTercero_last_name($row->tercero_last_name); $entry->setTerceros_today_value($row->terceros_today_value); $entry->setTerceros_tasa_anual($row->terceros_tasa_anual); $entry->setTerceros_days($row->terceros_days); $entry->setEmpresa($row->business); $entry->setDate(date("d/m/Y", strtotime($row->cheque_date))); $entry->setCheck_n($row->check_n); $entry->setAmount($row->cheque_amount); $entry->setBalance($row->balance); $entry->setStatus($row->cheque_status); $entry->setStatus_name($row->status_list); if ($row->liquidacion_id) { //the check was passed to a prov $entry->setLiquidacion_id($row->liquidacion_id); $entry->setCave_name($row->prov_name); $entry->setLiq_date(date("d/m/Y", strtotime($row->liq_date))); /* if($row->sup_name) //it was passed to a credit provider $entry->setCave_name($row->sup_name); else //otherwise if name is null it means it was passed to lavalle $entry->setCave_name('Lavalle'); */ } $entries[] = $entry; } return $entries; }
public function savepaymentforrejectedchequeajaxAction() { try { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $request = $this->getRequest(); if ($this->getRequest()->isPost()) { $paymentType = $request->payment_type; switch ($paymentType) { case 1: $Obj = new Gyuser_Model_Cobranzas(); $Obj->setClient_id($request->client_id); $Obj->setOperation_id($request->operation_id); $Obj->setCheque_id($request->cheque_id); $Obj->setDate_paid($request->date_paid); $Obj->setPaid_amount($request->paid_amount); $Obj->setPrevious_balance($request->previous_balance); $Obj->setCurrent_balance($request->current_balance); $Obj->setPayment_type($request->payment_type); break; case 2: $Obj = new Gyuser_Model_Cobranzas(); $Obj->setClient_id($request->client_id); $Obj->setOperation_id($request->operation_id); $Obj->setCheque_id($request->cheque_id); $Obj->setDate_paid($request->date_paid); $Obj->setPaid_amount($request->paid_amount); $Obj->setPrevious_balance($request->previous_balance); $Obj->setCurrent_balance($request->current_balance); $Obj->setPayment_type($request->payment_type); $chqObj = new Gyuser_Model_Cheques(); $chqObj->setAmount($request->paid_amount); $chqObj->setStatus(1); $chqObj->setRejected_bank_id($request->rejected_bank_id); $chqObj->setOperation_id($request->operation_id); $chqObj->setClient_id($request->client_id); $chqObj->setCheck_n($request->new_cheque_n); $chqObj->setDate($request->cheque_date); $chqObj->setRejected_check_payment(1); $Obj->setCheques_obj($chqObj); break; case 3: $Obj = new Gyuser_Model_Cobranzas(); $Obj->setClient_id($request->client_id); $Obj->setOperation_id($request->operation_id); $Obj->setCheque_id($request->cheque_id); $Obj->setDate_paid($request->date_paid); $Obj->setPaid_amount($request->paid_amount); $Obj->setPrevious_balance($request->previous_balance); $Obj->setCurrent_balance($request->current_balance); $Obj->setPayment_type($request->payment_type); $chqObj = new Gyuser_Model_Cheques(); $chqObj->setAmount($request->paid_amount); $chqObj->setStatus(1); $chqObj->setOperation_id($request->operation_id); $chqObj->setClient_id($request->client_id); $chqObj->setCheck_n($request->new_cheque_n); $chqObj->setDate($request->cheque_date); $chqObj->setRejected_check_payment(2); $Obj->setCheques_obj($chqObj); $bankObj = new Gyuser_Model_BankAccounts(); $bankObj->setUser_id($request->client_id); $bankObj->setBank_name($request->bank_name); $bankObj->setBranch($request->branch); $bankObj->setAccount_n($request->account_n); $bankObj->setOpening_date($request->opening_date); $bankObj->setZip_code($request->check_zip_code); $bankObj->setLocation_capital($request->location_capital); $Obj->setBank_accounts_obj($bankObj); break; } $mapper = new Gyuser_Model_CobranzasDataMapper(); $id = $mapper->SavePaymentForRejectedCheque($Obj); echo $id; } } catch (Exception $e) { echo $e; } }
public function OperationStateChange(Gyuser_Model_Operations $obj, $chequesList = null, $chequeId = null) { $success = 0; $opResult = $this->GetStateByOperationId($obj); $currentStateId = (int) $opResult['stateid']; $newStateId = $obj->getState(); //fix get op client_id and bank_account_id $op = $this->getDetailsByOpId($obj->getId()); $obj->setClient_id($op->getClient_id()); $obj->setBank_account_id($op->getBank_account_id()); if ($currentStateId < $newStateId) { switch ($newStateId) { case 2: $data = array('state_order_id' => $obj->getState(), 'cave_id' => $obj->getCave_id()); break; case 3: case 4: $data = array('state_order_id' => $obj->getState(), 'report' => $obj->getReport()); break; case 5: $mapper = new Gyuser_Model_OperationsDataMapper(); $arc_hrs = $mapper->GetAcreditacionHrsByOperationId($obj); $chequesMapper = new Gyuser_Model_ChequesDataMapper(); $cheques = new Gyuser_Model_Cheques(); $cheques->setOperation_id($obj->getId()); $cheques->setClient_id($obj->getClient_id()); $cheques->setBank_account_id($obj->getBank_account_id()); $cheques->setAcreditacion_hrs($arc_hrs); $cheques->setCheques_list($chequesList); $result = $chequesMapper->SaveCheques($cheques); $iMapper = new Gyuser_Model_InterestsDataMapper(); $interests = new Gyuser_Model_Interests(); $interests = $iMapper->getInterestRate($obj->getInterests_id()); $data = array('state_order_id' => $obj->getState(), 'amount' => $obj->getAmount(), 'plan_id' => $obj->getPlan_id(), 'interests_id' => $obj->getInterests_id(), 'tasa_porcentual' => $interests->getRate()); break; case 8: case 9: $chequesMapper = new Gyuser_Model_ChequesDataMapper(); $cheques = new Gyuser_Model_Cheques(); $cheques->setId($chequeId); $cheques->setOperation_id($obj->getId()); $cheques->setClient_id($obj->getClient_id()); $cheques->setBank_account_id($obj->getBank_account_id()); $cheques->setCheques_list($chequesList); $chequesResult = $chequesMapper->SaveCheques($cheques); $data = array('amount' => $obj->getAmount(), 'plan_id' => $obj->getPlan_id(), 'state_order_id' => $obj->getState()); break; case 6: case 7: $chequesMapper = new Gyuser_Model_ChequesDataMapper(); $cheques = new Gyuser_Model_Cheques(); $cheques->setOperation_id($obj->getId()); $data = array('state_order_id' => $obj->getState()); break; case 99: $chequesMapper = new Gyuser_Model_ChequesDataMapper(); $cheques = new Gyuser_Model_Cheques(); $cheques->setOperation_id($obj->getId()); $result = $chequesMapper->deleteByOperationId($cheques); $data = array('state_order_id' => $obj->getState()); break; default: $data = array('state_order_id' => $obj->getState()); break; } $id = (int) $obj->getId(); $id = $this->getDbTable()->update($data, array('id = ?' => $id)); $success = 1; } elseif ($currentStateId >= $newStateId) { //new state is smaller or equal to current state $success = 2; } //2 = the state has already been changed. return $success; }