<?php
include("cls_conexion.php");$CNN=new ClsMySQL();include("conexion23.php");
//
function VENTA_VALIDAR_EX_XX($KOD){
	$r=gr("ventas","id_venta=".$KOD);
	$VEN_KOD=$r['id_venta'];
	$VEN_STO=$r['st'];
	$VEN_IGV=$r['igv'];
	$VEN_TOT=$r['tot'];
	$CX=gn("count(*)","ventas_det","id_venta=$VEN_KOD");
	if($CX==0){
		return "|MS|Error al cero articulos para la venta|";
	}else{
		$MSG="";
		$TODO_OK=1;
		$SUMA_IMPORTE=0;
		$s="SELECT * FROM ventas_det WHERE id_venta=$VEN_KOD";
		$rz=grs($s);
		while($z=$rz->fetch_assoc()){
			$KAN=$z['ca'];
			$PIE=$z['can_uni'];
			$PRE=$z['pr'];
			$IMP=$z['im'];
			//
			$CAL=round($KAN * $PIE*  $PRE,1);
			$DIF=abs($CAL - $IMP);
			if($DIF>1){
				$COD=gs("pro_codigo","productos","id_producto=".$z['id_producto']);
				$TODO_OK=0;
				$MSG=$MSG."ERROR EN CODIGO:".$COD." PIEZAS:".$PIE." IMPORTE DEBE SER :".$CAL." ** ";
			}
			$SUMA_IMPORTE=$SUMA_IMPORTE + $IMP;
		}
		//
		$X_UNO=$SUMA_IMPORTE / 118;
		$X_IG=round($X_UNO * 18,2);
		$X_ST=$SUMA_IMPORTE- $X_IG;
		$X_TO=round($X_ST + $X_IG,2);	
		//
		$DIF=abs($VEN_TOT - $X_TO);
		if($TODO_OK==1){
			if($DIF==0){
				return "|OK|OK|";
			}else{
				if($DIF<=1){
					return "|OK|Diferencia menor a 1|";
				}else{
					return "|MS|Error al calcular el importe total CAL=$X_TO  SIS=$VEN_TOT  DIF=$DIF |";
				}
			}
		}else{	
			return "|MS|Error la suma de los importes no coincide con el importe total, verificar/editar los items : $MSG|";
		}
	}
}
//++
$s="SELECT * FROM ventas WHERE fec>='2024-01-01' AND anu='N' AND id_tarjeta=0 ORDER BY id_venta ";
$rs=grs($s);
while($r=$rs->fetch_assoc()){
	$VEN_KOD=$r['id_venta'];
	$DATA=VENTA_VALIDAR_EX_XX($VEN_KOD);
	$BATA=explode("|",$DATA);
	if($BATA[1]=="OK"){
		if($BATA[2]!="OK"){
			echo "ID=".$VEN_KOD." --> ".$BATA[2]."<br>";
		}
	}else{
		echo "ID=".$VEN_KOD." --> ".$BATA[2]."<br>";
	}
	$s="UPDATE ventas SET id_tarjeta=-1 WHERE id_venta=".$VEN_KOD;	
	//ejt($s);
}
echo "FIN";
?>