<?php
ob_start();
class mysqlproyecto{
  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 getProyectos(){
     $queryproyecto =$this->read("SELECT ID_PROYECTO, PROYECTO, ABREVIATURA, DIRECCION, 
                                        EMAIL, TEL_FIJO, LAT, LONGI, FECHA_REGISTRO,
                                         PROPIO 
                                  FROM tblproyectos 
                                  ORDER BY Activo DESC, PROYECTO" );
    return $queryproyecto;
  }



public function getEtapasMostrar($id_proyecto){
  $queryetapas = $this->read("SELECT distinct e.ID_ETAPA, ID_PROYECTO, ETAPA, FEC_RES_MUNICIPAL, RES_MUNICIPAL, FEC_REGISTRO FROM tbletapas e INNER JOIN tblconfiguracionetapas ce ON e.ID_ETAPA = ce.ID_ETAPA WHERE ID_PROYECTO = '$id_proyecto'");
  return $queryetapas;
}


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

    public function getInfoProyecto($id_proyecto){
     $queryproyecto =$this->read("SELECT p.ID_PROYECTO, p.PROYECTO, p.ABREVIATURA,
                                         p.DIRECCION, p.EMAIL, p.TEL_FIJO, p.LAT,
                                         p.LONGI, p.FECHA_REGISTRO, p.PROPIO ,
                                          pj.RAZ_SOCIAL,p.Activo
                                        FROM tblproyectos p 
                                        LEFT JOIN tblduenoproyectos d  ON d.ID_PROYECTO = p.ID_PROYECTO 
                                        LEFT JOIN tblpersonas per ON per.ID_PERSONA = d.ID_PERSONA 
                                        LEFT JOIN tblperjuridicas pj ON pj.ID_JURIDICA = per.ID_PERSONA
                                        WHERE p.ID_PROYECTO = '$id_proyecto'");
    return $queryproyecto;
  }


  public function getProyectoID($id_persona){
       $queryproyecto =$this->read("SELECT up.ID_USUARIOXPROYECTO, up.ID_PERSONA,
                                        p.ID_PROYECTO, p.PROYECTO, p.ABREVIATURA, p.DIRECCION, 
                                        p.EMAIL, p.TEL_FIJO, p.LAT, p.LONGI, p.FECHA_REGISTRO, p.PROPIO 
                                  FROM tblusuariosxproyectos up
                                  INNER JOIN tblproyectos p ON p.ID_PROYECTO = up.ID_PROYECTO
                                   WHERE  ID_PERSONA = '$id_persona'");
    return $queryproyecto;
  }


  public function getproyectosterceros($id_persona){
   $queryproyecto =$this->read("SELECT up.ID_USUARIOXPROYECTO, up.ID_PERSONA,
                                        p.ID_PROYECTO, p.PROYECTO, p.ABREVIATURA, p.DIRECCION, 
                                        p.EMAIL, p.TEL_FIJO, p.LAT, p.LONGI, p.FECHA_REGISTRO, p.PROPIO 
                                  FROM tblusuariosxproyectos up 
                                  INNER JOIN tblproyectos p ON p.ID_PROYECTO = up.ID_PROYECTO
                                   WHERE  ID_PERSONA = '$id_persona'");
    return $queryproyecto;
  }


  public function nuevoProyecto($proyecto ,$abreviatura ,$email,$direccion ,$listapertenece,$listaetapas,$fecharegistro,$telefono,$data){
      $id_proyecto_usar = "";
      $id_proyecto =$this->buscarproyecto($proyecto);
      
    if($id_proyecto == "0"){
          //NO EXISTE
          $queryproyecto = "INSERT INTO tblproyectos (PROYECTO,ABREVIATURA, DIRECCION, EMAIL, TEL_FIJO, LAT, LONGI, FECHA_REGISTRO,PROPIO) 
                            VALUES ('$proyecto','$abreviatura','$direccion','$email','$telefono','','','$fecharegistro','')";
           if(mysql_query($queryproyecto)){
                  $id_proyecto_usar = mysql_insert_id();
                        //GENERAR POR DEFAULT LOS DIAS QUE SE ATIENDE
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','LUNES','7')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','MARTES','6')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','MIERCOLES','5')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','JUEVES','11')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','VIERNES','10')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','SABADO','9')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','DOMINGO','8')");

           }else{
                return false;
           }
      }else{
        //SI EXISTE SE ACTUALIAZA
        $id_proyecto_usar = $id_proyecto;
      }




      for ($i=0;$i<count($listapertenece); $i++){
            $id_persona = $listapertenece[$i]['id_persona'];

            $dueno =$this->existedueno($id_proyecto_usar,$id_persona);
            if($dueno == "0"){
                    $querydueños = "INSERT INTO  tblduenoproyectos(ID_PERSONA,ID_PROYECTO ) VALUES ('$id_persona','$id_proyecto_usar')";
                   if(mysql_query($querydueños)){  
                    }else{
                        return mysql_error();
                    }
            }else{
                  //YA EXISTE NO SE HACE NADA
            }
         }
          //CREO LA ETAPA DEL PROYECTO

         for ($i=0;$i<count($listaetapas); $i++){
            $etapa = $listaetapas[$i]['etapa'];
            $res_municipal = $listaetapas[$i]['fec_municipal'];
            $id_etapa =$this->buscaretapa($id_proyecto_usar,$etapa);
              if($id_etapa == "0"){
                     $queryetapas = "INSERT INTO  tbletapas (ID_PROYECTO,ETAPA,FEC_RES_MUNICIPAL,RES_MUNICIPAL,FEC_REGISTRO )
                                    VALUES ('$id_proyecto_usar','$etapa','$res_municipal','','$fecharegistro')";
                       if(mysql_query($queryetapas)){  
                        }else{
                            return mysql_error();
                        }
              }else{
                    //SE ACTUALIZA
              }
           }


          for ($i=0;$i<count($data); $i++){
                $numero = $data[$i]['NUMERO'];
                $obs_pre_entrega = $data[$i]['OBS_PREENTREGA'];
                $obs_entrega = $data[$i]['OBS_ENTREGA'];
                $piso = $data[$i]['PISO'];
                $fec_entrega = $data[$i]['FECHA_ENTREGA'];
                $fec_preentrega = $data[$i]['FECHA_PREENTREGA'];
                $fec_promesa = $data[$i]['FECHA_PROMESA'];
                $fec_escritura = $data[$i]['FECHA_ESCRITURA'];
                $modelo = $data[$i]['MODELO'];
                $etapa = $data[$i]['ETAPA'];
                $unidad = $data[$i]['UNIDAD'];
                $abreviatura = $data[$i]['ABREVIATURA'];
                $num_pisos = $data[$i]['NUM_PISOS'];
                $id_etapa =$this->buscaretapa($id_proyecto_usar,$etapa);
                $id_unidadconstruccion =$this->buscarunidadConstruccion(trim($unidad));
                $id_modelounidaconstruccion = $this->buscarmodelo($abreviatura,$num_pisos);
                $cantidad = $num_pisos *4;
                $numero_subterraneos = "0.00";
                $id_modelo_unidad = mysql_insert_id();
                if($id_modelounidaconstruccion == "0"){
                    //NO EXISTE EDIFICIO , POR ESO LO INSERTAMOS
                        $querymodelo = "INSERT INTO `tblmodelounidadconstrucciones`(`ABREVIATURA`,`NUM_PISOS`, `NUM_SUBTERRANEOS`, `CANT_PROPIEDADES`)
                         VALUES ('$abreviatura','$num_pisos','$numero_subterraneos','$cantidad')";
                              if(mysql_query($querymodelo)){  
                              }else{
                                  return mysql_error();
                              }
                }else{
                  //NO SE INSERTA PORQUE YA EXISTE
                }
                $id_modelounidaconstruccion = $this->buscarmodelo($abreviatura,$num_pisos);
                $id_diseno = "";
                $id_disenoetapa =$this->buscaretapadesigner($id_etapa,$id_unidadconstruccion,$id_modelounidaconstruccion);
                if($id_disenoetapa =="0"){
                     $queryinsertdiseño = "INSERT INTO tblconfiguracionetapas(ID_ETAPA,ID_UNIDADCONSTRUCCION, ID_MODELOUNIDADCONSTRUCCION)
                            VALUES ('$id_etapa','$id_unidadconstruccion','$id_modelounidaconstruccion')";
                        if(mysql_query($queryinsertdiseño)){  
                          $id_diseno   = mysql_insert_id();
                        }else{
                            return mysql_error();
                        }
                }else{
                  $id_diseno = $id_disenoetapa;
                }
                //FALTA AGREGAR EL BUSCAR ID_MODELO
                   $id_modelo = $this->buscarmodelopropiedad($modelo);
                   $id_propiedad =$this->existedepartamento($numero,$id_diseno,$id_modelo,$piso);
                   if($id_propiedad == "0"){
                        $queryInsertar = "INSERT INTO tblpropiedades(ID_DISENOETAPA, ID_MODELO, NUMERO, OBS_PREENTREGA, OBS_ENTREGA,
                                           PISO, FECHA_ENTREGA, FECHA_PREENTREGA, FECHA_PROMESA, FECHA_ESCRITURA)
                               VALUES ('$id_diseno','$id_modelo','$numero','$obs_pre_entrega','$obs_entrega','$piso','$fec_entrega',
                                  '$fec_preentrega','$fec_promesa','$fec_escritura')";
                            if(mysql_query($queryInsertar)){

                            }else{

                            }
                   }else{
                    //YA EXISTE
                   }
         }
  }


  public function nuevoProyectoPropietarios($proyecto ,$abreviatura ,$email,$direccion ,$listapertenece,$listaetapas,$fecharegistro,$telefono,$data){
              $id_proyecto_usar = "";
      $id_proyecto =$this->buscarproyecto($proyecto);
      
    if($id_proyecto == "0"){
          //NO EXISTE
          $queryproyecto = "INSERT INTO tblproyectos (PROYECTO,ABREVIATURA, DIRECCION, EMAIL, TEL_FIJO, LAT, LONGI, FECHA_REGISTRO,PROPIO) 
                            VALUES ('$proyecto','$abreviatura','$direccion','$email','$telefono','','','$fecharegistro','')";
           if(mysql_query($queryproyecto)){
                  $id_proyecto_usar = mysql_insert_id();
                        //GENERAR POR DEFAULT LOS DIAS QUE SE ATIENDE
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','LUNES','7')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','MARTES','6')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','MIERCOLES','5')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','JUEVES','11')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','VIERNES','10')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','SABADO','9')");
                   mysql_query("INSERT INTO tblconfigurarcalendariopostventas(ID_PROYECTO,DIA,NUMERO) VALUES ('$id_proyecto_usar','DOMINGO','8')");

           }else{
                return false;
           }
      }else{
        //SI EXISTE SE ACTUALIAZA
        $id_proyecto_usar = $id_proyecto;
      }


      for ($i=0;$i<count($listapertenece); $i++){
            $id_persona = $listapertenece[$i]['id_persona'];

            $dueno =$this->existedueno($id_proyecto_usar,$id_persona);
            if($dueno == "0"){
                    $querydueños = "INSERT INTO  tblduenoproyectos(ID_PERSONA,ID_PROYECTO ) VALUES ('$id_persona','$id_proyecto_usar')";
                   if(mysql_query($querydueños)){  
                    }else{
                        return mysql_error();
                    }
            }else{
                  //YA EXISTE NO SE HACE NADA
            }
         }

     
          //CREO LA ETAPA DEL PROYECTO

         for ($i=0;$i<count($listaetapas); $i++){
            $etapa = $listaetapas[$i]['etapa'];
            $res_municipal = $listaetapas[$i]['fec_municipal'];
            $id_etapa =$this->buscaretapa($id_proyecto_usar,$etapa);
              if($id_etapa == "0"){
                     $queryetapas = "INSERT INTO  tbletapas (ID_PROYECTO,ETAPA,FEC_RES_MUNICIPAL,RES_MUNICIPAL,FEC_REGISTRO )
                                    VALUES ('$id_proyecto_usar','$etapa','$res_municipal','','$fecharegistro')";
                       if(mysql_query($queryetapas)){  
                        }else{
                            return mysql_error();
                        }
              }else{
                    //SE ACTUALIZA
              }
           }


          for ($i=0;$i<count($data); $i++){
                $numero = $data[$i]['NUMERO'];
                $obs_pre_entrega = $data[$i]['OBS_PREENTREGA'];
                $obs_entrega = $data[$i]['OBS_ENTREGA'];
                $piso = $data[$i]['PISO'];
                $fec_entrega = $data[$i]['FECHA_ENTREGA'];
                $fec_preentrega = $data[$i]['FECHA_PREENTREGA'];
                $fec_promesa = $data[$i]['FECHA_PROMESA'];
                $fec_escritura = $data[$i]['FECHA_ESCRITURA'];
                $modelo = $data[$i]['MODELO'];
                $etapa = $data[$i]['ETAPA'];
                $unidad = $data[$i]['UNIDAD'];
                $abreviatura = $data[$i]['ABREVIATURA'];
                $num_pisos = $data[$i]['NUM_PISOS'];

                $rut=$data[$i]['RUT'];
                $direccion=$data[$i]['DIRECCION'];
                $tel_fijo=$data[$i]['TEL_FIJO'];
                $emailPropietario=$data[$i]['EMAIL'];
                $nombre=$data[$i]['NOMBRE'];
                $ape_paterno=$data[$i]['APE_PATERNO'];
                $ape_materno=$data[$i]['APE_MATERNO'];
                $celular=$data[$i]['CELULAR'];
                $tel_oficina= $data[$i]['TEL_OFICINA'];
                $fecharegistro =date("Y-m-d H:i:s");


                $id_etapa =$this->buscaretapa($id_proyecto_usar,$etapa);
                $id_unidadconstruccion =$this->buscarunidadConstruccion(trim($unidad));
                $id_modelounidaconstruccion = $this->buscarmodelo($abreviatura,$num_pisos);
                $cantidad = $num_pisos *4;
                $numero_subterraneos = "0.00";
                $id_modelo_unidad = mysql_insert_id();
                if($id_modelounidaconstruccion == "0"){
                    //NO EXISTE EDIFICIO , POR ESO LO INSERTAMOS
                        $querymodelo = "INSERT INTO `tblmodelounidadconstrucciones`(`ABREVIATURA`,`NUM_PISOS`, `NUM_SUBTERRANEOS`, `CANT_PROPIEDADES`)
                         VALUES ('$abreviatura','$num_pisos','$numero_subterraneos','$cantidad')";
                              if(mysql_query($querymodelo)){  
                              }else{
                                  return mysql_error();
                              }
                }else{
                  //NO SE INSERTA PORQUE YA EXISTE
                }
                $id_modelounidaconstruccion = $this->buscarmodelo($abreviatura,$num_pisos);
                $id_diseno = "";
                $id_disenoetapa =$this->buscaretapadesigner($id_etapa,$id_unidadconstruccion,$id_modelounidaconstruccion);
                if($id_disenoetapa =="0"){
                     $queryinsertdiseño = "INSERT INTO tblconfiguracionetapas(ID_ETAPA,ID_UNIDADCONSTRUCCION, ID_MODELOUNIDADCONSTRUCCION)
                            VALUES ('$id_etapa','$id_unidadconstruccion','$id_modelounidaconstruccion')";
                        if(mysql_query($queryinsertdiseño)){  
                          $id_diseno   = mysql_insert_id();
                        }else{
                            return mysql_error();
                        }
                }else{
                  $id_diseno = $id_disenoetapa;
                }
                //FALTA AGREGAR EL BUSCAR ID_MODELO
                   $id_modelo = $this->buscarmodelopropiedad($modelo);
                   $id_propiedad =$this->existedepartamento($numero,$id_diseno,$id_modelo,$piso);
                   if($id_propiedad == "0"){
                        $queryInsertar = "INSERT INTO tblpropiedades(ID_DISENOETAPA, ID_MODELO, NUMERO, OBS_PREENTREGA, OBS_ENTREGA,
                                           PISO, FECHA_ENTREGA, FECHA_PREENTREGA, FECHA_PROMESA, FECHA_ESCRITURA)
                               VALUES ('$id_diseno','$id_modelo','$numero','$obs_pre_entrega','$obs_entrega','$piso','$fec_entrega',
                                  '$fec_preentrega','$fec_promesa','$fec_escritura')";
                            if(mysql_query($queryInsertar)){
                               $id_propiedad = mysql_insert_id();
                                          $existe = $this->existerut($rut);
                                            if($existe == "0"){
                                                  $querypersona ="INSERT INTO tblpersonas(ID_TIPOPERSONA, ID_PERFIL, RUT, DIRECCION, TEL_FIJO, EMAIL, 
                                                                FEC_REGISTRO, USUARIO, INICIALES, ESTADO, CONTRASEÑA)
                                                  VALUES ('1','7','$rut','$direccion','$tel_fijo','$emailPropietario','$fecharegistro','','','0','')";
                                                  if(mysql_query($querypersona)){
                                                       $id_pernatural = mysql_insert_id();
                                                       $querynatural = "INSERT INTO tblpernaturales(ID_PERNATURAL, NOMBRE, APE_PATERNO, APE_MATERNO, CELULAR, TEL_OFICINA) 
                                                      VALUES ('$id_pernatural','$nombre','$ape_paterno','$ape_materno','$celular','$tel_oficina')";
                                                      if(mysql_query($querynatural)){
                                                                //NO TIENE DUEÑO
                                                        $querypropietario = "INSERT INTO tblpropietarios(ID_PERSONA, ID_PROPIEDAD, PRO_VENTA) 
                                                                                      VALUES ('$id_pernatural','$id_propiedad','00000')";
                                                                 if(mysql_query($querypropietario)){
                                                                     
                                                                 }else{
                                                                  return mysql_error();
                                                                 }
                                                      }else{
                                                        return mysql_error();
                                                      }
                                                  }else{
                                                      return  mysql_error();
                                                  }

                                            }else{
                                                  $queryupdatepersona = "UPDATE tblpersonas SET DIRECCION='$direccion',TEL_FIJO='$tel_fijo',EMAIL='$email' WHERE ID_PERSONA = '$existe'";
                                                    if(mysql_query($queryupdatepersona)){
                                                            $querypernatural = "UPDATE tblpernaturales SET NOMBRE='$nombre',APE_PATERNO='$ape_paterno',APE_MATERNO='$ape_materno',CELULAR='$celular',TEL_OFICINA='$tel_oficina'
                                                                    WHERE ID_PERNATURAL = '$existe'";
                                                                  if(mysql_query($querypernatural)){

                                                                  }else{
                                                                    return mysql_error();
                                                                  }

                                                    }else{
                                                      return mysql_error();
                                                    }
                                            }




                            }else{

                            }
                   }else{
                    //YA EXISTE
                   }
         }
  }



 public function existerut($rut){
    $querysaber = $this->read("SELECT ID_PERSONA, RUT, DIRECCION FROM tblpersonas WHERE RUT  ='$rut'"); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_PERSONA'];
      } 
    }
    return trim($valor);
 }





  public function buscarmodelopropiedad($modelo){
    $querysaber = $this->read("SELECT ID_MODELO ,  ID_TIPOPROPIEDAD ,  ABREVIATURA ,  SUP_UTIL ,  SUP_TERRAZA ,  SUP_CONSTRUIDA ,  IMAGEN64  
                                    FROM  tblmodelopropiedades  WHERE ABREVIATURA = '$modelo'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_MODELO'];
          } 
      }
      return trim($valor);
}

public function existedepartamento($numero,$id_diseno,$id_modelo,$piso){
    $querysaber = $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 NUMERO = '$numero' 
                                      AND ID_DISENOETAPA = '$id_diseno'
                                      AND ID_MODELO = '$id_modelo'
                                      AND PISO = '$piso'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_PROPIEDAD'];
          } 
      }
      return trim($valor);
}

public function existedueno($id_proyecto,$id_persona){
    $querysaber = $this->read("SELECT ID_DUENOPROYECTO, ID_PERSONA, ID_PROYECTO FROM tblduenoproyectos
                               WHERE ID_PERSONA = '$id_persona' AND ID_PROYECTO = '$id_proyecto'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_DUENOPROYECTO'];
          } 
      }
      return trim($valor);
}

public function buscarproyecto($proyecto){
    $querysaber = $this->read("SELECT ID_PROYECTO,PROYECTO FROM tblproyectos WHERE PROYECTO = '$proyecto'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_PROYECTO'];
          } 
      }
      return trim($valor);
}


 public function buscaretapa($id_proyecto,$etapa){
    $querysaber = $this->read("SELECT e.ID_ETAPA, p.PROYECTO,e.ETAPA
                              FROM tbletapas e
                              INNER JOIN tblproyectos p ON p.ID_PROYECTO = e.ID_PROYECTO 
                              WHERE e.ETAPA = '$etapa' AND e.ID_PROYECTO = '$id_proyecto'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_ETAPA'];
          } 
      }
      return trim($valor);
 }

  public function buscarunidadConstruccion($unidad){
    $querysaber = $this->read("SELECT ID_UNIDADCONSTRUCCION, UNIDADCONSTRUCCION FROM tblunidadconstrucciones 
                                WHERE UNIDADCONSTRUCCION = '$unidad' "); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_UNIDADCONSTRUCCION'];
      } 
    }
    return trim($valor);
 }


 function buscarmodelo($abreviatura,$num_pisos){
   $querysaber = $this->read("SELECT ID_MODELOUNIDADCONSTRUCCION, ABREVIATURA, SUPERFICIE, NUM_PISOS, NUM_SUBTERRANEOS, CANT_PROPIEDADES
                                FROM  tblmodelounidadconstrucciones 
                              WHERE ABREVIATURA='$abreviatura' AND  NUM_PISOS='$num_pisos'"); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_MODELOUNIDADCONSTRUCCION'];
      } 
    }
    return trim($valor);
}

 function buscaretapadesigner($id_etapa,$unidadcontruccion,$modelocontruccion){
   $querysaber = $this->read("SELECT ce.ID_DISENOETAPA,ce.ID_ETAPA
                                       FROM  tblconfiguracionetapas ce
                                       INNER JOIN tblunidadconstrucciones uc ON uc.ID_UNIDADCONSTRUCCION = ce.ID_UNIDADCONSTRUCCION
                                       INNER JOIN tblmodelounidadconstrucciones mc ON mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                        WHERE ID_ETAPA = '$id_etapa' 
                                        AND  uc.ID_UNIDADCONSTRUCCION  = '$unidadcontruccion'
                                        AND  mc.ID_MODELOUNIDADCONSTRUCCION = '$modelocontruccion'"); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_DISENOETAPA'];
      } 
    }
    return trim($valor);
}


 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";
   }
  }



public function getPropiedadesIdProyecto($id_proyecto){
  $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,
                                          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
                                          WHERE  pro.ID_PROYECTO = '$id_proyecto'");
  return $querypropiedades;
}


public function getEdificiosIdProyecto($id_proyecto){
  $querypropiedades = $this->read("SELECT
                                          uc.UNIDADCONSTRUCCION,
                                          e.ETAPA,
                                          mc.ABREVIATURA AS EDIFICIO,
                                          mc.SUPERFICIE,
                                          mc.NUM_PISOS,
                                          mc.NUM_SUBTERRANEOS,
                                          mc.CANT_PROPIEDADES
                                          FROM tblproyectos p
                                          INNER JOIN tbletapas e ON e.ID_PROYECTO = p.ID_PROYECTO
                                          INNER JOIN tblconfiguracionetapas ce ON ce.ID_ETAPA = e.ID_ETAPA
                                          INNER JOIN tblunidadconstrucciones uc ON uc.ID_UNIDADCONSTRUCCION = ce.ID_UNIDADCONSTRUCCION
                                          INNER JOIN tblmodelounidadconstrucciones mc ON mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                          WHERE  p.ID_PROYECTO = '$id_proyecto'");
  return $querypropiedades;
}


public function filtroEdificio($id_proyecto){

  $querypropiedades = $this->read("SELECT
                                          mc.ABREVIATURA AS EDIFICIO,
                                          mc.ID_MODELOUNIDADCONSTRUCCION
                                          FROM tblproyectos p
                                          INNER JOIN tbletapas e ON e.ID_PROYECTO = p.ID_PROYECTO
                                          INNER JOIN tblconfiguracionetapas ce ON ce.ID_ETAPA = e.ID_ETAPA
                                          INNER JOIN tblunidadconstrucciones uc ON uc.ID_UNIDADCONSTRUCCION = ce.ID_UNIDADCONSTRUCCION
                                          INNER JOIN tblmodelounidadconstrucciones mc ON mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                          WHERE  p.ID_PROYECTO = '$id_proyecto'");
  return $querypropiedades;
}

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



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




public function getClientes($id_proyecto){
 $queryclientes = $this->read("SELECT po.PRO_VENTA,
                                      pro.NUMERO,
                                      per.RUT,
                                      per.DIRECCION,
                                      per.EMAIL,
                                      pern.NOMBRE,
                                      pern.APE_PATERNO,
                                      pern.APE_MATERNO,
                                      pern.CELULAR,
                                      pern.TEL_OFICINA
                                      FROM tblpropietarios po
                                      INNER JOIN tblpropiedades pro ON pro.ID_PROPIEDAD = po.ID_PROPIEDAD
                                      INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = pro.ID_MODELO
                                      INNER JOIN tbltipopropiedades t ON t.ID_TIPOPROPIEDAD = m.ID_TIPOPROPIEDAD
                                      INNER JOIN tblconfiguracionetapas ce ON ce.ID_DISENOETAPA = pro.ID_DISENOETAPA
                                      INNER JOIN tblmodelounidadconstrucciones mu ON mu.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                      INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                      INNER JOIN tblproyectos p  ON  p.ID_PROYECTO = e.ID_PROYECTO
                                      INNER JOIN tblpersonas per ON per.ID_PERSONA = po.ID_PERSONA
                                      INNER JOIN tblpernaturales pern ON pern.ID_PERNATURAL = per.ID_PERSONA
                                      WHERE p.ID_PROYECTO = '$id_proyecto'");
  return $queryclientes;
}

public function getClientesExel($id_proyecto){
 $queryclientes = $this->read("SELECT per.RUT,
                                      po.PRO_VENTA,
                                      pro.NUMERO,
                                      per.DIRECCION,
                                      per.EMAIL,
                                      pern.NOMBRE,
                                      pern.APE_PATERNO,
                                      pern.APE_MATERNO,
                                      pern.CELULAR,
                                      pern.TEL_OFICINA
                                      FROM tblpropietarios po
                                      INNER JOIN tblpropiedades pro ON pro.ID_PROPIEDAD = po.ID_PROPIEDAD
                                      INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = pro.ID_MODELO
                                      INNER JOIN tbltipopropiedades t ON t.ID_TIPOPROPIEDAD = m.ID_TIPOPROPIEDAD
                                      INNER JOIN tblconfiguracionetapas ce ON ce.ID_DISENOETAPA = pro.ID_DISENOETAPA
                                      INNER JOIN tblmodelounidadconstrucciones mu ON mu.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                      INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                      INNER JOIN tblproyectos p  ON  p.ID_PROYECTO = e.ID_PROYECTO
                                      INNER JOIN tblpersonas per ON per.ID_PERSONA = po.ID_PERSONA
                                      INNER JOIN tblpernaturales pern ON pern.ID_PERNATURAL = per.ID_PERSONA
                                      WHERE p.ID_PROYECTO = '$id_proyecto' GROUP BY per.RUT");
  return $queryclientes;
}


public function getlistacompletapropiedades($id_proyecto){
   $queryclientes = $this->read("SELECT pro.PROYECTO,
                                        e.ETAPA,
                                        mc.ABREVIATURA AS EDIFICIO,
                                        uc.UNIDADCONSTRUCCION,
                                        m.ABREVIATURA,
                                        NUMERO,
                                        OBS_PREENTREGA,
                                        OBS_ENTREGA,
                                        PISO,
                                        FECHA_ENTREGA, 
                                        FECHA_PREENTREGA, 
                                        FECHA_PROMESA, 
                                        FECHA_ESCRITURA,
                                        per.RUT,
                                        per.DIRECCION,
                                        per.EMAIL,
                                        pern.NOMBRE,
                                        pern.APE_PATERNO,
                                        pern.APE_MATERNO,
                                        pern.CELULAR,
                                        pern.TEL_OFICINA
                                        FROM tblpropiedades p
                                        INNER JOIN tblmodelopropiedades m ON m.ID_MODELO = p.ID_MODELO
                                        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 pro ON pro.ID_PROYECTO = e.ID_PROYECTO
                                        INNER JOIN tblmodelounidadconstrucciones mc ON mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                        INNER JOIN tblunidadconstrucciones uc ON uc.ID_UNIDADCONSTRUCCION = ce.ID_UNIDADCONSTRUCCION
                                        LEFT JOIN tblpropietarios prp ON prp.ID_PROPIEDAD = p.ID_PROPIEDAD
                                        LEFT JOIN tblpersonas per ON per.ID_PERSONA = prp.ID_PERSONA
                                        INNER JOIN tblpernaturales pern ON pern.ID_PERNATURAL = per.ID_PERSONA
                                        WHERE pro.ID_PROYECTO = '$id_proyecto'");
  return $queryclientes;

}

public function getUnidadConstruccion(){
    $queryedificio = $this->read("SELECT ID_UNIDADCONSTRUCCION, UNIDADCONSTRUCCION FROM tblunidadconstrucciones");
    return $queryedificio;
}


public function Buscarpersona($rut){
    $querysaber = $this->read("SELECT ID_PERSONA FROM tblpersonas WHERE RUT = '$rut'"); 
    $valor = "";
      if(empty($querysaber)){
          $valor = 0;
      }else{
          for($i =0;$i<count($querysaber);$i++){
            $valor= $querysaber[$i]['ID_PERSONA'];
          } 
      }
      return trim($valor);
}


  public function CargaryActualizaciondepartamentos($data){
    //preguntar si existe el proyecto y etapa

      $variable = "";
         for ($i=0;$i<count($data); $i++){
                $proyecto = $data[$i]['PROYECTO'];
                $etapa = $data[$i]['ETAPA'];
                $edificio = $data[$i]['EDIFICIO'];
                $numero = $data[$i]['NUMERO'];
                $modelo = $data[$i]['MODELO'];
                $piso = $data[$i]['PISO'];
                $fec_escritura = $data[$i]['FECHA_ESCRITURA'];
                $rut=$data[$i]['RUT'];
                $direccion=$data[$i]['DIRECCION'];
                $emailPropietario=$data[$i]['EMAIL'];
                $nombre=$data[$i]['NOMBRE'];
                $ape_paterno=$data[$i]['APE_PATERNO'];
                $ape_materno=$data[$i]['APE_MATERNO'];
                $celular=$data[$i]['CELULAR'];
                $tel_oficina= $data[$i]['TEL_OFICINA'];
                $id_proyecto=  $this->buscarproyecto($proyecto);  
                $id_disenoetapa =$this->BuscarExisteProyecto($proyecto,$etapa,$edificio);
               if($id_disenoetapa != 0 ){
                    //AHORA VEMOS SI EXISTE DEPARTAMENTO
                    $id_modelo = $this->buscarmodelopropiedad($modelo);  
                    if($id_modelo !=0){
                          $id_propiedad =$this->existedepartamento($numero,$id_disenoetapa,$id_modelo,$piso);
                          if($id_propiedad != 0){
                            //tenemos que actualizar
                            $actualizapropiedad =$this->actualizarPropiedad($id_propiedad,$id_modelo,$piso,$fec_escritura);

                            if($actualizapropiedad != 0){
                                  $id_persona = $this->InsetUpdatePersona($rut,$nombre,$ape_paterno,$ape_materno,$emailPropietario,$celular,$tel_oficina,$direccion);
                                  if($id_persona !=0){
                                    //si podemos ponerle el propietario
                                      $actualizarpropietario = $this->ActualizarPropietarios($id_persona,$id_propiedad,$rut);
                                  }else{
                                      echo "solo creamos el depto";
                                    //nada solo del departamento creamos
                                  }
                            }else{
                              echo "fallo el actualizar";
                            }
                          }else{
                          
                            //no existe departemento lo tenemos que crear.
                              $creamosdepto = $this->nuevaPropiedad($id_proyecto,$id_disenoetapa,$id_modelo,$numero,$piso,$fec_escritura);
                              if($creamosdepto !=0){
                                // se creo bien
                                  $id_persona = $this->InsetUpdatePersona($rut,$nombre,$ape_paterno,$ape_materno,$emailPropietario,$celular,$tel_oficina,$direccion);

                                  if($id_persona !=0){
                                    //si podemos ponerle el propietario
                                      $actualizarpropietario = $this->ActualizarPropietarios($id_persona,$creamosdepto,$rut);
                                  }else{
                                      echo "solo creamos el depto";
                                    //nada solo del departamento creamos
                                  }

                              }else{
                                echo "fallo al crear";
                                //fallo al crear
                              }
                          }
                    }else{
                      //no existe modelo
                    }
               }else{
                //NO SE AGREGA NADA
               }
         }

         echo $variable;

  }



public function actualizarPropiedad($id_propiedad,$id_modelo,$piso,$fec_escritura){
    $queryupdate = "UPDATE tblpropiedades SET ID_MODELO='$id_modelo',PISO='$piso',FECHA_ESCRITURA='$fec_escritura' 
                        WHERE ID_PROPIEDAD = '$id_propiedad'";
        if(mysql_query($queryupdate)){
            return "1";
        }else{
          return "0";
        }
}

public function ActualizarPropietarios($id_persona,$id_propiedad,$rut){
      $existePropietario = $this->BuscarexistePropietario($id_persona,$id_propiedad);  
      if($existePropietario !=0){
        //existe , lo actualizamos
        $querypropietario = "UPDATE tblpropietarios SET ID_PERSONA='$id_persona',
                              ID_PROPIEDAD='$id_propiedad', PRO_VENTA = '$rut'
                              WHERE ID_PROPIETARIO = '$existePropietario'";
                if(mysql_query($querypropietario)){
                  return $existePropietario;
                }else{
                     return  mysql_error();
                }
      }else{
             //lo creamos nuevo
               //$proceso_autogenerado=mt_rand(1,9999);
               $querypropietario = "INSERT INTO tblpropietarios(ID_PERSONA, ID_PROPIEDAD, PRO_VENTA) 
                                         VALUES ('$id_persona','$id_propiedad','$rut')";
              if(mysql_query($querypropietario)){
                return mysql_insert_id();
              }else{
                  return  mysql_error();
              }
      }
}


public function nuevaPropiedad($id_proyecto,$id_disenoetapa,$id_modelo,$numero,$piso,$fec_escritura){

      $querypropiedad ="INSERT INTO tblpropiedades(ID_DISENOETAPA, ID_MODELO, NUMERO,PISO,FECHA_ESCRITURA) 
                      VALUES ('$id_disenoetapa','$id_modelo','$numero','$piso','$fec_escritura')";
    if(mysql_query($querypropiedad)){
        $id_propiedad = mysql_insert_id();
        return $id_propiedad;
    } else{
       return mysql_error();
    }
}


 public function BuscarexistePropietario($id_persona,$id_propiedad){
    $querysaber = $this->read("SELECT ID_PROPIETARIO, ID_PERSONA, ID_PROPIEDAD
                                  FROM tblpropietarios 
                                  WHERE ID_PERSONA = '$id_persona' AND ID_PROPIEDAD = '$id_propiedad'"); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_PROPIETARIO'];
      } 
    }
    return trim($valor);
 }



 public function BuscarExisteProyecto($proyecto,$etapa,$edificio){
    $querysaber = $this->read("SELECT ce.ID_DISENOETAPA

                                  FROM tblconfiguracionetapas ce
                                  INNER JOIN tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                  INNER JOIN tblproyectos pro ON pro.ID_PROYECTO = e.ID_PROYECTO
                                  INNER JOIN tblmodelounidadconstrucciones mc ON    mc.ID_MODELOUNIDADCONSTRUCCION = ce.ID_MODELOUNIDADCONSTRUCCION
                                  WHERE pro.PROYECTO = '$proyecto' AND e.ETAPA = '$etapa' AND mc.ABREVIATURA = '$edificio'"); 
    $valor = "";
    if(empty($querysaber)){
        $valor = 0;
    }else{
      for($i =0;$i<count($querysaber);$i++){
        $valor= $querysaber[$i]['ID_DISENOETAPA'];
      } 
    }
    return trim($valor);
 }


public function InsetUpdatePersona($rut,$nombre,$ape_paterno,$ape_materno,$email,$celular,$tel_oficina,$direccion){
        
        if($rut == ""){
            return "0";
        }else{
        $id_persona =$this->Buscarpersona($rut);
        $fecharegistro =date("Y-m-d H:i:s");
          if($id_persona == "0"){
          //no existe CREAMOS
            $insertpersona = "INSERT INTO tblpersonas(ID_TIPOPERSONA, ID_PERFIL, RUT, DIRECCION, TEL_FIJO, EMAIL, FEC_REGISTRO,
                                                     USUARIO, INICIALES, ESTADO, CONTRASEÑA)
                               VALUES ('1','7','$rut','$direccion','','$email','$fecharegistro','','','0','')";
              if(mysql_query($insertpersona)){
                  $id_persona = mysql_insert_id();
                  $inserpernatural = "INSERT INTO tblpernaturales(ID_PERNATURAL, NOMBRE, APE_PATERNO, APE_MATERNO, CELULAR, TEL_OFICINA) VALUES 
                                        ('$id_persona','$nombre','$ape_paterno','$ape_materno','$celular','$tel_oficina')";
                  if(mysql_query($inserpernatural)){
                      return $id_persona;
                  }else{
                    return "0";
                  }

              }else{
                return "0";
              }



          }else{
            //Existe , se Actualiza
            $queryupdatepersona = "UPDATE tblpersonas SET DIRECCION='$direccion',EMAIL='$email' WHERE ID_PERSONA = '$id_persona'";
            if(mysql_query($queryupdatepersona)){
              $querypernatural = "UPDATE tblpernaturales SET NOMBRE='$nombre',APE_PATERNO='$ape_paterno', APE_MATERNO='$ape_materno',CELULAR='$celular',
                                                          TEL_OFICINA='$tel_oficina' WHERE ID_PERNATURAL = '$id_persona'";
                if(mysql_query($querypernatural)){
                    return $id_persona;
                }else{
                  return "0";
                }

            }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'");

 }


}
?>