<?php
/**
* Created by PhpStorm.
* User: Sinerconsult
* Date: 08-04-2016
* Time: 11:42 AM
*/
foreach ([
"USER" =>"postgres",
"PASS" =>"123",
"SCHEMA" =>"gestiondelcorredor",
"DSN" =>"pgsql:port=5432;host=localhost;user=postgres;dbname=sitiotes_gdc",
] as $key => $value
) { define(strtoupper($key),$value); }
require("Daniia.php");
use Daniia\Daniia;
function met_registrosJoin_Asg_Cli_Gen_Pol_Com_Rec_Gen($cedrif, $cirif, $fecha, $nombrecliente, $rif, $discriminante, $tipovencimiento, $idpoliza=null, $mylim=null, $myoffset=null) {
$daniia = new Daniia();
$daniia->from(function(Daniia $daniia){
$daniia->table('ASEGURA');
$daniia->select(
'ASEGURA.cedrif'
,'NULL AS rif'
,'CLIENTENATURAL.cirif AS cirif'
,'CLIENTENATURAL.nombre AS nombre'
,'CLIENTENATURAL.apellido AS apellido'
,'ASEGURA.idpoliza AS idpoliza'
,'POLIZA.discriminante AS discriminante'
,'COMPANIA.razon AS razon'
,'GENERA.idrecibo AS idrecibo'
,"to_char(RECIBO.fvigini, 'DD/MM/YYYY') AS fvigini"
,"to_char(RECIBO.fvigfin, 'DD/MM/YYYY') AS fvigfin"
,"to_char(RECIBO.fvigcobro, 'DD/MM/YYYY') AS fvigcobro"
,'RECIBO.prima AS prima');
$daniia->join('CLIENTENATURAL','ASEGURA.cirif','CLIENTENATURAL.cirif');
$daniia->join('GENERA','ASEGURA.idpoliza','GENERA.idpoliza');
$daniia->join('COMPANIA','GENERA.rif','COMPANIA.rif');
$daniia->join('POLIZA','GENERA.idpoliza','POLIZA.idpoliza');
$daniia->join('RECIBO','GENERA.idrecibo','RECIBO.idrecibo');
$daniia->andWhere('RECIBO.nuevo');
$daniia->union(function(Daniia $daniia) {
$daniia->table('ASEGURA');
$daniia->select(
'ASEGURA.cedrif'
,'COMPANIA.rif'
,'CLIENTENONATURAL.cirif AS cirif'
,'CLIENTENONATURAL.razonsocial AS nombre'
,'NULL AS apellido'
,'ASEGURA.idpoliza AS idpoliza'
,'POLIZA.discriminante AS discriminante'
,'COMPANIA.razon AS razon'
,'GENERA.idrecibo AS idrecibo'
,"to_char(RECIBO.fvigini, 'DD/MM/YYYY') AS fvigini"
,"to_char(RECIBO.fvigfin, 'DD/MM/YYYY') AS fvigfin"
,"to_char(RECIBO.fvigcobro, 'DD/MM/YYYY') AS fvigcobro"
,'RECIBO.prima AS prima');
$daniia->join('CLIENTENONATURAL','ASEGURA.cirif','CLIENTENONATURAL.cirif');
$daniia->join('GENERA','ASEGURA.idpoliza','GENERA.idpoliza');
$daniia->join('COMPANIA','GENERA.rif','COMPANIA.rif');
$daniia->join('POLIZA','GENERA.idpoliza','POLIZA.idpoliza');
$daniia->join('RECIBO','GENERA.idrecibo','RECIBO.idrecibo');
$daniia->andWhere('RECIBO.nuevo');
});
});
$daniia->where('cedrif',$cedrif);
if ($cirif) $daniia->andWhere('cirif','ILIKE','%'.$cirif.'%');
if ($nombrecliente) $daniia->andWhere(function(Daniia $daniia)use($nombrecliente) {
$daniia->where('nombre','ILIKE',"%{$nombrecliente}%");
$daniia->orWhere('apellido','ILIKE',"%{$nombrecliente}%");
});
if ($rif) $daniia->andWhere('rif',$rif);
if ($discriminante) $daniia->andWhere('discriminante',$discriminante);
if ($tipovencimiento == 1 && !$fecha) $daniia->andWhere('TRUE');
if ($tipovencimiento == 2 && !$fecha) $daniia->andWhere('fvigfin < CURRENT_DATE');
if ($tipovencimiento == 3 && !$fecha) $daniia->andWhere('fvigcobro IS NULL');
if ($tipovencimiento == 1 && $fecha) $daniia->andWhere(function(Daniia $daniia)use($fecha){
$daniia->where('Extract(month from fvigfin)',"Extract(month from to_date(".$daniia->quote($fecha).",'YYYY-MM-DD'))",false);
$daniia->andWhere('Extract(year from fvigfin)',"Extract(year from to_date(".$daniia->quote($fecha).",'YYYY-MM-DD'))",false);
});
if ($tipovencimiento == 2 && $fecha) $daniia->andWhere(function(Daniia $daniia)use($fecha){
$daniia->where('fvigfin < CURRENT_DATE');
$daniia->andWhere('Extract(month from fvigfin)',"Extract(month from to_date(".$daniia->quote($fecha).",'YYYY-MM-DD'))",false);
$daniia->andWhere('Extract(year from fvigfin)',"Extract(year from to_date(".$daniia->quote($fecha).",'YYYY-MM-DD'))",false);
});
if ($tipovencimiento == 3 && $fecha) $daniia->andWhere('fvigcobro IS NULL');
if ($idpoliza) $daniia->andWhere('idpoliza',$idpoliza);
if ($mylim!==null) $daniia->limit($mylim,$myoffset);
$data = $daniia->get();
echo $daniia->last_sql.'<br><br>';
//$error = $daniia->error();
//echo utf8_decode($error[2]).'<br><br>';
return $data;
}
$r = met_registrosJoin_Asg_Cli_Gen_Pol_Com_Rec_Gen(
'v-11223344'
,$cirif=null
,$fecha=null
,$nombrecliente=null
,$rif=null
,$discriminante=null
,$tipovencimiento=null
,$idpoliza=null
,$mylim=null
,$myoffset=null
);
var_dump($r);
|