<?php

class covensol_cor_c_srh {

	function covensol_cor_c_srh($propiedades=array()){		
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Function: correspondencia
		// Access: public (covensol_cor_c_srh)
		// Description: Constructor de la Clase
		// Creado Por: Lic. Edgar A. Quintero
		// Fecha Creación: 27/01/2012 								
		// Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		global $ruta;
		
		if($ruta==''){$ruta="../../";}		
		require_once($ruta."shared/class_folder/sigesp_include.php");
		$io_include=new sigesp_include();
		$io_conexion=$io_include->uf_conectar();
		require_once($ruta."shared/class_folder/class_sql.php");
		$this->io_sql=new class_sql($io_conexion);	
		require_once($ruta."shared/class_folder/class_mensajes.php");
		$this->io_mensajes=new class_mensajes();
		require_once($ruta."shared/class_folder/sigesp_conexiones.php");
		$this->io_conexiones=new conexiones();
		require_once($ruta."shared/class_folder/class_funciones.php");
		$this->io_funciones=new class_funciones();		
		require_once($ruta."shared/class_folder/sigesp_c_seguridad.php");
		$this->io_seguridad= new sigesp_c_seguridad();				
        $this->ls_codemp=$_SESSION["la_empresa"]["codemp"];
		
		if($propiedades['habilitar_json_lib']){
			require_once($ruta.'shared/class_folder/JSON.php');
			$this->json = new JSON();
		}	
		$this->postgres_ilike = '';
		if($_SESSION["ls_gestor"] == 'POSTGRES'){$this->postgres_ilike = 'I';}
		
	}
	
	function ConsultaCentrosAsistenciales($param=array()){
	
			$campos = " * ";
			$criteriosql='';
			$criterio="";
			$param['criterio'] = $param['criterio']?$param['criterio']:'por_listado';
						
			switch($param['criterio']){
								
				case "por_listado":				        
						$campos = " *  ";
						
						if($param['codest']){$criterio.=" AND  e.codest='".$param['codest']."' ";}
													
					    $sql_criterio = "    LEFT JOIN sigesp_estados e ON e.codest = ca.codest AND e.codpai='058'											 
						                     WHERE  ca.dencen ".$this->postgres_ilike."LIKE('%".$param['dencen']."%') ".$criterio;
					    break;
				
			    case "por_codigo":				        
						$campos = " *  ";		
					    $sql_criterio = "    LEFT JOIN sigesp_estados e ON e.codest = ca.codest AND e.codpai='058'											 
						                     WHERE  ca.codcen ='".$param['codcen']."'";
					    break;
				
			}
								   
			$query_rs = "SELECT ".$campos." FROM srh_centroasistencial ca ".$sql_criterio ." ";			
			
			//echo $query_rs.'<br>';
			$clase = get_class($this);
			$metodo = 'ConsultaCentrosAsistenciales';
			$param['arreglo'] = 'arreglo';
			$param['ajax'] = '0';
			$param['imprimir'] = '1';	
			$msj = '<b>CLASE:</b> '.$clase.' <br><b>METODO:</b> '.$metodo;	
			$respuesta = $this->io_conexiones->conexion($query_rs,$param,$msj);	
			return $respuesta;
	
	
	}
	
	function ConsultaTiposEnfermedad($param=array()){
	
			$campos = " * ";
			$criteriosql='';
			$criterio="";
			$param['criterio'] = $param['criterio']?$param['criterio']:'por_listado';
						
			switch($param['criterio']){
								
				case "por_listado":				        
						$campos = " *  ";
						
						if($param['codest']){$criterio.=" AND  te.codenf='".$param['codenf']."' ";}
													
					    $sql_criterio = " WHERE  te.denenf ".$this->postgres_ilike."LIKE('%".$param['denenf']."%') ".$criterio;
					    break;
			
				
			}
								   
			$query_rs = "SELECT ".$campos." FROM srh_tipoenfermedad te ".$sql_criterio ." ";			
			
			//echo $query_rs.'<br>';
			$clase = get_class($this);
			$metodo = 'ConsultaTiposEnfermedad';
			$param['arreglo'] = 'arreglo';
			$param['ajax'] = '0';
			$param['imprimir'] = '1';	
			$msj = '<b>CLASE:</b> '.$clase.' <br><b>METODO:</b> '.$metodo;	
			$respuesta = $this->io_conexiones->conexion($query_rs,$param,$msj);	
			return $respuesta;
	
	
	}
	
	
	function ConsultaEspecialidadMedica($param=array()){
	
			$campos = " * ";
			$criteriosql='';
			$criterio="";
			$param['criterio'] = $param['criterio']?$param['criterio']:'por_listado';
						
			switch($param['criterio']){
								
				case "por_listado":				        
						$campos = " *  ";
						
						if($param['codest']){$criterio.=" AND  e.codest='".$param['codest']."' ";}
													
					    $sql_criterio = " WHERE  e.denesp ".$this->postgres_ilike."LIKE('%".$param['denesp']."%') ".$criterio;
					    break;
			
				
			}
								   
			$query_rs = "SELECT ".$campos." FROM srh_espmedica e ".$sql_criterio ." ";			
			
			//echo $query_rs.'<br>';
			$clase = get_class($this);
			$metodo = 'ConsultaEspecialidadMedica';
			$param['arreglo'] = 'arreglo';
			$param['ajax'] = '0';
			$param['imprimir'] = '1';	
			$msj = '<b>CLASE:</b> '.$clase.' <br><b>METODO:</b> '.$metodo;	
			$respuesta = $this->io_conexiones->conexion($query_rs,$param,$msj);	
			return $respuesta;
	
	
	}
	
	
	function ConsultaEnfermedades($param=array()){
	
			$campos = " * ";
			$criteriosql='';
			$criterio="";
			$param['criterio'] = $param['criterio']?$param['criterio']:'por_listado';
						
			switch($param['criterio']){
								
				case "por_listado":				        
						$campos = " *  ";
						
						$param['operador_nrodias'] = $param['operador_nrodias']?$param['operador_nrodias']:'=';
						$param['operador_nrodiastot'] = $param['operador_nrodiastot']?$param['operador_nrodiastot']:'=';
						$param['operador_fecini'] = $param['operador_fecini']?$param['operador_fecini']:'>=';
						$param['operador_fecfin'] = $param['operador_fecfin']?$param['operador_fecfin']:'>=';
						
						if($param['codesp']){$criterio.=" AND  e.codesp='".$param['codesp']."' ";}
						if($param['denesp']){$criterio.=" AND  em.denesp='".$param['denesp']."' ";}
						if($param['dencen']){$criterio.=" AND  ca.dencen='".$param['dencen']."' ";}
						if($param['codcen']){$criterio.=" AND  e.codcen='".$param['codcen']."' ";}
						
						if($param['fecini']){
						        $param['fecini'] = $this->io_conexiones->formatea_fecha_bd($param['fecini']);
								$criterio.=" AND  e.fecini".$param['operador_fecini']."'".$param['fecini']."' ";
						}
						if($param['fecfin']){
								$param['fecfin'] = $this->io_conexiones->formatea_fecha_bd($param['fecfin']);
								$criterio.=" AND  e.fecfin".$param['operador_fecfin']."'".$param['fecfin']."' ";
						}
						if($param['fecelab']){
								$param['fecelab'] = $this->io_conexiones->formatea_fecha_bd($param['fecelab']); 
					  			$criterio.=" AND  e.fecelab".$param['operador_fecelab']."'".$param['fecelab']."' ";
					    }
						if($param['codcen']){$criterio.=" AND  e.codcen='".$param['codcen']."' ";}
						if($param['diarepenf']){$criterio.=" AND  e.diarepenf".$param['operador_nrodias']."'".$param['diarepenf']."' ";}
						if($param['codper']){$criterio.=" AND  e.codper='".$param['codper']."' ";}
						if($param['denenf']){$criterio.=" AND  denenf ".$this->postgres_ilike."LIKE('%".$param['denenf']."%') ";}
												
					    $sql_criterio = "   INNER JOIN srh_tipoenfermedad te ON te.codenf = e.codenf 
				  							INNER JOIN sno_personal p ON p.codper = e.codper											
											LEFT JOIN srh_centroasistencial ca ON ca.codcen = e.codcen
											LEFT JOIN sigesp_estados es ON es.codest = ca.codest AND es.codpai='058'
											LEFT JOIN srh_espmedica em ON em.codesp = e.codesp											
											WHERE  e.observacion ".$this->postgres_ilike."LIKE('%".$param['observacion']."%') 
											AND e.nroreg ".$this->postgres_ilike."LIKE('%".$param['nroreg']."%') 
											AND p.cedper ".$this->postgres_ilike."LIKE('%".$param['cedper']."%') 
											AND p.nomper ".$this->postgres_ilike."LIKE('%".$param['nomper']."%') 
											AND p.apeper ".$this->postgres_ilike."LIKE('%".$param['apeper']."%') 
											AND e.identmed ".$this->postgres_ilike."LIKE('%".$param['identmed']."%')
											".$criterio.
											" ORDER BY ".$param['orden'].",fecini ";
					    break;
			
				
			}
								   
			$query_rs = "SELECT ".$campos." FROM srh_enfermedades e ".$sql_criterio ." ";			
			
			//echo $query_rs.'<br>';
			$clase = get_class($this);
			$metodo = 'ConsultaEnfermedades';
			$param['arreglo'] = 'arreglo';
			$param['ajax'] = '0';
			$param['imprimir'] = '1';	
			$msj = '<b>CLASE:</b> '.$clase.' <br><b>METODO:</b> '.$metodo;	
			$respuesta = $this->io_conexiones->conexion($query_rs,$param,$msj);	
			return $respuesta;
	
	
	}
	
	function BuscaPersonal($param=array()){
	        $param['criterio'] = 'por_codper';
			$resp = $this->ConsultaPersonal($param);
			if($resp===false){return false;}
			return $resp['rs']->fields['codper'].' - '.$resp['rs']->fields['nomper'].' '.$resp['rs']->fields['apeper'];
	}
	
	function ConsultaPersonal($param=array()){
	
			$campos = " * ";
			$criteriosql='';
			$criterio="";
			$param['criterio'] = $param['criterio']?$param['criterio']:'por_listado';
			$param['orden'] = $param['orden']?$param['orden']:'p.codper';
						
			switch($param['criterio']){
								
				case "por_listado":				        
						
						$campos = " *  ";
								
					    $sql_criterio = "   WHERE  p.codper ".$this->postgres_ilike."LIKE('%".$param['codper']."%') 
											AND p.cedper ".$this->postgres_ilike."LIKE('%".$param['cedper']."%') 
											AND p.nomper ".$this->postgres_ilike."LIKE('%".$param['nomper']."%') 
											AND p.apeper ".$this->postgres_ilike."LIKE('%".$param['apeper']."%')
											".$criterio.
											" ORDER BY ".$param['orden']." ";
					    break;
				
				case "por_codper":				        
						
						$campos = " *  ";								
					    $sql_criterio = "   WHERE  p.codper='".$param['codper']."' ";
					    break;
			
				
			}
								   
			$query_rs = "SELECT ".$campos." FROM sno_personal p ".$sql_criterio ." ";			
			
			//echo $query_rs.'<br>';
			$clase = get_class($this);
			$metodo = 'ConsultaPersonal';
			$param['arreglo'] = 'arreglo';
			$param['ajax'] = '0';
			$param['imprimir'] = '1';	
			$msj = '<b>CLASE:</b> '.$clase.' <br><b>METODO:</b> '.$metodo;	
			$respuesta = $this->io_conexiones->conexion($query_rs,$param,$msj);	
			return $respuesta;
	
	
	}
	
	function  InsertarCentroAsistencial($datos=array()){
				
				if(!$datos['codcen'] or !$datos['codest'] or !$datos['dencen'])
				{				
					$mensaje = '<b>VALIDACIÓN DE DATOS:</b><br> Faltan datos para poder realizar la operación de insert. 				           			    
							    <br><br><b>METODO:</b> InsertarCentroAsistencial ';
					$this->io_conexiones->mensajes_ajax($mensaje);																	
					return false;
				}
						
				$param = $datos;
				$param['criterio'] = 'por_codigo';
				$resp = $this->ConsultaCentrosAsistenciales($param);
				if($resp===false){return false;}
				if($resp['rs']->RecordCount()){
				        $mensaje = "<b>ERROR:</b> El código ya existe !";
						$this->io_conexiones->mensajes_ajax($mensaje);
						return false;
				}
				
																						
				$ls_sql = "INSERT INTO srh_centroasistencial(codemp, codcen, codest, dencen, desccen, dircen, telcen)
						   VALUES (  '".$this->ls_codemp."', '".
						               $datos['codcen']."', '".
						      		   $datos['codest']."', '".
									   $datos['dencen']."', '".
									   $datos['desccen']."', '".
									   $datos['dircen']."', '".
									   $datos['telcen']."' ); ";
									  		        
				
				$rs_data=$this->io_sql->select($ls_sql);	
				if($rs_data==false){				
					$metodo = 'InsertarCentroAsistencial';
					$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
					$this->io_conexiones->mensajes_ajax($mensaje);
					return false;				
				}
				
				return true;
	
	}
	
	
	function ModificarCentroAsistencial($datos=array()){
		   
		   if(!$datos['codcen'] or !$datos['codest'] or !$datos['dencen'])
			{				
				$mensaje = '<b>VALIDACIÓN DE DATOS:</b><br> Faltan datos para poder realizar la operación de insert. 				           			    
							<br><br><b>METODO:</b> ModificarCentroAsistencial ';
				$this->io_conexiones->mensajes_ajax($mensaje);																	
				return false;
			}
		   

		   $ls_sql = " UPDATE srh_centroasistencial
				SET codest='".$datos['codest']."',
					dencen='".$datos['dencen']."',
					desccen='".$datos['desccen']."',
					dircen='".$datos['dircen']."',
					telcen='".$datos['telcen']."'			
			   WHERE codemp = '".$this->ls_codemp."' 
				 AND codcen  = '".$datos['codcen']."' ";
		
						
			$rs_data=$this->io_sql->select($ls_sql);			
			
			if($rs_data==false)
			{
				
				$metodo = 'ModificarCentroAsistencial';
				$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
				$this->io_conexiones->mensajes_ajax($mensaje);
				return false;
				
			}
			
			if($this->io_sql->conn->Affected_Rows()<1){
			        $metodo = 'ModificarCentroAsistencial';
					$mensaje = '<b>ADVERTENCIA:</b> Ninguna fila fué afectada ! <br> La operación no se pudo realizar.
								<br><br><b>METODO:</b> '.$metodo;
					$this->io_conexiones->mensajes_ajax($mensaje);				
					return false;
			}				
			
													
			return true;
	
	}
	
	
	function  EliminarCentroAsistencial($datos=array()){
				
				if(!$datos['codcen'])
				{				
					$mensaje = '<b>VALIDACIÓN DE DATOS:</b><br> Faltan datos para poder realizar la operación de Eliminación. 				           			    
							    <br><br><b>METODO:</b> EliminarCentroAsistencial ';
					$this->io_conexiones->mensajes_ajax($mensaje,'error');																	
					return false;
				}
							
				$ls_sql = "DELETE FROM srh_centroasistencial WHERE codemp = '".$this->ls_codemp."' AND codcen='".$datos['codcen']."' ";
				
				$this->rs_data=$this->io_sql->select($ls_sql);			
				
				if($this->rs_data==false)
				{					
					$metodo = 'EliminarCentroAsistencial';
					$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
					$this->io_conexiones->mensajes_ajax($mensaje);
					return false;					
				}
				
				$mensaje = 'Se eliminaron '.$this->io_sql->conn->Affected_Rows().' Centro(s)';				
				$this->io_conexiones->mensajes_ajax($mensaje);			
				return true;
	
	}
	
}//////////////////////////////////////////////////////////////******* FIN CLASE SRH *******/////////////////////////////////////////////////////////


?>
