<?php
date_default_timezone_set('America/Lima');
class cNotacredito{
	
	function insertar($fec,$docid,$numdoc,$usuid,$venid,$mot,$tip,$icbper,$tot, $digval,$sigval,$fecenv,$estsun,$urlxml,$igvval,$igvsub,$igvigv){
		$now =  date('Y-m-d h:i:s a');
	$sql = "INSERT INTO tb_notacredito(
	`tb_notacredito_reg` ,
	`tb_notacredito_mod` ,
	`tb_notacredito_fec` ,
	`tb_documento_id` ,
	`tb_notacredito_numdoc` ,
	`tb_usuario_id` ,
	`tb_venta_id` ,
	`tb_notacredito_motivo`,
	`tb_notacredito_tip`,
	`tb_notacredito_icbper`,
	`tb_notacredito_tot`,
	
	`tb_notacredito_digval`,
	`tb_notacredito_sigval`,
	`tb_notacredito_fecenvsun`,
	`tb_notacredito_estsun`,
	`tb_notacredito_urlxml`,
	`tb_notacredito_igvval`,
	`tb_notacredito_igvsub`,
	`tb_notacredito_igvigv`
	)
	VALUES(
	'$now','$now','$fec','$docid','$numdoc','$usuid','$venid','$mot','$tip','$icbper','$tot', '$digval','$sigval','$fecenv','$estsun','$urlxml','$igvval','$igvsub','$igvigv');"; 
	$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_notacredito nc
		inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
		inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		where nc.tb_notacredito_fec BETWEEN '$fec1' AND '$fec2' and pv.tb_empresa_id = '$emp' and nc.tb_notacredito_xac = '1' ";
		
		$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 nc.tb_notacredito_tot ELSE 0 END) 'soles',
		SUM(CASE WHEN v.tb_moneda_id = 2 THEN nc.tb_notacredito_tot ELSE 0 END) 'dolares' ,
		" ; 
		if($agrufec>0) $sql.=" nc.tb_notacredito_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_notacredito nc
		inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
        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 nc.tb_notacredito_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 nc.tb_notacredito_fec between '$fec1'  and '$fec2' ";
		
		if($agrufec>0) $sql.=" group by nc.tb_notacredito_fec order by nc.tb_notacredito_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_notacredito nc
		inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
        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 nc.tb_notacredito_xac = '1' ";
		
		//if($emp!="") $sql.=" and c.tb_empresa_id = '$emp' ";
		
		if($agrufec=='1'){
			$sql.=" and nc.tb_notacredito_fec = '$fec'";
		}else if($agruemp=='1'){
			$sql.=" and em.tb_empresa_id = '$emp_id' ";
			$sql.="  and nc.tb_notacredito_fec between '$fec1'  and '$fec2' ";
		}else if($agrcli=='1'){
			$sql.=" and c.tb_cliente_id = '$cli_id' ";
			$sql.="  and nc.tb_notacredito_fec between '$fec1'  and '$fec2' ";
		}else{
			$sql.="  and nc.tb_notacredito_fec between '$fec1'  and '$fec2' ";
		}
		
		$sql.=" order by nc.tb_notacredito_fec, em.tb_empresa_id, c.tb_cliente_id ASC ";
		
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	
	
	
	function mostrar_detalle_agru($mes,$anio){
		$fec1 = $anio.'-'.$mes.'-'.'01';
		$fec2 = $anio.'-'.$mes.'-'.'31';
		
		$sql="select pv.tb_empresa_id, emp.tb_empresa_razsoc from tb_notacredito nc
		inner join tb_venta v on v.tb_venta_id = nc.tb_venta_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 nc.tb_notacredito_fec BETWEEN '$fec1' AND '$fec2' and nc.tb_notacredito_xac = '1' group by pv.tb_empresa_id,emp.tb_empresa_razsoc ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function notacredito_asunat($fec1,$fec2){
		
		$sql="SELECT * FROM tb_notacredito where tb_notacredito_estsun = 0 and tb_notacredito_xac = 1 and tb_notacredito_fec between '$fec1' and '$fec2'  ";
		$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_notacredito nc
		inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
		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
		left join tb_cliente c on c.tb_cliente_id = v.tb_cliente_id
		inner join tb_documento doc on doc.tb_documento_id = nc.tb_documento_id
		where nc.tb_notacredito_fec BETWEEN '$fec1' AND '$fec2' and pv.tb_empresa_id = '$empid' and nc.tb_notacredito_xac = '1' ";
		
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function validarVenta($id){
		$sql="SELECT * FROM tb_notacredito WHERE tb_venta_id='$id'";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function insertardetalle($catcod,$catid,$marid,$nom,$can,$icbper,$preuni,$notcreid){
		
	$sql = "INSERT INTO tb_notacreditodetalle(
	`tb_catalogo_cod` ,
	`tb_catalogo_id` ,
	`tb_marca_id` ,
	`tb_notacreditodetalle_nom` ,
	`tb_notacreditodetalle_can` ,
	`tb_notacreditodetalle_icbper` ,
	`tb_notacreditodetalle_preuni` ,
	`tb_notacredito_id`
	)
	VALUES ('$catcod','$catid','$marid','$nom','$can','$icbper','$preuni','$notcreid')"; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	
	function ultimoInsert(){
	$sql = "select max(tb_notacredito_id) as 'id' from tb_notacredito "; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	
		function filtrar($fec1,$fec2,$punven_id,$numdoc,$monid,$cliid,$estsun,$lim){
	$sql = "SELECT * FROM tb_notacredito nc 
	inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
	inner 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
	where tb_notacredito_xac = '1' "; 
	
	
	if($numdoc!=""){
			$sql.=" AND nc.tb_notacredito_numdoc like '%$numdoc%' ";
	}else{
			$sql.=" AND nc.tb_notacredito_fec BETWEEN '$fec1' AND '$fec2' ";
	}
	
	if($punven_id>0)$sql.=" AND v.tb_puntoventa_id = '$punven_id' ";
	
	if($cliid>0)$sql.=" AND v.tb_cliente_id = '$cli_id' ";
	if($monid>0)$sql.=" AND v.tb_moneda_id = $mon_id ";
		
	if($estsun==""){
			
		}else if($estsun==0){ /// RECHAZADA

			$sql.=" AND nc.tb_notacredito_estsun = $estsun ";
			
		}else if($estsun==1){ /// ACEPTADA

			$sql.=" AND nc.tb_notacredito_estsun = $estsun ";
			
		}else if($estsun==2){ /// ANULADA

			$sql.=" AND nc.tb_notacredito_estsun = $estsun ";
			
		}
	
	
	$sql.=" ORDER BY nc.tb_notacredito_id desc";
		
		if($lim!="")$sql.=" limit $lim ";
		
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}

	function mostrarUno($notcreid){
	$sql = "SELECT * FROM tb_notacredito nc 
	inner join tb_venta v on v.tb_venta_id = nc.tb_venta_id
	inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
	where tb_notacredito_id = '$notcreid'"; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	
	
	function mostrar_detalle($notcreid){
	$sql = "SELECT * FROM tb_notacreditodetalle ncd
		LEFT JOIN tb_catalogo ct ON ct.tb_catalogo_id = ncd.tb_catalogo_id
		inner join tb_producto pro on pro.tb_producto_id = ct.tb_producto_id
		LEFT JOIN tb_presentacion pr ON pr.tb_presentacion_id = pro.tb_presentacion_id
		inner join tb_marca m on m.tb_marca_id = ncd.tb_marca_id
		inner join tb_unidad u on u.tb_unidad_id = ct.tb_unidad_id
		where ncd.tb_notacredito_id = '$notcreid'"; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	
	function ver_estadoventa($id){
		$sql="SELECT * FROM tb_venta v 
		inner join tb_puntoventa pv on pv.tb_puntoventa_id = v.tb_puntoventa_id
		WHERE tb_venta_id='$id'";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function act_firma($id,$digval,$sigval,$urlxml){
		$now =  date('Y-m-d h:i:s a');
	$sql = "UPDATE tb_notacredito SET  
	`tb_notacredito_digval` =  '$digval',
	`tb_notacredito_sigval` =  '$sigval',
	`tb_notacredito_urlxml` =  '$urlxml'
	WHERE tb_notacredito_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_notacredito SET  
	`tb_notacredito_fecenvsun` = '$now',
	`tb_notacredito_estsun` =  '$est'
	WHERE tb_notacredito_id = '$id' "; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function convertir_hash($id){
	$key = 'EixMKU90GHKJGhDVN78A';
	$sql="SELECT * FROM tb_notacredito nt inner JOIN
	tb_venta v on v.tb_venta_id = nt.tb_venta_id
	WHERE MD5(concat('$key',tb_notacredito_id)) = '$id'";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	
}
?>