<?php

/**
 * Descripcion: Objeto encargado de traer los datos de contacto  de
 *              la tabla GR005 campos de mail y telefono celular 
 * @package   ConsultaAsociado
 * @author    BMGV
 * @version   2.1
 * @date      11-FEB-2013 
 * @copyright Copyright (c) 2013 Sistemas EnLinea S.A
 */
class DatosContactoRegla{
    private $v_k_idterc;
    private $n_i_ideter;
    private $n_mostrar_d_email;
    private $n_mostrar_t_tercel;
    private $xml_datosContacto;
    private $xml_reglaContacto;
    private $n_mostrar_observacion;
    private $n_mostrar_promotor;
    
    
        
    /**
    * Recibe un arreglo de parametros y da valor a los atributos de la clase
    *
    * @param Parametros Debe recibir un areglo con las siguientes posiciones:
    *       v_k_idterc Codigo interno del tercero, n_i_ideter Tipo de direccion de correspondencia,
    *       n_mostrar_d_email Indicador si muestra el campo de mail, n_mostrar_t_tercel indicador si
    *       muestra el campo de telefono, n_mostrar_observacion indicador si muestra el campo de obser
    *       vaciones, n_mostrar_promotor indicador si muestra el campo de promotor

    
    * @return 
    */
    
    
    function __construct($parametros=null) {
       if($parametros!=null){
        $this->v_k_idterc=$parametros['v_k_idterc'];
        $this->n_i_ideter=$parametros['n_i_ideter'];
        $this->n_mostrar_d_email=$parametros['n_mostrar_d_email'];
        $this->n_mostrar_t_tercel=$parametros['n_mostrar_t_tercel'];
        $this->n_mostrar_observacion=$parametros['n_mostrar_observacion'];
        $this->n_mostrar_promotor=$parametros['n_mostrar_promotor'];
       }
    }
    
    public function setParametros($parametros){
        $this->v_k_idterc=$parametros['v_k_idterc'];
        $this->n_i_ideter=$parametros['n_i_ideter'];
        $this->n_mostrar_d_email=$parametros['n_mostrar_d_email'];
        $this->n_mostrar_t_tercel=$parametros['n_mostrar_t_tercel'];
        $this->n_mostrar_observacion=$parametros['n_mostrar_observacion'];
        $this->n_mostrar_promotor=$parametros['n_mostrar_promotor'];
    }

    
    
    private function cargarInfo(){
 
    }
    
    public function asHTML(){

       $this->cargarInfo();     
       
       $observacion= new Observacion();
       $promotor = new Promotor();

      // Busca los datos por defecto del tercero como el correo y el celular para mostrarlos    
       $sql = "BEGIN pk_we_gr_gr005.pr_buscar_gr005_registro(:v_k_idterc, 'C', :datosContacto); END;";
       $parametros=array('v_k_idterc'=>array('valor' =>$this->v_k_idterc,'longitud'=>-1),
                         'n_i_ideter'=>array('valor' =>$this->n_i_ideter,'longitud'=>-2),
                         'datosContacto'=>array('valor' =>'','longitud'=>'CLOB'));
       Configurar::getDb()->ejecutaSentencia($sql,$parametros);


       $this->xml_datosContacto= utf8_encode($parametros['datosContacto']['valor']);
       echo $this->xml_datosContacto;

      $domXml = new DOMDocument();                
      $domXml->loadXML($xml_datosContacto);     
      $xpath = new DOMXPath($domXml);
      $valor =$xpath->query("//informacion_direccion_tercero");      
      if ($valor->length>=1){
          foreach($valor as $element){          
            foreach($element->childNodes  as $hijo){                        
              if ($hijo->nodeName =='a_email'){              
                  $this->n_mostrar_d_email=$hijo->nodeValue;   
              }
              if ($hijo->nodeName =='a_numero_celular'){              
                 $this->n_mostrar_t_tercel=$hijo->nodeValue;   
              }
            }
          }
       }

       $sql = "select  pk_we_gr_rng_CWAHP009.fu_rng_cwahp009 \"regladatosContacto\" from dual";
       $parametros=array('v_k_idterc'=>array('valor' =>$this->v_k_idterc,'longitud'=>-1),
                         'n_i_ideter'=>array('valor' =>$this->n_i_ideter,'longitud'=>-2),
                         'regladatosContacto'=>array('valor' =>'','longitud'=>'CLOB'));          
       $info =Configurar::getDb()->ejecutaSentencia($sql,$parametros);     



        $domXml = new DOMDocument();                
      $domXml->loadXML($info[0]['regladatosContacto']);     
      $xpath = new DOMXPath($domXml);
      $valor =$xpath->query("//regla");  

      if ($valor->length>=1){
        
          foreach($valor as $element){          
            foreach($element->childNodes  as $hijo){                        
              if ($hijo->nodeName =='A_EMAIL'){   
                $this->n_mostrar_d_emailr=$hijo->nodeValue;   
              }
              if ($hijo->nodeName =='A_NUMERO_CELULAR'){              
                $this->n_mostrar_t_tercelr=$hijo->nodeValue;

              }
            }
          }
      }
 
       $promotor->setId('datos_contacto_regla');

       $parametros=array("n_mostrar_d_email" => $this->n_mostrar_d_emailr,
                         "n_mostrar_t_tercel" => $this->n_mostrar_t_tercelr,
                         "n_mostrar_observacion" => $this->n_mostrar_observacion,
                         "observacion"=> $observacion->asHTML(),
                         "n_mostrar_promotor" => $this->n_mostrar_promotor,     
                         "promotor" => $promotor->asHTML());
       //print_r($parametros);
       echo $this->xml_datoscontacto;
       $div=Html::presentar('/gr/datosContactoRegla/xsl/lnxDatosContactoRegla.xsl',$this->xml_datoscontacto,TRUE,$parametros,TRUE,TRUE);       
       return $div;
    }
    
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
?>
