<?php 
session_start();
class procesar_datos
{
	

	function procesar_datos()
	{	
			
		$_SESSION["ls_hostname"] = "localhost";
		$_SESSION["ls_login"] = "postgres";
		$_SESSION["ls_password"] = "123x2";
		$_SESSION["ls_database"] = "db_bicentenario_2010";
		$_SESSION["ls_gestor"] = "POSTGRES";
		$_SESSION["ls_logo"] = "logo_ipsfa.jpg";
		$_SESSION["ls_width"] = "70";
		$_SESSION["ls_height"] = "70";
		$_SESSION["ls_port"] = "5432";					
		$_SESSION["la_empresa"]["codemp"] = "0001";
		$_SESSION["la_logusr"] = "SIGESP";	
		
		global $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"];
	}


	function ejecutar($parametros=array()){
									
							
							// CUANDO NO ES POR PROYECTOS Y ACCIONES LLEVA estmodest = 2 y estcla = A
							
							$select_ep[1] = " SELECT DISTINCT ON (codestpro1) codestpro1,denestpro1 
											  FROM spg_bicentenario 
											  ORDER BY codestpro1 ";	
							
							$select_ep[2] = " SELECT DISTINCT ON (codestpro1,codestpro2) codestpro1,denestpro1,codestpro2,denestpro2 
											  FROM spg_bicentenario
											  ORDER BY codestpro1,codestpro2 ";
							
							$select_ep[3] = " SELECT DISTINCT ON (codestpro1,codestpro2,codestpro3) codestpro1,denestpro1,codestpro2,denestpro2,codestpro3,denestpro3 
											  FROM spg_bicentenario
											  ORDER BY codestpro1,codestpro2,codestpro3 ";
							
							$select_ep[4] = " SELECT DISTINCT ON (codestpro1,codestpro2,codestpro3,codestpro4) codestpro1,denestpro1,codestpro2,denestpro2,
							                                    codestpro3,denestpro3,codestpro4,denestpro4 
											  FROM spg_bicentenario
											  ORDER BY codestpro1,codestpro2,codestpro3,codestpro4 ";
							
							$select_ep[5] = " SELECT DISTINCT ON (codestpro1,codestpro2,codestpro3,codestpro4,codestpro5) codestpro1,denestpro1,codestpro2,
							                                    denestpro2,codestpro3,denestpro3,codestpro4,codestpro5,denestpro5 
											  FROM spg_bicentenario
											  ORDER BY codestpro1,codestpro2,codestpro3,codestpro4,codestpro5 ";
							
							echo 'Eliminando estructura previa ... <br>';
							$this->eliminar_estructura();	
									
							for($i = 1; $i <= sizeof($select_ep); $i++){
														
										$this->rs_data=$this->io_sql->select($select_ep[$i]);									
										if($this->rs_data==false)
										{						
											$metodo = 'ejecutar';
											$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
											$this->io_mensajes->message($mensaje);
											return false;
											
										}	
										
										echo 'Insertando ep'.$i.' Cantidad de Registros: '.$this->rs_data->RecordCount().' ... <br>';										
										while(!$this->rs_data->EOF){
																	
											eval("$"."resp = "."$"."this->inserta_ep".$i."("."$"."this->rs_data->fields);");
											if($resp===false){break; return false;}										
											$this->rs_data->MoveNext();
											
										}
							
							}
							
							return true;
	
	}//end function ejecutar

	
	function eliminar_estructura($parametros=array()){	
	
						$eliminar = "   DELETE FROM spg_ep5;
										DELETE FROM spg_ep4;
										DELETE FROM spg_ep3;
										DELETE FROM spg_ep2;
										DELETE FROM spg_ep1; ";						
						$rs_eliminar=$this->io_sql->select($eliminar);
						
						return true;
	
	}
	
	
	function inserta_ep1($datos=array()){
	
					$insert_ep1 = sprintf("INSERT INTO spg_ep1(codemp, codestpro1, estcla, denestpro1, estint, sc_cuenta)										
										   VALUES ('%s','%s','%s','%s','%s','%s')",
												 '0001',
												 trim($datos['codestpro1']),
												 'A',
												 trim($datos['denestpro1']),
												 0,
												 ''
												 );
								
					if($datos['codestpro1'] and $datos['denestpro1']){
									
									$resp=$this->io_sql->select($insert_ep1);									
									if($resp===false)
									{						
										$metodo = 'inserta_ep1';
										$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
										$this->io_mensajes->message($mensaje);
										return false;
										
									}
									
									return true;							
									
					}
					
					return false;
					
	
	}

	function inserta_ep2($datos=array()){
	
				$insert_ep2 = sprintf("INSERT INTO spg_ep2(codemp, codestpro1, estcla, codestpro2, denestpro2)										
												  VALUES ('%s','%s','%s','%s','%s')",
														 '0001',
														 trim($datos['codestpro1']),
														 'A',
														 trim($datos['codestpro2']),
													 	 trim($datos['denestpro2'])
														 );
				if($datos['codestpro1'] and $datos['codestpro2']){
									
									$resp=$this->io_sql->select($insert_ep2);									
									if($resp==false)
									{						
										$metodo = 'inserta_ep2';
										$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
										$this->io_mensajes->message($mensaje);
										return false;
										
									}
									return true;							
									
				}
				
				return false;
			
			
	}
	
	function inserta_ep3($datos=array()){
	
				$insert_ep3 = sprintf("INSERT INTO spg_ep3(codemp, codestpro1, estcla, codestpro2, codestpro3, denestpro3,codfuefin, estreradi)										
												  VALUES ('%s','%s','%s','%s','%s','%s','%s','%s')",
														 '0001',
														 trim($datos['codestpro1']),
														 'A',
														 trim($datos['codestpro2']),
													 	 trim($datos['codestpro3']),
														 trim($datos['denestpro3']),
														 '--',
														 '0'
														 );
				
				if($datos['codestpro1'] and $datos['codestpro2'] and $datos['codestpro3']){
									
									$resp=$this->io_sql->select($insert_ep3);									
									if($resp==false)
									{						
										$metodo = 'inserta_ep3';
										$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
										$this->io_mensajes->message($mensaje);
										return false;
										
									}	
									return true;						
									
				}
				return false;
				
					
	}
	
	function inserta_ep4($datos=array()){	
	
					$insert_ep4 = sprintf("INSERT INTO spg_ep4( codemp, codestpro1, estcla, codestpro2, codestpro3, codestpro4,denestpro4)										
												  VALUES ('%s','%s','%s','%s','%s','%s','%s')",
														 '0001',
														 trim($datos['codestpro1']),
														 'A',
														 trim($datos['codestpro2']),
													 	 trim($datos['codestpro3']),
														 trim($datos['codestpro4']),
														 trim($datos['denestpro4'])														 
														 );
				if($datos['codestpro1'] and $datos['codestpro2'] and $datos['codestpro3'] and $datos['codestpro4']){
									
									$resp=$this->io_sql->select($insert_ep4);									
									if($resp==false)
									{						
										$metodo = 'inserta_ep4';
										$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
										$this->io_mensajes->message($mensaje);
										return false;
										
									}
									return true;							
									
				}
				return false;
				
				
	}
	
	function inserta_ep5($datos=array()){
							
					$insert_ep5 = sprintf("INSERT INTO spg_ep5(codemp, codestpro1, estcla, codestpro2, codestpro3, codestpro4, codestpro5, denestpro5, codfuefin)										
										  VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s')",
												 '0001',
												 trim($datos['codestpro1']),
												 'A',
												 trim($datos['codestpro2']),
												 trim($datos['codestpro3']),
												 trim($datos['codestpro4']),
												 trim($datos['codestpro5']),
												 trim($datos['denestpro5']),
												 '--'													 
												 );
					if($datos['codestpro1'] and $datos['codestpro2'] and $datos['codestpro3'] and $datos['codestpro4'] and $datos['codestpro5']){
									
									$resp=$this->io_sql->select($insert_ep5);									
									if($resp==false)
									{						
										$metodo = 'inserta_ep5';
										$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR->:</b><br>'.$this->io_sql->message;					
										$this->io_mensajes->message($mensaje);
										return false;
										
									}
									return true;							
									
				}
				return false;
	}



}


$procesar = new procesar_datos;
$procesar->ejecutar();








?>