<?php
    
    require_once 'conexion.php'; 
   // $nomDiaEspañol = array()

    $meses = array(1=>"ENERO",
    			   2=>"FEBRERO",
    			   3=>"MARZO",
    			   4=>"ABRIL",
    			   5=>"MAYO",
    			   6=>"JUNIO",
    			   7=>"JULIO",
				   8=>"AGOSTO",
				   9=>"SETIEMBRE",
				   10=>"OCTUBRE",
				   11=>"NOVIEMBRE",
				   12=>"DICIEMBRE");

	 $meses_literal = array("01"=>"ENERO",
	 						"02"=>"FEBRERO",
	 						"03"=>"MARZO",
	 						"04"=>"ABRIL",
	 						"05"=>"MAYO",
	 						"06"=>"JUNIO",
	 						"07"=>"JULIO",
				   			"08"=>"AGOSTO",
				   			"09"=>"SETIEMBRE",
				   			"10"=>"OCTUBRE",
				   			"11"=>"NOVIEMBRE",
				   			"12"=>"DICIEMBRE");

	 function reg_date($dt) { 
	    // Fecha con día y mes en Español
	    $day = array("Domingo,", "Lunes,", "Martes,", "Miércoles,", "Jueves,", "Viernes," ,"Sábado,");
	    $month = array("","Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");

	    date_default_timezone_set("America/Lima");
	   // $fecha_reg = $day[date('w', $dt)].date(" d", $dt)." de ".$month[date('n', $dt)]." de ".date("Y", $dt)." hora:  ".date("G:i", $dt)." hrs.";

	    $fecha_reg = $day[date('w', $dt)].date(" d", $dt)." de ".$month[date('n', $dt)]." de ".date("Y", $dt);
	   
	    return $fecha_reg;
	}
 
//echo "Publicado el ".reg_date(time());

	//$tfacturacion = array(0=>"Consumo Leido",1=>"Consumo Promediado",2=>"Consumo Asignado");
	//$categoria	= array(0=>"FACTURACION",1=>"SALDO",2=>"SALDO REFINANCIADO",3=>"PRESTACION DE SERVICIOS EN CAJA");
						


    function GCodigo($tabla, $campo ) {

        Try{
            $rs = Conexion::conectar()->prepare("SELECT MAX($campo)+1 AS ID AS Ultimo FROM $tabla");


            if ($rs->execute()) {
               return $rs -> fetch(PDO::FETCH_ASSOC);     
            }else{

                return 1;
            }
        }catch(PDOException $e){
            echo 'Falló la conexión; ' . $e->getMessage();
        }
    }

    function Correlativo($Tabla,$Par1="",$Par2=""){
		$row        = Conexion::conectar()->prepare("select f_setcorrelativostable('".$Tabla."','".$Par1."','".$Par2."')");

        $row -> execute();
        return $row -> fetch(PDO::FETCH_ASSOC); 
    }
    
   

 /*   function CargarCombo($NombreCombo,$Campos,$Tabla,$Parametros="",$IdSeleccion="",$Eventos=""){
        echo "<select id='".$NombreCombo."' name='".$NombreCombo."' style='width:220px' class='select' ".$Eventos." >";
        //echo "<option value='0'>--Seleccione un Valor--</option>";
            $Sql        = "select ".$Campos." from ".$Tabla." where estareg=1 ".$Parametros." order by ".$Campos;
            $Consulta   = pg_query($Sql);
            while($row=pg_fetch_array($Consulta))
            {
                $Selected="";
                if($row[0]==$IdSeleccion)
                {
                    $Selected="selected='selected'";
                }
                echo "<option value='".$row[0]."' ".$Selected." >".strtoupper($row[1])."</option>";
            }
        echo "</select>";
    }

    function FechaServidor(){
        $Sql        = "select * from f_fechaserver()";
        $Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
        
        return DecFecha($row[0]);
    }

	function HoraServidor(){
        $Sql        = "select * from f_horaserver()";
        $Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
        
        return $row[0];
    }

    function DecFecha($Fec){
        ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $Fec, $mifecha);
        $Fecha = $mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
        return $Fecha;
    }

	function _DecFecha(){	
		global $meses,$meses_literal;
		
		$Fecha = FechaServidor();
		ereg( "([0-9]{2,4})/([0-9]{1,2})/([0-9]{1,4})", $Fecha, $mifecha);
        return array("dia"=>$mifecha[1],"mes"=>$meses_literal[$mifecha[2]],"anio"=>$mifecha[3]);
	}

    function GeneraSql($Post,$Form,$Op,$Tabla,$Par1="",$Par2="",$Par3=0){
         $Sql     = "";
         $Opcion  = 1;
         $nPost   = array();
         $mivar   = array();
         $micri   = array();
         $micampo = array();
		 $nvar	  = array();
		 $mcampo  = array();
		
         foreach($Post as $ind=>$val)
         {
             $Campo = substr($ind,strpos($ind,"_")+1,strlen($ind));
			 
              if(strpos($ind,$Form)!='')
              {
				 
                 if(substr($ind,0,1)=="1")
                 {
                     switch($Op)
                     {
                        case 1:
                            $micampo[$Campo] = $Campo;
                            if($Opcion==1 && $Par3==0)
                            {
								$Correlativo     = Correlativo($Tabla,$Par1,$Par2);
								if($Tabla=='manzanas')
								{
									$Correlativo = substr("0000",0,4-strlen($Correlativo)).$Correlativo;
								}

                                $mivar[$Campo]   = "'".$Correlativo."'";
                                $Opcion=3;
                            }else{
                                $mivar[$Campo]   = "'".$val."'";
                            }
							
							break;
            			case 2:
                            $micri[$Campo] = "'".$val."'";
                            break;
						case 3:
							$micri[$Campo] = "'".$val."'";
                            break;
                     }
                 }else{
					if(substr($ind,0,1)=="2" && $Op==3)
					{
						$nvar[$Campo]	= "'".$val."'";
						$mcampo[$Campo] = $Campo;
					}else{			 
						$mivar[$Campo] = "'".$val."'";
						$micampo[$Campo] = $Campo;
					}
                 }
              }
         }

         if($Op==1)
         {
             $Sql = "insert into ".$Tabla."(".implode(",",$micampo).") values(".implode(",",$mivar).")";
         }
         if($Op==2)
         {
             foreach($mivar as $name=>$value)
             {
                 $nPost[]=$name."=".$value;
             }
             foreach($micri as $name=>$value)
             {
                 $nv[]=$name."=".$value;
             }
             $Sql = "update ".$Tabla." set ".implode(",",$nPost)." where ".implode(" and ",$nv);
         }
		 if($Op==3)
		 {
		 	 foreach($nvar as $name=>$value)
             {
                 $nPost[]=$name."=0";
             }
			 foreach($micri as $name=>$value)
             {
                 $nv[]=$name."=".$value;
             }
			 $Sql = "update ".$Tabla." set ".implode(",",$nPost)." where ".implode(" and ",$nv);
		 }
		
         return $Sql;
    }
   function Ejecutar($Sql){
       return pg_query($Sql);
   }

    

   function CorrelativosVarios($CodDocumento,$IdSucursal=1){
   		$Sql 		= "select * from f_correlativosdocumentos('".$CodDocumento."','".$IdSucursal."')";
		$Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
        
        return $row[0];
   }

   function ActualizaVarios($CodDocumento,$IdSucursal,$Correlativo,$Creador){
   		$Sql 		= "select count(*) from correlativos where coddocumento=".$CodDocumento." and codsuc=".$IdSucursal;
		$Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
		
		if($row[0] > 0)
		{
			$Sql  = "update correlativos set correlativo=".$Correlativo." where coddocumento=".$CodDocumento;
			$Sql .= " and codsuc=".$IdSucursal;
		}else{
			$Sql  = "insert into correlativos(codemp,codsuc,coddocumento,serie,nroinicio,nrofinal,correlativo,creador) ";
			$Sql .= "values(1,".$IdSucursal.",".$CodDocumento.",'00001',1,99999999,".$Correlativo.",".$Creador.")";
		}

		return $Sql;
   }

   function ParaMae($TipPar){
   		$Sql 		= "select valor from parame where tippar='".$TipPar."'";
		$Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
		
		return $row[0];
   }

   function DatosEmpresa($CodEmp=1){
   		$Sql 		= "select razonsocial,direccion,telefono,ruc from empresas where codemp=".$CodEmp;
		$Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);
		
		return array(1=>$row[0],2=>$row[1],3=>$row[2],4=>$row[3]);
   }

   function DatosSucursales($CodSuc=1){
   		$Sql  		= "select descripcion,direccion,telefono,administrador,facturaalcantarillado,porcalcantarillado from sucursales where codsuc=".$CodSuc;
		$Consulta   = pg_query($Sql);
		$row        = pg_fetch_array($Consulta);

		return array(1=>$row[0],2=>$row[1],3=>$row[2],4=>$row[3],5=>$row[4],6=>$row[5]);
   }

   function DatosUsuario($idusuario,$codsuc=1){
		$sql 		= "select login,upper(nombres),direccion from usuarios where codsuc=".$codsuc." and codusu=".$idusuario;
		$Consulta   = pg_query($sql);
		$row        = pg_fetch_array($Consulta);
		
		return array(1=>$row[0],2=>$row[1],3=>$row[2]);
   }

   function DatosFacturaciones($codsuc=1){
		$sql  = "select nrofacturacion,anio,mes,lecturas,saldo,facturacion,tasainteres";
		$sql .= " from periodofacturacion where codsuc=".$codsuc." and facturacion=0";
		$Consulta   = pg_query($sql);
		$row        = pg_fetch_array($Consulta);
	
		return array(1=>$row[0],2=>$row[1],3=>$row[2],4=>$row[3],5=>$row[4],6=>$row[6]);
   }

   function UnidadesUso($codcliente,$nroinscripcion,$codsuc=1){
	   $sql  = "select upper(tar.nomtar),tar.catetar ";
	   $sql .= "from unidadesusoclientes as und "; 
	   $sql .= "inner join tarifas as tar on(und.codemp=tar.codemp and und.codsuc=tar.codsuc and und.catetar=tar.catetar) ";
	   $sql .= "where und.codsuc=".$codsuc." and und.nroinscripcion=".$nroinscripcion;
	   $sql .= " and und.principal=1";
	   $Consulta   = pg_query($sql);
	   $row        = pg_fetch_array($Consulta);
	   
	   return array(1=>$row[0],2=>$row[1]);
   }


   	function PreparaSQL($Campos, $Texto)
	{
		$tmp = trim($Texto);
		$cont = 0;
		for ($i = 0; $i < strlen($tmp); $i++)
		{
			if (strpos($tmp, ' ')!=0)
			{
				$cont = $cont + 1;
				$Palabras[$cont] = trim(substr($tmp, 0, strpos($tmp, ' ')));
				$tmp = trim(substr($tmp, strpos($tmp, ' ')));
			}
		}
		$cont = $cont + 1;
		$Palabras[$cont] = trim(substr($tmp, 0));
		
		$Condicion = "OR";
		if ($cont!=1)
		{
			$Condicion = "AND";
		}
		//$Campos = NombreCampos($Tabla);
		$tmp2 = " WHERE (CAST(".$Campos[1]." AS TEXT) ILIKE '%".$Palabras[1]."%'";
		for ($i = 2; $i <= count($Campos); $i++)
		{
			$tmp2 = $tmp2." OR CAST(".$Campos[$i]." AS TEXT) ILIKE '%".$Palabras[1]."%' ";
		}
		$tmp2 = $tmp2.")";
		for ($x = 2; $x <= $cont; $x++)
		{
			$tmp2 = $tmp2." $Condicion (CAST(".$Campos[1]." AS TEXT) ILIKE '%".$Palabras[$x]."%'";
			for ($i = 2; $i <= count($Campos); $i++)
			{
				$tmp2 = $tmp2." OR CAST(".$Campos[$i]." AS TEXT) ILIKE '%".$Palabras[$x]."%' ";
			}
			$tmp2 = $tmp2.")";
		}
		return $tmp2;
	}
	function datosimagenes($ruta)
	{
		$img=$ruta."images/logo_empresa.jpg";
		$heigth=25;
		$width=15;
		
		return array(1=>$img,2=>$heigth,3=>$width);
	}
	function ComboAnio($codsuc=1,$evento="")
	{
		echo "<select name='anio' id='anio' class='select' style='width:150px' ".$evento." >";
        echo "<option value='0'>--Seleccione el A&ntilde;o--</option>";
			$sql = "select anio from periodofacturacion 
					group by anio order by anio";
		    $Consulta   = pg_query($sql);
	   		while($row  = pg_fetch_array($Consulta))
			{
				echo "<option value='".$row[0]."'>".$row[0]."</option>";
			}
        echo "</select>";
	}
*/

	
?>
