<?php

class mysqlpropiedad {
  private $usuario;
  private $servidor;
  private $password;
  private $base_datos;
  private $conexion;
  private $result;
  var $flag = false;
  static $_instance;
  function __construct(){
    require_once ("configdatos.php");
    $this->usuario= USER;
    $this->password= PASS;
    $this->servidor= HOST;
    $this->base_datos= DB;
    $this->conectar();
  }



public function getPropiedadBYNUMBER($numero,$id_persona){
  $queryetapas = $this->read("SELECT distinct p.ID_PROPIEDAD FROM tblpropietarios pro
                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = pro.ID_PROPIEDAD
                              INNER JOIN tblpersonas per ON per.ID_PERSONA = pro.ID_PERSONA
                              WHERE per.ID_PERSONA = '$numero' AND p.NUMERO = '$id_persona'");
  return $queryetapas;
}



public function getEtapas($id_proyecto){
  $queryetapas = $this->read("SELECT ID_ETAPA, ID_PROYECTO, ETAPA, FEC_RES_MUNICIPAL, RES_MUNICIPAL, FEC_REGISTRO
                               FROM tbletapas WHERE ID_PROYECTO = '$id_proyecto'");
  return $queryetapas;
}


public function getEdificio($id_etapa){
  $queryconfigetapa = $this->read("SELECT ce.ID_DISENOETAPA, 
                                          m.ABREVIATURA
                                          FROM tblconfiguracionetapas ce
                                          INNER JOIN tblmodelounidadconstrucciones m ON m.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                          INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                          INNER JOIN tblproyectos pro ON pro.ID_PROYECTO = e.ID_PROYECTO
                                          WHERE ce.ID_ETAPA = '$id_etapa'");
  return $queryconfigetapa;


}

public function getInfoEntregas($id_propiedad){
     $querypreentrega =$this->read("SELECT ID_PROPIEDAD, ID_DISENOETAPA, ID_MODELO, NUMERO, OBS_PREENTREGA, OBS_ENTREGA,
                                           PISO, FECHA_ENTREGA, FECHA_PREENTREGA, FECHA_PROMESA, FECHA_ESCRITURA 
                                           FROM tblpropiedades WHERE ID_PROPIEDAD = '$id_propiedad'");
      return $querypreentrega;

}




public function getTipopropiedades(){
      $querytipopropiedades =$this->read("SELECT ID_TIPOPROPIEDAD, TIPOPROPIEDAD FROM tbltipopropiedades ");
      return $querytipopropiedades;
}


  public function updatetipo($id_tipo,$tipo){
    $updambientes ="UPDATE tbltipopropiedades SET TIPOPROPIEDAD='$tipo'
                                  WHERE ID_TIPOPROPIEDAD ='$id_tipo' ";

    if(mysql_query($updambientes)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }

  public function nuevotipopropiedad($tipopropiedad){
      $queryresponsable ="INSERT INTO tbltipopropiedades(TIPOPROPIEDAD) VALUES ('$tipopropiedad')";
    if(mysql_query($queryresponsable)){
      return "1";
    }else{
      return mysql_error();
    }
  }

  public function getModelospropiedad(){
       $querymodelos =$this->read("SELECT mp.ID_MODELO, mp.ID_TIPOPROPIEDAD,tp.TIPOPROPIEDAD ,mp.ABREVIATURA, mp.SUP_UTIL, mp.SUP_TERRAZA, 
                                        mp.SUP_CONSTRUIDA,mp.IMAGEN64
                                        FROM tblmodelopropiedades mp 
                                        INNER JOIN tbltipopropiedades tp ON tp.ID_TIPOPROPIEDAD = mp.ID_TIPOPROPIEDAD
                                        ORDER BY  mp.ID_MODELO ASC");
      return $querymodelos;

  }
  public function getModelospropiedadBYID($id_modelo){
       $querymodelos =$this->read("SELECT mp.ID_MODELO, mp.ID_TIPOPROPIEDAD,tp.TIPOPROPIEDAD ,mp.ABREVIATURA, mp.SUP_UTIL, mp.SUP_TERRAZA, 
                                        mp.SUP_CONSTRUIDA,mp.IMAGEN64
                                        FROM tblmodelopropiedades mp 
                                        INNER JOIN tbltipopropiedades tp ON tp.ID_TIPOPROPIEDAD = mp.ID_TIPOPROPIEDAD
                                        WHERE mp.ID_MODELO = '$id_modelo'
                                        ORDER BY  mp.ID_MODELO ASC");
      return $querymodelos;

  }

    public function getModeloAmbiente($id_propiedad){
       $querymodelos =$this->read("SELECT m.IMAGEN64, a.ID_AMBIENTE, m.ABREVIATURA,m.SUP_UTIL,m.SUP_TERRAZA,m.SUP_CONSTRUIDA,t.TIPOPROPIEDAD , a.AMBIENTE 
                              FROM  tblpropiedades  p 
                              INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = p.ID_MODELO
                              INNER JOIN tbltipopropiedades t ON t.ID_TIPOPROPIEDAD = m.ID_TIPOPROPIEDAD 
                              INNER JOIN tblambientesxmodelos am ON am.ID_MODELO = m.ID_MODELO 
                              INNER JOIN tblambientes a ON a.ID_AMBIENTE = am.ID_AMBIENTE
                              WHERE p.ID_PROPIEDAD = '$id_propiedad'");
      return $querymodelos;

  }

      public function getmodeloBYIDPROPIEDAD($id_propiedad){
       $querymodelos =$this->read("SELECT a.AMBIENTE , a.ID_AMBIENTE FROM tblpropiedades p 
                                  INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = p.ID_MODELO
                                  INNER JOIN tblambientesxmodelos am ON am.ID_MODELO = m.ID_MODELO
                                  INNER JOIN tblambientes a ON a.ID_AMBIENTE = am.ID_AMBIENTE 
                                  WHERE p.ID_PROPIEDAD = '$id_propiedad'");
      return $querymodelos;
  }

public function getPropiedades(){
  $querypropiedades = $this->read("SELECT p.ID_PROPIEDAD,
                                          p.ID_DISENOETAPA,
                                          p.ID_MODELO, 
                                          p.NUMERO,
                                          p.OBS_PREENTREGA, 
                                          p.OBS_ENTREGA,
                                          p.PISO,
                                          p.FECHA_ENTREGA,
                                          p.FECHA_PREENTREGA,
                                          p.FECHA_PROMESA,
                                          p.FECHA_ESCRITURA ,
                                          m.ABREVIATURA,
                                          tp.TIPOPROPIEDAD,
                                          e.ETAPA,
                                          pro.PROYECTO,
                                          pp.PRO_VENTA,
                                          mc.ABREVIATURA AS EDIFICIO
                                          FROM tblpropiedades p
                                          INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = p.ID_MODELO
                                          INNER JOIN tbltipopropiedades tp ON tp.ID_TIPOPROPIEDAD = m.ID_TIPOPROPIEDAD
                                          INNER JOIN tblconfiguracionetapas ce ON ce.ID_DISENOETAPA = p.ID_DISENOETAPA
                                          INNER JOIN tblmodelounidadconstrucciones mc ON mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                          INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                          INNER JOIN tblproyectos pro ON pro.ID_PROYECTO = e.ID_PROYECTO
                                          INNER JOIN tblpropietarios pp ON pp.ID_PROPIEDAD = p.ID_PROPIEDAD");
  return $querypropiedades;
}

      public function getModeloBYTIPO($id_tipopropiedad){
       $querymodelos =$this->read("SELECT ID_MODELO, ABREVIATURA FROM tblmodelopropiedades WHERE ID_TIPOPROPIEDAD = '$id_tipopropiedad'");
      return $querymodelos;
  }


public function nuevaPropiedad($id_proyecto,$id_disenoetapa,$id_modelo,$numero,$piso,$obspreentrega,$obsentrega,
                    $id_propietario){
      $querypropiedad ="INSERT INTO tblpropiedades(ID_DISENOETAPA, ID_MODELO, NUMERO, OBS_PREENTREGA, 
                                                            OBS_ENTREGA, PISO) 
                      VALUES ('$id_disenoetapa','$id_modelo','$numero','$obspreentrega','$obsentrega','$piso')";

    if(mysql_query($querypropiedad)){
              //LE VAMOS ASIGNAR EL DUENO A LA PROPIEDAD
              $id_propiedad = mysql_insert_id();
              $proceso_autogenerado=mt_rand(1,9999);
              $querypropietario = "INSERT INTO tblpropietarios(ID_PERSONA, ID_PROPIEDAD, PRO_VENTA) 
                                        VALUES ('$id_propietario','$id_propiedad','$proceso_autogenerado')";
              if(mysql_query($querypropietario)){
                    return "1";
              }else{
                return mysql_error();
              }
    } else{
      return mysql_error();
    }
}


  

  public function updateabreviatura($id_modelo,$abreviatura){
    $updatemodelos ="UPDATE tblmodelopropiedades SET ABREVIATURA='$abreviatura'
                                                          
                    WHERE ID_MODELO = '$id_modelo' ";

    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }

    public function updatesutil($id_modelo,$sup_util){
    $updatemodelos ="UPDATE tblmodelopropiedades SET SUP_UTIL='$sup_util'            
                    WHERE ID_MODELO = '$id_modelo' ";

    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }

    public function updateterraza($id_modelo,$terraza){
    $updatemodelos ="UPDATE tblmodelopropiedades SET SUP_TERRAZA='$terraza'
                    WHERE ID_MODELO = '$id_modelo' ";

    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }

    public function updatesuperficie($id_modelo,$sup_cons){
    $updatemodelos ="UPDATE tblmodelopropiedades SET SUP_CONSTRUIDA='$sup_cons' 
                    WHERE ID_MODELO = '$id_modelo' ";
    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }

   public function updatetipomodelo($id_modelo,$tipopropiedad){
    $updatemodelos ="UPDATE tblmodelopropiedades SET ID_TIPOPROPIEDAD='$tipopropiedad'
                      WHERE ID_MODELO = '$id_modelo' ";
    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }
   public function updateimagen($id_modelo,$imagen64){
    $updatemodelos ="UPDATE tblmodelopropiedades SET IMAGEN64='$imagen64'
                      WHERE ID_MODELO = '$id_modelo' ";
    if(mysql_query($updatemodelos)){
      return "1";
    }
    else{
      return mysql_error();
    }
  }




  public function nuevomodelopropiedad($id_tipopropiedad,$abreviatura,$sup_util,$sup_terraza,$sup_construida,$lista,$imagen64){
      $querynuevomodelo ="INSERT INTO tblmodelopropiedades(ID_TIPOPROPIEDAD, ABREVIATURA, SUP_UTIL, SUP_TERRAZA, SUP_CONSTRUIDA,IMAGEN64) 
                                      VALUES ('$id_tipopropiedad','$abreviatura','$sup_util','$sup_terraza','$sup_construida','$imagen64')";
    if(mysql_query($querynuevomodelo)){
           $id_modelo = mysql_insert_id();
            for ($i=0;$i<count($lista); $i++){
            $id_ambiente = $lista[$i]['id_ambiente'];
            $queryambientexmodelo = "INSERT INTO tblambientesxmodelos(ID_MODELO, ID_AMBIENTE) 
                                          VALUES ('$id_modelo','$id_ambiente')";
               if(mysql_query($queryambientexmodelo)){ 
                }else{
                    return mysql_error();
                }
             }
             return $id_modelo;
    }else{
      return mysql_error();
    }
  }


  public function getAmbienteBYModelo($id_modelo){
      $queryambientexmodelo =$this->read("SELECT am.ID_AMBIENTEXMODELO, am.ID_MODELO, am.ID_AMBIENTE,a.AMBIENTE FROM tblambientesxmodelos am
                                             LEFT JOIN tblambientes a ON a.ID_AMBIENTE = am.ID_AMBIENTE 
                                             WHERE am.ID_MODELO = '$id_modelo'");
      return $queryambientexmodelo; 
  }


    public function updateAmbientesxmodelo($id_modelo,$lista){
      $querynuevomodelo ="DELETE FROM tblambientesxmodelos WHERE ID_MODELO = '$id_modelo'";
           if(mysql_query($querynuevomodelo)){
                    for ($i=0;$i<count($lista); $i++){
                  $id_ambiente = $lista[$i]['id_ambiente'];
                  $queryambientexmodelo = "INSERT INTO tblambientesxmodelos(ID_MODELO, ID_AMBIENTE) 
                                                VALUES ('$id_modelo','$id_ambiente')";
                     if(mysql_query($queryambientexmodelo)){  
                      }else{
                          return mysql_error();
                      }
                   }
           }else{
            return mysql_error();
           }
      }

  public function getPropiedadProyecto($id_proyecto){
      $querypropiedad =$this->read("SELECT  p.ID_PROPIEDAD,
                                            p.ID_DISENOETAPA,
                                            p.ID_MODELO,
                                            p.NUMERO,
                                            p.PISO ,
                                            me.ABREVIATURA,
                                            m.ABREVIATURA AS MODELO,
                                            e.FEC_RES_MUNICIPAL as Fec_municipal,
                                            p.FECHA_ENTREGA,
                                            p.FECHA_PREENTREGA,
                                            p.FECHA_PROMESA,
                                            p.FECHA_ESCRITURA
                                            FROM tblpropiedades p 
                                            INNER JOIN tblmodelopropiedades m ON p.ID_MODELO = m.ID_MODELO
                                            INNER JOIN tbltipopropiedades tp ON tp.ID_TIPOPROPIEDAD = m.ID_TIPOPROPIEDAD
                                            INNER JOIN tblconfiguracionetapas ce ON ce.ID_DISENOETAPA = p.ID_DISENOETAPA
                                            INNER JOIN tblmodelounidadconstrucciones  me ON me.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                            INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                            INNER JOIN tblproyectos po ON po.ID_PROYECTO = e.ID_PROYECTO
                                            WHERE po.ID_PROYECTO = '$id_proyecto'
                                            ORDER BY CAST(p.NUMERO AS SIGNED) ASC");
      return $querypropiedad;
                                          
  }

  public function getInfoGarantias($id_propiedad){
      $querypropiedad =$this->read("SELECT  p.ID_PROPIEDAD,
                                            p.NUMERO,
                                            e.FEC_RES_MUNICIPAL as Fec_municipal,
                                            DATEDIFF(ADDDATE( CURDATE( ) ,0 ),e.FEC_RES_MUNICIPAL) AS DIFERENCIA_RES,             
                                            DATEDIFF(ADDDATE( CURDATE( ) ,0 ),p.FECHA_ESCRITURA) AS DIFERENCIA_ESC,             
                                            p.FECHA_ENTREGA,
                                            p.FECHA_PREENTREGA,
                                            p.FECHA_PROMESA,
                                            p.FECHA_ESCRITURA
                                            FROM tblpropiedades p 
                                            INNER JOIN tblconfiguracionetapas ce ON ce.ID_DISENOETAPA = p.ID_DISENOETAPA
                                            INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                            INNER JOIN tblproyectos po ON po.ID_PROYECTO = e.ID_PROYECTO
                                            WHERE p.id_propiedad = '$id_propiedad'
                                            ORDER BY p.ID_PROPIEDAD ASC");
      return $querypropiedad;

  }



  


 private function read($sql){
  $resultado = mysql_query($sql); 
   if(mysql_num_rows($resultado)> 0){
     while($fila = mysql_fetch_array($resultado)){
         $arreglo[] =$fila;
       }
         return $arreglo;
   }else{
     return "0";
   }
  }

  private function conectar(){
  $this->conexion = mysql_connect($this->servidor,$this->usuario,$this->password);
  mysql_select_db($this->base_datos,$this->conexion);
  @mysql_query("SET NAMES 'utf8'");
 }


}
?>