Пример #1
0
 public function GetProviderById($provId)
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from(array('prov' => 'providers'), array('id', 'name', 'email', 'balance', 'tasa_anual', 'impuesto_al_cheque', 'gastos_general', 'gastos_interior', 'gastos_denuncia', 'gastos_rechazo', 'acreditacion_capital', 'acreditacion_interior', 'gastos_menor_a_monto_1', 'gastos_menor_a_1', 'gastos_menor_a_monto_2', 'gastos_menor_a_2', 'comision_rate'));
     $select->joinLeft(array('ops' => 'operations'), 'ops.cave_id = prov.id', array('cave_id', 'liquidacion_id'));
     $select->joinLeft(array('cqu' => 'cheques'), 'cqu.operation_id = ops.id ', array('sum(cqu.amount) as rej_amount', 'sum(cqu.rejected_cost) as rej_cost'));
     $select->where('cqu.status = ?', 3);
     $select->where('cqu.rejected_liquidacion_id is null');
     $select->where('prov.status = ?', true);
     $select->where('prov.id = ?', $provId);
     $select->order('name ASC');
     $row = $table->fetchRow($select);
     if ($row) {
         $entry = new Gyuser_Model_Providers();
         $entry->setId($row->id);
         $entry->setName($row->name);
         $entry->setEmail($row->email);
         $entry->setBalance($row->balance);
         $entry->setRej_check_amount(floatval($row->rej_amount) + floatval($row->rej_cost));
         $entry->setTasa_anual($row->tasa_anual);
         $entry->setImpuesto_al_cheque($row->impuesto_al_cheque);
         $entry->setGastos_general($row->gastos_general);
         $entry->setGastos_interior($row->gastos_interior);
         $entry->setGastos_denuncia($row->gastos_denuncia);
         $entry->setGastos_rechazo($row->gastos_rechazo);
         $entry->setAcreditacion_capital($row->acreditacion_capital);
         $entry->setAcreditacion_interior($row->acreditacion_interior);
         $entry->setGastos_cheque_menor_a_1($row->gastos_menor_a_monto_1);
         $entry->setGastos_cheque_a_1($row->gastos_menor_a_1);
         $entry->setGastos_cheque_menor_a_2($row->gastos_menor_a_monto_2);
         $entry->setGastos_cheque_a_2($row->gastos_menor_a_2);
         $entry->setComisionRate($row->comision_rate);
         $cMapper = new Gyuser_Model_ChequesDataMapper();
         $cObj = new Gyuser_Model_Cheques();
         $cObj->setStatus(4);
         $cObj->setProvider_id($row->cave_id);
         if (!empty($row->cave_id)) {
             $cAmount = $cMapper->GetTotalAmountByProvider($cObj);
             $entry->setPassed_amount($cAmount);
         }
         return $entry;
     } else {
         return null;
     }
 }