<?php
/**
 * Clase FN para CrCreditoCronoFN
 *
 * @package    
 * @subpackage CrCreditoCronoFN
 * @author     Willy
 * @version    SVN:: CrCreditoCronoFN.class.php,v 1.1 2013-01-04 11:11:58 william.taype Exp $
 */
class CrCreditoCronoFN extends BaseCrCreditoCronoFN
{
    
    public function listarPrestamos($idcolaborador,$fecha,$moneda){
  	 $con = Conexion::getConexion();
  	 $sql = "
  	 		SELECT  concat(Nombres,' ', ApellidoPaterno,' ',  ApellidoMaterno) as nombrecompleto ,idcreditocrono,montocapital,montointeres,gastoadministrativo
  	 		FROM cr_credito_crono 
  	 		LEFT JOIN cr_cliente on cr_cliente.idcliente = cr_credito_crono.idcliente
  	 		WHERE 1 
  	 			AND cr_credito_crono.idcolaborador='".$idcolaborador."'
  	 			AND cr_credito_crono.fechatrx='".$fecha."'
  	 			AND moneda ='".$moneda."'
  	 			and cr_credito_crono.eliminado='-1'
  	 		; ";
  	 // echo $sql;	
  	  $oLink = method_exists($con, 'getResource')?$con->getResource():$con;
        $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      $num_rows = mysql_num_rows($result);
      $a_tmp = array();
      if($num_rows>0){
        while ($o_valor = mysql_fetch_object($result)) {
          $a_tmp['CC-'.$o_valor->idcreditocrono]['id'] = $o_valor->idcreditocrono;
          $a_tmp['CC-'.$o_valor->idcreditocrono]['nombrecompleto'] = $o_valor->nombrecompleto;
          $a_tmp['CC-'.$o_valor->idcreditocrono]['tipo'] = 'HI';
          $a_tmp['CC-'.$o_valor->idcreditocrono]['montocapital'] = $o_valor->montocapital;
          $a_tmp['CC-'.$o_valor->idcreditocrono]['montointeres'] = $o_valor->montointeres;
          $a_tmp['CC-'.$o_valor->idcreditocrono]['montototal'] = $o_valor->montototal;
          $a_tmp['CC-'.$o_valor->idcreditocrono]['gastoadministrativo'] = $o_valor->gastoadministrativo;
        }
      }
      
     /* $sql = "
  	 		SELECT   concat(Nombres,' ', ApellidoPaterno,' ',  ApellidoMaterno) as nombrecompleto ,tipo,idprestamointeres,montoprestado,interesmonto,montototal
  	 		FROM cr_prestamo_interes 
  	 		LEFT JOIN cr_cliente on cr_cliente.idcliente = cr_prestamo_interes.idcliente
  	 		WHERE 1 
  	 			AND cr_prestamo_interes.idcolaborador='".$idcolaborador."'
  	 			AND cr_prestamo_interes.fechatrx='".$fecha."'
  	 			AND moneda ='".$moneda."'
  	 		order by tipo
  	 		; ";
     // echo "<br>";
  	  //echo $sql;	
  	  $oLink = method_exists($con, 'getResource')?$con->getResource():$con;
        $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      $num_rows = mysql_num_rows($result);
     
      if($num_rows>0){
        while ($o_valor = mysql_fetch_object($result)) {
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['id'] = $o_valor->idprestamointeres;
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['nombrecompleto'] = $o_valor->nombrecompleto;
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['tipo'] = $o_valor->tipo;
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['montocapital'] = $o_valor->montoprestado;
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['montointeres'] = $o_valor->interesmonto;
          $a_tmp[$o_valor->tipo.'-'.$o_valor->idprestamointeres]['montototal'] = $o_valor->montototal;
        }
      }
      */
  	 return $a_tmp;
  }
  
    public function buildConsult()
    {
        try
        {
            $where = "";

            if($this->getIdcreditocrono()){ $where .= " AND H.idcreditocrono = '".$this->getIdcreditocrono()."'"; }
            if($this->getFechainicio()){ $where .= " AND fechainicio = '".$this->getFechainicio()."'"; }
            if($this->getFechavencimiento()){ $where .= " AND fechavencimiento = '".$this->getFechavencimiento()."'"; }
            if($this->getMontocapital()){ $where .= " AND montocapital = '".$this->getMontocapital()."'"; }
            if($this->getMontointeres()){ $where .= " AND montointeres = '".$this->getMontointeres()."'"; }
            if($this->getPorcinteresmensual()){ $where .= " AND porcinteresmensual = '".$this->getPorcinteresmensual()."'"; }
            if($this->getPorcinteresdiariomora()){ $where .= " AND porcinteresdiariomora = '".$this->getPorcinteresdiariomora()."'"; }
            if($this->getFechacancelacion()){ $where .= " AND fechacancelacion = '".$this->getFechacancelacion()."'"; }
            if($this->getUsuariocancelacion()){ $where .= " AND usuariocancelacion = '".$this->getUsuariocancelacion()."'"; }
            if($this->getNumeromeses()){ $where .= " AND numeromeses = '".$this->getNumeromeses()."'"; }
            if($this->getObservacion()){ $where .= " AND observacion = '".$this->getObservacion()."'"; }
            if($this->getTipocredito()){ $where .= " AND tipocredito = '".$this->getTipocredito()."'"; }
            if($this->getEstado()){ $where .= " AND H.estado = '".$this->getEstado()."'"; }
            if($this->getOrigen()){ $where .= " AND origen = '".$this->getOrigen()."'"; }
            if($this->getSaldocredito()){ $where .= " AND saldocredito = '".$this->getSaldocredito()."'"; }
            if($this->getMorareal()){ $where .= " AND morareal = '".$this->getMorareal()."'"; }
            if($this->getMoraamortizada()){ $where .= " AND moraamortizada = '".$this->getMoraamortizada()."'"; }
            if($this->getMontototal()){ $where .= " AND montototal = '".$this->getMontototal()."'"; }
            if($this->getCreditoreferencia()){ $where .= " AND creditoreferencia = '".$this->getCreditoreferencia()."'"; }
            if($this->getMontoextra()){ $where .= " AND montoextra = '".$this->getMontoextra()."'"; }
            if($this->getEliminado()){ $where .= " AND H.eliminado = '".$this->getEliminado()."'"; }
            if($this->getFechaeliminado()){ $where .= " AND fechaeliminado = '".$this->getFechaeliminado()."'"; }
            if($this->getUsuarioeliminado()){ $where .= " AND usuarioeliminado = '".$this->getUsuarioeliminado()."'"; }
            if($this->getFechacreacion()){ $where .= " AND fechacreacion = '".$this->getFechacreacion()."'"; }
            if($this->getUsuariocreacion()){ $where .= " AND usuariocreacion = '".$this->getUsuariocreacion()."'"; }
            if($this->getIdcliente()){ $where .= " AND H.idcliente = '".$this->getIdcliente()."'"; }
            if($this->getJuicioreferencia()){ $where .= " AND juicioreferencia = '".$this->getJuicioreferencia()."'"; }
            if($this->getFlagjuicio()){ $where .= " AND flagjuicio = '".$this->getFlagjuicio()."'"; }
            if($this->getFechajuicio()){ $where .= " AND fechajuicio = '".$this->getFechajuicio()."'"; }
            if($this->getUsuariojuicio()){ $where .= " AND usuariojuicio = '".$this->getUsuariojuicio()."'"; }
            if($this->getIdcolaborador()){ $where .= " AND idcolaborador = '".$this->getIdcolaborador()."'"; }
            if($this->getPeriodopago()){ $where .= " AND periodopago = '".$this->getPeriodopago()."'"; }
            if($this->getFechatrx()){ $where .= " AND fechatrx = '".$this->getFechatrx()."'"; }
            if($this->getMoneda()){ $where .= " AND H.moneda = '".$this->getMoneda()."'"; }
            if($this->getFlagpagoanticipado()){ $where .= " AND flagpagoanticipado = '".$this->getFlagpagoanticipado()."'"; }
            if($this->getFechapagoanticipado()){ $where .= " AND fechapagoanticipado = '".$this->getFechapagoanticipado()."'"; }
            if($this->getUsuariopagoanticipado()){ $where .= " AND usuariopagoanticipado = '".$this->getUsuariopagoanticipado()."'"; }
			if(is_array($this->getIdcolaboradores())){
				$where .= " AND idcolaborador in ('".implode("','",$this->getIdcolaboradores())."')";
			}
            if($this->getDni()){ $where .= " AND C.Dni = '".$this->getDni()."'"; }
            if($this->getIdMercado()){ $where .= " AND C.IdMercado = '".$this->getIdMercado()."'"; }
            //if($this->getIdCliente()){ $where .= " AND C.IdCliente = '".$this->getIdCliente()."'"; }
            if($this->getNombres()){ $where .= " AND C.Nombres like '%".$this->getNombres()."%'"; }
            if($this->getApellidoPaterno()){ $where .= " AND C.ApellidoPaterno like '%".$this->getApellidoPaterno()."%'"; }
            if($this->getApellidoMaterno()){ $where .= " AND C.ApellidoMaterno like '%".$this->getApellidoMaterno()."%'"; }
            
            return $where;
        }
        catch ( Exception $o_Error )
        {
            throw new Exception($o_Error->getMessage().' en '.$o_Error->getFile().' linea '.$o_Error->getLine());
        }
    }
    
    public function buscarHipotecaCliente()
    {
        try
        {
            $tamPag = !property_exists($this, 'tamPag')?9999:$this->tamPag;
            $pagina = !property_exists($this, 'page')||$this->page==""?1:$this->page;
            $numeroRegistros = $this->selectNumRows();
            $limitInf = ($pagina-1)*$tamPag;

            $where = $this->buildConsult();
            $orden = $this->buildOrderByField();

            $con = Conexion::getConexion();
            $sql = "SELECT H.* FROM cr_credito_crono H 
					INNER JOIN cr_cliente AS C ON C.IdCliente = H.idcliente 
					WHERE 1 ".$where." ".$orden."  LIMIT ".$limitInf.",".$tamPag;
            //echo $sql;
            $oLink = method_exists($con, 'getResource')?$con->getResource():$con;
            $result = mysql_query($sql, $oLink);
            $num_rows = mysql_num_rows($result);
            $a_tmp = array();
            if($num_rows>0)
            {
                while ($o_valor = mysql_fetch_object($result)) 
                {
                    $a_tmp[] = $this->insertObjectBN($o_valor);
                }
            }

            return count($a_tmp)>0?$a_tmp:null;
        }catch ( Exception $o_Error ){
            throw new Exception($o_Error->getMessage().' en '.$o_Error->getFile().' linea '.$o_Error->getLine());
        }
    }
    
   
    
    /* Devuelve un objeto con m�todos de acceso */
    public function insertObjectBN($o_propel)
    {
        $o_BaseCrCreditoCronoFN = new BaseCrCreditoCronoFN();
        $o_BaseCrCreditoCronoFN->setIdcreditocrono($o_propel->idcreditocrono);
        $o_BaseCrCreditoCronoFN->setFechainicio($o_propel->fechainicio);
        $o_BaseCrCreditoCronoFN->setNombreCompleto($o_propel->NombreCompleto);
        $o_BaseCrCreditoCronoFN->setFechavencimiento($o_propel->fechavencimiento);
        $o_BaseCrCreditoCronoFN->setMontocapital($o_propel->montocapital);
        $o_BaseCrCreditoCronoFN->setGastoAdministrativo($o_propel->gastoadministrativo);
        $o_BaseCrCreditoCronoFN->setMontointeres($o_propel->montointeres);
        $o_BaseCrCreditoCronoFN->setPorcinteresmensual($o_propel->porcinteresmensual);
        $o_BaseCrCreditoCronoFN->setPorcinteresdiariomora($o_propel->porcinteresdiariomora);
        $o_BaseCrCreditoCronoFN->setFechacancelacion($o_propel->fechacancelacion);
        $o_BaseCrCreditoCronoFN->setUsuariocancelacion($o_propel->usuariocancelacion);
        $o_BaseCrCreditoCronoFN->setDuracion($o_propel->duracion);
        $o_BaseCrCreditoCronoFN->setNumeromeses($o_propel->numeromeses);
        $o_BaseCrCreditoCronoFN->setObservacion($o_propel->observacion);
        $o_BaseCrCreditoCronoFN->setTipocredito($o_propel->tipocredito);
        $o_BaseCrCreditoCronoFN->setDescuento($o_propel->descuento);
        $o_BaseCrCreditoCronoFN->setEstado($o_propel->estado);
        $o_BaseCrCreditoCronoFN->setOrigen($o_propel->origen);
        $o_BaseCrCreditoCronoFN->setSaldocredito($o_propel->saldocredito);
        $o_BaseCrCreditoCronoFN->setMorareal($o_propel->morareal);
        $o_BaseCrCreditoCronoFN->setMoraamortizada($o_propel->moraamortizada);
        $o_BaseCrCreditoCronoFN->setMontototal($o_propel->montototal);
        $o_BaseCrCreditoCronoFN->setCreditoreferencia($o_propel->creditoreferencia);
        $o_BaseCrCreditoCronoFN->setMontoextra($o_propel->montoextra);
        $o_BaseCrCreditoCronoFN->setEliminado($o_propel->eliminado);
        $o_BaseCrCreditoCronoFN->setFechaeliminado($o_propel->fechaeliminado);
        $o_BaseCrCreditoCronoFN->setUsuarioeliminado($o_propel->usuarioeliminado);
        $o_BaseCrCreditoCronoFN->setFechacreacion($o_propel->fechacreacion);
        $o_BaseCrCreditoCronoFN->setUsuariocreacion($o_propel->usuariocreacion);
        $o_BaseCrCreditoCronoFN->setIdcliente($o_propel->idcliente);
        $o_BaseCrCreditoCronoFN->setGarante($o_propel->garante);
  	 	$o_BaseCrCreditoCronoFN->setDireccionGarante($o_propel->direcciongarante);
  	  	$o_BaseCrCreditoCronoFN->setTelefonoGarante($o_propel->telefonogarante);
        $o_BaseCrCreditoCronoFN->setJuicioreferencia($o_propel->juicioreferencia);
        $o_BaseCrCreditoCronoFN->setFlagjuicio($o_propel->flagjuicio);
        $o_BaseCrCreditoCronoFN->setFechajuicio($o_propel->fechajuicio);
        $o_BaseCrCreditoCronoFN->setUsuariojuicio($o_propel->usuariojuicio);
        $o_BaseCrCreditoCronoFN->setIdcolaborador($o_propel->idcolaborador);
        $o_BaseCrCreditoCronoFN->setPeriodopago($o_propel->periodopago);
        $o_BaseCrCreditoCronoFN->setFechatrx($o_propel->fechatrx);
        $o_BaseCrCreditoCronoFN->setMoneda($o_propel->moneda);
        $o_BaseCrCreditoCronoFN->setFlagpagoanticipado($o_propel->flagpagoanticipado);
        $o_BaseCrCreditoCronoFN->setFechapagoanticipado($o_propel->fechapagoanticipado);
        $o_BaseCrCreditoCronoFN->setUsuariopagoanticipado($o_propel->usuariopagoanticipado);
        return $o_BaseCrCreditoCronoFN;
    }
}