<?php 
//incluir la conexion de base de datos
require "../config/Conexion.php";

class Pagocomisiones{


//implementamos nuestro constructor
public function __construct(){

}



//metodo insertar regiustro
/* $montoventa, $montocomision, $montocomisionv, $montocomisionc,$montocomisionvp, $montocomisioncg, $porcentajecomisionv, $porcentajecomisionc, $porcentajecomisionvg, $porcentajecomisionvp,

insertar($montoventa, $montocomision, $montocomisionv, $montocomisionc,$montocomisionvp, $montocomisioncg, $porcentajecomisionv, $porcentajecomisionc, $porcentajecomisionvg, $porcentajecomisionvp,  
		$_POST["idventa"], $_POST["ventavalido"], $_POST["montodd"], $_POST["discobranza"],$_POST["idvendedor1"],$_POST["venta"],$_POST["cobranza"],$_POST["totalcomision"],$_POST["vendedorvalido"], $_POST["idvendedor11"],
		$_POST["venta1"],$_POST["cobranza1"],$_POST["totalcomision1"],$_POST["vendedorvalido1"]);

*/
                         
public function insertar($montoventa, $montocomision, $montocomisionv, $montocomisionvv,$montocomisionc,$montocomisionvp, $montocomisioncg, $porcentajecomisionv, $porcentajecomisionvv,$porcentajecomisionc, $porcentajecomisionvg, $porcentajecomisionvp,$idusuario,
$idventa, $ventavalido, $montodd, $discobranza,$idvendedor1,$venta,$cobranza,$totalcomision,$vendedorvalido,$idvendedor11,$venta1,$cobranza1,$totalcomision1,$vendedorvalido1){
	$sql="INSERT INTO comision (montocxc,montocomision,montocomisionv,montocomisionvv,montocomisionc,montocomisionp,montocomisiong,porcentajecomisionv,porcentajecomisionvv,porcentajecomisionc,porcentajecomisionvg,porcentajecomisionvp,idusuario) 
	VALUES ('$montoventa','$montocomision','$montocomisionv','$montocomisionvv','$montocomisionc','$montocomisionvp', '$montocomisioncg','$porcentajecomisionv','$porcentajecomisionvv','$porcentajecomisionc', '$porcentajecomisionvg', '$porcentajecomisionvp','$idusuario')";
	$sw						=	true;
	echo $sql;
	$idcomision		=	ejecutarConsulta_retornarID($sql) or $sw=false;
	$num_elementos	=	0;
	
	
	if ($sw){
		//Guardamos los detalles de la comision en las facturas
		/**/
		//$porcentajecomisionv1 = ($porcentajecomisionv+$porcentajecomisionvg+$porcentajecomisionvp)/3;
		while ($num_elementos < count($ventavalido)) {
			if (($ventavalido[$num_elementos]!='no')){
				//idventa1+'-'+monto+'-'+idvendedorp1+'-'+discobranzap1+'-'+comisionv+'-'+porv+'-'+comisiong+'-'+porg+'-'+comisionc+'-'+porc+'-'+comisionp+'-'+porp
				// 0           1          2                 3                4             5         6            7           8          9        10           11
				$documento 						= explode("-", $ventavalido[$num_elementos]);
				/* $montocomisionv 			= (($montodd[$num_elementos]*1*$montocomision))/$montoventa;
				$montocomisionc1 			= 0;
				$porcentajecomisionc1	= 0;
				if($discobranza[$num_elementos]<=45){
					//$montocomisionc 			= $montodd[$num_elementos]*($porcentajecomisionc/100);
					//$porcentajecomisionc1 = $porcentajecomisionc; 
					$montocomisionc1 			= ($montodd[$num_elementos]*$porcentajecomisionc);
					$porcentajecomisionc1 = $porcentajecomisionc;
				} */
				//echo '$ventavalido[$num_elementos]: '.$ventavalido[$num_elementos];
				$sql_detallef 				= "INSERT INTO detalle_comisionfactura (idcomision, idventa,idvendedor,monto,diascrobro,porcentajecomisionv,porcentajecomisionc,porcentajecomisiong,porcentajecomisiona,montocomisionv,montocomisionc,montocomisiong)
				                	       VALUES('$idcomision','$documento[0]','$documento[2]','$documento[1]','$documento[3]','$documento[5]','$documento[9]','$documento[7]','$documento[11]','$documento[4]','$documento[8]','$documento[6]')";
				//echo $sql_detallef;
				ejecutarConsulta($sql_detallef) or $sw=false;

				//Ahora actualizamos el documento de venta el estado de la comision
				$sql="UPDATE venta SET comision='si' WHERE idventa='$documento[0]'";
				//echo $sql;
				ejecutarConsulta($sql) or $sw=false;
			}
			$num_elementos=$num_elementos+1;
		}
		
		//Guardamos los detalles de la comision de los vendedores
		$num_elementos	=	0;
		while ($num_elementos < count($idvendedor1)) {
			if (($vendedorvalido[$num_elementos]=='si'&&$totalcomision[$num_elementos]>0)){
				$sql_detallev = "INSERT INTO detalle_comisionvendedor (idcomision,idvendedor,venta,cobranza,montocomision) 
				VALUES('$idcomision','$idvendedor1[$num_elementos]','$venta[$num_elementos]','$cobranza[$num_elementos]','$totalcomision[$num_elementos]')";
				//echo $sql_detallev;
				ejecutarConsulta($sql_detallev) or $sw=false;
			}
		$num_elementos=$num_elementos+1;
		} 
		
		//Guardamos los detalles de la personas administrativas
		$num_elementos	=	0;
		while ($num_elementos < count($idvendedor11)) {
			if (($vendedorvalido1[$num_elementos]=='si')){
				$sql_detallev = "INSERT INTO detalle_comisionpersonasales (idcomision,idvendedor,venta,cobranza,montocomision) 
				VALUES('$idcomision','$idvendedor11[$num_elementos]','$venta1[$num_elementos]','$cobranza1[$num_elementos]','$totalcomision1[$num_elementos]')";
				//echo $sql_detallev;
				ejecutarConsulta($sql_detallev) or $sw=false;
			}
		$num_elementos=$num_elementos+1;
		} 

		//Ahora actualizamos las facturas que se le pago comision
		//$num_elementos	=	0;
		//Guardamos los detalles de la comision en las facturas
		/* while ($num_elementos < count($idventa)) {
			if (($ventavalido[$num_elementos]=='si')){
				$sql="UPDATE venta SET comision='si' WHERE idventa='$idventa[$num_elementos]'";
				echo $sql;
				ejecutarConsulta($sql) or $sw=false;
			}
			$num_elementos=$num_elementos+1;
		} */
	

		
	}
	
	return $sw;
}



public function editar($idpagocomisiones,$tipo_persona,$nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email){
	$sql="UPDATE persona SET tipo_persona='$tipo_persona', nombre='$nombre',tipo_documento='$tipo_documento',num_documento='$num_documento',direccion='$direccion',telefono='$telefono',email='$email' 
	WHERE idcomision='$idpagocomisiones'";
	return ejecutarConsulta($sql);
}
//funcion para eliminar datos
public function eliminar($idpagocomisiones){
	$sql="DELETE FROM persona WHERE idcomision='$idpagocomisiones'";
	return ejecutarConsulta($sql);
}

//funcion para Anular datos
public function anular($idpagocomisiones,$idusuario){
	
	//Actualizamos las facturas de venta que se pago la comision
	$sw=true;
	$sql="UPDATE venta v 
		INNER JOIN detalle_comisionfactura dc ON dc.idventa=v.idventa
		SET v.comision=''
		WHERE dc.idcomision='$idpagocomisiones'";
	ejecutarConsulta($sql) or $sw=false;
	//Si todo finalizo bien Actualizamos el estado de comision y el usuario
	if($sw){
		$fecha 	= date("Y-m-d");
		$sql="UPDATE comision 
				SET 
				estado='Anulado',
				idusuario='$idusuario',
				fechaanulado='$fecha'
				WHERE idcomision='$idpagocomisiones'";
		ejecutarConsulta($sql) or $sw=false;
	}
	
	return $sw;
}

//metodo para mostrar registros
public function mostrar($idpagocomisiones){
	$sql="SELECT * FROM persona WHERE idcomision='$idpagocomisiones'";
	return ejecutarConsultaSimpleFila($sql);
}

//listar registros
public function listarp(){
	$sql="SELECT * FROM persona WHERE tipo_persona='Proveedor'";
	return ejecutarConsulta($sql);
}

public function listar(){
	$sql="SELECT idcomision,montocxc,montocomision,ROUND((montocomision/montocxc)*100,2) as porco,montocomisionv,montocomisionvv,ROUND((montocomisionvv/montocxc)*100,2) as porvv,montocomisionc,ROUND((montocomisionc/montocxc)*100,2) as porc,montocomisionvv+montocomisionc AS comisionvendedor,ROUND(((montocomisionvv+montocomisionc)/montocxc)*100,2) as porvendedor,montocomisionp,ROUND((montocomisionp/montocxc)*100,2) as porp,montocomisiong,ROUND((montocomisiong/montocxc)*100,2) as porg,porcentajecomisionv,porcentajecomisionvg,porcentajecomisionvp,porcentajecomisionc,DATE_FORMAT(fecha, '%d/%m/%Y') as fecha,estado FROM comision ORDER BY idcomision DESC";
	return ejecutarConsulta($sql);
}

public function listarmovimientocobro($idmovimiento){
	$sql="SELECT * FROM detalle_cobros WHERE idcobrocliente='$idmovimiento'";
	return ejecutarConsulta($sql);
}

public function comisionventa($idpagocomisiones){
	//$sql="SELECT d.idcomisionfactura,d.idcomision,d.idventa,d.porcentajecomisionv,d.montocomisionv,d.montocomisionc,d.porcentajecomisionc,v.serie_comprobante,v.num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventad FROM detalle_comisionfactura d INNER JOIN venta v ON v.idventa=d.idventa WHERE d.idcomision='$idpagocomisiones'";
	
	$sql="SELECT d.idcomisionfactura,d.idcomision,d.idventa,d.porcentajecomisionv,d.montocomisionv,d.montocomisionc,d.montocomisionv+d.montocomisionc as totalc,ROUND(((d.montocomisionv+d.montocomisionc)/d.monto)*100,2) AS totalcp,d.porcentajecomisionc,v.serie_comprobante,v.num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventad,d.monto,p.nombre as cliente,ve.nombre as vendedor,DATE_FORMAT(v.fechadespacho, '%d/%m/%Y') as fechad,DATE_FORMAT(fc.fechacobro, '%d/%m/%Y') AS fechacobro,d.diascrobro FROM detalle_comisionfactura d INNER JOIN venta v ON v.idventa=d.idventa LEFT JOIN persona p ON p.idpersona=v.idcliente LEFT JOIN vendedor ve ON ve.idvendedor=d.idvendedor LEFT JOIN (SELECT dc.iddocumento,MAX(c.fecha_hora) AS fechacobro FROM detalle_cobros dc INNER JOIN cobros c ON c.idcobrocliente=dc.idcobrocliente GROUP BY dc.iddocumento ORDER BY dc.iddocumento) fc ON fc.iddocumento=d.idventa WHERE d.idcomision='$idpagocomisiones'";
	return ejecutarConsulta($sql);
}

public function comisionvendedor($idpagocomisiones){
	$sql="SELECT d.idcomisionvendedor,d.idcomision,d.idvendedor,d.venta,d.cobranza,d.montocomision,v.nombre as persona FROM detalle_comisionvendedor d INNER JOIN vendedor v ON v.idvendedor=d.idvendedor WHERE d.idcomision='$idpagocomisiones'";
    //$sql="SELECT d.idcomisionvendedor,d.idcomision,d.idvendedor,d.venta,d.cobranza,d.montocomision,v.nombre as persona FROM detalle_comisionvendedor d INNER JOIN vendedor v ON v.idvendedor=d.idvendedor WHERE d.idcomision='$idpagocomisiones'";
	return ejecutarConsulta($sql);
}

public function comisionpersonala($idpagocomisiones){
	$sql="SELECT d.idcomisionvendedor,d.idcomision,d.idvendedor,d.venta,d.cobranza,d.montocomision,p.nombre as persona FROM detalle_comisionpersonasales d INNER JOIN personasales p ON p.idpersonasales=d.idvendedor WHERE d.idcomision='$idpagocomisiones'";
	return ejecutarConsulta($sql);
}

public function comisionventaporvendedor($idpagocomisiones,$idvendedor){
	$sql="SELECT d.idcomisionfactura,d.idcomision,d.idventa,d.porcentajecomisionv,d.montocomisionv,d.montocomisionc,d.montocomisionv+d.montocomisionc as totalc,ROUND(((d.montocomisionv+d.montocomisionc)/d.monto)*100,2) AS totalcp,d.porcentajecomisionc,v.serie_comprobante,v.num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventad,d.monto,p.nombre as cliente,d.idvendedor,ve.nombre as vendedor,DATE_FORMAT(v.fechadespacho, '%d/%m/%Y') as fechad,DATE_FORMAT(fc.fechacobro, '%d/%m/%Y') AS fechacobro,d.diascrobro FROM detalle_comisionfactura d INNER JOIN venta v ON v.idventa=d.idventa LEFT JOIN persona p ON p.idpersona=v.idcliente LEFT JOIN vendedor ve ON ve.idvendedor=d.idvendedor LEFT JOIN (SELECT dc.iddocumento,MAX(c.fecha_hora) AS fechacobro FROM detalle_cobros dc INNER JOIN cobros c ON c.idcobrocliente=dc.idcobrocliente GROUP BY dc.iddocumento ORDER BY dc.iddocumento) fc ON fc.iddocumento=d.idventa WHERE d.idcomision='$idpagocomisiones' AND d.idvendedor='$idvendedor'";
	return ejecutarConsulta($sql);
}



}

?>
