<?php
date_default_timezone_set('America/Lima');

class cVenta{

function insertar($fec,$ven,$doc_id,$numdoc,$mon_id,$tipcam,$cli_id,$cli_nom,$cli_dir,$cli_pla,$valven,$des,$igv,$tot,$est,
	$ven_id,$usu_id,$pis_id,$punven_id,$not,  $ven_gra,$ven_ina,$ven_exo,$ven_grat, $ven_isc, $otrtri,$otrcar,$anti,$rel,$digval,$sigval,$fecenv,
	$estsun,$xmlurl,$igvval,$igvsub,$igvigv){	
		$now =  date('Y-m-d h:i:s a');		
		$sql = "INSERT INTO tb_venta(
		tb_venta_reg ,
		tb_venta_fec ,
		tb_venta_ven ,
		tb_documento_id ,
		tb_venta_numdoc ,
		tb_moneda_id ,
		tb_venta_tipcam ,
		tb_cliente_id ,
		tb_cliente_nom ,
		tb_cliente_dir ,
		tb_cliente_pla ,
		tb_venta_valven ,
		tb_venta_des ,
		tb_venta_igv ,
		tb_venta_tot ,
		tb_venta_est ,
		tb_vendedor_id,
		tb_usuario_id,
		tb_piso_id,
		tb_puntoventa_id,
		tb_venta_not,
		tb_venta_gra,
		tb_venta_ina,
		tb_venta_exo,
		tb_venta_grat,
		tb_venta_isc,
		tb_venta_otrtri,
		tb_venta_otrcar,
		tb_venta_anti,
		tb_venta_rel,
		
		tb_venta_digval,
		tb_venta_sigval,
		tb_venta_fecenvsun,
		tb_venta_estsun,
		tb_venta_xmlurl,
		tb_venta_igvval,
		tb_venta_igvsub,
		tb_venta_igvigv
		)
		VALUES (
		'$now', '$fec','$ven','$doc_id',  '$numdoc','$mon_id','$tipcam',  '$cli_id', '$cli_nom','$cli_dir','$cli_pla' ,'$valven',  '$des', '$igv',  '$tot', '$est', '$ven_id', '$usu_id', 
		'$pis_id', '$punven_id', '$not',  '$ven_gra','$ven_ina','$ven_exo','$ven_grat', '$ven_isc', '$otrtri','$otrcar','$anti', '$rel','$digval','$sigval',
		'$fecenv','$estsun','$xmlurl','$igvval','$igvsub','$igvigv'
		)"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql) or die ('false');
		return $rst;	
	}
	function insertar_detalle($cat_cod,$cat_id,$mar_id,$nom,$can,$preuni,$des,$ven_id,$est){
		$sql = "INSERT INTO tb_ventadetalle(
		tb_catalogo_cod ,
		tb_catalogo_id ,
		tb_marca_id ,
		tb_ventadetalle_nom ,
		tb_ventadetalle_can ,
		tb_ventadetalle_preuni ,
		tb_ventadetalle_des ,
		tb_venta_id,
		tb_ventadetalle_est
		)
		VALUES ('$cat_cod','$cat_id','$mar_id','$nom','$can','$preuni','$des','$ven_id','$est')"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	function ultimoInsert(){
		$sql = "select max(tb_venta_id) as 'id' from tb_venta"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	
	function filtroreporte_agru($emp,$cli_id,$fec1,$fec2,$agrufec,$agruemp,$agrucli){
		$sql="select SUM(CASE WHEN v.tb_moneda_id = 1 THEN v.tb_venta_tot ELSE 0 END) 'soles',
		SUM(CASE WHEN v.tb_moneda_id = 2 THEN v.tb_venta_tot ELSE 0 END) 'dolares' ,
		" ; 
		if($agrufec>0) $sql.=" v.tb_venta_fec as 'fecha' ";
		if($agruemp>0) $sql.=" em.tb_empresa_nomcom as 'emp',em.tb_empresa_id as 'emp_id' ";
		if($agrucli>0) $sql.=" c.tb_cliente_nom as 'cli',c.tb_cliente_id as 'cli_id' ";
		$sql.= "from tb_venta v
        inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		inner join tb_empresa em on em.tb_empresa_id = pv.tb_empresa_id
		INNER JOIN tb_cliente c ON c.tb_cliente_id=v.tb_cliente_id
		where v.tb_venta_xac = '1' ";
		
		if($emp!="") $sql.=" and v.tb_empresa_id = '$emp' ";
		if($cli_id!="") $sql.=" and v.tb_cliente_id = '$cli_id' ";
		
		if($fec1!="") $sql.=" and v.tb_venta_fec between '$fec1'  and '$fec2' ";
		
		if($agrufec>0) $sql.=" group by v.tb_venta_fec order by v.tb_venta_fec ASC ";
		if($agrucli>0) $sql.=" group by c.tb_cliente_nom ,c.tb_cliente_id order by  c.tb_cliente_id  ASC ";
		if($agruemp>0) $sql.=" group by em.tb_empresa_nomcom ,em.tb_empresa_id order by  pv.tb_empresa_id  ASC ";
		
				
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
		function filtroreporte($fec,$agrufec,$agruemp,$agrcli,$emp_id,$cli_id,$fec1,$fec2){
		$sql="select * from tb_venta v
        inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		inner join tb_empresa em on em.tb_empresa_id = pv.tb_empresa_id
		INNER JOIN tb_cliente c ON c.tb_cliente_id=v.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		where v.tb_venta_xac = '1' ";
		
		//if($emp!="") $sql.=" and c.tb_empresa_id = '$emp' ";
		
		if($agrufec=='1'){
			$sql.=" and v.tb_venta_fec = '$fec'";
		}else if($agruemp=='1'){
			$sql.=" and em.tb_empresa_id = '$emp_id' ";
			$sql.="  and v.tb_venta_fec between '$fec1'  and '$fec2' ";
		}else if($agrcli=='1'){
			$sql.=" and c.tb_cliente_id = '$cli_id' ";
			$sql.="  and v.tb_venta_fec between '$fec1'  and '$fec2' ";
		}else{
			$sql.="  and v.tb_venta_fec between '$fec1'  and '$fec2' ";
		}
		
		$sql.=" order by v.tb_venta_fec, em.tb_empresa_id, c.tb_cliente_id ASC ";
		
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
	function mostrar_filtro_panel($fec1,$fec2,$mon_id,$punven_id){
		$sql="SELECT SUM(tb_venta_tot) as 'total' FROM tb_venta WHERE tb_venta_xac=1 and tb_venta_est=1 ";
		
		$sql.=" AND tb_venta_fec BETWEEN  '$fec1' AND '$fec2' and tb_puntoventa_id = '$punven_id' ";
		
		if($mon_id>0)$sql.=" AND tb_moneda_id = '$mon_id' ";
		if($usua>0)$sql.=" AND tb_usuario_id = '$usua' ";
 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function ventas_asunat($fec1,$fec2){
		
		$sql="SELECT * FROM tb_venta where tb_venta_est = 1 and tb_venta_xac = 1 and  tb_venta_estsun != 1 and tb_documento_id != 25 and tb_venta_fec between '$fec1' and '$fec2'  ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	function mostrar_grafica1($fec1,$fec2,$doc_id,$docnum,$cli_id,$mon_id,$venest,$emp_id){
		$sql="SELECT v.tb_venta_fec , sum(v.tb_venta_tot) as 'tb_venta_tot' FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		LEFT JOIN tb_empresa e on e.tb_empresa_id = pv.tb_empresa_id
		WHERE v.tb_venta_xac=1  and d.tb_documento_abr!='ND' ";
		
		if($docnum!=""){
			$sql.=" AND v.tb_venta_numdoc like '%$docnum%' ";
		}else{
			$sql.=" AND v.tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		}
		
		
		
		if($venest!="")$sql.=" AND v.tb_venta_est = '$venest' ";
		/* if($usu_id>0)$sql.=" AND v.tb_usuario_id = $usu_id "; */
		if($emp_id>0)$sql.=" AND e.tb_empresa_id = '$emp_id' ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		 if($cli_id>0)$sql.=" AND v.tb_cliente_id = '$cli_id' ";
		 if($mon_id>0)$sql.=" AND v.tb_moneda_id = $mon_id ";
		
		$sql.="  group by e.tb_empresa_id,v.tb_venta_fec ORDER BY v.tb_venta_fec desc ";
		//echo $sql;exit;
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}	
	
	
	function mostrar_grafica2($fec1,$fec2,$doc_id,$docnum,$cli_id,$mon_id,$venest,$emp_id){
		$sql="SELECT v.tb_venta_id FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		LEFT JOIN tb_empresa e on e.tb_empresa_id = pv.tb_empresa_id
		WHERE v.tb_venta_xac=1  and d.tb_documento_abr!='ND'  ";
		
		if($docnum!=""){
			$sql.=" AND v.tb_venta_numdoc like '%$docnum%' ";
		}else{
			$sql.=" AND v.tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		}
		
		
		
		if($venest!="")$sql.=" AND v.tb_venta_est = '$venest' ";
		/* if($usu_id>0)$sql.=" AND v.tb_usuario_id = $usu_id "; */
		if($emp_id>0)$sql.=" AND e.tb_empresa_id = '$emp_id' ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		 if($cli_id>0)$sql.=" AND v.tb_cliente_id = '$cli_id' ";
		 if($mon_id>0)$sql.=" AND v.tb_moneda_id = $mon_id ";
		
		$sql.=" ";
		//echo $sql;exit;
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}	
	
	function mostrar_filtro($fec1,$fec2,$doc_id,$docnum,$cli_id,$mon_id,$venest,$punvenid,$estsun,$lim){
		$sql="SELECT * 
		FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		LEFT JOIN tb_empresa e on e.tb_empresa_id = pv.tb_empresa_id
		WHERE v.tb_venta_xac=1  and d.tb_documento_abr!='ND'";
		
		if($docnum!=""){
			
		}else{
			
		}
		$sql.=" AND v.tb_venta_numdoc like '%$docnum%' ";
		$sql.=" AND v.tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($venest!="")$sql.=" AND v.tb_venta_est = '$venest' ";
		/* if($usu_id>0)$sql.=" AND v.tb_usuario_id = $usu_id "; */
		if($punvenid>0)$sql.=" AND pv.tb_puntoventa_id = '$punvenid' ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		 if($cli_id>0)$sql.=" AND v.tb_cliente_id = '$cli_id' ";
		 if($mon_id>0)$sql.=" AND v.tb_moneda_id = $mon_id ";
		 
		 
		 if($doc_id==""){
			
			
		if($estsun==""){
			
		}else if($estsun==0){ /// RECHAZADA
			$sql.=" AND v.tb_documento_id IN(4,5)";
			$sql.=" AND v.tb_venta_estsun = $estsun ";
			
		}else if($estsun==1){ /// ACEPTADA
			$sql.=" AND v.tb_documento_id IN(4,5)";
			$sql.=" AND v.tb_venta_estsun = $estsun ";
			
		}else if($estsun==2){ /// ANULADA
			$sql.=" AND v.tb_documento_id IN(4,5) ";
			$sql.=" AND v.tb_venta_estsun = $estsun ";
			
		}
		
		
		}
		 
		
		$sql.=" ORDER BY v.tb_venta_id desc";
		
		if($lim!="")$sql.=" limit $lim ";
		
		//echo $sql;exit;
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
	function mostrar_filtro_detalle($fec1,$fec2,$doc_id,$art,$cat_ids,$cli_id,$est,$usu_id,$punven_id,$venmay,$ven_id){
		$sql="SELECT * 
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		INNER JOIN tb_puntoventa pv ON v.tb_puntoventa_id=pv.tb_puntoventa_id
		LEFT JOIN tb_vendedor vend on vend.tb_vendedor_id = v.tb_vendedor_id

		INNER JOIN tb_ventadetalle vd ON v.tb_venta_id = vd.tb_venta_id
		LEFT JOIN tb_catalogo ct ON vd.tb_catalogo_id = ct.tb_catalogo_id
		LEFT JOIN tb_presentacion pr ON ct.tb_presentacion_id = pr.tb_presentacion_id
		LEFT JOIN tb_producto p ON pr.tb_producto_id = p.tb_producto_id
		LEFT JOIN tb_marca m ON p.tb_marca_id = m.tb_marca_id
		LEFT JOIN tb_categoria cg ON p.tb_categoria_id = cg.tb_categoria_id
		LEFT JOIN tb_unidad un ON ct.tb_unidad_id_bas = un.tb_unidad_id 
		
		LEFT JOIN tb_servicio s ON vd.tb_servicio_id = s.tb_servicio_id
		
		WHERE v.tb_usuario_id = $usu_id 
		AND v.tb_puntoventa_id = $punven_id
		AND tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($art=='p' and $cat_ids!="")$sql.=" AND p.tb_categoria_id IN ($cat_ids) ";
		if($art=='s' and $cat_ids!="")$sql.=" AND s.tb_categoria_id IN ($cat_ids) ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		if($cli_id>0)$sql.=" AND v.tb_cliente_id = $cli_id ";
		if($venmay>0)$sql.=" AND v.tb_venta_may = $venmay ";
		if($est!="")$sql.=" AND tb_venta_est LIKE '$est' ";
		if($ven_id>0)$sql.=" AND v.tb_vendedor_id = $ven_id ";
		
		$sql.=" ORDER BY tb_venta_fec, tb_documento_nom, tb_venta_numdoc ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_filtro_adm($fec1,$fec2,$doc_id,$cli_id,$est,$usu_id,$punven_id,$emp_id,$venmay,$ven_id){
		$sql="SELECT * 
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_vendedor vend on vend.tb_vendedor_id = v.tb_vendedor_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		INNER JOIN tb_usuario u ON v.tb_usuario_id=u.tb_usuario_id
		INNER JOIN tb_puntoventa pv ON v.tb_puntoventa_id=pv.tb_puntoventa_id	
		WHERE v.tb_empresa_id = $emp_id 
		AND tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		if($cli_id>0)$sql.=" AND v.tb_cliente_id = $cli_id ";
		if($ven_id>0)$sql.=" AND v.tb_vendedor_id = $ven_id ";
		if($punven_id>0)$sql.=" AND v.tb_puntoventa_id = $punven_id ";
		if($venmay>0)$sql.=" AND v.tb_venta_may = $venmay ";
		if($est!="")$sql.=" AND tb_venta_est LIKE '$est' ";
		
		$sql.=" ORDER BY tb_venta_fec, tb_documento_nom, tb_venta_numdoc ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
		function mostrar_xperiodo($mes,$anio,$emp){
		$fec1 = $anio.'-'.$mes.'-'.'01';
		$fec2 = $anio.'-'.$mes.'-'.'31';
		$sql="select * from tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		where v.tb_venta_xac = '1' and d.tb_documento_abr != 'T' and v.tb_venta_fec BETWEEN '$fec1' AND '$fec2' and pv.tb_empresa_id = '$emp' ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_detalle_agru($mes,$anio,$empid){
		$fec1 = $anio.'-'.$mes.'-'.'01';
		$fec2 = $anio.'-'.$mes.'-'.'31';
		
		$sql="select pv.tb_empresa_id as 'empid',emp.tb_empresa_razsoc as 'emp' from tb_venta v
		inner join tb_documento d on d.tb_documento_id = v.tb_documento_id
		inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		inner join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		where v.tb_venta_xac = '1' and d.tb_documento_abr != 'T' and v.tb_venta_fec BETWEEN '$fec1' AND '$fec2'";
		
		if($empid>0) $sql .=" and pv.tb_empresa_id = '$empid'";
		
		$sql .= " group by pv.tb_empresa_id, emp.tb_empresa_razsoc ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_detalle_des($mes,$anio,$empid){
		$fec1 = $anio.'-'.$mes.'-'.'01';
		$fec2 = $anio.'-'.$mes.'-'.'31';
		
		$sql="select * from tb_venta v
		inner join tb_documento d on d.tb_documento_id = v.tb_documento_id
		left join tb_cliente cl on cl.tb_cliente_id = v.tb_cliente_id		
		inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		inner join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		where v.tb_venta_xac = '1' and d.tb_documento_abr != 'T' and  v.tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($empid>0) $sql.="and pv.tb_empresa_id = '$empid' ";
		
		$sql.="order by v.tb_documento_id,v.tb_venta_numdoc ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function mostrar_filtro_detalle_adm($fec1,$fec2,$doc_id,$art,$cat_ids,$cli_id,$est,$usu_id,$punven_id,$emp_id,$venmay){
		$sql="SELECT * 
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		INNER JOIN tb_usuario u ON v.tb_usuario_id=u.tb_usuario_id
		INNER JOIN tb_puntoventa pv ON v.tb_puntoventa_id=pv.tb_puntoventa_id
		LEFT JOIN tb_vendedor vend on vend.tb_vendedor_id = v.tb_vendedor_id

		INNER JOIN tb_ventadetalle vd ON v.tb_venta_id = vd.tb_venta_id
		LEFT JOIN tb_catalogo ct ON vd.tb_catalogo_id = ct.tb_catalogo_id
		LEFT JOIN tb_presentacion pr ON ct.tb_presentacion_id = pr.tb_presentacion_id
		LEFT JOIN tb_producto p ON pr.tb_producto_id = p.tb_producto_id
		LEFT JOIN tb_marca m ON p.tb_marca_id = m.tb_marca_id
		LEFT JOIN tb_categoria cg ON p.tb_categoria_id = cg.tb_categoria_id
		LEFT JOIN tb_unidad un ON ct.tb_unidad_id_bas = un.tb_unidad_id 
		
		LEFT JOIN tb_servicio s ON vd.tb_servicio_id = s.tb_servicio_id
		
		WHERE v.tb_empresa_id = $emp_id 
		AND tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($art=='p' and $cat_ids!="")$sql.=" AND p.tb_categoria_id IN ($cat_ids) ";
		if($art=='s' and $cat_ids!="")$sql.=" AND s.tb_categoria_id IN ($cat_ids) ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		if($cli_id>0)$sql.=" AND v.tb_cliente_id = $cli_id ";
		if($usu_id>0)$sql.=" AND u.tb_usuario_id = $usu_id ";
		if($punven_id>0)$sql.=" AND v.tb_puntoventa_id = $punven_id ";
		if($venmay>0)$sql.=" AND v.tb_venta_may = $venmay ";
		if($est!="")$sql.=" AND tb_venta_est LIKE '$est' ";
		
		$sql.=" ORDER BY tb_venta_fec, tb_documento_nom, tb_venta_numdoc ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function mostrar_resumen_productos($fec1,$fec2,$doc_id,$art,$cat_ids,$cli_id,$est,$usu_id,$punven_id,$emp_id){
		$sql="SELECT tb_venta_est, tb_ventadetalle_tipven, p.tb_producto_id, p.tb_producto_nom, pr.tb_presentacion_id, pr.tb_presentacion_nom, un.tb_unidad_id, un.tb_unidad_abr, ct.tb_catalogo_fac, SUM(tb_ventadetalle_can) AS can, SUM(tb_ventadetalle_preuni) AS preuni, SUM(tb_ventadetalle_valven) AS valven, SUM(tb_ventadetalle_igv) AS igv
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		INNER JOIN tb_usuario u ON v.tb_usuario_id=u.tb_usuario_id
		INNER JOIN tb_puntoventa pv ON v.tb_puntoventa_id=pv.tb_puntoventa_id
		
		INNER JOIN tb_ventadetalle vd ON v.tb_venta_id = vd.tb_venta_id
		
		INNER JOIN tb_catalogo ct ON vd.tb_catalogo_id = ct.tb_catalogo_id
		LEFT JOIN tb_presentacion pr ON ct.tb_presentacion_id = pr.tb_presentacion_id
		LEFT JOIN tb_producto p ON pr.tb_producto_id = p.tb_producto_id
		LEFT JOIN tb_marca m ON p.tb_marca_id = m.tb_marca_id
		LEFT JOIN tb_categoria cg ON p.tb_categoria_id = cg.tb_categoria_id
		LEFT JOIN tb_unidad un ON ct.tb_unidad_id_bas = un.tb_unidad_id 
		
		WHERE v.tb_empresa_id = $emp_id 
		AND tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($art=='p' and $cat_ids!="")$sql.=" AND p.tb_categoria_id IN ($cat_ids) ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		if($cli_id>0)$sql.=" AND v.tb_cliente_id = $cli_id ";
		if($usu_id>0)$sql.=" AND u.tb_usuario_id = $usu_id ";
		if($punven_id>0)$sql.=" AND v.tb_puntoventa_id = $punven_id ";
		if($est!="")$sql.=" AND tb_venta_est LIKE '$est' ";
		if($ven_id>0)$sql.=" AND v.tb_vendedor_id = $ven_id ";
		
		$sql.=" GROUP BY p.tb_producto_id, pr.tb_presentacion_id, un.tb_unidad_id ";	
		
		$sql.=" ORDER BY v.tb_venta_fec, p.tb_producto_nom ";

		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function mostrar_resumen_productos_adm($fec1,$fec2,$doc_id,$art,$cat_ids,$cli_id,$est,$usu_id,$punven_id,$emp_id){
		$sql="SELECT tb_venta_est, tb_ventadetalle_tipven, p.tb_producto_id, p.tb_producto_nom, pr.tb_presentacion_id, pr.tb_presentacion_nom, un.tb_unidad_id, un.tb_unidad_abr, ct.tb_catalogo_fac, SUM(tb_ventadetalle_can) AS can, SUM(tb_ventadetalle_preuni) AS preuni, SUM(tb_ventadetalle_valven) AS valven, SUM(tb_ventadetalle_igv) AS igv
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		INNER JOIN tb_usuario u ON v.tb_usuario_id=u.tb_usuario_id
		INNER JOIN tb_puntoventa pv ON v.tb_puntoventa_id=pv.tb_puntoventa_id
		
		INNER JOIN tb_ventadetalle vd ON v.tb_venta_id = vd.tb_venta_id
		
		INNER JOIN tb_catalogo ct ON vd.tb_catalogo_id = ct.tb_catalogo_id
		LEFT JOIN tb_presentacion pr ON ct.tb_presentacion_id = pr.tb_presentacion_id
		LEFT JOIN tb_producto p ON pr.tb_producto_id = p.tb_producto_id
		LEFT JOIN tb_marca m ON p.tb_marca_id = m.tb_marca_id
		LEFT JOIN tb_categoria cg ON p.tb_categoria_id = cg.tb_categoria_id
		LEFT JOIN tb_unidad un ON ct.tb_unidad_id_bas = un.tb_unidad_id 
		
		WHERE v.tb_empresa_id = $emp_id 
		AND tb_venta_fec BETWEEN '$fec1' AND '$fec2' ";
		
		if($art=='p' and $cat_ids!="")$sql.=" AND p.tb_categoria_id IN ($cat_ids) ";
		if($doc_id>0)$sql.=" AND v.tb_documento_id = $doc_id ";
		if($cli_id>0)$sql.=" AND v.tb_cliente_id = $cli_id ";
		if($usu_id>0)$sql.=" AND u.tb_usuario_id = $usu_id ";
		if($punven_id>0)$sql.=" AND v.tb_puntoventa_id = $punven_id ";
		if($est!="")$sql.=" AND tb_venta_est LIKE '$est' ";
		
		$sql.=" GROUP BY p.tb_producto_id, pr.tb_presentacion_id, un.tb_unidad_id ";
		
	//$sql.=" ORDER BY tb_venta_fec, tb_documento_nom, tb_venta_numdoc ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}

	function mostrarUno($id){
		$sql="SELECT * 
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		INNER JOIN tb_empresa e ON pv.tb_empresa_id=e.tb_empresa_id
		INNER JOIN tb_piso p ON v.tb_piso_id=p.tb_piso_id
        INNER join tb_almacen alm on p.tb_almacen_id = alm.tb_almacen_id
		LEFT JOIN tb_usuario u ON v.tb_vendedor_id=u.tb_usuario_id
		WHERE tb_venta_id='$id'";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	function mostrarcantXMes($emp_id,$mes,$mon_id){
		
		$año =  date('Y');		
		
		$fec1 = $año.'-'.$mes.'-01';
		$fec2 = $año.'-'.$mes.'-31';
		
		$sql="SELECT sum(v.tb_venta_tot)  as 'canttot'
		FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		WHERE v.tb_venta_xac=1
		AND pv.tb_empresa_id = '$emp_id'	AND v.tb_venta_fec BETWEEN '$fec1' AND '$fec2'	
		AND v.tb_moneda_id = '$mon_id' ";
	
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	function mostrarhoy_fechas($emp_id,$mon_id){
		
		$año =  date('Y');		
		
		$fec1 = date('Y-m-d');
		$fec2 = date('Y-m-d');
		
		$sql="SELECT * FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		WHERE v.tb_venta_xac=1
		AND pv.tb_empresa_id = '$emp_id'	AND v.tb_venta_fec BETWEEN '$fec1' AND '$fec2'	
		AND v.tb_moneda_id = '$mon_id' ";
	
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function verguia_x_venta($venid){
		$sql = "SELECT * FROM tb_guiaremision where tb_venta_id = '$venid'"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function buscar_docnum_complete($docnum){
		$sql="SELECT * 
		FROM tb_venta v
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		LEFT JOIN tb_usuario u on u.tb_usuario_id = v.tb_usuario_id
		WHERE v.tb_venta_xac=1 and tb_venta_est = '1' and v.tb_documento_id != '25'
		AND v.tb_venta_numdoc LIKE '%$docnum%' or c.tb_cliente_nom LIKE '%$docnum%' LIMIT 0,12 ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
}

	
	/* function mostrarUno_ticket($id){
		$sql="SELECT * 
		FROM tb_venta v
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		inner JOIN tb_usuario u ON v.tb_vendedor_id=u.tb_usuario_id
        inner join tb_piso pi on v.tb_piso_id = pi.tb_piso_id
        inner join tb_impresora imp on pi.tb_impresora_id = imp.tb_impresora_id
        inner join tb_caja caj on caj.tb_caja_id = pi.tb_caja_id
		WHERE tb_venta_id ='$id'";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	 */
	 
	function mostrarUno_ticket($id){
		$sql="SELECT v.tb_moneda_id as 'moneid', c.tb_cliente_id as 'cliid', c.tb_cliente_doc as 'doc', v.tb_cliente_dir as 'dir', v.tb_venta_numdoc as 'numdoc',v.*, cr.*,cot.*,c.*,vp.*,gr.*,d.*,u.*,pi.*,pv.*
		FROM tb_venta v
		left join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		left join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
		left join tb_ventapago vp on vp.tb_venta_id = v.tb_venta_id
		left join tb_cotizaciondocrelacionado cr on cr.tb_venta_id = v.tb_venta_id
		left join tb_cotizacion cot on cot.tb_cotizacion_id = cr.tb_cotizacion_id
		LEFT JOIN tb_cliente c ON v.tb_cliente_id=c.tb_cliente_id
		left join tb_guiaremision gr on v.tb_venta_id = gr.tb_venta_id
		INNER JOIN tb_documento d ON v.tb_documento_id=d.tb_documento_id
		inner JOIN tb_usuario u ON v.tb_vendedor_id=u.tb_usuario_id
        inner join tb_piso pi on v.tb_piso_id = pi.tb_piso_id
		WHERE v.tb_venta_id ='$id'";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	} 
	 
	function act_firma($id,$digval,$sigval,$url){
	$now =  date('Y-m-d h:i:s a');
	$sql = "UPDATE tb_venta SET  
	`tb_venta_digval` =  '$digval',
	`tb_venta_sigval` =  '$sigval',
	`tb_venta_xmlurl` =  '$url'
	WHERE tb_venta_id = '$id' "; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	
	function act_sunat($id,$est){
		$now =  date('Y-m-d h:i:s a');
	$sql = "UPDATE tb_venta SET  
	`tb_venta_fecenvsun` =  '$now',
	`tb_venta_estsun` =  '$est'
	WHERE tb_venta_id = '$id' "; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function modificar_campo($id, $campo, $val){
		$sql = "UPDATE tb_venta SET
		tb_venta_$campo =  '$val' 
		WHERE  tb_venta_id = '$id'"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	
	function modificar_campodetalle($id, $campo, $val){
		$sql = "UPDATE tb_ventadetalle SET
		tb_ventadetalle_$campo =  '$val' 
		WHERE  tb_ventadetalle_id = '$id'"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function actualizar_montos($id,$valven,$igv,$tot,$des){
		$now =  date('Y-m-d h:i:s a');
	$sql = "UPDATE tb_venta SET  
	`tb_venta_valven` =  '$valven',
	`tb_venta_des` =  '$des',
	`tb_venta_igv` =  '$igv',
	`tb_venta_tot` =  '$tot'
	WHERE tb_venta_id = '$id' "; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	
	function mostrarUno_categoria($cat_id){
		$sql="SELECT * FROM tb_presentacion pr
		INNER JOIN tb_catalogo ct ON pr.tb_presentacion_id=ct.tb_presentacion_id
		INNER JOIN tb_unidad u ON ct.tb_unidad_id_equ=u.tb_unidad_id
		inner join tb_producto p on pr.tb_producto_id = p.tb_producto_id
		WHERE ct.tb_catalogo_id = '$cat_id' ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
	function mostrar_venta_detalle($ven_id){
		$sql="
		SELECT * 
		FROM tb_producto p
		INNER JOIN tb_categoria c ON p.tb_categoria_id = c.tb_categoria_id
		LEFT JOIN tb_presentacion pr ON pr.tb_presentacion_id = p.tb_presentacion_id
		LEFT JOIN tb_catalogo ct ON p.tb_producto_id = ct.tb_producto_id
		INNER JOIN tb_ventadetalle vd ON ct.tb_catalogo_id = vd.tb_catalogo_id
		inner join tb_marca m on m.tb_marca_id = vd.tb_marca_id
		INNER JOIN tb_unidad u ON ct.tb_unidad_id = u.tb_unidad_id
		WHERE vd.tb_venta_id = '$ven_id' ";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function modificar($id, $fec, $cli_id,$est){
		$sql = "UPDATE tb_venta SET  
		`tb_venta_fec` =  '$fec',
		`tb_cliente_id` =  '$cli_id',
		`tb_venta_est` =  '$est'
		WHERE  tb_venta_id ='$id'"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function cambiarest_detalle($id){
		$sql = "UPDATE tb_ventadetalle SET  
		`tb_ventadetalle_est` =  '1'
		WHERE  tb_ventadetalle_id = '$id' "; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	
	function modificar_adm($id,$may,$lab1){
		$sql = "UPDATE tb_venta SET  
		`tb_venta_may` =  '$may',
		`tb_venta_lab1` =  '$lab1' 
		WHERE  tb_venta_id =$id;"; 
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;	
	}
	function verificaE($id){
		$sql = "SELECT * 
		FROM  `tb_usosoftware` 
		WHERE tb_software_id =$id";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function eliminar($id){
		$sql="DELETE FROM tb_venta WHERE tb_venta_id=$id";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	function aniosVenta(){
		$sql="SELECT DISTINCT (
		YEAR( tb_venta_fec )) AS anio
		FROM  `tb_venta` 
		ORDER BY tb_venta_fec";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
		function mostrar_ventas_hoy_empresa($emp_id,$mon_id){
		
		$fecbus =  date('Y-m-d');	
		
		$sql="SELECT sum(v.tb_venta_tot) as 'tot' FROM tb_venta v
		LEFT JOIN tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		WHERE pv.tb_empresa_id = '$emp_id' 
		AND v.tb_venta_fec = '$fecbus' 
		AND v.tb_venta_est = 1
		and v.tb_moneda_id = '$mon_id' ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
	
	function mostrar_todos_por_empresa($emp_id, $alm_id, $fec){
		
		$fecbus =  date('Y-m-d');	
		
		$sql="SELECT * 
		FROM tb_venta v
		INNER JOIN tb_puntoventa pv ON pv.tb_puntoventa_id = v.tb_puntoventa_id
		WHERE pv.tb_empresa_id = '$emp_id' ";
		
		if($alm_id>0) $sql .= "AND pv.tb_almacen_id = '$alm_id' ";
		if($fec>0) $sql .= "AND v.tb_venta_fec = '$fecbus' ";
		
		$sql .= "AND v.tb_venta_est IN ('CANCELADA')
		ORDER BY v.tb_venta_fec";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function buscar_serie($doc_id,$serie){ 
		$sql="SELECT * FROM `tb_venta` v
		INNER JOIN tb_puntoventa pv on  v.tb_puntoventa_id = pv.tb_puntoventa_id 
		LEFT JOIN tb_almacen a on a.tb_almacen_id = pv.tb_almacen_id where tb_documento_id='$doc_id' and tb_venta_numdoc = '$serie'";
	//echo $sql;exit;
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
function convertir_hash($id){
	$key = 'EixMKU90GHKJGhDVN78A';
	$sql="SELECT * FROM tb_venta
	WHERE MD5(concat('$key',tb_venta_id)) = '$id'";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}


}
?>