<?php
date_default_timezone_set('America/Lima');
class cEgreso{
	function insertar($usureg,$usumod,$fec,$fecemi,$doc_id,$numdoc,$det,$imp,$est,$cue_id,$subcue_id,$pro_id,$caj_id,$mod_id,$modide,$forpag,
	$modid,$ban_ori,$cue_ori,$ban_des,$cue_des,$cuenprov,$cob,$egr_nroope,$egr_gasope,$egr_val,   $diamora,$intmora,$intven,$intade,$intcom,$gaspro,
	$compro,$por,$nvoimp,$nvofecven,$amor,$diapro,$comdeval,$tas,$itf){
		$now =  date('Y-m-d h:i:s a');
		$sql = "INSERT INTO  tb_egreso(
		`tb_egreso_fecreg` ,
		`tb_egreso_fecmod` ,
		`tb_egreso_usureg` ,
		`tb_egreso_usumod` ,
		`tb_egreso_fec` ,
		`tb_egreso_fecemi` ,
		`tb_documento_id` ,
		`tb_egreso_numdoc` ,
		`tb_egreso_det` ,
		`tb_egreso_imp` ,
		`tb_egreso_est` ,
		`tb_cuenta_id` ,
		`tb_subcuenta_id` ,
		`tb_proveedor_id` ,
		`tb_caja_id` ,
		`tb_modulo_id` ,
		`tb_egreso_modide` ,
		`tb_egreso_forpag`,
		`tb_egreso_modo`,
		`tb_banco_ori`,
		`tb_cuenta_ori`,
		`tb_banco_des`,
		`tb_cuenta_des`,
		`tb_egreso_cuepprov`,
		`tb_egreso_cob`,
		`tb_egreso_nroope`,
		`tb_egreso_gasope`,
		`tb_egreso_val`,
		`tb_egreso_diamora`,
		`tb_egreso_intmora`,
		`tb_egreso_intven`,
		`tb_egreso_intade`,
		`tb_egreso_intcom`,
		`tb_egreso_gaspro`,
		`tb_egreso_compro`,
		`tb_egreso_por`,
		`tb_egreso_nvoimp`,
		`tb_egreso_nvofecven`,
		`tb_egreso_amor`,
		`tb_egreso_diapro`,
		`tb_egreso_comdeval`,
		`tb_egreso_tas`,
		`tb_egreso_itf`
		)
		VALUES (
		'$now','$now','$usureg','$usumod','$fec','$fecemi','$doc_id','$numdoc','$det','$imp','$est','$cue_id','$subcue_id','$pro_id',
		'$caj_id', '$mod_id', '$modide','$forpag','$modid','$ban_ori','$cue_ori','$ban_des','$cue_des','$cuenprov',
		'$cob','$egr_nroope','$egr_gasope','$egr_val','$diamora','$intmora','$intven','$intade','$intcom','$gaspro',
	'$compro','$por','$nvoimp','$nvofecven','$amor','$diapro','$comdeval','$tas','$itf')"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	function ultimoInsert(){
		$sql = "select max(tb_egreso_id) as 'id' from tb_egreso"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	function modificar($id,$usumod,$fec,$doc_id,$numdoc,$det,$imp,$est,$cue_id,$subcue_id,$caj_id){
		$now =  date('Y-m-d h:i:s a');
		$sql = "UPDATE tb_egreso SET
		`tb_egreso_fecmod` = '$now' ,
		`tb_egreso_usumod` =  '$usumod',
		`tb_egreso_fec` =  '$fec',
		`tb_documento_id` = '$doc_id' ,
		`tb_egreso_numdoc` = '$numdoc',
		`tb_egreso_det` =  '$det',
		`tb_egreso_imp` =  '$imp',
		`tb_egreso_est` =  '$est',
		`tb_cuenta_id` =  '$cue_id',
		`tb_subcuenta_id` =  '$subcue_id',
		`tb_caja_id` =  '$caj_id'
		WHERE tb_egreso_id =$id;"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	function complete_det($emp,$det){
		$sql="SELECT DISTINCT(tb_egreso_det) FROM tb_egreso
		WHERE tb_empresa_id=$emp
		AND tb_egreso_det like '%$det%'
		ORDER BY tb_egreso_det
		LIMIT 0 , 10";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function mostrar_filtro($emp_id,$caj_id,$fec1,$fec2,$cue_id,$subcue_id,$doc_id,$numdoc,$pro_id,$est,$usu_id){
		$sql="SELECT e.tb_proveedor_id as 'perid',e.tb_modulo_id as 'modid',e.*,cj.*,c.*,p.*,d.*,sc.*  
		FROM tb_egreso e
		LEFT JOIN tb_caja cj ON e.tb_caja_id = cj.tb_caja_id
		LEFT JOIN tb_cuenta c ON e.tb_cuenta_id = c.tb_cuenta_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id = p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_subcuenta sc ON e.tb_subcuenta_id = sc.tb_subcuenta_id
		WHERE e.tb_egreso_xac=1
			
		AND e.tb_egreso_fec BETWEEN '$fec1' AND '$fec2' ";
		if($usu_id!=''){
			$sql = $sql." AND e.tb_egreso_usureg = '$usu_id' ";
		}	
		if($caj_id>0){
			$sql = $sql." AND e.tb_caja_id = '$caj_id' ";
		}
		if($cue_id>0){
			$sql = $sql." AND e.tb_cuenta_id = '$cue_id' ";
		}
		if($subcue_id>0){
			$sql = $sql." AND e.tb_subcuenta_id = '$subcue_id' ";
		}
		if($doc_id>0){
			$sql = $sql." AND e.tb_documento_id = '$doc_id' ";
		}
		if($numdoc!=""){
			$sql = $sql." AND tb_egreso_numdoc LIKE '%$numdoc%' ";
		}		
		if($pro_id>0){
			$sql = $sql." AND e.tb_proveedor_id = $pro_id ";
		}
		if($est>0){
			$sql = $sql." AND tb_egreso_est IN ('$est') ";
		}
		
		$sql = $sql." ORDER BY tb_egreso_fec "; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_pagos($compag_id){
		$sql="SELECT * 
		FROM tb_egreso e
		INNER JOIN tb_caja cj ON e.tb_caja_id = cj.tb_caja_id
		inner join tb_moneda mo on mo.tb_moneda_id = cj.tb_moneda_id
		inner join tb_puntoventa pv on cj.tb_puntoventa_id = pv.tb_puntoventa_id
		inner join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		INNER JOIN tb_cuenta c ON e.tb_cuenta_id = c.tb_cuenta_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id = p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_proveedorcuenta pc ON pc.tb_proveedorcuenta_id=e.tb_egreso_cuepprov
		LEFT JOIN tb_subcuenta sc ON e.tb_subcuenta_id = sc.tb_subcuenta_id
		LEFT JOIN tb_comprapago cp on cp.tb_comprapago_id = e.tb_egreso_modide
		WHERE e.tb_egreso_xac=1		
		AND e.tb_egreso_modide = '$compag_id' ";
		$sql = $sql." ORDER BY tb_egreso_fec "; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_filtro_flujo($emp_id,$y,$m,$cue_id,$subcue_id,$pro_id,$est,$caj_id){
		$sql="SELECT * 
		FROM tb_egreso e
		inner join tb_puntoventa pv on e.tb_puntoventa_id = pv.tb_puntoventa_id
		inner join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		INNER JOIN tb_cuenta c ON e.tb_cuenta_id = c.tb_cuenta_id
		INNER JOIN tb_caja cj ON e.tb_caja_id = cj.tb_caja_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id = p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_subcuenta sc ON e.tb_subcuenta_id = sc.tb_subcuenta_id
		WHERE tb_egreso_xac=1
		AND emp.tb_empresa_id=$emp_id  ";
		if($y>0)$sql = $sql." AND YEAR( tb_egreso_fec ) =$y ";
		if($m>0)$sql = $sql." AND MONTH( tb_egreso_fec ) =$m ";
		if($caj_id>0)$sql = $sql." AND e.tb_caja_id = $caj_id ";
		if($cue_id>0)$sql = $sql." AND e.tb_cuenta_id = $cue_id ";
		if($subcue_id>0)$sql = $sql." AND e.tb_subcuenta_id = $subcue_id ";
		
		if($pro_id>0)$sql = $sql." AND e.tb_proveedor_id = $pro_id ";
		if($est!='')$sql = $sql." AND tb_egreso_est IN ($est) ";
		$sql = $sql." ORDER BY tb_egreso_fec ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_suma($punven_id,$caj_id,$fec1,$fec2,$cue_id,$subcue_id,$numdoc,$pro_id,$est){
		$sql="SELECT SUM(tb_egreso_imp) as total 
		FROM tb_egreso e
		LEFT JOIN tb_cuenta c ON e.tb_cuenta_id = c.tb_cuenta_id
		LEFT JOIN tb_caja cj ON e.tb_caja_id = cj.tb_caja_id
		LEFT join tb_puntoventa pv on pv.tb_puntoventa_id = cj.tb_puntoventa_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id = p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_subcuenta sc ON e.tb_subcuenta_id = sc.tb_subcuenta_id
		WHERE e.tb_egreso_xac=1
		AND tb_egreso_fec BETWEEN '$fec1' AND '$fec2' ";
	
		if($caj_id>0){
			$sql = $sql." AND e.tb_caja_id = $caj_id ";
		}
		if($punven_id>0){
		 	$sql = $sql." AND pv.tb_puntoventa_id='$punven_id' ";
		}
		if($cue_id>0){
			$sql = $sql." AND e.tb_cuenta_id = $cue_id ";
		}
		if($subcue_id>0){
			$sql = $sql." AND e.tb_subcuenta_id = $subcue_id ";
		}
		
		if($numdoc!=""){
			$sql = $sql." AND tb_egreso_numdoc LIKE '%$numdoc%' ";
		}
		
		if($pro_id>0){
			$sql = $sql." AND e.tb_proveedor_id = $pro_id ";
		}
		if($est!=''){
			$sql = $sql." AND tb_egreso_est IN ($est) ";
		}
		
		//$sql = $sql." ORDER BY tb_egreso_fec ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_por_modulo($mod_id,$modide,$est){
		$sql="SELECT * 
		FROM tb_egreso e
		INNER JOIN tb_cuenta c ON e.tb_cuenta_id = c.tb_cuenta_id
		INNER JOIN tb_caja cj ON e.tb_caja_id = cj.tb_caja_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id = p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_subcuenta sc ON e.tb_subcuenta_id = sc.tb_subcuenta_id
		inner join tb_comprapago cm on cm.tb_comprapago_id = e.tb_egreso_modide
		WHERE e.tb_egreso_xac = 1
		AND e.tb_modulo_id=$mod_id
		AND e.tb_egreso_modide=$modide ";
		if($est>0)$sql = $sql." AND e.tb_egreso_est IN ($est) ";
		$sql = $sql." ORDER BY tb_egreso_fec ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function mostrarUno($id){
		$sql="SELECT * 
		FROM tb_egreso e
		INNER JOIN tb_caja c ON e.tb_caja_id=c.tb_caja_id
		LEFT JOIN tb_proveedor p ON e.tb_proveedor_id=p.tb_proveedor_id
		LEFT JOIN tb_documento d ON e.tb_documento_id=d.tb_documento_id
		WHERE tb_egreso_id=$id";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function modificar_campodetalle($det,$usumod,$campo,$valor){
		$now =  date('Y-m-d h:i:s a');
		$sql = "UPDATE tb_egreso SET
		`tb_egreso_fecmod` = '$now' ,
		`tb_egreso_usumod` =  '$usumod',
		`tb_egreso_$campo` =  '$valor' 
		WHERE tb_egreso_det = '$det' "; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function egreso_suma_mes($emp,$y,$m,$est){
		$sql="SELECT FORMAT(SUM( tb_egreso_mon ),2) AS egreso_suma_mes 
		FROM tb_egreso e
		
		inner join tb_puntoventa pv on e.tb_puntoventa_id = pv.tb_puntoventa_id
		inner join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		WHERE emp.tb_empresa_id =$emp
		AND YEAR(e.tb_egreso_feccon)=$y
		";
		if($m!=0){
			$sql = $sql." AND MONTH(e.tb_egreso_feccon)=$m ";
		}
		if($est!=""){
			$sql = $sql." AND e.tb_egreso_est IN ('$est') ;";
		}
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function egreso_act(){
		$sql="select * from tb_egreso where tb_moneda_id = 2 and tb_caja_id = 3";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function modificar_campo($id,$usumod,$campo,$valor){
		$now =  date('Y-m-d h:i:s a');
		$sql = "UPDATE tb_egreso SET
		`tb_egreso_fecmod` = '$now' ,
		`tb_egreso_usumod` =  '$usumod',
		`tb_egreso_$campo` =  '$valor' 
		WHERE tb_egreso_id =$id;"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function modificar_caja($id,$valor){
		$sql = "UPDATE tb_egreso SET
		`tb_caja_id` = '$valor'
		WHERE tb_egreso_id ='$id' "; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function modificar_egresotranferencia($tra_id,$usu_id){
		$now =  date('Y-m-d h:i:s a');
		$sql="update tb_egreso set 
		`tb_egreso_xac` = 0,
		`tb_egreso_usumod` = '$usu_id',
		`tb_egreso_fecmod` = '$now'
		where tb_egreso_modide = '$tra_id' ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
}
?>