<?php

/**
 * Subclass for performing query and update operations on the 'COMISIONES' table.
 *
 * 
 *
 * @package lib.model
 */ 
class ComisionesPeer extends BaseComisionesPeer
{
  public static function getSumaComision($id)
  {
    $c = new Criteria();
    $c->add(ObjetosGastoPeer::ID_COMISION,$id);
    $c->add(ObjetosGastoPeer::ESTADO,1);
    $suma = 0;
    foreach(ObjetosGastoPeer::doSelect($c) as $obj):
    $suma += $obj->Valor();
    endforeach;
    return $suma;
  }
  
  /**
   * Valida que la fecha_salida del comisionado sea mayor o igual a la fecha de la comision
   * @param $id_comision
   * @param $fecha_salida
   * @return mixed
   */
  public static function validarFechaComisionado($id_comision,$fecha_salida,$vigencia)
  {
    $comision = ComisionesPeer::retrieveByPK($id_comision,$vigencia);
    if(!$comision->getFecha()):
      if($fecha_salida >= $comision->getCreatedAt()):
        return true;
      endif;
    else:
      if($fecha_salida >= $comision->getFecha()):
        return true;
      endif;
    endif;
    
    //por ultimo revisa si la comision es extraordinaria o no. Si es extraordinaria, deja pasar
    //si es adicion, tambien puede ignorar el conflicto de horarios
    return ($comision->getTipcomi() == '02' || $comision->getTipcomi() == '04' || $comision->getTipcomi() == '06');
  }

public static function validarFechaHoy($id_comision,$fecha_salida,$vigencia)
  {
  	$valor=true;
  	
  	    $comision = ComisionesPeer::retrieveByPK($id_comision,$vigencia);
	
 if($comision->getTipcomi()!='04'):
  	    
 
 echo "entre";
     $fechaHoy= date("Y-m-d");
     
     if($fecha_salida<$fechaHoy):
     return false;
     endif; 	
  endif;	

         
   return $valor;  
  }
  
public static function validarFechaAdicion($id_comision,$fecha_salida,$vigencia)
  {
  	$valor=false;
  	
  	    $comision = ComisionadosPlantaPeer::getComisionados($id_comision,$vigencia);
	
	  foreach($comision as $comisionesContrato):
   
      if($fecha_salida >= $comisionesContrato->getFechaSalida()):
        $valor=true;
      endif;
    
      if($fecha_salida >= $comisionesContrato->getFechaSalida()):
        $valor=true;
      endif;
   endforeach;
  
   
   $comisionContrato = ComisionadosContratoPeer::getComisionados($id_comision,$vigencia);
	if($comisionContrato):
	 foreach($comisionContrato as $comisionesContrato):
   
      if($fecha_salida >= $comisionesContrato->getFechaSalida()):
        $valor=true;
      endif;
    
      if($fecha_salida >= $comisionesContrato->getFechaSalida()):
        $valor=true;
      endif;
   endforeach;
   
   endif;
   
   
  	
  	

         
   return $valor;  
  }
  
}
