<?php

class mysqlticket {
  
  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 getProfesional($id_responsable){
   $queryprofesional = $this->read("SELECT  distinct per.NOMBRE,per.APE_PATERNO,per.APE_MATERNO 
                                    FROM tblpersonaprofesionales r
                                    INNER JOIN tblpersonas p ON p.ID_PERSONA =r.ID_POSTVENTA 
                                    INNER JOIN tblpernaturales per ON per.ID_PERNATURAL = p.ID_PERSONA
                                    WHERE r.ID_POSTVENTA = '$id_responsable'
                                    UNION ALL
                                    SELECT per.NOMBRE,per.APE_PATERNO,per.APE_MATERNO FROM tblpersonaprofesionales r
                                    INNER JOIN tblpersonas p ON p.ID_PERSONA = r.ID_PROFESIONAL
                                    INNER JOIN tblpernaturales per ON per.ID_PERNATURAL = p.ID_PERSONA
                                    WHERE r.ID_POSTVENTA = '$id_responsable'");
   return $queryprofesional;
}

public function GetReporteTransparencia(){
  $queryreporte = $this->read("SELECT todos.*,
  Pend1.Cantidad as '0-7 pend',
  Pend2.Cantidad as '7-14 pend',
  Pend3.Cantidad as '15-30 pend',
  Pend4.Cantidad as '30+ pend',
  cat1.Cantidad as '0-7 cat',
  cat2.Cantidad as '7-14 cat',
  cat3.Cantidad as '15-30 cat',
   cat4.Cantidad as '30+ cat',
   i1.Cantidad As '0-7 días' ,
   i2.Cantidad AS '07-14 Días',
   i3.Cantidad As '15-30 Días',
   i4.Cantidad AS '30+' 
     FROM (
     SELECT p.Usuario, pro.PROYECTO,pro.ID_PROYECTO,p.ID_PERSONA from tblcalendarios  c
  INNER JOIN tblpersonas p ON p.ID_PERSONA = c.ID_PERSONA_RESP
  INNER JOIN tblproyectos pro ON pro.ID_PROYECTO = c.ID_PROYECTO
  where  p.id_perfil = 8 AND pro.Activo = 1 AND p.Estado = 0
  GROUP BY p.USUARIO , pro.PROYECTO) todos
   LEFT JOIN ( SELECT  
        c.ID_PROYECTO,
        c.ID_PERSONA_RESP,
        COUNT(*) As Cantidad
        FROM  tblcalendarios  c
        LEFT JOIN tblticketcalendarios tc ON tc.ID_CALENDARIO = c.ID_CALENDARIO
        WHERE  ID_TICKETCALENDARIO IS NULL AND
            (c.FEC_INICIO BETWEEN c.FEC_INICIO AND DATE_ADD(NOW(), INTERVAL 7 DAY)) AND
            c.FEC_INICIO >= NOW()
        GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) 
         i1 on i1.ID_PROYECTO= todos.ID_PROYECTO AND i1.ID_PERSONA_RESP = todos.ID_PERSONA
   LEFT JOIN ( SELECT  
        c.ID_PROYECTO,
        c.ID_PERSONA_RESP,
        COUNT(*) As Cantidad
        FROM  tblcalendarios  c
        LEFT JOIN tblticketcalendarios tc ON tc.ID_CALENDARIO = c.ID_CALENDARIO
        WHERE  ID_TICKETCALENDARIO IS NULL AND
            (c.FEC_INICIO BETWEEN  DATE_ADD(NOW(), INTERVAL 8 DAY) AND DATE_ADD(NOW(), INTERVAL 14 DAY )) AND
            c.FEC_INICIO > NOW()
        GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) 
         i2 on i2.ID_PROYECTO= todos.ID_PROYECTO AND i2.ID_PERSONA_RESP = todos.ID_PERSONA
   LEFT JOIN ( SELECT  
        c.ID_PROYECTO,
        c.ID_PERSONA_RESP,
        COUNT(*) As Cantidad
        FROM  tblcalendarios  c
        LEFT JOIN tblticketcalendarios tc ON tc.ID_CALENDARIO = c.ID_CALENDARIO
        WHERE  ID_TICKETCALENDARIO IS NULL AND
            (c.FEC_INICIO BETWEEN  DATE_ADD(NOW(), INTERVAL 15 DAY) AND DATE_ADD(NOW(), INTERVAL 30 DAY )) AND
            c.FEC_INICIO >= NOW()
        GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) 
         i3 on i3.ID_PROYECTO= todos.ID_PROYECTO AND i3.ID_PERSONA_RESP = todos.ID_PERSONA
  LEFT JOIN ( SELECT  
        c.ID_PROYECTO,
        c.ID_PERSONA_RESP,
        COUNT(*) As Cantidad
        FROM  tblcalendarios  c
        LEFT JOIN tblticketcalendarios tc ON tc.ID_CALENDARIO = c.ID_CALENDARIO
        WHERE  ID_TICKETCALENDARIO IS NULL AND
            (c.FEC_INICIO BETWEEN  DATE_ADD(NOW(), INTERVAL 31 DAY) AND DATE_ADD(NOW(), INTERVAL 60 DAY )) AND
            c.FEC_INICIO >= NOW()
        GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) 
         i4 on i4.ID_PROYECTO= todos.ID_PROYECTO AND i4.ID_PERSONA_RESP = todos.ID_PERSONA
  LEFT JOIN (
    SELECT 
      c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
      FROM tbltickets t 
      INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
      INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
      WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
      AND  
        c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )   
	    AND  (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 7 
       GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP
      ) cat1 on cat1.ID_PROYECTO= todos.ID_PROYECTO AND cat1.ID_PERSONA_RESP = todos.ID_PERSONA
       LEFT JOIN (
    SELECT 
      c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
      FROM tbltickets t 
      INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
      INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
      WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
      AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )  
      AND (DATEDIFF(NOW() ,c.FEC_INICIO)) > 7 AND (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 15
       GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP
      ) cat2 on cat2.ID_PROYECTO= todos.ID_PROYECTO AND cat2.ID_PERSONA_RESP = todos.ID_PERSONA
 LEFT JOIN (
    SELECT 
      c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
      FROM tbltickets t 
      INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
      INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
      WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
      AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 ) 
      AND   (DATEDIFF(NOW() ,c.FEC_INICIO)) > 15 AND (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 30
       GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP
      ) cat3 on cat3.ID_PROYECTO= todos.ID_PROYECTO AND cat3.ID_PERSONA_RESP = todos.ID_PERSONA
LEFT JOIN (
    SELECT 
      c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
      FROM tbltickets t 
      INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
      INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
      WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
      AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 ) 
      AND    (DATEDIFF(NOW() ,c.FEC_INICIO)) > 30
       GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP
      ) cat4 on cat4.ID_PROYECTO= todos.ID_PROYECTO AND cat4.ID_PERSONA_RESP = todos.ID_PERSONA
      
   LEFT JOIN  (SELECT 
       c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
    FROM tbltickets t 
    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
      
  LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'  AND c.ID_TIPOCALENDARIO = 1 
      AND  (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 7 
      GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) As Pend1  ON Pend1.ID_PROYECTO= todos.ID_PROYECTO AND Pend1.ID_PERSONA_RESP = todos.ID_PERSONA
      
LEFT JOIN  (SELECT 
       c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
    FROM tbltickets t 
    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'  AND c.ID_TIPOCALENDARIO = 1 
     AND  (DATEDIFF(NOW() ,c.FEC_INICIO)) > 7 AND (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 15
      GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) As Pend2  ON Pend2.ID_PROYECTO= todos.ID_PROYECTO AND Pend2.ID_PERSONA_RESP = todos.ID_PERSONA
      
   LEFT JOIN  (SELECT 
       c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
    FROM tbltickets t 
    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'  AND c.ID_TIPOCALENDARIO = 1 
      AND  (DATEDIFF(NOW() ,c.FEC_INICIO)) > 15 AND (DATEDIFF(NOW() ,c.FEC_INICIO)) <= 30
      GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) As Pend3  ON Pend3.ID_PROYECTO= todos.ID_PROYECTO AND Pend3.ID_PERSONA_RESP = todos.ID_PERSONA
      
   LEFT JOIN  (SELECT 
       c.ID_PROYECTO,
      c.ID_PERSONA_RESP,
       COUNT(*) as Cantidad
    FROM tbltickets t 
    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'  AND c.ID_TIPOCALENDARIO = 1 
      AND  (DATEDIFF(NOW() ,c.FEC_INICIO)) > 30
      GROUP BY c.ID_PROYECTO,c.ID_PERSONA_RESP) As Pend4  ON Pend4.ID_PROYECTO= todos.ID_PROYECTO AND Pend4.ID_PERSONA_RESP = todos.ID_PERSONA        
   WHERE not (i1.Cantidad is null and i2.Cantidad is null and i3.Cantidad is null and i4.Cantidad is null
   and  Pend1.Cantidad is null 
   and  Pend2.Cantidad is null 
   and  Pend3.Cantidad is null 
   and  Pend4.Cantidad is null 
   and  cat1.Cantidad is null
   and  cat2.Cantidad is null
   and  cat3.Cantidad is null
   and  cat4.Cantidad is null)");
  return $queryreporte;
}






    //LO PUSE PORQUE NO SABIA DONDE PONERLO XDD
  public function getPersonaID($id_persona){
     $querypersona =$this->read("SELECT p.ID_PERSONA, p.ID_TIPOPERSONA, p.ID_PERFIL, p.RUT, p.DIRECCION, p.TEL_FIJO, p.EMAIL, 
                                      p.FEC_REGISTRO, p.USUARIO, p.INICIALES, p.ESTADO, p.CONTRASEÑA,pe.PERFIL,t.TIPOPERSONA,
                                      n.NOMBRE, n.APE_PATERNO, n.APE_MATERNO, n.CELULAR, n.TEL_OFICINA                        
                                FROM tblpersonas p 
                                INNER JOIN tblperfiles pe ON pe.ID_PERFIL = p.ID_PERFIL
                                INNER JOIN tbltipopersonas t ON t.ID_TIPOPERSONA = p.ID_TIPOPERSONA
                                INNER JOIN tblpernaturales n ON n.ID_PERNATURAL = p.ID_PERSONA WHERE p.ID_PERSONA ='$id_persona'");
    return $querypersona;
  }

  public function saveTicket($id_calendario,$id_propiedad ,$id_estadoticket,$id_persona,$fecharegistro,
                    $propietario,$v_nombre ,$v_apellido,$v_correo,$v_relacion,$v_telefono,$cantidad,
                    $listapreguntas, $listadetalles,$email_enviado,$emergencia,$listaimagenes,$r_nombre ,$r_apellido ,$r_correo ,$r_relacion ,$r_telefono){
      // $queryticket ="INSERT INTO tbltickets(ID_PROPIEDAD, ID_ESTADOTICKET, ID_PERSONA, FEC_REGISTRO, PROPIETARIO, 
      //               V_NOMBRE, V_APELLIDO, V_CORREO, V_RELACION, V_TELEFONO, CANTIDAD, EMAIL_ENVIADO,ID_TIPOTICKET)
      //            VALUES ('$id_propiedad','$id_estadoticket','$id_persona','$fecharegistro','$propietario',
      //                   '$v_nombre','$v_apellido','$v_correo','$v_relacion','$v_telefono','$cantidad','$email_enviado','$emergencia');";
      $queryticket = "INSERT INTO tbltickets(ID_PROPIEDAD, ID_ESTADOTICKET, ID_PERSONA, ID_TIPOTICKET,FEC_REGISTRO, PROPIETARIO, 
                                                 R_NOMBRE, R_APELLIDO, R_CORREO, R_RELACION, R_TELEFONO,
                                                 V_NOMBRE, V_APELLIDO, V_CORREO, V_RELACION, V_TELEFONO, 
                                                 CANTIDAD, EMAIL_ENVIADO)
                                        VALUES ('$id_propiedad','$id_estadoticket','$id_persona','$emergencia','$fecharegistro','$propietario',
                                                '$r_nombre','$r_apellido','$r_correo','$r_relacion','$r_telefono',
                                                 '$v_nombre','$v_apellido','$v_correo','$v_relacion','$v_telefono',
                                                 '$cantidad','$email_enviado')";
   if(mysql_query($queryticket)){
        
        $id_ticket = mysql_insert_id();
        $tomar = $this->tomarHora($id_calendario);
         if($tomar == "1"){
          $queryticketcalendario = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO,OBSERVACION) 
                                        VALUES ('$id_ticket','$id_calendario','')";
           if(mysql_query($queryticketcalendario)){
           }else{
            return mysql_error();
           }

            //INSERTANDO LAS PREGUNTAS
            for ($i=0;$i<count($listapreguntas); $i++){
            $id_pregunta = $listapreguntas[$i]['id_pregunta'];
            $respuesta = $listapreguntas[$i]['respuesta'];
            $queryTicketpreguntas = "INSERT INTO tblticketpreguntas(ID_PREGUNTA,ID_TICKET,RESPUESTA) 
                                    VALUES ('$id_pregunta','$id_ticket','$respuesta')";
               if(mysql_query($queryTicketpreguntas)){  
                }else{
                    return mysql_error();
                }
             }

                for ($i=0;$i<count($listadetalles); $i++){
                $id_ambiente = $listadetalles[$i]['id_ambiente'];
                $descripcion = $listadetalles[$i]['descripcion'];
                $querydetalles = "INSERT INTO tbldetalles(ID_TICKET, ID_AMBIENTE, PROBLEMA, OPEN_CLOSE, REPARADO)
                                   VALUES ('$id_ticket','$id_ambiente','$descripcion','0','0')";
                     if(mysql_query($querydetalles)){
                       $id_detalle = mysql_insert_id();
                          if($listaimagenes[$i]['key']== "" ){
                             }else{
                                    $key = $listaimagenes[$i]['key'];
                                    $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                             VALUES ('$id_detalle','$id_persona','$fecharegistro','$descripcion','$key')";
                                    if(mysql_query($queryimagenes)){
                                    }else{
                                      return mysql_error();
                                    }
                             }
                      }else{
                          return mysql_error();
                      }
                 }
        
             $guardarMOV = $this->Movivimiento($id_ticket,'2',$id_persona,'');
             if($guardarMOV == "1"){
               return $id_ticket;
             }else{
              return mysql_error();
             }
          //GUARDAR EL MOVIMIENTO
         }else{
            //FALLO EL TOMAR LA  HORA
          return mysql_error();

         }

      }else{
        return mysql_error();
      }

  }
public function getNuevos($id_persona){
  $querynuevos =$this->read("SELECT 
                                    t.ID_TICKET,
                                    po.ID_PROYECTO,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    tc.ID_CALENDARIO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 ) 
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO DESC  LIMIT 100");
    return $querynuevos;
}



public function numeroNuevos($id_persona){
       $query =$this->read("SELECT  COUNT(t.ID_TICKET) as NumeroNuevos
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO DESC LIMIT 100");
    return $query;
}

public function getProceso2(){
   $queryproceso =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    po.ID_PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    DATEDIFF(ADDDATE( CURDATE( ) ,0 ),t.FEC_REGISTRO) AS DIFERENCIA,             
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET
                                    FROM tbltickets t 
                                    LEFT JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'
                                    /*AND ADDDATE( CURDATE( ) ,0 ) > c.FEC_INICIO*/
                                    ORDER BY c.FEC_INICIO DESC LIMIT 100");
    return $queryproceso; 
}


public function getProceso($id_persona){
   $queryproceso =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    po.ID_PROYECTO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    DATEDIFF(ADDDATE( CURDATE( ) ,0 ),t.FEC_REGISTRO) AS DIFERENCIA,             
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    c.ID_TIPOCALENDARIO
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    WHERE   c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2' 
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY c.FEC_INICIO ASC LIMIT 100");
    return $queryproceso; 
}

public function numeroProceso($id_persona){
   $queryproceso =$this->read("SELECT COUNT(t.ID_TICKET) as NumeroProceso
                                    FROM tbltickets t 
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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 tbletapas e ON e.ID_ETAPA = ce.ID_ETAPA
                                    INNER JOIN tblproyectos po ON po.ID_PROYECTO = e.ID_PROYECTO
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    WHERE    t.ID_ESTADOTICKET = '2' 
                                    AND  up.ID_PERSONA = '$id_persona'");
    return $queryproceso; 
}








public function getFechaProxima($id_ticket){
  $queryproxima =$this->read("SELECT t.ID_TICKET,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN

                                    FROM tbltickets t 
                                    LEFT JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE  c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2' AND c.ID_TIPOCALENDARIO = '2'
                                    AND ADDDATE( CURDATE( ) ,0 ) < c.FEC_INICIO
                                    AND t.ID_TICKET = '$id_ticket'
                                    ORDER BY c.FEC_INICIO ASC limit 1");
    return $queryproxima; 
}
// public function getFinalizados(){
//    $query =$this->read("SELECT t.ID_TICKET,
//                                     po.PROYECTO,
//                                     p.NUMERO,
//                                     DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
//                                     DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
//                                     DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
//                                     DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
//                                     t.CANTIDAD,
//                                     t.ID_TIPOTICKET,
//                                     m.ABREVIATURA,
//                                     tp.TIPOPROPIEDAD,
//                                     e.ETAPA,
//                                     me.ABREVIATURA AS Edificio,
//                                     tt.ID_TIPOTICKET,
//                                     tt.TIPOTICKET,
//                                     mc.MOTIVO,
//                                     c.ID_TIPOCALENDARIO,
//                                     mc.ID_MOTIVO,
//                                     t.ID_ESTADOTICKET
//                                     FROM tbltickets t 
//                                     INNER  JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
//                                     INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
//                                     INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
//                                     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
//                                     INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
//                                     LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
//                                     LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
//                                     WHERE (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
//                                     ORDER BY t.ID_TICKET DESC");
//     return $query;
// }
public function getFinalizados($id_persona){
   $query =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    mc.MOTIVO,
                                    mc.ID_MOTIVO,
                                    t.ID_ESTADOTICKET,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO
                                    FROM tbltickets t 
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
                                    LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
                                    WHERE (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.ID_TICKET DESC LIMIT 100");
    return $query;
}
public function numerosFinalizados($id_persona){
       $query =$this->read("SELECT  COUNT(t.ID_TICKET) as NumeroFinalizados
                                    FROM tbltickets t 
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
                                    LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
                                    WHERE (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.ID_TICKET DESC LIMIT 100");
    return $query;
}








public function getDiasFinalizado($id_ticket){
  $query =$this->read("SELECT t.ID_TICKET,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                     DATE_FORMAT(tm.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO2,
                                    DATEDIFF(tm.FEC_REGISTRO,t.FEC_REGISTRO) AS DIFERENCIA             
                                    FROM tbltickets t 
                                    LEFT JOIN tblticketmovimientos tm ON tm.ID_TICKET = t.ID_TICKET AND tm.ID_MOVIMIENTO = '5'
                                    WHERE   t.ID_TICKET = '$id_ticket' AND t.ID_ESTADOTICKET = '3'
                                    ORDER BY t.FEC_REGISTRO ASC ");
    return $query;
}

public function getCancelados(){
   $query =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    tm.OBSERVACION,
                                    DATE_FORMAT(tm.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_CANCELACION
                     
                                    FROM tbltickets t 
                                    INNER JOIN tblticketmovimientos tm ON tm.ID_TICKET = t.ID_TICKET AND tm.ID_MOVIMIENTO = 4
                                    INNER  JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    WHERE   t.ID_ESTADOTICKET = '4'
                                    GROUP BY t.ID_TICKET
                                    ORDER BY c.FEC_INICIO ASC");

    return $query;
}



public function getPorcategorizar($id_persona){
  $querynuevos =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO ASC LIMIT 1000");
    return $querynuevos;
}

public function numeroCategorizar($id_persona){
  $querynuevos =$this->read("SELECT COUNT(t.ID_TICKET) as numeroCategorizar
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                    WHERE c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO ASC");
    return $querynuevos;
}



private  function tomarHora($id_calendario){
      $querytomarhora= "UPDATE tblcalendarios SET ESTADO= '1' WHERE  ID_CALENDARIO = '$id_calendario'";
       if(mysql_query($querytomarhora)){
          return "1";
      }else{
        return mysql_error();
       }

  }

  private function liberarhora($id_calendario){
        $queryliberar= "UPDATE tblcalendarios SET ESTADO= '0' WHERE  ID_CALENDARIO = '$id_calendario'";
       if(mysql_query($queryliberar)){
          return "1";
      }else{
        return mysql_error();
       }

  }




//ELIMINAR LA HORA DE LA PRIMERA VISITA ; YA QUE DESORDENA EL HISTORIAL ; IGUAL QUEDA REGISTRO DEL MOVIMIENTO
 private function eliminarhora($id_ticket ,$id_calendario){
     $queryeliminar= "DELETE FROM  tblticketcalendarios 
                        WHERE  ID_TICKET = '$id_ticket' AND ID_CALENDARIO ='$id_calendario'

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

  private function Movivimiento($id_ticket,$mov,$id_registra,$observacion){
    $fecharegistro =date("Y-m-d H:i:s");
    $querymovimiento = "INSERT INTO tblticketmovimientos(ID_MOVIMIENTO, ID_TICKET,ID_PERSONA_REG, OBSERVACION,FEC_REGISTRO)
                         VALUES ('$mov','$id_ticket','$id_registra','$observacion','$fecharegistro')";
     if(mysql_query($querymovimiento)){
          return "1";
      }else{
        return mysql_error();
       }

  }
  public function getInfoTicket($ticket){
  $queryinfo =$this->read("SELECT ID_TICKET,t.ID_PROPIEDAD,
                            t.ID_ESTADOTICKET,et.ESTADO,ID_PERSONA,t.ID_TIPOTICKET,
                            tt.TIPOTICKET,PROPIETARIO,
                            V_NOMBRE,V_APELLIDO, V_CORREO, V_RELACION, V_TELEFONO, CANTIDAD,
                            DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y ') AS FEC_REGISTRO,
                            R_NOMBRE, R_APELLIDO, R_CORREO, R_RELACION, R_TELEFONO,  po.ID_PROYECTO,
                            t.SeEnviaDescripcion,t.DescripcionCorreoEnviado
                            FROM tbltickets t
                            INNER JOIN  tblestadotickets et ON  et.ID_ESTADOTICKET= t.ID_ESTADOTICKET
                            INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                            INNER JOIN tblpropiedades p on p.ID_PROPIEDAD  = t.id_propiedad
                            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 ID_TICKET = '$ticket'");
      return $queryinfo;
  }

public function getInfoTicketSinfinalizar($ticket){
  $queryinfo =$this->read("SELECT  d.ID_DETALLE, 
                                         d.ID_TICKET, 
                                         d.ID_AMBIENTE, 
                                         d.PROBLEMA,
                                         a.AMBIENTE, 
                                         d.OPEN_CLOSE
                                         FROM tbldetalles d
                                         INNER JOIN tblambientes a ON a.ID_AMBIENTE = d.ID_AMBIENTE
                                         WHERE d.ID_TICKET = '$ticket' AND d.OPEN_CLOSE = '0'");
      return $queryinfo;
  }

  public function getInfodetalleTicket($ticket){
     $querydetalle =$this->read("SELECT  d.ID_DETALLE, 
                                         d.ID_TICKET, 
                                         d.ID_AMBIENTE, 
                                         d.PROBLEMA,
                                         a.AMBIENTE, 
                                         d.OPEN_CLOSE,
                                         d.REPARADO,
                                         d.GARANTIA
                                         FROM tbldetalles d
                                         INNER JOIN tblambientes a ON a.ID_AMBIENTE = d.ID_AMBIENTE
                                         WHERE d.ID_TICKET = '$ticket'");
      return $querydetalle;
  }


  public function getinfodetallecategorizacion($ticket){
   $querydetalle =$this->read("SELECT  d.ID_DETALLE, 
                                         d.ID_TICKET, 
                                         d.ID_AMBIENTE, 
                                         d.PROBLEMA,
                                         a.AMBIENTE, 
                                         d.OPEN_CLOSE,
                                         dc.OBSERVACIONES,
                                         r.RESPONSABLE,
                                         sc.SUBCATEGORIA,
                                         c.CATEGORIA,
                                         d.REPARADO,
                                         d.OPEN_CLOSE
                                         FROM tbldetalles d
                                         INNER JOIN tblambientes a ON a.ID_AMBIENTE = d.ID_AMBIENTE
                                         LEFT JOIN tbldetallecategorias dc ON dc.ID_DETALLE = d.ID_DETALLE
                                         LEFT JOIN tblresponsables r ON r.ID_RESPONSABLE = dc.ID_RESPONSABLE
                                         LEFT JOIN tblsubcategorias sc ON sc.ID_SUBCATEGORIA = dc.ID_SUBCATEGORIA
                                         LEFT JOIN tblcategorias c ON c.ID_CATEGORIA = sc.ID_CATEGORIA
                                         WHERE d.ID_TICKET = '$ticket'");
      return $querydetalle;



  }




public function getInfoPropiedad($id_propiedad){
 $querypropiedad =$this->read("SELECT p.ID_PROPIEDAD, 
                                      p.ID_DISENOETAPA,
                                      m.ID_MODELO,
                                      m.ABREVIATURA,
                                      tp.TIPOPROPIEDAD,
                                      me.ABREVIATURA as Edificio,
                                      e.ETAPA,
                                      po.PROYECTO,
                                      po.ID_PROYECTO ,
                                      NUMERO,
                                      OBS_PREENTREGA, 
                                      OBS_ENTREGA,
                                      PISO,
                                      DATE_FORMAT(p.FECHA_ENTREGA,'%d/%m/%Y ') AS FECHA_ENTREGA,
                                      DATE_FORMAT(p.FECHA_PREENTREGA,'%d/%m/%Y ') AS FECHA_PREENTREGA,
                                      DATE_FORMAT(p.FECHA_PROMESA,'%d/%m/%Y ') AS FECHA_PROMESA,
                                      DATE_FORMAT(p.FECHA_ESCRITURA,'%d/%m/%Y ') AS FECHA_ESCRITURA,
                                      DATE_FORMAT(e.FEC_RES_MUNICIPAL,'%d/%m/%Y ') AS FEC_RES_MUNICIPAL,
                                      DATEDIFF(ADDDATE( CURDATE( ) ,0 ),e.FEC_RES_MUNICIPAL) AS DIFERENCIA_RES,             
                                       DATEDIFF(ADDDATE( CURDATE( ) ,0 ),p.FECHA_ESCRITURA) AS DIFERENCIA_ESC 
                                      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 p.ID_PROPIEDAD = '$id_propiedad'");
      return $querypropiedad;
  }




 public function reprogramar($id_ticket,$hora_nueva,$hora_vieja,$mov,$usuario_registra,$observacion){
  //MOV SI ES DE PRIMERA O SEGUNDA ATENCION
        $asignar = $this->asignandohora($id_ticket,$hora_nueva,'');
         if($asignar == "1"){
            $liberar = $this->liberarhora($hora_vieja);
            if($liberar == "1"){
                  if($mov == 1){
                    $eliminar = $this->eliminarhora($id_ticket,$hora_vieja);
                        if($eliminar == "1"){
                                     $movi= 3;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                                      $guardarMOV = $this->Movivimiento($id_ticket,$movi,$usuario_registra,$observacion);
                                       if($guardarMOV == "1"){
                                         return "1";
                                       }else{
                                        return mysql_error();
                                       }
                        }else{
                          return mysql_error();
                        }

                  }else{
                               $movi= 3;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                              $guardarMOV = $this->Movivimiento($id_ticket,$movi,$usuario_registra,$observacion);
                               if($guardarMOV == "1"){
                                 return "1";
                               }else{
                                return mysql_error();
                               }

                  }                  
            }else{
                  return mysql_error(); 
            }

         }else{
            return mysql_error();
         }

 }




 public function reprogramar2visita($id_proyecto,$tipocalendario,$usuario_registra,$responsable,$fec_inicio,$fec_fin,
                                     $id_ticket,$hora_vieja,$mov,$observacion){
  //PRIMERO SE GENERA LA NUEVA HORA
  $hora_nueva = $this->generHora2visita($id_proyecto,$tipocalendario,$usuario_registra,$responsable,$fec_inicio,$fec_fin);
     //MOV SI ES DE PRIMERA O SEGUNDA ATENCION
        $asignar = $this->asignandohora($id_ticket,$hora_nueva,'');
         if($asignar == "1"){
            $liberar = $this->liberarhora($hora_vieja);
            if($liberar == "1"){
                  if($mov == 1){
                    $eliminar = $this->eliminarhora($id_ticket,$hora_vieja);
                        if($eliminar == "1"){
                                     $movi= 3;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                                      $guardarMOV = $this->Movivimiento($id_ticket,$movi,$usuario_registra,$observacion);
                                       if($guardarMOV == "1"){
                                         return $hora_nueva;
                                       }else{
                                        return mysql_error();
                                       }
                        }else{
                          return mysql_error();
                        }

                  }else{
                                 $movi= 3;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                                $guardarMOV = $this->Movivimiento($id_ticket,$movi,$usuario_registra,$observacion);
                                 if($guardarMOV == "1"){
                                   return $hora_nueva;
                                 }else{
                                  return mysql_error();
                                 }

                  }                 


            }else{
                  return mysql_error(); 
            }

         }else{
            return mysql_error();
         }

 }


 private  function asignandohora($id_ticket,$id_calendario,$observacion){
  $queryprogramar = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO, OBSERVACION)
                   VALUES ('$id_ticket','$id_calendario','$observacion')";
     //ASIGNAMOS LA HORA Y LA DEJAMOS TOMADA
     if(mysql_query($queryprogramar)){
          $tomar = $this->tomarHora($id_calendario);
         if($tomar == "1"){
            return "1";
         }else{
          return mysql_error();
         }
      }else{
        return mysql_error();
       }

 }

//SABE LA PRIMERA VISITA CUAL FUE
 public function getprimeravisita($ticket){
  $queryprimeravisita =$this->read("SELECT tc.ID_TICKETCALENDARIO, tc.ID_TICKET, c.ID_CALENDARIO, tc.OBSERVACION,
                                    c.FEC_INICIO,
                                     c.FEC_FIN,
                                    DATE_FORMAT(c.FEC_INICIO,'%Y-%m-%d') AS COMPARAR,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                     DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y %H:%i:%s') AS HORAINICIOCONFECHA,
                                    c.ID_PERSONA_RESP,
                                    p.EMAIL AS EMAILRESPONSABLE
                                    FROM tblticketcalendarios tc
                                    INNER JOIN tblcalendarios c ON c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpersonas p ON p.ID_PERSONA = c.ID_PERSONA_RESP
                                    WHERE c.ID_TIPOCALENDARIO ='1' 
                                    AND c.ESTADO = '1'  
                                    AND tc.ID_TICKET = '$ticket'");
      return $queryprimeravisita;
 }

 public function getprimeravisitaactivas($ticket){
  $queryprimeravisita =$this->read("SELECT tc.ID_TICKETCALENDARIO, tc.ID_TICKET, c.ID_CALENDARIO, tc.OBSERVACION,
                                    c.FEC_INICIO,
                                     c.FEC_FIN,
                                    DATE_FORMAT(c.FEC_INICIO,'%Y-%m-%d') AS COMPARAR,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    c.ID_PERSONA_RESP,
                                    p.EMAIL AS EMAILRESPONSABLE
                                    FROM tblticketcalendarios tc
                                    INNER JOIN tblcalendarios c ON c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpersonas p ON p.ID_PERSONA = c.ID_PERSONA_RESP
                                    WHERE c.ID_TIPOCALENDARIO ='1' 
                                    AND c.ESTADO = '1'  
                                    AND tc.ID_TICKET = '$ticket' AND c.FEC_INICIO >= NOW()");
      return $queryprimeravisita;
 }



 public function setEmitirMovimiento($id_ticket,$id_persona_registra,$comentarios,$fecharegistro){
       $movi= 1;//MOVIMIENTO 3 ,EMITIR ORDEN
       $guardarMOV = $this->Movivimiento($id_ticket,$movi,$id_persona_registra,$comentarios);
       if($guardarMOV == "1"){
         return "1";
       }else{
        return mysql_error();
       }
 }

 //TRAEMOS LA LISTA DE HORAS DEL TICKET COMPLETA 
 public function getlistahoras($id_ticket){
   $querylista =$this->read("SELECT DISTINCT(tc.ID_CALENDARIO),
                                      tc.ID_TICKET, 
                                      OBSERVACION ,
                                      c.FEC_INICIO,
                                      c.ID_TIPOCALENDARIO
                                      FROM tblticketcalendarios tc
                                      INNER JOIN tblcalendarios c ON c.ID_CALENDARIO = tc.ID_CALENDARIO
                                      WHERE  ID_TICKET = '$id_ticket' AND c.ESTADO = '1'");
                                      //VOY A DEJARLA ACÄ POR SI ACASO  AND c.ID_TIPOCALENDARIO ='1.
                                      // YA QUE LOS CALENDARIOS DE 2 VISITA DA LO MISMO SI SE LIBERAN O NO ; YA QUE NADIE LOS VA A PODER SELECCIONAR DESPUES PORQUE SON HORAS
                                      // QUE SE PROGRAMAN DINAMICAMENTE SIN QUE NADIE LAS PUEDA TOMAR O AGENDAR.
      return $querylista;
 }

  //TRAEMOS LA LISTA DE HORAS DEL TICKET COMPLETA 
 public function getlistahoras2visitas($id_ticket){
   $querylista =$this->read("SELECT DISTINCT(tc.ID_CALENDARIO),
                                      tc.ID_TICKET,
                                      DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y') AS FECHAPOSTVENTA,
                                      DATE_FORMAT(c.FEC_INICIO,'%H:%i:%s') AS HORAINICIO,
                                      DATE_FORMAT(c.FEC_FIN,'%H:%i:%s') AS HORAFIN,
                                      DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y %H:%i:%s') AS HORAINICIOCONFECHA,
                                      DATE_FORMAT(c.FEC_FIN,'%d/%m/%Y %H:%i:%s') AS HORAFINCONFECHA,
                                      OBSERVACION 
                                      FROM tblticketcalendarios tc
                                      INNER JOIN tblcalendarios c ON c.ID_CALENDARIO = tc.ID_CALENDARIO
                                      WHERE  ID_TICKET = '$id_ticket' AND c.ESTADO = '1' AND c.ID_TIPOCALENDARIO = '2'");
                                      //EL MISMO DE ARRIBA PERO LA  DIFERENCIA ES QUE LAS VISTAS SON DE 2
      return $querylista;
 }

 public function cambiarestadoTicket($id_ticket,$estado){
  $querycambiar = "UPDATE tbltickets SET ID_ESTADOTICKET='$estado' WHERE ID_TICKET = '$id_ticket'";
     if(mysql_query($querycambiar)){
          return "1";
      }else{
        return mysql_error();
       }
}
public function generHora2visita($id_proyecto,$tipocalendario,$usuario_registra,$responsable,$fec_inicio,$fec_fin){
  $queryhora = "INSERT INTO tblcalendarios( ID_PROYECTO,ID_TIPOCALENDARIO, ID_PERSONA_REGISTRAR,ID_PERSONA_RESP, FEC_INICIO, FEC_FIN,ESTADO) 
                VALUES ('$id_proyecto','$tipocalendario','$usuario_registra','$responsable','$fec_inicio','$fec_fin','0')";
    if(mysql_query($queryhora)){
          return mysql_insert_id();
      }else{
        return mysql_error();
       }
}

public function getMovimientos($id_ticket){
   $querymovimiento =$this->read("SELECT  tm.ID_TICKETMOVIMIENTO, 
                                          tm.ID_MOVIMIENTO,
                                          m.MOVIMIENTO, 
                                          tm.ID_TICKET, 
                                          tm.ID_PERSONA_REG, 
                                          pe.RUT,
                                          OBSERVACION,
                                          p.ID_PERFIL,
                                          p.PERFIL,
                                          pn.NOMBRE,
                                          pn.APE_PATERNO,
                                          pn.APE_MATERNO,
                                          pe.INICIALES,
                                          DATE_FORMAT(tm.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                          CONCAT(
                                          FLOOR(HOUR(TIMEDIFF(NOW(), tm.FEC_REGISTRO)) / 24), ' Dias, ',
                                          MOD(HOUR(TIMEDIFF(NOW(), tm.FEC_REGISTRO)), 24), ' Horas, ',
                                          MINUTE(TIMEDIFF(NOW(), tm.FEC_REGISTRO)), ' Minutos, ',
                                          SECOND(TIMEDIFF(NOW(), tm.FEC_REGISTRO)), ' Segundos')
                                          AS timediff
                                          FROM tblticketmovimientos tm
                                          INNER JOIN tblmovimientos m ON m.ID_MOVIMIENTO = tm.ID_MOVIMIENTO
                                          INNER JOIN tblpersonas pe ON pe.ID_PERSONA = tm.ID_PERSONA_REG
                                          INNER JOIN tblpernaturales pn ON pn.ID_PERNATURAL = pe.ID_PERSONA
                                          INNER JOIN tblperfiles p ON p.ID_PERFIL = pe.ID_PERFIL 
                                          WHERE tm.ID_TICKET = '$id_ticket' 
                                          ORDER BY tm.FEC_REGISTRO  ASC");
      return $querymovimiento;
}


public function getMovimientosALL(){
   $querymovimiento =$this->read("SELECT ID_MOVIMIENTO, MOVIMIENTO FROM tblmovimientos ");
      return $querymovimiento;

}

public function getPreguntas($id_ticket){
     $querypreguntas =$this->read("SELECT ID_TICKETPREGUNTA, p.ID_PREGUNTA, p.PREGUNTA,p.BREVE , ID_TICKET, RESPUESTA 
                                  FROM tblticketpreguntas tp 
                                  INNER JOIN tblpreguntas p ON p.ID_PREGUNTA = tp.ID_PREGUNTA
                                  WHERE ID_TICKET = '$id_ticket'");
      return $querypreguntas;
}





public function gettipoticket(){
     $tipoticket =$this->read("SELECT ID_TIPOTICKET, TIPOTICKET FROM tbltipotickets");
     return $tipoticket;
}



public function getCategorias(){
     $categorias =$this->read("SELECT ID_CATEGORIA, CATEGORIA FROM tblcategorias");
     return $categorias;
}






public function getsubcategorias($id_categoria){
     $subcategoria =$this->read("SELECT c.ID_SUBCATEGORIA, ID_CATEGORIA,
                                      c.SUBCATEGORIA, 
                                      c.ID_RESPONSABLEOBRA
                                 FROM tblsubcategorias c
                                 INNER JOIN tblresponsableobras r ON r.ID_RESPONSABLEOBRA = c.ID_RESPONSABLEOBRA
                                 WHERE ID_CATEGORIA = '$id_categoria'");
     return $subcategoria;
}


public function getResponsables(){
     $responsable =$this->read("SELECT ID_RESPONSABLE, RESPONSABLE FROM tblresponsables");
     return $responsable;
}

public function getResponsablesPostventa(){
     $responsable =$this->read("SELECT ID_RESPONSABLE, RESPONSABLE FROM tblresponsables WHERE ID_RESPONSABLE = '8'");
     return $responsable;
}

public function getsubcontratistas(){
     $subcontratista =$this->read("SELECT ID_SUBCONTRATISTA, ID_SERVICIO, SUBCONTRATISTA, 
                                  REPRESENTANTE, EMAIL, TEL_FIJO 
                                  FROM tblsubcontratistas ");
     return $subcontratista;
}


public function getsubcontratistasBYID($id_subcontratista){
     $subcontratista =$this->read("SELECT su.ID_SUBCONTRATISTA, su.ID_SERVICIO, su.SUBCONTRATISTA, 
                                  su.REPRESENTANTE, su.EMAIL, su.TEL_FIJO ,s.SERVICIO
                                  FROM tblsubcontratistas su
                                  INNER JOIN tblservicios s ON s.ID_SERVICIO = su.ID_SERVICIO
                                  WHERE ID_SUBCONTRATISTA = '$id_subcontratista'");
     return $subcontratista;
}


public function setCategorizacion($id_ticket,$lista,$fecharegistro,$listaimagenes,$usuario_registra){
      for ($i=0;$i<count($lista); $i++){
          $id_responsable = $lista[$i]['id_responsable'];
          $id_subcategoria = $lista[$i]['id_subcategoria'];
          $id_detalle = $lista[$i]['id_detalle'];
          $observaciones = $lista[$i]['observaciones'];
          $reparado = $lista[$i]['reparado'];
          $open_close = $lista[$i]['open_close'];
          $id_subcontratista = $lista[$i]['id_subcontratista'];
          $garantia = $lista[$i]['garantia'];
          $querysetcategoria = "INSERT INTO tbldetallecategorias(ID_RESPONSABLE, ID_SUBCATEGORIA, 
                                   ID_DETALLE, FEC_REGISTRO, OBSERVACIONES) 
                                 VALUES ('$id_responsable','$id_subcategoria','$id_detalle','$fecharegistro','$observaciones')";
           $queryupdate="UPDATE tbldetalles SET OPEN_CLOSE='$open_close',REPARADO='$reparado' ,GARANTIA = '$garantia' WHERE ID_DETALLE = '$id_detalle'";
   

           if(mysql_query($querysetcategoria)){
                    $id_detallecategoria = mysql_insert_id();
                     if($id_subcontratista ==""){
                    }else{
                        $querysubcontratista = "INSERT INTO tblcategoriasubcontratistas(ID_SUBCONTRATISTA, ID_DETALLECATEGORIA)
                                                       VALUES ('$id_subcontratista','$id_detallecategoria')";
                        if(mysql_query($querysubcontratista)){
                        }else{
                            return mysql_error();
                        }
                    }
                  if(mysql_query($queryupdate)){
                          if ($listaimagenes[$i]['key']== ""){
                          }else{
                                  $key = $listaimagenes[$i]['key'];
                                $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                 VALUES ('$id_detalle','$usuario_registra','$fecharegistro','$observaciones','$key')";
                                  if(mysql_query($queryimagenes)){

                                  }else{

                                    return mysql_error();
                                  }   
                          }
                      //}  
                  }else{
                    return mysql_error();
                  }
            }else{
                return mysql_error();
            }
       }



    //COMPROBAR SI FINALIZAR EL TICKET PARA VER SI LO TERMINAMOS.
     $lista = $this->sabersifinaliza($id_ticket);
     if(empty($lista)){
          //$finalizar = $this->finalizarTICKET($id_ticket);
          return "1";
         //SE PUEDE FINALIZAR
       }else{
        //NO SE PEUDE FINALIZAR
          return  "3";
       }
}


 public function sabersifinaliza($id_ticket){
   $querysabersifinaliza =$this->read("SELECT ID_DETALLE, ID_TICKET, 
                                      ID_AMBIENTE, PROBLEMA, OPEN_CLOSE 
                                      FROM tbldetalles 
                                      WHERE OPEN_CLOSE = '0' AND ID_TICKET = '$id_ticket'");
      return $querysabersifinaliza;
 }


 public function finalizarTICKET($id_ticket,$observaciones,$id_persona_registra,$SeEnviaDescripcion){

  $QueryUpdateTicket = "UPDATE tbltickets SET
                         DescripcionCorreoEnviado='$observaciones',
                         SeEnviaDescripcion= $SeEnviaDescripcion
                        WHERE ID_TICKET = '$id_ticket'";

  if(mysql_query($QueryUpdateTicket)){

  }else{
    return mysql_error();
  }

     $lista = $this->getlistahoras($id_ticket);
     if(empty($lista)){
         return "NADA";
       }
    else{
         $fechactual =date("Y-m-d H:i:s");
         for($i=0;$i<count($lista);$i++){
          //LIBERAR HORAS PASADAS
                if($lista[$i]['ID_TIPOCALENDARIO']== 1){
                }else{
                    if($lista[$i]['FEC_INICIO'] >= $fechactual){

                      if($lista[$i]['ID_TIPOCALENDARIO'] == 1){
                          $this->liberarhora($lista[$i]['ID_CALENDARIO']);
                      }
                  }
                }
         }
    }
    $cambiarestado = $this->cambiarestadoTicket($id_ticket,3);//FINALIZADO
    if($cambiarestado = "1"){
          $movi= 5;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
            $guardarMOV = $this->Movivimiento($id_ticket,$movi,$id_persona_registra,$observaciones);
              if($guardarMOV == "1"){
                return "1";
              }else{
              return mysql_error();
              }
    }else{
      return mysql_error();
    }
 }

 public function setFinalizaritem($listadetalles,$id_persona_registra,$fecharegistro,$id_ticket,$SeEnviaDescripcion,$observaciones_finalizar){

  $QueryUpdateTicket = "UPDATE tbltickets SET
                         DescripcionCorreoEnviado='$observaciones_finalizar',
                         SeEnviaDescripcion= $SeEnviaDescripcion
                        WHERE ID_TICKET = '$id_ticket'";

  if(mysql_query($QueryUpdateTicket)){

  }else{
    return mysql_error();
  }

  	 for ($i=0;$i<count($listadetalles); $i++){
        $id_detalle = $listadetalles[$i]['id_detalle'];
        $queryUPDATE = "UPDATE tbldetalles SET OPEN_CLOSE='1',REPARADO='1' WHERE ID_DETALLE = '$id_detalle'";

          if(mysql_query($queryUPDATE)){

              }else{
                return mysql_error();
              }
    	}
    //COMPROBAR SI FINALIZAR EL TICKET PARA VER SI LO TERMINAMOS.
     $lista = $this->sabersifinaliza($id_ticket);
     if(empty($lista)){
          //$finalizar = $this->finalizarTICKET($id_ticket);
          return "1";
         //SE PUEDE FINALIZAR
       }else{
        //NO SE PEUDE FINALIZAR
          return  "3";
       }
  }

   public function setCancelaritem($listadetalles,$id_persona_registra,$fecharegistro,$id_ticket){
     for ($i=0;$i<count($listadetalles); $i++){
        $id_detalle = $listadetalles[$i]['id_detalle'];
        $queryUPDATE = "UPDATE tbldetalles SET OPEN_CLOSE='1',REPARADO='0' WHERE ID_DETALLE = '$id_detalle'";
          if(mysql_query($queryUPDATE)){
              }else{
                return mysql_error();
              }
      }

    //COMPROBAR SI FINALIZAR EL TICKET PARA VER SI LO TERMINAMOS.
     $lista = $this->sabersifinaliza($id_ticket);
     if(empty($lista)){
          //$finalizar = $this->finalizarTICKET($id_ticket);
          return "1";
         //SE PUEDE FINALIZAR
       }else{
        //NO SE PEUDE FINALIZAR
          return  "3";
       }
  }




public function pasarProceso($id_ticket,$id_persona_registra){
    $cambiarestado = $this->cambiarestadoTicket($id_ticket,2);//FINALIZADO
    if($cambiarestado = "1"){
                $movi= 6;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                  $guardarMOV = $this->Movivimiento($id_ticket,$movi,$id_persona_registra,'');
                   if($guardarMOV == "1"){
                     return "1";
                   }else{
                    return mysql_error();
                   }
    }else{
      return mysql_error();
    }
}

public function MovimientoITEM($id_ticket,$id_persona_registra,$observaciones,$mov){
        //MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
          $guardarMOV = $this->Movivimiento($id_ticket,$mov,$id_persona_registra,$observaciones);
           if($guardarMOV == "1"){
             return "1";
           }else{
            return mysql_error();
           }
}

public function comentarioticket($id_ticket,$id_persona_registra,$comentarios,$fec_registro){
  $querycomentarios = "INSERT INTO tblcomentariostickets(ID_TICKET, ID_PERSONA, COMENTARIO, FEC_REGISTRO) 
                            VALUES ('$id_ticket','$id_persona_registra','$comentarios','$fec_registro')";
          if(mysql_query($querycomentarios)){
              return "1";
              }else{
                return mysql_error();
              }
  }

  public function getComentariosTicket($id_ticket){
     $querycomentarios =$this->read("SELECT c.ID_COMENTARIOTICKET, c.ID_TICKET,c.COMENTARIO,pe.INICIALES,
                                            pn.NOMBRE,pn.APE_PATERNO,p.PERFIL,p.ID_PERFIL,pe.USUARIO,
                                            DATE_FORMAT(c.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                           CONCAT(
                                           FLOOR(HOUR(TIMEDIFF(NOW(), c.FEC_REGISTRO)) / 24), ' Dias, ',
                                           MOD(HOUR(TIMEDIFF(NOW(), c.FEC_REGISTRO)), 24), ' Horas, ',
                                           MINUTE(TIMEDIFF(NOW(), c.FEC_REGISTRO)), ' Minutos, ',
                                           SECOND(TIMEDIFF(NOW(), c.FEC_REGISTRO)), ' Segundos')
                                           AS TimeDiff
                                           FROM tblcomentariostickets c
                                           INNER JOIN tblpersonas pe ON pe.ID_PERSONA = c.ID_PERSONA
                                           INNER JOIN tblpernaturales pn ON pn.ID_PERNATURAL = pe.ID_PERSONA
                                           INNER JOIN tblperfiles p ON p.ID_PERFIL = pe.ID_PERFIL 
                                           WHERE ID_TICKET = '$id_ticket'
                                            ORDER BY  FEC_REGISTRO ASC");
      return $querycomentarios;
  }


  public function getdetallehistorial($id_detalle){
         $queryhistorial =$this->read("SELECT dh.ID_DETALLEHISTORIAL,dh.ID_DETALLEHISTORIAL,dh.OBSERVACIONES,pe.INICIALES,
                                            pn.NOMBRE,pn.APE_PATERNO,p.PERFIL,p.ID_PERFIL,
                                            DATE_FORMAT(dh.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO
                                           FROM tbldetallehistorial dh
                                           INNER JOIN tblpersonas pe ON pe.ID_PERSONA = dh.ID_PERSONA
                                           INNER JOIN tblpernaturales pn ON pn.ID_PERNATURAL = pe.ID_PERSONA
                                           INNER JOIN tblperfiles p ON p.ID_PERFIL = pe.ID_PERFIL 
                                           WHERE ID_DETALLE = '$id_detalle'
                                           ORDER BY  dh.FEC_REGISTRO ASC");
      return $queryhistorial;
  }

public function sethistorialdetalle($id_detalle,$id_persona,$observaciones,$fec_registro){
  $queryhistorialdetalle = "INSERT INTO tbldetallehistorial(ID_DETALLE, ID_PERSONA, OBSERVACIONES, FEC_REGISTRO)
                             VALUES ('$id_detalle','$id_persona','$observaciones','$fec_registro')";
        if(mysql_query($queryhistorialdetalle)){
              return "1";
          }else{
                return mysql_error();
        }        

}

  public function cancelar2visita($listacancelar){
     for ($i=0;$i<count($listacancelar); $i++){
        $id_calendario = $listacancelar[$i]['id_calendario'];
        $liberar = $this->liberarhora($id_calendario);
      }
      return "1";
  }

public function MovimientoCancelaritem($id_ticket,$id_persona_registra,$observaciones){
          $movi= 10;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
          $guardarMOV = $this->Movivimiento($id_ticket,$movi,$id_persona_registra,$observaciones);
           if($guardarMOV == "1"){
             return "1";
           }else{
            return mysql_error();
           }
}


public function getTicketBYPROPIETARIO($id_persona){
    $queryTickets =$this->read("SELECT t.ID_TICKET,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO
                                    FROM tbltickets t 
                                    INNER JOIN tblpersonas p ON p.ID_PERSONA = t.ID_PERSONA 
                                    WHERE  p.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO ASC");
  return $queryTickets;
}


public function getTicketBYPROPIEDAD($id_propiedad){
    $queryTickets =$this->read("SELECT t.ID_TICKET,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO
                                    FROM tbltickets t 
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD 
                                    WHERE  p.ID_PROPIEDAD = '$id_propiedad'
                                    ORDER BY t.FEC_REGISTRO ASC");
  return $queryTickets;
}


public function getDepasuperior($piso,$id_proyecto,$edificio){
$querydepa =$this->read("SELECT p.ID_PROPIEDAD, p.ID_DISENOETAPA, p.ID_MODELO, p.NUMERO,
                                  pe.ID_PERSONA, pe.ID_TIPOPERSONA, pe.ID_PERFIL, pe.RUT, pe.DIRECCION, pe.TEL_FIJO, pe.EMAIL, 
                                  pe.FEC_REGISTRO, pe.USUARIO, pe.INICIALES, pe.ESTADO, pe.CONTRASEÑA,
                                  n.NOMBRE, n.APE_PATERNO, n.APE_MATERNO, n.CELULAR, n.TEL_OFICINA                        
                                  FROM tblpropiedades p
                                  INNER JOIN tblpropietarios pd ON pd.ID_PROPIEDAD = p.ID_PROPIEDAD
                                  INNER JOIN tblpersonas pe ON pe.ID_PERSONA = pd.ID_PERSONA 
                                  INNER JOIN tblpernaturales n ON n.ID_PERNATURAL = pe.ID_PERSONA
                                  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  p.PISO = '$piso' AND me.ABREVIATURA = '$edificio' AND po.ID_PROYECTO = '$id_proyecto'");
  return $querydepa;
}





public function ordenarpornuevo($id,$parametro,$id_persona){
  $indice  = $id;
      //ORDENA FECHA DE POSTVENTA MAS RECIENTE
    if($indice == 1){
                $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND  c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= NOW()
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY DATE(c.FEC_INICIO) ASC");
              return $querynuevos;
    //ORDENA POR FECHHA POSTVENTA MAS RECIENTE
    }else if($indice == 2){
               $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND  c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= NOW()
                                              AND  up.ID_PERSONA = '$id_persona'
                                               ORDER BY DATE(c.FEC_INICIO) DESC");
              return $querynuevos;
              //ORDENA POR LA FECHA REGISTRO  MAS RECIENTE
    }else if($indice == 3){
             $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.FEC_REGISTRO DESC");
              return $querynuevos;
        //ORDENA POR LA FECHA MAS ANTIGUA REGISTRO
    }else if($indice == 4){
                   $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                             $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.FEC_REGISTRO ASC");
              return $querynuevos;
    }else if($indice == 5){
                      $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.CANTIDAD DESC");
              return $querynuevos;

    }else if($indice == 6){
                       $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.CANTIDAD ASC");
              return $querynuevos;
    }
  
}



public function ordenarproceso($id,$parametro,$id_persona){
   $indice  = $id;
   if($indice == 1){
     $queryproceso =$this->read(" SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    DATEDIFF(ADDDATE( CURDATE( ) ,0 ),t.FEC_REGISTRO) AS DIFERENCIA,             
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    c.ID_TIPOCALENDARIO
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    $parametro AND  c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2'
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY DIFERENCIA DESC");
    return $queryproceso;

   }else if($indice == 2){
     $queryproceso =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    DATEDIFF(ADDDATE( CURDATE( ) ,0 ),t.FEC_REGISTRO) AS DIFERENCIA,             
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    c.ID_TIPOCALENDARIO
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    $parametro AND  c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2' 
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY DIFERENCIA ASC");
    return $queryproceso; 

   }
}


public function ordenarcategorizar($id,$parametro,$id_persona){
  $indice  = $id;

      //ORDENA FECHA DE POSTVENTA MAS RECIENTE
    if($indice == 1){
                $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                               ORDER BY DATE(c.FEC_INICIO) ASC");
              return $querynuevos;
    //ORDENA POR FECHHA POSTVENTA MAS RECIENTE
    }else if($indice == 2){
               $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY DATE(c.FEC_INICIO) DESC");
              return $querynuevos;
              //ORDENA POR LA FECHA REGISTRO  MAS RECIENTE
    }else if($indice == 3){
             $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                               INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.FEC_REGISTRO DESC");
              return $querynuevos;
        //ORDENA POR LA FECHA MAS ANTIGUA REGISTRO
    }else if($indice == 4){
                   $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.FEC_REGISTRO ASC");
              return $querynuevos;
    }else if($indice == 5){
                      $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                              AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                              AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.CANTIDAD DESC");
              return $querynuevos;

    }else if($indice == 6){
                       $querynuevos =$this->read("SELECT t.ID_TICKET,
                                              po.PROYECTO,
                                              p.NUMERO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                              t.CANTIDAD,
                                              t.ID_TIPOTICKET,
                                              m.ABREVIATURA,
                                              tp.TIPOPROPIEDAD,
                                              e.ETAPA,
                                              me.ABREVIATURA AS Edificio,
                                              tt.ID_TIPOTICKET,
                                              tt.TIPOTICKET
                                              FROM tbltickets t 
                                              INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                              INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                              INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                              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
                                              INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                              INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                              /*  TIPO DE CALENDARIO DEBE SER 1 PRIMERA VISITA ; Y EL ESTADO 1 QUE ESTA TOMADA  Y EL ESTADO DEL TICKET DEBE SER NUEVO*/
                                              $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                               AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                               AND  up.ID_PERSONA = '$id_persona'
                                              ORDER BY t.CANTIDAD ASC");
              return $querynuevos;
    }
  
}


public function NumeroPosventaprimeraVisita($id_propiedad){
  $queryvisitas =$this->read("SELECT p.ID_PROPIEDAD ,t.ID_TICKET,p.ID_MODELO FROM tblpropiedades p 
                            INNER JOIN tbltickets t ON t.ID_PROPIEDAD = p.ID_PROPIEDAD 
                            INNER JOIN tblticketcalendarios tc ON tc.ID_TICKET = t.ID_TICKET 
                            INNER JOIN tblcalendarios c ON c.ID_CALENDARIO = tc.ID_CALENDARIO
                            WHERE p.ID_PROPIEDAD = '$id_propiedad' AND c.FEC_INICIO >= NOW() 
                            AND  c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                            AND p.ID_MODELO <> 11");
  return $queryvisitas;
}



public function ordenarpornuevoPar($parametro,$id_persona){
  $querynuevos =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO >= ADDDATE( CURDATE( ) , 0 )
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO DESC");
    return $querynuevos;
}


public function ordenarprocesoPar($parametro){
   $queryproceso =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    DATEDIFF(ADDDATE( CURDATE( ) ,0 ),t.FEC_REGISTRO) AS DIFERENCIA,             
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    c.ID_TIPOCALENDARIO,
                                    t.ID_ESTADOTICKET
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket  
                                    LEFT JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    $parametro  AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '2' 
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY c.FEC_INICIO ASC ");
    return $queryproceso; 

}

public function ordenarcategorizarPar($parametro,$id_persona){
   $querycategorizar =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET
                                    FROM tbltickets t 
                                    INNER JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    $parametro AND c.ID_TIPOCALENDARIO = '1' AND c.ESTADO = '1' AND t.ID_ESTADOTICKET = '1'
                                    AND  c.FEC_INICIO <= ADDDATE( CURDATE( ) , 0 )
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO ASC");
    return $querycategorizar;
}


public function ordenarfinalizadoPar($parametro,$id_persona){
   $queryfinalizar =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    mc.MOTIVO,
                                    c.ID_TIPOCALENDARIO,
                                    mc.ID_MOTIVO,
                                    t.ID_ESTADOTICKET
                                    FROM tbltickets t 
                                    INNER  JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO
                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
                                    LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
                                    $parametro AND (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY c.FEC_INICIO ASC");
    return $queryfinalizar;
}

public function ordenarFinalizar($id,$parametro,$id_persona){
   $indice  = $id;
   if($indice == 1){
     $queryfinalizar =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    mc.MOTIVO,
                                    c.ID_TIPOCALENDARIO,
                                    mc.ID_MOTIVO,
                                    t.ID_ESTADOTICKET
                                    FROM tbltickets t 
                                    INNER  JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
                                    LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
                                    $parametro AND (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO DESC");
    return $queryfinalizar;
   }else if($indice == 2){
   $queryfinalizar =$this->read("SELECT t.ID_TICKET,
                                    po.PROYECTO,
                                    p.NUMERO,
                                    DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                    DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                    DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                    DATE_FORMAT(t.FEC_REGISTRO,'%d/%m/%Y %H:%i:%s') AS FEC_REGISTRO,
                                    t.CANTIDAD,
                                    t.ID_TIPOTICKET,
                                    m.ABREVIATURA,
                                    tp.TIPOPROPIEDAD,
                                    e.ETAPA,
                                    me.ABREVIATURA AS Edificio,
                                    tt.ID_TIPOTICKET,
                                    tt.TIPOTICKET,
                                    mc.MOTIVO,
                                    c.ID_TIPOCALENDARIO,
                                    mc.ID_MOTIVO,
                                    t.ID_ESTADOTICKET
                                    FROM tbltickets t 
                                    INNER  JOIN tblticketcalendarios tc ON tc.id_ticket = t.id_ticket
                                    INNER JOIN tblcalendarios c on c.ID_CALENDARIO = tc.ID_CALENDARIO
                                    INNER JOIN tblpropiedades p ON p.ID_PROPIEDAD = t.ID_PROPIEDAD
                                    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
                                    INNER JOIN  tblusuariosxproyectos up ON up.ID_PROYECTO = po.ID_PROYECTO

                                    INNER JOIN tbltipotickets tt ON tt.ID_TIPOTICKET = t.ID_TIPOTICKET
                                    LEFT JOIN tblticketcancelados tca ON tca.ID_TICKET = t.ID_TICKET  
                                    LEFT JOIN tblmotivos mc ON mc.ID_MOTIVO = tca.ID_MOTIVO
                                    $parametro AND (t.ID_ESTADOTICKET = '3' OR t.ID_ESTADOTICKET = '4')
                                    AND  up.ID_PERSONA = '$id_persona'
                                    ORDER BY t.FEC_REGISTRO ASC");
    return $queryfinalizar; 

   }
}


public function getHoracalendario($id_calendario){
    $queryhorapostventa =$this->read("SELECT c.ID_CALENDARIO,
                                              DATE_FORMAT(c.FEC_INICIO,'%d/%m/%Y ') AS FECHAPOSTVENTA,
                                              DATE_FORMAT(c.FEC_INICIO,' %H:%i:%s') AS HORAINICIO,
                                              DATE_FORMAT(c.FEC_FIN,' %H:%i:%s') AS HORAFIN,
                                              c.ID_PROYECTO,
                                              c.ID_TIPOCALENDARIO, 
                                              c.ID_PERSONA_REGISTRAR,
                                              c.ID_PERSONA_RESP,
                                              c.ESTADO ,
                                              p.EMAIL   AS EMAILRESPONSABLE
                                              FROM tblcalendarios c
                                              INNER JOIN tblpersonas p ON p.ID_PERSONA = c.ID_PERSONA_RESP
                                              WHERE ID_CALENDARIO = '$id_calendario'");
    return $queryhorapostventa;
}










//SOLO CUANDO ES PRIMERA POSTVENTA
 public function cancelarticket($id_ticket,$observacion,$usuario_registra,$id_motivo,$id_propietario,$tipousuario){
     $lista = $this->getlistahoras($id_ticket);

     if(empty($lista)){
        // return "NADA";
       }
    else{
           for($i=0;$i<count($lista);$i++){
           $this->liberarhora($lista[$i]['ID_CALENDARIO']);
            //YA NO LA LIBERO 
         }
      
    }
    $cambiarestado = $this->cambiarestadoTicket($id_ticket,4);//FINALIZADO
    if($cambiarestado = "1"){
                  //INSERTAR LA CANCELACION
                  $motivos = $this->cancelarticketMotivo($id_ticket,$id_motivo);
                  if($motivos == "1"){
                    //SE GUARDO EL MOTIVO
                     $movi= 4;//MOVIMIENTO 3 , PERETENE A CAMBIAR HORARIO
                     $guardarMOV = $this->Movivimiento($id_ticket,$movi,$usuario_registra,$observacion);
                       if($guardarMOV == "1"){  
                          if($id_motivo == 4){
                              //SI ES 4 SE GUARDA EN LA LISTA NEGRA
                                $querylistanegra = $this->Inserlistanegra($id_propietario);
                                if($querylistanegra == "1"){
                                  return "1";
                                }else{  
                                    return "fallo lista negra";
                                }

                          }else{
                            //NO SE GUARDAR 
                            return "1";

                          }

                          
                       }else{
                        return mysql_error();
                       }

                  }else{
                      return "FALLO EL MOTIVO";
                  }
    }else{
      return mysql_error();
    }
 }

 public function getinfodetalle($id_detalle){
  $queryimagenes = $this->read("SELECT a.AMBIENTE,
                                      d.ID_TICKET,
                                      d.PROBLEMA,
                                      d.OPEN_CLOSE,
                                      d.REPARADO,
                                      dm.ID_DETALLEIMAGEN, 
                                      dm.ID_DETALLE,
                                      dm.ID_PERSONA,
                                      dm.FEC_REGISTRO, 
                                      dm.OBSERVACION, 
                                      dm.IMAGEN64,
                                      dc.FEC_REGISTRO,
                                      dc.OBSERVACIONES AS OBSERCACIONES_CATEGORIZADA,
                                      sc.SUBCATEGORIA,
                                      c.CATEGORIA,
                                      ro.RESPONSABLEOBRA,
                                      r.RESPONSABLE,
                                      su.SUBCONTRATISTA,
                                      s.SERVICIO
                                      FROM tbldetalles d
                                      INNER JOIN tblambientes a ON a.ID_AMBIENTE = d.ID_AMBIENTE
                                      LEFT  JOIN tbldetallecategorias dc ON dc.ID_DETALLE = d.ID_DETALLE
                                      LEFT JOIN tblsubcategorias sc ON sc.ID_SUBCATEGORIA = dc.ID_SUBCATEGORIA
                                      LEFT JOIN tblcategorias c ON c.ID_CATEGORIA = sc.ID_CATEGORIA
                                      LEFT  JOIN tblresponsableobras ro ON ro.ID_RESPONSABLEOBRA = sc.ID_RESPONSABLEOBRA
                                      LEFT JOIN tblresponsables r ON r.ID_RESPONSABLE = dc.ID_RESPONSABLE
                                      LEFT JOIN tblcategoriasubcontratistas cs ON cs.ID_DETALLECATEGORIA = dc.ID_DETALLECATEGORIA
                                      LEFT JOIN tblsubcontratistas su ON  su.ID_SUBCONTRATISTA = cs.ID_SUBCONTRATISTA
                                      LEFT JOIN tblservicios s ON s.ID_SERVICIO = su.ID_SERVICIO
                                      LEFT JOIN tbldetalleimagenes dm ON dm.ID_DETALLE = d.ID_DETALLE
                                      WHERE d.ID_DETALLE = '$id_detalle'
                                      ORDER BY dm.FEC_REGISTRO ASC LIMIT 1 ");
      return $queryimagenes;
 }
 public function getgaleria($id_detalle){
  $queryimagenes = $this->read("SELECT 
                                      dm.ID_DETALLEIMAGEN, 
                                      dm.ID_DETALLE,
                                      dm.ID_PERSONA,
                                      DATE_FORMAT(dm.FEC_REGISTRO,'%d/%m/%Y ') AS FEC_REGISTRO,
                                      dm.OBSERVACION, 
                                      dm.IMAGEN64,
                                      p.ID_PERSONA, 
                                      p.ID_TIPOPERSONA,
                                      p.ID_PERFIL,
                                      p.USUARIO, 
                                      p.INICIALES,
                                      pe.PERFIL, 
                                      n.NOMBRE,
                                      n.APE_PATERNO,
                                      n.APE_MATERNO
                                      FROM tbldetalles d
                                      INNER JOIN tbldetalleimagenes dm ON dm.ID_DETALLE = d.ID_DETALLE
                                      INNER JOIN tblpersonas p ON p.ID_PERSONA = dm.ID_PERSONA
                                      INNER JOIN tblperfiles pe ON pe.ID_PERFIL = p.ID_PERFIL
                                      INNER JOIN tblpernaturales n ON n.ID_PERNATURAL = p.ID_PERSONA 
                                      WHERE d.ID_DETALLE = '$id_detalle'");
      return $queryimagenes;
 }



public function insertImagenes($id_detalle,$id_persona,$fecharegistro,$key){
$queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                           VALUES ('$id_detalle','$id_persona','$fecharegistro','','$key')";
  if(mysql_query($queryimagenes)){
             return "1";
        }else{
              return mysql_error();
      }   

}

public function  cancelarticketMotivo($id_ticket,$id_motivo){
    $querycancelarmotivo = "INSERT INTO tblticketcancelados(ID_MOTIVO, ID_TICKET) VALUES ('$id_motivo','$id_ticket')";
        if(mysql_query($querycancelarmotivo)){
               return "1";
          }else{
                return mysql_error();
        }   
}

public function  Inserlistanegra($id_persona){
    $querylistanegra = "INSERT INTO tbllistanegras(ID_PERSONA,FALTAS) VALUES ('$id_persona','1')";
    $queryupdatelista = "UPDATE tbllistanegras SET FALTAS = FALTAS + 1 WHERE   ID_PERSONA = '$id_persona'";
     $listanegra = $this->sabersiexistelistanegra($id_persona);
     if(empty($listanegra)){
             if(mysql_query($querylistanegra)){
              return "1";
             }else{
                return mysql_error();
             }  
     }else{
          if(mysql_query($queryupdatelista)){
              return "1";
             }else{
                return mysql_error();
             }  

     }
}


 public function sabersiexistelistanegra($id_persona){
     $querysiexiste =$this->read("SELECT ID_LISTANEGRA, ID_PERSONA, FALTAS FROM tbllistanegras WHERE  ID_PERSONA = '$id_persona'");
      return $querysiexiste;
 }



public function getMotivos(){
   $querymotivo =$this->read("SELECT ID_MOTIVO, MOTIVO FROM tblmotivos");
    return $querymotivo;
}

public function getmotivosID($id_motivo){
    $querymotivo =$this->read("SELECT ID_MOTIVO, MOTIVO FROM tblmotivos WHERE ID_MOTIVO = '$id_motivo'");
    return $querymotivo;
}

public function saveTicketTerceros($nombre,$ape_paterno,$ape_materno,$celular,$tel_oficina,$perfil,$rut,$direccion,$tel_fijo,
                $email,$id_tipopersona,$fecharegistro,$id_calendario,$id_propiedad ,$id_estadoticket,$id_persona,$propietario,
                  $v_nombre ,$v_apellido,$v_correo,$v_relacion,$v_telefono,$cantidad,$listapreguntas, 
                  $listadetalles,$email_enviado,$emergencia,$listaimagenes,$r_nombre ,$r_apellido ,$r_correo ,$r_relacion ,$r_telefono){
                 $queryticket = "INSERT INTO tbltickets(ID_PROPIEDAD, ID_ESTADOTICKET, ID_PERSONA, ID_TIPOTICKET,FEC_REGISTRO, PROPIETARIO, 
                  R_NOMBRE, R_APELLIDO, R_CORREO, R_RELACION, R_TELEFONO,
                  V_NOMBRE, V_APELLIDO, V_CORREO, V_RELACION, V_TELEFONO, 
                  CANTIDAD, EMAIL_ENVIADO)
                  VALUES ('$id_propiedad','$id_estadoticket','$id_persona','$emergencia','$fecharegistro','$propietario',
                  '$r_nombre','$r_apellido','$r_correo','$r_relacion','$r_telefono',
                  '$v_nombre','$v_apellido','$v_correo','$v_relacion','$v_telefono',
                  '$cantidad','$email_enviado')";
  $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 ('$id_tipopersona','$perfil','$rut','$direccion','$tel_fijo','$email','$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)){
                  $tienedueño = $this->tienepropietario($id_propiedad);
           
                   if(empty($tienedueño)){
                      //NO TIENE DUEÑO
                              $querypropietario = "INSERT INTO tblpropietarios(ID_PERSONA, ID_PROPIEDAD, PRO_VENTA) 
                                                      VALUES ('$id_pernatural','$id_propiedad','00000')";
                                           if(mysql_query($querypropietario)){
                                                //TICKET
                                                if(mysql_query($queryticket)){
                                                        $id_ticket = mysql_insert_id();
                                                        $tomar = $this->tomarHora($id_calendario);
                                                         if($tomar == "1"){
                                                          $queryticketcalendario = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO,OBSERVACION) 
                                                                                        VALUES ('$id_ticket','$id_calendario','')";
                                                           if(mysql_query($queryticketcalendario)){
                                                           }else{
                                                            return mysql_error();
                                                           }

                                                            //INSERTANDO LAS PREGUNTAS
                                                            for ($i=0;$i<count($listapreguntas); $i++){
                                                            $id_pregunta = $listapreguntas[$i]['id_pregunta'];
                                                            $respuesta = $listapreguntas[$i]['respuesta'];
                                                            $queryTicketpreguntas = "INSERT INTO tblticketpreguntas(ID_PREGUNTA,ID_TICKET,RESPUESTA) 
                                                                                    VALUES ('$id_pregunta','$id_ticket','$respuesta')";
                                                               if(mysql_query($queryTicketpreguntas)){  
                                                                }else{
                                                                    return mysql_error();
                                                                }
                                                             }
                                                                for ($i=0;$i<count($listadetalles); $i++){
                                                                $id_ambiente = $listadetalles[$i]['id_ambiente'];
                                                                $descripcion = $listadetalles[$i]['descripcion'];
                                                                $querydetalles = "INSERT INTO tbldetalles(ID_TICKET, ID_AMBIENTE, PROBLEMA, OPEN_CLOSE, REPARADO)
                                                                                   VALUES ('$id_ticket','$id_ambiente','$descripcion','0','0')";
                                                                     if(mysql_query($querydetalles)){
                                                                       $id_detalle = mysql_insert_id();
                                                                          if($listaimagenes[$i]['key']== "" ){
                                                                             }else{
                                                                                    $key = $listaimagenes[$i]['key'];
                                                                                    $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                                                                             VALUES ('$id_detalle','$id_persona','$fecharegistro','$descripcion','$key')";
                                                                                    if(mysql_query($queryimagenes)){
                                                                                    }else{
                                                                                      return mysql_error();
                                                                                    }
                                                                             }
                                                                      }else{
                                                                          return mysql_error();
                                                                      }
                                                                 }
                                                        
                                                             $guardarMOV = $this->Movivimiento($id_ticket,'2',$id_persona,'');
                                                             if($guardarMOV == "1"){
                                                               return $id_ticket;
                                                             }else{
                                                              return mysql_error();
                                                             }
                                                          //GUARDAR EL MOVIMIENTO
                                                         }else{
                                                            //FALLO EL TOMAR LA  HORA
                                                          return mysql_error();

                                                         }

                                                }else{
                                                  return mysql_error();
                                                }

                                           }else{
                                            return mysql_error();
                                           }

                    }else{     
                                            if(mysql_query($queryticket)){
                                                        $id_ticket = mysql_insert_id();
                                                        $tomar = $this->tomarHora($id_calendario);
                                                         if($tomar == "1"){
                                                          $queryticketcalendario = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO,OBSERVACION) 
                                                                                        VALUES ('$id_ticket','$id_calendario','')";
                                                           if(mysql_query($queryticketcalendario)){
                                                           }else{
                                                            return mysql_error();
                                                           }

                                                            //INSERTANDO LAS PREGUNTAS
                                                            for ($i=0;$i<count($listapreguntas); $i++){
                                                            $id_pregunta = $listapreguntas[$i]['id_pregunta'];
                                                            $respuesta = $listapreguntas[$i]['respuesta'];
                                                            $queryTicketpreguntas = "INSERT INTO tblticketpreguntas(ID_PREGUNTA,ID_TICKET,RESPUESTA) 
                                                                                    VALUES ('$id_pregunta','$id_ticket','$respuesta')";
                                                               if(mysql_query($queryTicketpreguntas)){  
                                                                }else{
                                                                    return mysql_error();
                                                                }
                                                             }

                                                                for ($i=0;$i<count($listadetalles); $i++){
                                                                $id_ambiente = $listadetalles[$i]['id_ambiente'];
                                                                $descripcion = $listadetalles[$i]['descripcion'];
                                                                $querydetalles = "INSERT INTO tbldetalles(ID_TICKET, ID_AMBIENTE, PROBLEMA, OPEN_CLOSE, REPARADO)
                                                                                   VALUES ('$id_ticket','$id_ambiente','$descripcion','0','0')";
                                                                     if(mysql_query($querydetalles)){
                                                                       $id_detalle = mysql_insert_id();
                                                                          if($listaimagenes[$i]['key']== "" ){
                                                                             }else{
                                                                                    $key = $listaimagenes[$i]['key'];
                                                                                    $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                                                                             VALUES ('$id_detalle','$id_persona','$fecharegistro','$descripcion','$key')";
                                                                                    if(mysql_query($queryimagenes)){
                                                                                    }else{
                                                                                      return mysql_error();
                                                                                    }
                                                                             }
                                                                      }else{
                                                                          return mysql_error();
                                                                      }
                                                                 }
                                                        
                                                             $guardarMOV = $this->Movivimiento($id_ticket,'2',$id_persona,'');
                                                             if($guardarMOV == "1"){
                                                               return $id_ticket;
                                                             }else{
                                                              return mysql_error();
                                                             }
                                                         }else{
                                                          return mysql_error();

                                                         }

                                                }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)){
             // AHORA SE ACTUALIZA NATURAL
              $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)){
                    $tienedueño = $this->tienepropietario($id_propiedad);
                    if(empty($tienedueño)){
                      //NO DUEÑO
                                 $querypropietario = "INSERT INTO tblpropietarios(ID_PERSONA, ID_PROPIEDAD, PRO_VENTA) 
                                                      VALUES ('$existe','$id_propiedad','00000')";
                                           if(mysql_query($querypropietario)){
                                                //TICKET
                                                if(mysql_query($queryticket)){
                                                        $id_ticket = mysql_insert_id();
                                                        $tomar = $this->tomarHora($id_calendario);
                                                         if($tomar == "1"){
                                                          $queryticketcalendario = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO,OBSERVACION) 
                                                                                        VALUES ('$id_ticket','$id_calendario','')";
                                                           if(mysql_query($queryticketcalendario)){
                                                           }else{
                                                            return mysql_error();
                                                           }

                                                            //INSERTANDO LAS PREGUNTAS
                                                            for ($i=0;$i<count($listapreguntas); $i++){
                                                            $id_pregunta = $listapreguntas[$i]['id_pregunta'];
                                                            $respuesta = $listapreguntas[$i]['respuesta'];
                                                            $queryTicketpreguntas = "INSERT INTO tblticketpreguntas(ID_PREGUNTA,ID_TICKET,RESPUESTA) 
                                                                                    VALUES ('$id_pregunta','$id_ticket','$respuesta')";
                                                               if(mysql_query($queryTicketpreguntas)){  
                                                                }else{
                                                                    return mysql_error();
                                                                }
                                                             }
                                                                for ($i=0;$i<count($listadetalles); $i++){
                                                                $id_ambiente = $listadetalles[$i]['id_ambiente'];
                                                                $descripcion = $listadetalles[$i]['descripcion'];
                                                                $querydetalles = "INSERT INTO tbldetalles(ID_TICKET, ID_AMBIENTE, PROBLEMA, OPEN_CLOSE, REPARADO)
                                                                                   VALUES ('$id_ticket','$id_ambiente','$descripcion','0','0')";
                                                                     if(mysql_query($querydetalles)){
                                                                       $id_detalle = mysql_insert_id();
                                                                          if($listaimagenes[$i]['key']== "" ){
                                                                             }else{
                                                                                    $key = $listaimagenes[$i]['key'];
                                                                                    $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                                                                             VALUES ('$id_detalle','$id_persona','$fecharegistro','$descripcion','$key')";
                                                                                    if(mysql_query($queryimagenes)){
                                                                                    }else{
                                                                                      return mysql_error();
                                                                                    }
                                                                             }
                                                                      }else{
                                                                          return mysql_error();
                                                                      }
                                                                 }
                                                        
                                                             $guardarMOV = $this->Movivimiento($id_ticket,'2',$id_persona,'');
                                                             if($guardarMOV == "1"){
                                                               return $id_ticket;
                                                             }else{
                                                              return mysql_error();
                                                             }
                                                          //GUARDAR EL MOVIMIENTO
                                                         }else{
                                                            //FALLO EL TOMAR LA  HORA
                                                          return mysql_error();

                                                         }

                                                }else{
                                                  return mysql_error();
                                                }

                                           }else{
                                            return mysql_error();
                                           }




                    }else{
                      //SI DUEÑO
                             if(mysql_query($queryticket)){
                                                        $id_ticket = mysql_insert_id();
                                                        $tomar = $this->tomarHora($id_calendario);
                                                         if($tomar == "1"){
                                                          $queryticketcalendario = "INSERT INTO tblticketcalendarios(ID_TICKET,ID_CALENDARIO,OBSERVACION) 
                                                                                        VALUES ('$id_ticket','$id_calendario','')";
                                                           if(mysql_query($queryticketcalendario)){
                                                           }else{
                                                            return mysql_error();
                                                           }

                                                            //INSERTANDO LAS PREGUNTAS
                                                            for ($i=0;$i<count($listapreguntas); $i++){
                                                            $id_pregunta = $listapreguntas[$i]['id_pregunta'];
                                                            $respuesta = $listapreguntas[$i]['respuesta'];
                                                            $queryTicketpreguntas = "INSERT INTO tblticketpreguntas(ID_PREGUNTA,ID_TICKET,RESPUESTA) 
                                                                                    VALUES ('$id_pregunta','$id_ticket','$respuesta')";
                                                               if(mysql_query($queryTicketpreguntas)){  
                                                                }else{
                                                                    return mysql_error();
                                                                }
                                                             }

                                                                for ($i=0;$i<count($listadetalles); $i++){
                                                                $id_ambiente = $listadetalles[$i]['id_ambiente'];
                                                                $descripcion = $listadetalles[$i]['descripcion'];
                                                                $querydetalles = "INSERT INTO tbldetalles(ID_TICKET, ID_AMBIENTE, PROBLEMA, OPEN_CLOSE, REPARADO)
                                                                                   VALUES ('$id_ticket','$id_ambiente','$descripcion','0','0')";
                                                                     if(mysql_query($querydetalles)){
                                                                       $id_detalle = mysql_insert_id();
                                                                          if($listaimagenes[$i]['key']== "" ){
                                                                             }else{
                                                                                    $key = $listaimagenes[$i]['key'];
                                                                                    $queryimagenes = "INSERT INTO tbldetalleimagenes(ID_DETALLE, ID_PERSONA,FEC_REGISTRO, OBSERVACION, imagen64)
                                                                                             VALUES ('$id_detalle','$id_persona','$fecharegistro','$descripcion','$key')";
                                                                                    if(mysql_query($queryimagenes)){
                                                                                    }else{
                                                                                      return mysql_error();
                                                                                    }
                                                                             }
                                                                      }else{
                                                                          return mysql_error();
                                                                      }
                                                                 }
                                                        
                                                             $guardarMOV = $this->Movivimiento($id_ticket,'2',$id_persona,'');
                                                             if($guardarMOV == "1"){
                                                               return $id_ticket;
                                                             }else{
                                                              return mysql_error();
                                                             }
                                                          //GUARDAR EL MOVIMIENTO
                                                         }else{
                                                            //FALLO EL TOMAR LA  HORA
                                                          return mysql_error();

                                                         }

                                                }else{
                                                  return mysql_error();
                                                }
                     
                    }

                }else{
                  return mysql_error();
                }
            }else{
              return mysql_error();
            }
  }
}

 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 tienepropietario($id_propiedad){
   $querysaber = $this->read("SELECT ID_PROPIEDAD, ID_PERSONA FROM tblpropietarios WHERE ID_PROPIEDAD  ='$id_propiedad'"); 
   return $querysaber;
 }

  public function getTieneDueno($id_propiedad){
      $querysaber =$this->read("SELECT ID_PROPIEDAD, ID_PERSONA FROM tblpropietarios WHERE ID_PROPIEDAD  ='$id_propiedad'");
     if(empty($querysaber)){
              return "0";
     }else{
            return $querysaber;

     }
 }

  public  function nuevoDetalle($id_ambiente,$observacion,$id_ticket,$observacion_movimiento,$usuario_registra,$movimiento,$fecharegistro){
  $nuevodetalle = "INSERT INTO  tbldetalles (ID_TICKET ,  ID_AMBIENTE ,  PROBLEMA ,  OPEN_CLOSE ,  REPARADO ) 
                              VALUES ('$id_ticket','$id_ambiente','observacion','0','0')";
     if(mysql_query($nuevodetalle)){
         $getCantidad = $this->getInfodetalleTicket($id_ticket);
         $cantidad = count($getCantidad);
         $updateDetalle = "UPDATE tbltickets SET CANTIDAD = '$cantidad' WHERE ID_TICKET = '$id_ticket'";
         if(mysql_query($updateDetalle)){
                 $guardarMOV = $this->Movivimiento($id_ticket,$movimiento,$usuario_registra,$observacion_movimiento);
               if($guardarMOV == "1"){
                        return "1";
                     }else{
                          return mysql_error();
                   }
         }else{
             return mysql_error();
          }

      }else{
        return mysql_error();
       }

 }




public function configCorreo($id_proyecto){
     $querysaber = $this->read("SELECT HOST, USERNAME, PASS, PORT, FROME, FROMENAME, ADDADDRESS
                              FROM tblduenoproyectos d
                              INNER JOIN tblcorreosconfiguracion c ON c.ID_PERJURIDICA = d.ID_PERSONA
                              WHERE ID_PROYECTO = '$id_proyecto'"); 
      return $querysaber;
}

public function configCorreoItls(){
  $querysaber = $this->read("SELECT HOST, USERNAME, PASS, PORT, FROME, FROMENAME, ADDADDRESS
                           FROM tblCorreosConfiguracion LIMIT 1"); 
   return $querysaber;
}


public function ListarCorreosPorProyecto($id_proyecto){
  $querysaber = $this->read("SELECT Correo
                           FROM CorreoPorProyecto 
                           WHERE id_proyecto = '$id_proyecto'"); 
   return $querysaber;
}

public function ListarCorreosGlobal(){
  $querysaber = $this->read("SELECT CORREO
                           FROM tblCorreosGlobal "); 
   return $querysaber;
}


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


}
?>